资源描述
桂林电子科技大学
运筹学 实验报告
实验四 整数规划 辅导员意见:
计算机科学与工程学院 信息管理与信息系统专业
12003401 班第 实验小组
作者 黄桂 学号 1200340119
同作者 辅导员
实验日期 2014 年 12 月 22 日 成绩: 签 名
一、实验目的:
(1) 熟悉LINGO软件环境;
(2) 了解并熟练掌握LINGO语言的数学模型;
(3) 熟练掌握如何用LINGO语言来解决整数问题。
二、实验类型:设计型
三、实验内容:
采用LINGO软件解决下列实际整数规划应用问题。
(1)投资场所的选择
京成畜产品公司计划在市区的东、西、南、北四区建立销售门市部,拟议中有10个位置Ai(i=1,2,3,…,10)可供选择,考虑到各地区居民的消费水平及居民居住密集度,规定:
在东区由A1,A2,A3三个点至多选择两个;
在西区由A4,A5两个点中至少选一个;
在南区由A6,A7两个点中至少选一个;
在北区由A8,A9,A10。三个点中至少选两个。
Ai各点的设备投资及每年可获利润由于地点不同都是不一样的,预测情况见下表1所示。
表1
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
投资额
100
120
150
80
70
90
80
140
160
180
利润
36
40
50
22
20
30
25
48
58
61
但投资总额不能超过720万元,问应选择四几个销售点,可使年利润为最大?
答:用LINGO输入以下代码:
max =36*x1+40*x2+50*x3+22*x4+20*x5+30*x6+25*x7+48*x8+58*x9+61*x10;
100*x1+120*x2+150*x3+80*x4+70*x5+90*x6+80*x7+140*x8+160*x9+180*x10<=720;
x1+x2+x3<=2;
x4+x5>=1;
x6+x7>=1;
x8+x9+x10>=2;
@BIN(x1);
@BIN(x2);
@BIN(x3);
@BIN(x4);
@BIN(x5);
@BIN(x6);
@BIN(x7);
@BIN(x8);
@BIN(x9);
@BIN(x10);
点击solve得到以下运行界面得:
根据以上运行结果知道,选择A1、A2、A5、A6、A9、A10这几个销售点可得到最大利润为245。
(2)固定成本问题
假设某公司可以生产6中型号的飞机,生产每一架飞机可以获得如下的利润,生产每一类型的飞机需要一定的固定资本。
Plane Profit Setup
Rocket 30 35
Meteor 45 20
Streak 24 60
Comet 26 70
Jet 24 75
Biplane 30 30
并且每生产一架飞机需要的材料以及共有的材料如下:
Rocket Meteor Streak Comet Jet Biplane Available
Steel 1 4 0 4 2 0 800
Copper 4 5 3 0 1 0 1160
Plastic 0 3 8 0 1 0 1780
Rubber 2 0 1 2 1 5 1050
Glass 2 4 2 2 2 4 1360
Paint 1 4 1 4 3 4 1240
问现在需要如何安全生产使得获得的利润最大。
答:在LINGO里输入以下代码:
max =30*a1+45*a2+24*a3+26*a4+24*a5+30*a6-35*b1-20*b2-60*b3-70*b4-75*b5-30*b6;
a1+4*a2+4*a4+2*a5<=800;
4*a1+5*a2+3*a3+a5<=1160;
3*a2+8*a3+a5<=1780;
2*a1+a3+2*a4+a5+5*a6<=1050;
2*a1+4*a2+2*a3+2*a4+2*a5+4*a6<=1360;
a1+4*a2+a3+4*a4+3*a5+4*a6<=1240;
a1<=1000*b1;
a2<=1000*b2;
a3<=1000*b3;
a4<=1000*b4;
a5<=1000*b5;
a6<=1000*b6;
@bin(b1);@gin(a1);
@bin(b2);@gin(a2);
@bin(b3);@gin(a3);
@bin(b4);@gin(a4);
@bin(b5);@gin(a5);
@bin(b6);@gin(a6);
点击solve得到运行结果为:
根据上图分析知,分别生产Rocket、Meteor、Streak、Comet Jet、Biplane、Available的数量为96、0、195、0、191、94。这样才得利润最大为14764。
(3)指派问题
有四个工人,要分别指派他们完成四项不同的工作.每人做各项工作所消耗的时间如表2所示,问应如何指派工作,才能使总的消耗时间为最少。
表2
工作
所需时间
(小时)
工人
A
B
C
D
甲
15
18
21
24
乙
19
23
22
18
丙
26
17
16
19
丁
19
21
23
17
答:用LINGO输入以下代码:
min=15*x1+18*x2+21*x3+24*x4+19*y1+23*y2+22*y3+18*y4+26*z1+17*z2+16*z3+19*z4+19*a1+21*a2+23*a3+17*a4;
x1+x2+x3+x4=1;
y1+y2+y3+y4=1;
z1+z2+z3+z4=1;
a1+a2+a3+a4=1;
x1+y1+z1+a1=1;
x2+y2+z2+a2=1;
x3+y3+z3+a3=1;
x4+y4+z4+a4=1;
点击solve得到以下运行结果为
根据结果分析知,甲分配B工作,已分配A工作,丙分配C工作,丁分配D工作,才能使总消耗时间最少。
展开阅读全文