资源描述
一、 实验目的
应用lingo软件实现线性规划和整数规划。
二、 实验内容:
1.线性规划方法的lingo软件实现。
2.整数规划方法的Lingo软件实现
三、 实验环境:
1 硬件要求:计算机一台
2 操作系统:WindowsXP
3 软件要求:lingo10
四、实验步骤及程序编写:
1.线性规划模型。某战略轰炸机群奉命摧毁敌人军事目标。已知该目标有四个要害部位,只要摧毁其中之一即可达到目的。为完成此项任务的汽油消耗量限制为48000升、重型炸弹48枚、轻型炸弹32枚。飞机携带重型炸弹时每升汽油可飞行2千米,带轻型炸弹时每升汽油可飞行3千米。又知每架飞机每次只能装载一枚炸弹,每出发轰炸一次除来回路程汽油消耗(空载时每升汽油可飞行4千米)外,起飞和降落每次各消耗100升。
要害部位
离机场距离
(千米)
摧毁可能性
每枚重型弹
每枚轻型弹
1
2
3
4
450
480
540
600
0.10
0.20
0.15
0.25
0.08
0.16
0.12
0.20
为了使摧毁敌方军事目标的可能性最大,应如何确定飞机轰炸的方案。
解:设用了x枚重型炸弹,用了y枚轻型炸弹,攻击的是第i个部位,再设一标志变量f定义如下:
目标函数为:
,
2、整数规划模型。某厂生产甲、乙两种产品,生产甲种产品每件要消耗煤9t,电力4kw,使用劳动力3个,获利70元;生产乙种产品每件消耗煤4t,电力5kw,使用劳动力10个,获利120元。有一个生产日,这个厂可动用的煤是360t,电力是200kw,劳动力是300个,问应该如何安排甲、乙两种产品的生产,才能使工厂在当日的获利最大,并问该厂当日的最大获利是多少?
解:
模型建立:
五、程序调试及实验总结
1.线性规划模型。
model:
sets:
pd/1..4/:Ph,Pl,d,f;
endsets
data:
d=450,480,540,600;
Ph=0.1,0.2,0.15,0.25;
Pl=0.08,0.16,0.12,0.2;
enddata
max=@sum(pd(i):(x*Ph(i)+y*Pl(i))*f(i));
@for(pd(i):x*(d(i)/2+d(i)/4+200)+y*(d(i)/3+d(i)/4)+200<48000);
x<48;y<32;
@for(pd(i):@bin(f(i)));
@sum(pd(i):f(i))=1;
!验证用油量;
!l=x*(d(4)/2+d(4)/4+200)+y*(d(4)/3+d(4)/4)+200;
end
2、整数规划模型
model:
max=70*x1+120*x2;
9*x1+4*x2<360;
4*x1+5*x2<200;
3*x1+10*x2<300;
@gin(x1);
@gin(x2);
End
通过本次实验掌握了………
六、教师评语
展开阅读全文