(1)简单运输模型包括始发站(supply points),目的站(demand points)以及运输的产品。

(2)已知条件:

  • 供给量
  • 需求量

栗子:假如现在有3个始发站,4个目的站,如下图:

单位运输成本

始发站/目的站 1 2 3 4
1 150 250 300 275
2 200 175 350 150
3 250 300 400 260

注释:始发站1——>目的站1的运输成本是150,到目的站2是250,其他依次。

(3)目标函数

在建模之前我们要清楚目标函数以及限制条件,为了满足客户需求,如何分配运输数量?使得总运输成本最小化。每一个目的站运输到目的站的数量是一个变量设为X。

(4)限时条件

  • 每一个需求站点,收到的货物要满足其需求量,也就是说每个目的站收到的货物必须大于等于原来需求量(比如始发站1运输到目的站1需要大雨等于150,因为目的站1需求是150)
  • 每一个供给站点,发出的货物不能超过供给量(发出来的货物不能大于原来要求的量,比如始发站1发出来的货物必须小于等于350)

(5)mode模型:

set origin;#始发站a-c
set des;#目的站defg
param supply{origin};#不同站点不同供给量
param demend(des);#不同目的站不同需求量
param cost{origin,des};#不同始发站发往不同目的站单位成本不一样的#声明变量(两点间运输量是未知)
var trans{origin,des}>=0;#任意始发站与任意目的站间的运量#trans[i,j]*cost[i,j];(任意两点间运输量X任意两点间成本)是任意两点间成本
#求所有的运输成本在前面sum{i in origin,j in des}
minimize total_cost:
trans[i,j]*cost[i,j];#限制条件
#sum{i in origin}trans[i,j]求和表示从不同始发站发出来的量必须大于等于目的站的需求量
subject to demend_limit{j in demand}:
sum{i in origin}trans[i,j]>=demand[j];#要大于ydemand[j]每各点需求量subject to supply_limit{i in supply}:
sum{j in des}trans[i,j]<=supply[i];#发出的货物不能超过供给量

(6)data模型:

#参数后面可以直接写【集合】:赋以参数(ABC后面写上对应的参数)
param:origin:supply :=
A 350
B 300
C 300;
param:des:demand :=
D 150
E 230
F 160
G 220;
param cost: D E F G :=
A 150 250 300 275
B 200 175 350 150
C 250 300 400 260;

Go 语言学习路线,已被GitHub收录:https://github.com/metashops/GoFamily

