当前课程知识点:数学建模 >  4 数学规划I >  4-2 线性规划——运输问题 >  线性规划——运输问题

返回《数学建模》慕课在线视频课程列表

线性规划——运输问题在线视频

线性规划——运输问题

下一节:整数规划问题

返回《数学建模》慕课在线视频列表

线性规划——运输问题课程教案、知识点、字幕

数模君

今天我们老师也给了我一个数模问题

但是我没有思路

你说吧

问题是这样子的

现有甲、乙两个工厂

分别可以提供同一规格的产品

330吨和470吨

A,B,C三个商店

分别需要该产品

203吨、274吨、261吨

各供销两地之间的运输单价为

如图表1

那么我现在不知道

如何确定运输方案呢

和之前一样

我们还是按照

数学建模的基本步骤来进行

首先我们要将决策变量

目标函数、约束条件刻画出来

就可以得到基本模型

第一个是决策变量

是要刻画回答问题的结构

这里问题就是运输方案

从工厂甲、乙分别运输

多少吨产品到商店A、B、C

故我们可以设工厂甲运输

x11、x12、x13吨产品

到商家A、B、C

从工厂乙分别运输

x21、x22、x23吨产品

到商家A、B、C

目标函数就是

要使运输方案的总成本最小

在这里郝问题你觉得目标函数

具体是什么呢

我觉得吧

目标函数就是应该

从工厂甲、乙

分别运输到商店A、B、C的

运输成本之和最小

我们可以设运输的总成本为z元

所以说 方程就应该是

z等于0.990x11加1.120x12

加1.050x13加1.200x21

加0.980x22加0.940x23

既然目标函数已经解决了

那么还有一个是约束条件

产品供应是从工厂甲、乙

分别运输到商家A、B、C的

总量不得超过甲、乙两个工厂的供应量

那么这个约束条件具体到目标

具体到方程是什么呢

我觉得就应该是

x11加x12加x13小于等于330

x21加x22加x23小于等于470

还有需求限制

需求限制是从工厂甲、乙

分别运输到商家A、B、C的总量

不得少于商家A、B、C的需求量

就是说

x11加x21大于等于203

x12加x22大于等于274

x13加x23大于等于261

那么还有一个是什么 郝问题

恩 这个是我们一定不能忘的

非负约束

就是xij

i等于1、2

j等于1、2、3

均为非负实数

xij大于等于0

我们将上面得到的方程函数关系

列出来

然后其余的就交给我们的

技术猿来解决

根据刚刚郝问题所提出的基本模型

我们可以用LINGO

来具体解决这个问题

LINGO是专门解决规划问题的软件

那么我们在LINGO中新建一个脚本

输入以下的程序代码

以medel开始

以end结束

点击菜单栏中的solve可以得到结果

我们从结果中可以看出

从甲工厂运输到商家A、B、C的

商品分别为203吨、0吨、65吨

从乙工厂运输到商家A、B、C

的产品分别是0吨、274吨和196吨

最后的最小总成本为721千元

哦 可是我觉得这个好复杂呀

那如果我有好多家工厂

好多家商店的话

那岂不是没法算出来了吗

有没有什么办法可以简便一下

我们可以调整一下决策变量

可以设工厂甲、乙 i等于1、2

分别运输xij吨产品到商家A、B、C

j等于1、2、3

甲、乙两个工厂到商家A、B、C的

运输单价分别为cij

其中每一横行代表工厂的种类

比如第一横行就代表工厂甲

第二横行代表工厂乙

同理 每一竖行就代表商家的种类

第一、二、三竖行

分别代表商家A、B、C

第一行0.990就代表

从甲到商家A的运输单价

所以由上我们可以得到两个工厂

所能提供的产品量分别为ai

等于330、470

商家A、B、C的需求量分别为

bj等于203、274、261

所以我们可以得到模型的表达式

根据刚刚数模君改建后的模型

我们要求出这个模型的结果

还是要通过程序来实现的

对比两个模型

第一个模型看起来比较复杂

但是程序写起来是比较方便

但第二个模型

看起来非常简单

但程序写起来是比较复杂的

我们在LINGO中新建一个脚本

输入以下程序代码

可以求出结果

发现第二个模型求出的结果

和第一个模型求出的结果

是一样的

但是第二个模型程序的复杂程度

会比第一个模型要高很多

在第二个模型里面的程序

一些用到的新的语法

我现在会具体的来解释一下

首先第一点

程序是以model开始、end结束

并以title命名的

它们是可以被省略掉的

