实验四:在Lingo中利用集求解线性规划问题
学时:4学时
实验目的:掌握利用Lingo中的集求解线性规划问题的方法。 实验内容:
1. 使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。 单 位 销地 运 价 产地 A1 A2 A3 A4 A5 A6 销量 6 4 5 7 2 5 35 2 9 2 6 3 5 37 68B1 B2 B3 B4 B5 B6 B7 B8 产量 6 5 1 7 9 2 22 7 3 9 3 5 2 32 4 8 7 9 7 8 41 2 5 4 2 2 1 32 5 8 3 7 6 4 43 9 2 3 1 5 3 38 60 55 51 43 41 52 可建立如下模型: mini16costj1i,ji,j*volumei,jvolumei18demandj j1,,8 capacityi i1,,6volumej1i,j使用LINGO软件,编制程序如下:
model:
!6发点8收点运输问题; sets:
warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand;
links(warehouses,vendors): cost, volume; endsets !目标函数;
min=@sum(links: cost*volume); !需求约束;
@for(vendors(J):
@sum(warehouses(I): volume(I,J))=demand(J)); !产量约束;
@for(warehouses(I):
@sum(vendors(J): volume(I,J))<=capacity(I));
!这里是数据; data:
第1页
《数学建模》实验指导_04_ Lingo求解线性规划问题
capacity=60 55 51 43 41 52;
demand=35 37 22 32 41 32 43 38; cost=6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata end
回答问题:哪些产地增加产量可以减少运费,应增加哪个产地的产量可以减少的最多。
2. 用Lingo中的集求解课本P107上的例1(混合泳接力队的选拔)。 使用LINGO软件,编制程序如下: model: sets:
workers/w1..w5/; jobs/j1..j4/;
links(workers,jobs): cost,volume; endsets
min=@sum(links: cost*volume);
@for(workers(I): @sum(jobs(J): volume(I,J))<=1); @for(jobs(J): @sum(workers(I): volume(I,J))=1); @for(links(i,j): @bin(volume(i,j))); data:
cost= 66.8 57.2 78 70 67.4 75.6 66 67.8 74.2 71 87 66.4 84.6 69.6 83.8 58.6 53 59.4 57.2 62.4; enddata end
第2页
因篇幅问题不能全部显示,请点此查看更多更全内容