AMPL 简单运输模型相关推荐

  1. R语言使用lmPerm包应用于线性模型的置换方法(置换检验、permutation tests)、使用lm模型构建简单线性回归模型、使用lmp函数生成置换检验回归分析模型

    R语言使用lmPerm包应用于线性模型的置换方法(置换检验.permutation tests).使用lm模型构建简单线性回归模型.使用lmp函数生成置换检验回归分析模型(Permutation te ...

  2. 机器学习第2天:简单线性回归模型

    文章目录 一.概念 1. 什么是回归 2. 什么是线性 3. 什么是线性回归 二.具体实现步骤 第1步:数据预处理 第2步:使用简单线性回归模型来训练训练集 第3步:预测结果 第4步:可视化 训练集结 ...

  3. [深度学习-实践]tensorflow_hub简单理解模型的生成与加载

    0. 前言 Tensorflow于1.7之后推出了tensorflow hub,其是一个适合于迁移学习的部分,主要通过将tensorflow的训练好的模型进行模块划分,并可以再次加以利用.不过介于推出 ...

  4. 机器学习分类_机器学习之简单分类模型

    本文主要探讨了机器学习算法中一些比较容易理解的分类算法,包括二次判别分析QDA,线性判别分析LDA,朴素贝叶斯Naive Bayes,以及逻辑回归Logistic Regression,还会给出在ir ...

  5. 机器学习(2)---简单线性回归模型

    机器学习(2)---简单线性回归模型 第一步:数据预处理 import pandas as pd import numpy as np import matplotlib.pyplot as pltd ...

  6. R语言使用lm函数构建简单线性回归模型(建立线性回归模型)、拟合回归直线、使用attributes函数查看线性回归模型的属性信息、获取模型拟合对应的残差值residuals

    R语言使用lm函数构建简单线性回归模型(建立线性回归模型).拟合回归直线.使用attributes函数查看线性回归模型的属性信息.获取模型拟合对应的残差值residuals 目录

  7. R语言使用lm函数构建简单线性回归模型(建立线性回归模型)、拟合回归直线、可视化散点图并添加简单线性回归直线、添加模型拟合值数据点、添加拟合值点和实际数据点之间的线段表示残差大小、col参数自定义设置

    R语言使用lm函数构建简单线性回归模型(建立线性回归模型).拟合回归直线.可视化散点图并添加简单线性回归直线.添加模型拟合值数据点.添加拟合

  8. 第一讲 Matlab/Simulink入门——简单系统模型的Simulink仿真

    第一讲 Matlab/Simulink入门--简单系统模型的Simulink仿真 1.模型的数学表达式 2.建立系统模型 2.1.选择模块 2.2.参数设置 3.系统仿真 1.模型的数学表达式 y = ...

  9. 炸金花游戏(3)--基于EV(期望收益)的简单AI模型

    前言: 炸金花这款游戏, 从技术的角度来说, 比德州差了很多. 所以他的AI模型也相对简单一些. 本文从EV(期望收益)的角度, 来尝试构建一个简单的炸金花AI. 相关文章: 德州扑克AI--Prog ...

  10. 二、简单线性回归模型(计量经济学学习笔记)

    研究经济变量之间相互数量关系最基本的方法之一是回归分析. ①回归分析与回归函数 1.1相关分析与回归分析 1.1.1函数关系与相关关系 经济变量之间的相互依存关系有两种:1.确定性的函数关系 2.不确 ...

最新文章

  1. 2021年3月15日 腾讯PCG运营开发实习面试(一、二、三面)(面经含总结)
  2. 防止IE6出现BUG的十种常见解决方法
  3. 制作空镜像与一个run的共享文件错误解决
  4. python语言用什么来表明每行代码的层次关系_2021年尔雅通识课《切削原理与刀具》课后习题答案...
  5. 信息学奥赛一本通 1141:删除单词后缀 | OpenJudge NOI 1.7 20
  6. 光纤接口怎么接 图解_视频光端机怎么连接,视频光端机接法图解
  7. OpenCV实现摄像机标定和像素转换,surf寻找特征点,FLANN匹配算子进行匹配
  8. MTK平台sip信令的查看和volte的故障
  9. simpleDateFormat 和 TimeZone
  10. eslint 修改standard规则
  11. NOI2017退役记
  12. Android Studio 个性化主题配置。
  13. mysql-使用Navicat导出sql查询数据
  14. node.js+uni计算机毕设项目基于微信小程序在线抽签系统(程序+小程序+LW)
  15. 『运筹OR帷幄』CSDN官方账号正式上线啦| 运筹学/优化理论/人工智能/数据科学的学习交流社区
  16. 哪种服务器可以承载无限人数,云计算:揭秘1U服务器无限扩充能力
  17. 苹果cmsV10采集插件一键配置定时任务采集
  18. 研究生和本科生学习的差别
  19. 史上最全SpringBoot学习笔记-动力节点王鹤(2021最新版)
  20. Web响应重定向301与302

热门文章

  1. c语言函数调用--素数
  2. python常用运维脚本实例-经典!Python运维中常用的几十个Python运维脚本
  3. 完全免费绝地求生吃鸡罗技宏
  4. 好用的格式化SQL工具SQL Prompt
  5. linux 执行sql loader,sql loader使用例子
  6. 利用matlab描点绘制平滑曲线
  7. python画散点图、折线图
  8. DEA for mac 热部署
  9. iconv linux 开源代码,每天一个 Linux 命令(123):iconv 命令
  10. Perl语言入门(第六版)pdf