资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
附一、附一、MATLAB 程序说明程序说明在 Matlab 上默认的线性规划形式为:min . .Teqeqf x st Axb A xblbxub Matlab 的最优工具箱中实现了单纯形算法,提供了求解线性规划问题的 linprog()函数,该函数的调用格式有: 一)一)x=linprog(f,A,b,Aeq,beq,lb,ub)1)返回值 x 为最优解向量,不返回最优值2)若没有不等式约束,则令 A= 、b= 3)若没有等式约束,则令 Aeq、beq=4)若变量 x 没有下界,则令 lb,若没有上界,则令 ub 若变量即没有上界,也没有下界,则 lb 和 ub 均可省略,此时调用格式为 x=linprog(f,A,b,Aeq,beq)5)如果没有等式约束,变量 x 也没有上界和下界,则 Aeq,beq,lb,ub 均可 省略,调用格式为 x=linprog(f,A,b)例 1:min f=5x1-x2+2x3+3x4-8x5 s.t -2x1+x2-x3+x4-3x562x1+x2-x3+4x4+x570xj15 j=1,2,3,4,5 程序:f=5f=5 -1-1 2 2 3 3 -8;A=-2-8;A=-2 1 1 -1-1 1 1 -3;2-3;2 1 1 -1-1 4 4 1;1;b=6;7;lb=0b=6;7;lb=0 0 0 0 0 0 0 0;ub=150;ub=15 1515 1515 1515 15;15;xlinprog(f,A,b,lb,ub)linprog(f,A,b,lb,ub)例 2:max f=2x1+5x2s.t. x14x23x1+x28 先把目标函数变成min f=-2x1-5x2程序为:f=-2f=-2 -5;A=1-5;A=1 0;00;0 1;11;1 2;b=4;3;8;2;b=4;3;8;x=linprog(f,A,b)x=linprog(f,A,b)二)二)x=linprog(f,A,b,Aeq,beq,lb,ub,x0)x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)x0 为初始搜索点,options 为指定优化参数进行最小化。 (可不用看这个调用函 数,适合与带参数的线性规划)三)三)x,fval=linprog()x,fval=linprog()x,x, fval,fval, exitflag=linprog()exitflag=linprog()x,x, fval,fval, exitflag,exitflag, output=linprog()output=linprog()x,x, fval,fval, exitflag,exitflag, output,output, lambda=linprog()lambda=linprog()说明:1)左端 fval 返回解 x 处的目标函数值。2)exitflagexitflag 描述函数计算的退出条件:若为正值,表示目标函数收敛于解 x 处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最大次数。3)outputoutput 返回优化信息:output.iterations 表示迭代次数;output.algorithm 表示所采用的算法;outprt.funcCount 表示函数评价次数。附二附二、LINDO 程序说明程序说明程序名:程序名:linear执行实例:执行实例:max1015s.t.1012216,0xyxyxyx y在命令窗口键入以下内容:在命令窗口键入以下内容:max 10x+15y !也可以直接解决 min 问题 subject to x0, 若不要求用 free 命令.!在出来 report windows 之前可选择显示对此规划进行灵敏度 分析等按按 solve 键键, 在在 reports window 中出现以下内容中出现以下内容:LP OPTIMUM FOUND AT STEP 2OBJECTIVE FUNCTION VALUE1) 145.0000VARIABLE VALUE REDUCED COSTX 10.000000 0.000000Y 3.000000 0.000000ROW SLACK OR SURPLUS DUAL PRICES2) 0.000000 2.5000003) 9.000000 0.0000004) 0.000000 7.500000NO. ITERATIONS= 2RANGES IN WHICH THE BASIS IS UNCHANGED:OBJ COEFFICIENT RANGESVARIABLE CURRENT ALLOWABLE ALLOWABLECOEF INCREASE DECREASEX 10.000000 INFINITY 2.500000Y 15.000000 5.000000 15.000000RIGHTHAND SIDE RANGESROW CURRENT ALLOWABLE ALLOWABLERHS INCREASE DECREASE2 10.000000 6.000000 10.0000003 12.000000 INFINITY 9.0000004 16.000000 18.000000 6.000000附三附三LINGO 程序说明程序说明3.1 程序名程序名: linearp1(求极小问题)(求极小问题)linearp1 运行实例运行实例:5 , 1 , 0 12 26 . t . s215min5321432121Ljxxxxxxxxxxxzj在在 model window 中输入以下语句:中输入以下语句:min=5*x1+21*x3; x1-x2+6*x3-x4=2; x1+x2+2*x3-x5=1;按运行按钮在按运行按钮在 solution report 窗口得到以下结果:窗口得到以下结果:Global optimal solution found at iteration: 2Objective value: 7.750000Variable Value Reduced CostX1 0.5000000 0.000000X3 0.2500000 0.000000X2 0.000000 0.5000000X4 0.000000 2.750000X5 0.000000 2.250000Row Slack or Surplus Dual Price1 7.750000 - 1.0000002 0.000000 - 2.7500003 0.000000 - 2.2500003.2 程序名程序名: linearp2(求极大问题)(求极大问题)linearp2 运行实例:运行实例:max100150 . .2160 100 120 ,0xy stxy x y x y 在在 model window 中输入以下语句:中输入以下语句:max=100*x+150*y; ! this is a commnent; x=100; y=120; x+2*y=160;按运行按钮在按运行按钮在 solution report 窗口得到以下结果:窗口得到以下结果:Global optimal solution found at iteration: 2Objective value: 14500.00Variable Value Reduced CostX 100.0000 0.000000Y 30.00000 0.000000Row Slack or Surplus Dual Price1 14500.00 1.0000002 0.000000 25.000003 90.00000 0.000000 4 0.000000 75.00000
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号