《数学建模》实验指导4Lingo求解线性规划问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四:在Lingo 中利用集求解线性规划问题
学时:4学时
实验目的:掌握利用Lingo 中的集求解线性规划问题的方法。 实验内容:
6
8
,,1
1
6
,18
,1
m in * 1,,8 1,,6
i j
i j
i j i j
j i i j
i j cost
volum e volum e
dem and j volum e
capacity i ========∑
∑∑∑ 使用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 :
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