《运用Lingo进行线性规划求解(实例).ppt》由会员分享,可在线阅读,更多相关《运用Lingo进行线性规划求解(实例).ppt(13页珍藏版)》请在三一文库上搜索。
1、LinDo/LinGo软件,LinDo,输入模型 求解 点击求解按钮 即可 结果,返回,输入模型,!注释内容,可用中文 !目标函数:最大-max,最小-min,大小写不分 max 3 x1+5 x2+4 x3 !约束,以subject to开始 subject to 2 x1+3 x2=1500 2 x2+4 x3=800 3 x1+2 x2 +5 x3=2000 end,注意事项,变量以字母开头,下标写在后面,系数与边量之间加空格 不等号为:=( ) , =, =与 等同 变量非负约束可省略 结束时以end标示,返回,结果,LP OPTIMUM FOUND AT STEP 3 OBJECTI
2、VE FUNCTION VALUE 1) 2675.000 VARIABLE VALUE REDUCED COST X1 375.000000 0.000000 X2 250.000000 0.000000 X3 75.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 1.050000 3) 0.000000 0.625000 4) 0.000000 0.300000,返回,LinGo,输入模型 LinDo模式 LinGo模式 求解 点击求解按钮 即可 结果,返回,LinDo输入模式,model: MAX=3*x1+5*x
3、2+4*x3; 2*x1+3*x2=1500; 2*x2+4*x3=800; 3*x1+2*x2+5*x3=2000; end,注意与LinDo的区别,目标函数中加等号 变量与系数之间用“*” Model:-end可省略,返回,LinGo模式,Model: Sets: !定义集合 Endsets Data: !定义数据 Enddata 调用函数与计算 end,返回,集合部分,model: !开始 sets: !定义集合 ve/1.3/:c,x; co/1.3/:b; ma(co,ve):a; endsets !注:集表达式:名称/成员/:属性 名称(初始集):属性,返回,定义数据,data:!
4、定义数据 c=3 5 4; b=1500 800 2000; a=2 3 0 0 2 4 3 2 5; Enddata !注:数据的大小与集合定义中一致,分量中间用空格或逗号分开,数据结束后用分号;,返回,调用函数,max=sum(ve(j):c(j)*x(j); for(co(i):sum(ve(j):a(i,j)*x(j)=b(i); 主要函数: for(set(set_index_list)|condition:expression) sum(set(set_index_list)|condition:expression) min(max)(set(set_index_list)|condition:expression),返回,结果,Global optimal solution found at iteration: 3 Objective value: 2675.000 Variable Value Reduced Cost C( 1) 3.000000 0.000000 C( 2) 5.000000 0.000000 C( 3) 4.000000 0.000000 X( 1) 375.0000 0.000000 X( 2) 250.0000 0.000000 X( 3) 75.00000 0.000000,