LINGO软件篇教学讲解课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《LINGO软件篇教学讲解课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LINGO 软件 教学 讲解 课件
- 资源描述:
-
1、LINGO软件篇建模时需要注意的几个基本问题 1、尽量使用实数优化,减少整数约束和整数变量2、尽量使用光滑优化,减少非光滑约束的个数 如:尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等3、尽量使用线性模型,减少非线性约束和非线性变量的个数 (如x/y 5 改为x5y)4、合理设定变量上下界,尽可能给出变量初始值 5、模型中使用的参数数量级要适当 (如小于103)否则会给警告信息,选择适当单位改变相对尺度scalingLINDO/LINGO软件 LINGO:Linear INteractive General Optimizer (V12.0)求解数学规划问题 Min
2、Z=f(x)s.t x D(Rn)需要掌握的几个重要方面 基本语法结构 掌握集合(SETS)的应用 正确阅读求解报告 正确理解求解状态窗口 学会设置基本的求解选项(OPTIONS)LP QP NLP IP 全局优化(选)ILP IQP INLP LINGO软件的求解过程 LINDO/LINGO预处理程序线性优化求解程序非线性优化求解程序分枝定界管理程序1.确定常数2.识别类型1.单纯形算法2.内点算法(选)1、顺序线性规划法(SLP)2、广义既约梯度法(GRG)(选)3、多点搜索(Multistart)(选)又称障碍法barrierLINGO的文件类型.LG4:LINGO格式的模型文件,保存了
3、模型窗口中所能够看到的所有文本和其他对象及其格式信息;.LNG:文本格式的模型文件,不保存模型中的格式信息(如字体、颜色、嵌入对象等);.LDT:LINGO数据文件;.LTF:LINGO命令脚本文件;.LGR:LINGO报告文件;.LTX:LINDO格式的模型文件;.MPS:示MPS(数学规划系统)格式的模型文件。除“LG4”文件外,另外几种格式的文件都是普通的文本文件,可以用任何文本编辑器打开和编辑。规划问题的傻瓜输入取整取整,0,2100.23.02779max22222212121xxxxxxtsxxxxxx111 8 Model:Title:傻瓜输入法;!小程序可用,大程序不提倡;st
4、1x1+x2100;optmax=98*x1+277*x2-x12-0.3*x1*x2-2*x22;st2x1”(或“=”(或“=”)功能相同LINGO模型以“MODEL:”开始,“END”结束。目标函数为“MAX=”。不需要写“ST”。变量与系数间有乘号运算符“*”变量名以字母开头,不能超过32个字符变量名不区分大小写(包括LINGO中的关键字)语句的顺序不重要行号自动产生或人为定义。目标函数所在行是第一行,第二行起为约束条件,约束行名字被放“”中。行中注有“!”符号的后面部分为注释。使用LINGO的一些注意事项在模型的开头可以用“TITLE”对模型命名,变量可以放在约束右端每行(目标,约束
5、,说明语句)后增加“;”开头都是函数调用;上下界限定用BND,不计入模型的约束,也不能给出其松紧判断和敏感性分析;缺省假定所有变量非负;可在模型的“END”语句后用“FREE”将变量的非负假定取消;对0-1变量说明:BIN;对整型变量说明:GIN模型由一系列语句组成,适当缩进,增强可读性LINGO状态窗口变量数量TNInTNTNClassObInfeIteTypeObj求解花费时间非零系数数量内存使用数量约束数量模型类型当前解状态当前目标函数值扩展求解器使用的特殊求解程序到目前的最佳目标值特殊求解程序当前运行步数有效步数可能显示B-and-BGlobalMultistart可直接求解的变量不作
6、为决策变量。一般线性规划问题的影子价格与敏感性分析1桶牛奶 3公斤A1 12小时 8小时 4公斤A2 或获利24元/公斤 获利16元/公斤 50桶牛奶 时间480小时 至多加工100公斤A1 制订生产计划,使每天获利最大 35元可买到1桶牛奶,买吗?若买,每天最多买多少?可聘用临时工人,付出的工资最多是每小时几元?A1的获利增加到 30元/公斤,应否改变生产计划?每天:加工奶制品的生产计划1桶牛奶 3公斤A1 12小时 8小时 4公斤A2 或获利24元/公斤 获利16元/公斤 x1桶牛奶生产A1 x2桶牛奶生产A2 获利 243x1 获利 164 x2 原料供应 5021 xx劳动时间 480
7、81221 xx加工能力 10031x决策变量 目标函数 216472xxzMax每天获利约束条件非负约束 0,21xx线性规划模型(LP)时间480小时 至多加工100公斤A1 50桶牛奶 每天模型求解 OBJECTIVE FUNCTION VALUE 1)3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.000000 48.000000 3)0.000000 2.000000 4)40.000000 0.0
8、00000 NO.ITERATIONS=220桶牛奶生产A1,30桶生产A2,利润3360元。Max=72*x1+64*x2;x1+x250;12*x1+8*x2480;3*x1100;模型求解 reduced cost值表示当该非基变量增加一个单位时(其他非基变量保持不变)目标函数减少的量(对max型问题)OBJECTIVE FUNCTION VALUE 1)3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.
9、000000 48.000000 3)0.000000 2.000000 4)40.000000 0.000000 NO.ITERATIONS=2也可理解为:为了使该非基变量变成基变量,目标函数中对应系数应增加的量 OBJECTIVE FUNCTION VALUE 1)3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.000000 48.000000 3)0.000000 2.000000 4)40.00000
10、0 0.000000原料无剩余时间无剩余加工能力剩余40三种资源“资源”剩余为零的约束为紧约束(有效约束)结果解释 Max=72*x1+64*x2;x1+x250;12*x1+8*x2480;3*x1100;OBJECTIVE FUNCTION VALUE 1)3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2)0.000000 48.000000 3)0.000000 2.000000 4)40.000000 0.
11、000000结果解释 最优解下“资源”增加1单位时“效益”的增量 原料增1单位,利润增48 时间加1单位,利润增2 能力增减不影响利润影子价格Shadow price 35元可买到1桶牛奶,要买吗?35 48,应该买!聘用临时工人付出的工资最多每小时几元?2元!对偶计算,包括对偶价格和敏感性分析LINGOOptionsGeneral Solver(通用求解程序)选项卡要使用敏感性分析必须要在这选择使用敏感性分析RANGES IN WHICH THE BASIS IS UNCHANGED:OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLO
12、WABLE C O E F I N C R E A S E DECREASE X1 72.000000 24.000000 8.000000 X2 64.000000 8.000000 16.000000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE R H S I N C R E A S E DECREASE 2 50.000000 10.000000 6.666667 3 480.000000 53.333332 80.000000 4 100.000000 INFINITY 40.000000最优解不变时目标系数允许变化范围
13、x1系数范围(64,96)x2系数范围(48,72)A1获利增加到 30元/千克,应否改变生产计划 x1系数由243=72 增加为303=90,在允许范围内 不变!(约束条件不变)结果解释 LINGORange结果解释 RANGES IN WHICH THE BASIS IS UNCHANGED:OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 72.000000 24.000000 8.000000 X2 64.000000 8.000000 16.000000 RIGH
14、THAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE R H S I N C R E A S E DECREASE 2 50.000000 10.000000 6.666667 3 480.000000 53.333332 80.000000 4 100.000000 INFINITY 40.000000影子价格有意义时约束右端的允许变化范围 原料最多增加10 时间最多增加53 35元可买到1桶牛奶,每天最多买多少?最多买10桶?(目标函数不变)注意:充分但可能不必要LINGO的高级使用MODEL:TITLE EX060201;!简单的线性规划只需
15、要修改一下已有模型的集合段和数据段;!直接输入为 min=-5*x1-2*x2;2*x1+x2+x3=8;x1+x4=3;x2+x5=4;(为了避免中止说明语句,这里用的是文本格式的分号,在模型中是作为文本的)SETS:HANG/1.3/:B;LIE/1.5/:C,X;XISHU(HANG,LIE):A;ENDSETSDATA:A=2 1 1 0 0 1 0 0 1 0 0 1 0 0 1;C=-5-2 0 0 0;B=8 3 4;ENDDATAOBJMIN=SUM(LIE:C*X);FOR(HANG(I):YUESHU SUM(LIE(J):A(I,J)*X(J)=B(I);END集合与属性
16、例 SAILCO公司需要决定下四个季度的帆船生产量。下四个季度的帆船需求量分别是40条,60条,75条,25条,这些需求必须按时满足。每个季度正常的生产能力是40条帆船,每条船的生产费用为400美元。如果加班生产,每条船的生产费用为450美元。每个季度末,每条船的库存费用为20美元。假定生产提前期为0,初始库存为10条船。如何安排生产可使总费用最小?分析:用DEM,RP,OP,INV分别表示需求量、正常生产的产量、加班生产的产量、库存量,则DEM,RP,OP,INV对每个季度都应该有一个对应的值,也就说他们都应该是一个由4个元素组成的数组,其中DEM是已知的,而RP,OP,INV是未知数。集合
17、元素及集合的属性确定的所有变量集合QUARTERS的元素1234定义在集合QUARTERS上的属性DEM DEM(1)DEM(2)DEM(3)DEM(4)RPRP(1)RP(2)RP(3)RP(4)OPOP(1)OP(2)OP(3)OP(4)INVINV(1)INV(2)INV(3)INV(4)MODEL:!集合段:定义集合SET,元素member及其属性attribute;SETS:QUARTERS/1,2,3,4/:DEM,RP,OP,INV;ENDSETS!目标与约束段:没有开始和结束标记,顺序无关;MIN=SUM(QUARTERS:400*RP+450*OP+20*INV);FOR(Q
18、UARTERS(I):RP(I)1(greater than)LINGOGenerateDisply Model(Ctrl+G)自动生成行号可得展开式想求解时赋值可在数据段用语句“A=?;”例0303-1例 建筑工地的位置(用平面坐标a,b表示,距离单位:公里)及水泥日用量d(吨)下表给出。有两个临时料场位于P(5,1),Q(2,7),日储量各有20吨。从A,B两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。两个新的料场应建在何处,节省的吨公里数有多大?a1.258.750.55.7537.25b1.250.754.7556.57.75d3547611基本集合与派生集合建立模型记工地的位
19、置为 ,水泥日用量为 ;料场位置为 ,日储量为 ;从料场 向工地 的运送量为 。),(iiba6,1,idi),(jjyx2,1,jejjiijc 2622112161MIN1s.t.,1,2,62,1,23ijjijijiijijijjifcxayacdicej使用现有临时料场时,决策变量只有 (非负),所以这是LP模型;当为新建料场选址时决策变量为 和 ,由于目标函数 对 是非线性的,所以在新建料场时是NLP模型。先解NLP模型,而把现有临时料场的位置作为初始解告诉LINGO。ijcijcjjyx,fjjyx,本例中集合的概念利用集合的概念,可以定义需求点DEMAND和供应点SUPPLY两
20、个集合,分别有6个和2个元素(下标)。但决策变量(运送量)与集合DEMAND和集合SUPPLY都有关系的。该如何定义这样的属性?ijc集合的属性相当于以集合的元素为下标的数组。这里的 相当于二维数组。它的两个下标分别来自集合DEMAND和SUPPLY,因此可以定义一个由二元对组成的新的集合,然后将 定义成这个新集合的属性。ijcijcMODEL:Title Location Problem;sets:demand/1.6/:a,b,d;supply/1.2/:x,y,e;link(demand,supply):c;endsetsdata:!locations for the demand(需求
21、点的位置);a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,4.75,5,6.5,7.75;!quantities of the demand and supply(供需量);d=3,5,4,7,6,11;e=20,20;enddata基本集合primary set与派生集合derived set(定义多维数组)!初始段:对集合属性定义初值(迭代算法的迭代初值);init:!initial locations for the supply(初始点);x,y=5,1,2,7;endinit!Objective function(目标);OBJ min=sum(li
22、nk(i,j):c(i,j)*(x(j)-a(i)2+(y(j)-b(i)2)(1/2);!demand constraints(需求约束);for(demand(i):DEMAND_CON sum(supply(j):c(i,j)=d(i););!supply constraints(供应约束);for(supply(i):SUPPLY_CON sum(demand(j):c(j,i)=e(i););for(supply:bnd(0.5,X,8.75);bnd(0.75,Y,7.75););ENDLINGO对数值顺序按列赋值,即:x=5,2;y=1,7;标号自动在后加下标*_1,_2比fre
23、e(x);free(y);要好,可减少计算工作量激活全局最优解:LINGOOptionsGlobal SolverUse Global Solver集合段(SETS ENDSETS)数据段(DATA ENDDATA)初始段(INIT ENDINIT)目标与约束段 局部最优:89.8835(吨公里)LP:移到数据段LINGO模型的构成(5)计算段CALC:T_DEM=SUN(QUARTERS:DEM);!总需求;A_DEM=T_DEM/SIZE(QUARTERS);!平均需求;ENDCALC在数据段输入完成之后在正式求解模型之前对原始数据进行处理,语句是顺序执行的,不能更换顺序,只能直接使用赋值
24、语句,不能包含需要经过解方程或经过求解优化问题以后才能决定的变量。包含了两个基本集合构成的所有二元有序对的派生集合称为稠密集合(简称稠集)。有时候,在实际问题中,一些属性(数组)只在笛卡儿积的一个真子集合上定义,这种派生集合称为稀疏集合(简称疏集)。稠密集合与稀疏集合最短路问题例(最短路问题)在纵横交错的公路网中,货车司机希望找到一条从一个城市到另一个城市的最短路.下图表示的是公路网,节点表示货车可以停靠的城市,弧上的权表示两个城市之间的距离(百公里).那么,货车从城市S出发到达城市T,如何选择行驶路线,使所经过的路程最短?STA1 A2 A3 B1 B2 C1 C2 633665874678
25、956分析 STA1 A2 A3 B1 B2 C1 C2 633665874678956此例中可把从S到T的行驶过程分成4个阶段,即 SAi(i=1,2或3),Ai Bj(j=1或2),Bj Ck(k=1或2),Ck T.记d(Y,X)为城市Y与城市X之间的直接距离(若这两个城市之间没有道路直接相连,则可以认为直接距离为),用L(X)表示城市S到城市X的最优行驶路线的路长:0;1min,.2YXL SL XL Yd Y XXS本例的计算 1231123321233112221221216,3,3;min6,8,7107;min5,6,474;min6,8158;min7,9169;min5,6
展开阅读全文