内容正文:
4.1.2 LINGO解线性规划问题
第 讲 规划与评估
四
线性规划
LINGO解线性规划模型
5
内容简介
典型例题
巩固练习
布置作业
归纳小结
4
3
1
2
LINGO是英文Linear Interactive and General Optimizer的缩写,即交互式的线性和通用优化求解器,是美国芝加哥(Chicago) 大学的LinusSchrage教授于1980年前后开发的.LINGO用于求解线性规划和非线性规划问题,被广泛用于教育、科研、经济管理和工业等领域.
内容简介
LINGO是求解优化模型的最佳选择,其主要特点如下:
(1)既能求线性规划问题,也可以求非线性规划问题.
(2)模型的输入简单直观.
(3)执行速度快,计算能力强.
(4)内置建模语言可提供几十个内部函数,方便灵活.
(5)方便与Excel文件、文本文档进行数据传递.
内容简介
内容简介
双击打开LINGO软件,界面出现LINGO初始界面,包括菜单栏、工具栏和模型窗口三部分(如图).光标所在的窗口称为模型窗口,用来输入LINGO程序.
菜单栏
工具栏
模型
窗口
内容简介
菜单栏中的五个窗口分别为文件(File)、 编辑(Edit)、 求解(Solver)、窗口(Window) 和帮助(Help), 这里就不再介绍这些菜单下的目录.LINGO工具栏中常用的工具如图所示.
内容简介
LINGO程序语言的规则
(1)LINGO程序语言中.字母不区分大小写,即“MAX" "max"和"Max"都是一样的.
(2)LINGO每个程序以"model:" 开始.以"end" 结束.且各自独古一行,LINGO程序语句写在两者之间.对于简单的模型程序,可省略这两个语句.
(3)LINGO程序对语句的顺序没有严格要求,总是以“max="或“min="语句来寻找目标函数,其他语句都是约来条件.
(4)LINGO程序的每个语句必须以分号”;”(英文状态下输入的分号)结束,一行允许写多个语句.
内容简介
(5) 叹号“!”是注释符,其后的内容为解释,可以写在语句后面,也可以另写一行,且必须以分号“;”结束,允许跨行.
(6) LINGO程序中都是用“@"开关调用内部函数.
注:为保证模型程序的可读性,建议一行只写一个语句.按语句之间的嵌套关系对语句进行适当缩进,以增强程序的层次感.
内容简介
LINGO变量
(1) LINGO变量的名称:只能由字母、数字和下划线构成,长度不能超过32个字符,且必须以字母或下划线开头.例如,x1,_y,_ 1,z_ 1都是合法的变量.
(2)在LINGO中,、默认所有的变量都是非负的实数,不需要特别说明.
(3)变量的特殊声明如下:
内容简介
@gin (x); ! 变量x为整数;
@bin (x1); ! 0-1整数变量,变量x1为0或1;
@free (y);!取消y的非负限制;
@bnd (1, x, u); . !限制变量1≤x≤u ;
注:在变量声明中,每个变量声明命令只能直接声明一个变量.若有多个变量,则需分开声明,除非采用循环命令.
内容简介
LINGO算术运算符及优先级
内容简介
(2)在LINGO中,没有专门的开方运算符,需将开方转化成幂计算.例如,计算 时,可化成幂 ,则LINGO表示为5^(1/3).
(3) LINGO算术运算的优先级与手写演算一样,有括号时,先算括号里面的;无括号时,先幂、再乘除、后加减.
注:(1)在LINGO中,任何运算符都不能省略,特别是乘号,很多同学会习惯性地按手写规则省略不写,省略后会出错.
内容简介
LINGO程序的运算结果分析
以案例4-1的模型为例,在LINGO模型窗口输入该程序(图1)后,单击求解模型键 ,弹出求解器状态窗口如图2所示、当求解器状态运行完成时,运行结果就会显示在报告窗口中,如图3所示.
内容简介
图1
内容简介
图2
图3
典型例题
例2
最优运输方案.
(1)问题情境:某口罩加工厂有两个相距较远的无尘车间A和B,口罩加工原料存放在甲、乙两个仓库.各仓库库存量、各车间日需量及对应的运费见下表.
如何设计日运输配送方案,使总运费最小.
(2)建立模型.
典型例题
目标函数:设总运费为z,根据表中的运费,得z=5x1+6x2+4y1+2y2
要使总运费最小,故目标函数为min{z= 5x1+6x2+4y1+2y2}.
决策变量:设从甲、乙两个仓库运到车间A的原料分别为x1和x2,从甲、乙两个仓库运到车间B的原料分别为y1和y2.
约束条件:受仓库库存量、日需量和变量三个条件约束.
典型例题
②日需量:车间A的日需量为25,即x1+x2=25.车间B的日需量为40,即y1+y2=40.
①库存量:甲仓库的库存量为20,因此,由甲仓库运到A和B两个车间的总量不超过20,即x1+y1≤20.同理,由乙仓库运到A和B两个车间的总量不超过50,即x2+y2≤50.
③变量约束:x1, x2, y1,y2的取值为非负数,即x1, x2, y1,y2≥0.
综上可得最优规划模型:
min{z= 5x1+6x2+4y1+2y2}
典型例题
利用LINGO软件求解,结果如下:
典型例题
从图中的运行结果报告可以看出,当x1=0,x2=25,y1=20,y2=20时,即从乙仓库运到车间A的原料为25 t,从甲仓库运到车间B的原料为20 t,从乙仓库运到车间B的原料为20 t,此时总运费最低,最低为270百元,即2.7万元.
典型例题
巩固练习
旅行包优化模型:某人要外出旅行,需带8种物品,但是只有一个容积为20L的旅行包,所有物品均可在目的地购买,且通过查询得知这8件物品的体积和在当地的价格见表
请帮他设计一个最省钱的装包方案.
归纳小结
1.本节课你学习了哪些内容?
2.本节课学习的用途?
布置作业
阅读
教材章节4.2
书写
教材P82思考与练习
思考
其他线性规划案例
作
业
Thanks
$$