17借助于Matlab用贯序算法求解目标规划问题_第1页
17借助于Matlab用贯序算法求解目标规划问题_第2页
17借助于Matlab用贯序算法求解目标规划问题_第3页
17借助于Matlab用贯序算法求解目标规划问题_第4页
17借助于Matlab用贯序算法求解目标规划问题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、§17.借助于Matlab用贯序算法求解目标规划问题虽然Matlab没有提供直接求解目标规划的优化工具,但是根据目标规划的求解思路单纯形方法。我们可以将一个目标规划问题分解成若干线性规划问题,通过序贯式算法借助于Matlab优化工具进行求解。例1:教材第6章第3节中的目标规划问题:首先将上述问题化为标准形式:然后按照以下步骤分解计算:第一步:求解如下线性规划问题:min d12x1+x2+x3=11x1-x2+d1_-d1=0x1,x2,x3>=0,d1_>=0,d1>=0对上述线性规划问题,可以借助于Matlab优化工具中的linprog函数求解,函数调用命令为:

2、x,fval=linprog(f,Aeq,beq,lb,)其中,参数如下:Aeq=2110000001-101-10000beq= 110f=000010000lb=000000000运行后,得求解结果如下:Optimization terminated successfully.x = 0.1645 6.0628 4.6083 267.4155 261.5173 0 0 0 0fval = 0即:d10第二步:求解如下线性规划问题:min d2_+d22x1+x2+x3=11x1-x2+d1_-d1=0x1+2x2+d2_-d2=10d1=0x1,x2,x3>=0,d1_>=0,

3、d1>=0,d2_>=0,d2>=0对上述线性规划问题,可以借助于Matlab优化工具中的linprog函数求解,函数调用命令为:x,fval=linprog(f,Aeq,beq,lb,x0)其中,参数如下:Aeq=2110000001-101-10000120001-100000010000beq=110100f=000001100lb=000000000x0=0.16456.06284.6083267.4155261.51730000运行后,得求解结果如下:x = 0.0577 4.9712 5.9135 4.9135 0 0.0000 0.0000 0 0fval =

4、5.1844e-010即:d2_d25.1844e-0100第三步:求解如下线性规划问题:min d3_2x1+x2+x3=11x1-x2+d1_-d1=0x1+2x2+d2_-d2=108x1+10x2+d3_-d3=56d1=0d2_+d2=0x1,x2,x3>=0; d1_>=0,d1>=0,d2_>=0,d2>=0,d3_>=0,d3>=0对上述线性规划问题,可以借助于Matlab优化工具中的linprog函数求解,函数调用命令为:x,fval=linprog(f,Aeq,beq,lb,x0)其中,参数如下:Aeq=2110000001-101

5、-10000120001-100810000001-1000010000000001100beq=110105600f=000000010lb=000000000x0=0.05774.97125.91354.913500000运行后,输出结果如下:x = 2.2793 3.8603 2.5810 1.5810 0 0.0000 0.0000 0.0000 0.8380fval = 3.6940e-013最后得到如下一组满意解:2.27933.86032.5811.58100000.838可以看出,以上求解的满意解方案不同于用Lindo软件求得的结果。这是因为,该问题本身有多重解,而linpro

6、g函数求解算法又不同于Lindo的缘故。有兴趣的读者可以进一步验证,上述解和借助于Lindo软件用贯序方法求解的结果都是满意解方案。例2:教材第6章第4节中的目标规划问题,土地利用问题:耕地面积约束:最低收获量约束: 目标约束为:即: 非负约束:对于上述目标规划问题,可以按照如下两个步骤进行分解求解:第一步:求解线性规划问题:min d1_+d1x11+x21+x31=100x12+x22+x32=300x13+x23+x33=20011000x11+9500x12+9000x13>=1900008000x21+6800x22+6000x23>31+120

7、00x32+10000x33>=35000011000x11+9500x12+9000x13+8000x21+6800x22+6000x23+14000x31+12000x32+10000x33+d1_-d1=6100000xij>=0 (i,j=1,2,3); d1_>=0, d1>=0对上述线性规划问题,可以借助于Matlab优化工具中的linprog函数求解,函数调用命令为:x,fval=linprog(f,A,b,Aeq,beq,lb,)其中,参数如下:A=-11000-9500-900000000000000-8000-6800-600000000000000

8、-14000-12000-1000000b=-190000-130000-350000Aeq=10010010000010010010000010010010011000950090008000680060001400012000100001-1beq=1003002006100000f=00000000011lb=00000000000求解运行,输出结果:x = 33.2724 108.3943 145.3961 16.4696 54.3202 0.6296 50.2580 137.2855 53.9743 0.0000 0.0000fval = 2.6261e-014即:d1_+d1=2.

9、6261e-0140第二步:求解线性规划问题:min d2_+d2x11+x21+x31=100x12+x22+x32=300x13+x23+x33=20011000x11+9500x12+9000x13>=1900008000x21+6800x22+6000x23>31+12000x32+10000x33>=35000011000x11+9500x12+9000x13+8000x21+6800x22+6000x23+14000x31+12000x32+10000x33+d1_-d1=6100000d1_+d1=013200x11+11400x12+

10、10800x13+12000x21+10200x22+9000x23+11200x31+9600x32+8000x33+d2_-d2=6600000xij>=0 (i,j=1,2,3); d1_>=0, d1>=0,d2_>=0,d2>=0对上述线性规划问题,可以借助于Matlab优化工具中的linprog函数求解,函数调用命令为:x,fval=linprog(f,A,b,Aeq,beq,lb,)其中,参数如下:A=-11000-9500-90000000000000000-8000-6800-60000000000000000-14000-12000-10000

11、0000b=-190000-130000-350000Aeq=10010010000000100100100000001001001000011000950090008000680060001400012000100001-100132001140010800120001020090001120096008000001-10000000001100beq=100300200610000066000000f=0000000000011lb=0000000000000运行输出求解结果:x = 5.9011 232.5826 198.5503 12.8145 4.2771 0.7905 81.2844 63.1403 0.6592 0.0000 0.0000 0.0000 0.0000fval = 1.0126e-015即:d2_+d2=1.0126e-0150最后得到一个非劣解方案,如下表:I等耕地II等耕地III等耕地水稻5.901 1232.582 6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论