运筹学实验一补充

上传人:wt****50 文档编号:37620502 上传时间:2018-04-20 格式:DOC 页数:6 大小:49.50KB
返回 下载 相关 举报
运筹学实验一补充_第1页
第1页 / 共6页
运筹学实验一补充_第2页
第2页 / 共6页
运筹学实验一补充_第3页
第3页 / 共6页
运筹学实验一补充_第4页
第4页 / 共6页
运筹学实验一补充_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《运筹学实验一补充》由会员分享,可在线阅读,更多相关《运筹学实验一补充(6页珍藏版)》请在金锄头文库上搜索。

1、附一、附一、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 均可省略,此时调用格式为

2、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

3、=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 为初始搜

4、索点,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

5、返回解 x 处的目标函数值。2)exitflagexitflag 描述函数计算的退出条件:若为正值,表示目标函数收敛于解 x 处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最大次数。3)outputoutput 返回优化信息:output.iterations 表示迭代次数;output.algorithm 表示所采用的算法;outprt.funcCount 表示函数评价次数。附二附二、LINDO 程序说明程序说明程序名:程序名:linear执行实例:执行实例:max1015s.t.1012216,0xyxyxyx y在命令窗口键入以下内容:在命令窗口键入以下内容:m

6、ax 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 PRICE

7、S2) 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 A

8、LLOWABLERHS 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

9、-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 Pric

10、e1 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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号