这个就根据每个人的编程习惯决定

第二点

集合定义是以sets开始

以endsets结束

中间的称为集合段

上面定义了三个集合

分别为plant、product

还有Link plant product

plant等于1、2代表甲、乙两个工厂

数组的下标属于集合plant

product等于1、2、3

表示的是商场甲、乙、丙

数组的下标属于集合product

语句Link定义集合Link

为两个集合

plant和product笛卡儿积

也就是Link i、j

i属于plant、j属于product

LINGO中plant和product为基本集合

而Link为两个集合的派生集合

在集合Link的基础上

定义了属性矩阵

LINGO程序中

以data开始、以enddata结束的部分

称为数据段

用于输入已知的原始数据

注意是已知的原始数据

实际上

LINGO也可以从文本文件、电子表格文件

数据库文件中直接导入数据

对应的函数为@File、@ODE、@ODBC

技术猿我想打断一下

可能技术猿在这个问题中

有很多的求和的关系

那么我们怎么在程序中给它表达出来呢

在LINGO中

我们可以用@来调用函数

然后在@后面加入函数名

和它具体的代入方法

可以求解某些特定的结果

比如说数模君刚刚问的求和

我们可以用@sum

在括号里面加入一些要求和的内容

就可以达到数模君想要的结果

LINGO中不仅有求和函数

还有一些循环函数

可以用@加for

比如说语句@ for plant i

statements

表示对所有i属于plant执行语句

statements

下面还有一些关于注释

在方括号中的一些文字

定义行号

表示给某一行命名

这时LINGO会自动识别

此外 还可以以感叹号的方式来进行注释

比如说在开头的说明语句

假如感叹号原始数据

那么在这一段程序里面

所涉及的一些LINGO编程的知识

大概就是刚刚所说的那些了

技术猿你真厉害

数模君你也很棒

谢谢你们两个为我解答问题

数学建模课程列表:

1 数学建模无处不在

-1-1 数学建模无处不在

--数学建模无处不在

-1-2 从现实对象到数学模型

--从现实对象到数学模型

-1-3 数学建模的基本方法和步骤

--数学建模的基本方法和步骤

-1-4 如何学习数学建模

--如何学习数学建模

-1 数学建模无处不在--本章测验

-讨论1:找找身边的数学建模案例

2 数学建模思维与过程

-2-1 数学建模思维

--数学建模思维

-2-2 几种创新思维

--几种创新思维

-2-3 问题的提出与分析

--问题的提出与分析

-2-4 建模目标

--建模目标

-2-5 建模计划

--建模计划

-2-6 建立数学模型

--建立数学模型

-2 数学建模思维与过程--本章测验

-讨论2:如何清晰问题

3 数学建模初等方法

-3-1 储蓄存单和抵押贷款买房

--储蓄存单和抵押贷款买房

-3-2 单车租赁调度

--单车租赁调度

-3-3 最佳出售时机

--最佳出售时机

-3-4 名额的公平分配

--名额的公平分配

-3-5 汽车的油耗

--汽车的油耗

-3-6 传染病模型

--传染病模型

-3 数学建模初等方法--本章测验

-讨论3 案例讨论——“同心协力”策略研究

4 数学规划I

-4-1 线性规划——生产计划

--线性规划——生产计划

-4-2 线性规划——运输问题

--线性规划——运输问题

-4 数学规划I--本章测验

5 数学规划II

-5-1 整数规划问题

--整数规划问题

-5-2 指派问题

--指派问题

-5-3 非线性规划

--非线性规划

-5-4其他规划模型

--其他规划模型

-5 数学规划II--本章测验

-讨论4:案例讨论——机场的出租车问题

6 层次分析法

-6-1 层次分析法I

--层次分析法I

--层次分析法中求解成对比较矩阵权重向量的matlab程序

-6-2 层次分析法II

--层次分析法II

-6-3 其他评价方法

--其他评价方法

-6 层次分析法--本章测验

7 回归分析

-7-1 线性回归I

--线性回归I

-7-2 线性回归II

--线性回归II

--线性回归III

-7-3 数据的自相关I

--数据的自相关I

-7-4 数据的自相关II

--数据的自相关II

-7-5 非线性回归

--非线性回归

-7 回归分析--本章测验

8 数学建模方法与报告

-8-1 数学建模方法综述

--数学建模方法综述

-8-2 数学建模报告

--数学建模报告

-8 数学建模方法与报告--本章测验

-讨论5: 案例讨论——高压油管的压力控制

线性规划——运输问题笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。