运筹学实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验5动态规划模型编程解算1、用Lingo软件求解下列最短路线问题:下图是一个线路网,连线上的数字表示两点之间的距离(或费用)。试寻求一条由A到G距离最短(或费用最省)的路线。见“Matlab数学建模算法全收录”P59页Lingo程序——最优值为18.再此基础上,自己编写下列最短路径规划程序:TitleDynamicProgramming;sets:vertex/A,B1,B2,C1,C2,C3,C4,D1,D2,D3,E1,E2,E3,F1,F2,G/:L;road(vertex,vertex)/AB1,AB2,B1C1,B1C2,B1c3,B2C2,B2C3,B2C4,C1D1,C1D2,C2D1,C2D2,C3D2,C3D3,C4D2,C4D3,D1E1,D1E2,D2E2,D2E3,D3E2,D3E3,E1F1,E1F2,E2F1,E2F2,E3F1,E3F2,F1G,F2G/:D;endsetsdata:D=531368766835338422123335526643;L=0,,,,,,,,,,,,,,,;enddata@for(vertex(i)|i#GT#1:L(i)=@min(road(j,i):L(j)+D(j,i)));end运行结果:2、用Lingo求解下列最短路径规划程序:如下图,求从S到T的最短路径。设d(x,y)为城市x与城市y之间的直线距离;L(x)为城市S到城市x的最优行驶路线的路长。模型为:min{L(x)+d(x,y)}L(S)=0注释:求得最短路径为20。代码如下:TitleDynamicProgramming;sets:vertex/S,A1,A2,A3,B1,B2,C1,C2,T/:L;road(vertex,vertex)/SA1,SA2,SA3,A1B1,A1B2,A2B1,A2B2,A3B1,A3B2,B1C1,B1C2,B2C1,B2C2,C1T,C2T/:D;endsetsdata:D=633658674678956;L=0,,,,,,,,;enddata@for(vertex(i)|i#GT#1:L(i)=@min(road(j,i):L(j)+D(j,i)));end运行结果:3、用Lingo求解下列动态规划问题(经营策略问题):建模并编程解算某商店在未来4个月中需要利用一个仓库存储某种商品。仓库的最大容量为1000件,每月中旬订购商品,并于下月初到货。预计今后4个月这种商品的购价kp和售价kq如下表所示。假定商店在1月初开始时仓库已存有该种商品500件,且每月市场需求不限。问应如何计划每月的订购与销售数量,使得这4个月的总利润最大。月份k购价kp售价kq110122993111341517需建立整数规划模型(设(1,2,3,4)ixi为第i个月的订购数量,(1,2,3,4)iyi为第i个月的销售数量)。程序如下:max=12*y1+9*y2+13*y3+17*y4-10*x1-9*x2-11*x3-15*x4;y1=500;x1-y1=500;x1-y1=-500;x1-y1+x2-y2=500;x1-y1+x2-y2=-500;x1-y1+x2-y2+x3-y3=500;x1-y1+x2-y2+x3-y3=-500;x1-y1+x2-y2+x3-y3+x4-y4=500;x1-y1+x2-y2+x3-y3+x4-y4=-500;y2=1000;y3=1000;y4=1000;Z1=500;Z2=500+x1-y1;Z3=500+x1-y1+x2-y2;Z4=500+x1-y1+x2-y2+x3-y3;Z5=500+x1-y1+x2-y2+x3-y3+x4-y4;运行结果:

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功