运 运 筹 学 实 实 验 报 告
专
业:
信息与计算科学
班
级:
姓
名:
学
号:
相关问题说明
一、 实验性质和教学目的 运筹学实验课是从运筹学中若干模型出发,针对性得学习相关软件,以求学生掌握解决实际问题的方法。
通过运筹学中的实例,让学生学会 lingo 软件的使用方法,最后让学生利用 lingo 软件解决运筹学中的问题。
二、实验基本要求 1. 实验前认真做好理论准备,仔细阅读实验指导书; 2. 遵从教师指导,认真完成实验任务,按时按质提交实验报告。
三、主要参考资料 1.LINGO 软件 3. 优化建模与 LINDO/LINGO 软件,清华大学出版社,2005 4.运筹学编写组主编,运筹学(第四版),清华大学出版社,2012 5.胡运权主编,运筹学教程(第二版),清华大学出版社,2003
一、 线性规划问题 1 21 21 21 21 2max 4 39 8 127 11 24. .9 11 13, 0z x xx xx xstx xx x 1 、 给出使用 lingo 软件求解该模型的原始代码; 2 、 计算结果( 包括灵敏度分析,求解结果粘贴) ; 1. max=4*x1+3*x2;
9*x1+8*x2<12;
7*x1+11*x2<24;
29*x1+11*x2<13;
Global optimal solution found.
Objective value:
5.333333
Infeasibilities:
0.000000
Total solver iterations:
2
Variable
Value
Reduced Cost X1
1.333333
0.000000 X2
0.000000
0.5555556
Row
Slack or Surplus
Dual Price 1
5.333333
1.000000 2
0.000000
0.4444444 3
14.66667
0.000000 4
1.000000
0.000000
Ranges in which the basis is unchanged:
Objective Coefficient Ranges
Current
Allowable
Allowable
Variable
Coefficient
Increase
Decrease
X1
4.000000
INFINITY
0.6250000
X2
3.000000
0.5555556
INFINITY
Righthand Side Ranges
Row
Current
Allowable
Allowable
RHS
Increase
Decrease
2
12.00000
1.000000
12.00000
3
24.00000
INFINITY
14.66667
4
13.00000
INFINITY
1.000000
3 、 回答下列问题:
a) 最优解及最优目标函数值是多少;
该 LP 问题的最优解 x={x1,x2}={ 1.333333
0.000000},目标函数值 z=5.333333
b) 资源的对偶价格各为多少,并说明对偶价格的含义;
对第 2 行资源的对偶价格为 0.4444444,3,4 行的对偶价格均为 0.对偶价格的含义:表示当对应约束有微小变动时,目标函数的变化率 此题中将第一个约束条件变为 9*x1+8*x2<13,目标函数的值将变为5.333333+0.4444444=5.7777774
c) 为了使目标函数值增加最多,让你选择一个约束条件,将它的常数项增加一个单位,你将选择哪一个约束条件?这时目标函数值将是多少?
为了使目标函数值增加最多,选择第一个约束条件,目标函数值将增加 5.7777774
d) 对 对 x 2 的目标函数系数进行灵敏度分析; x2 原来为 3.000000,当它在[3.000000- ∞ ]=[ 3.000000+0.5555556]范围变化时,最优基保持不变
e) 对第 2 个约束的约束右端项进行灵敏度分析;
第 2 行约束中右端项原来为 24,当它在[24-14.66667,24+ ∞ ]=[9.33333, ∞ ]范围变化 时,最优基保持不变
f ) 结合本题的结果解释“Reduced Cost ”的含义。
”Reduced Cost”代表的值表示当变量有微小变动时,目标函数变化率 二、运输问题
如下是一个最小费用运输问题。产销量及单位运价如下表。
(1) 给出使用 lingo 软件求解该问题的原始代码; (2) 计算结果( 决策变量求解 结果粘贴) 。
sets: warehouses/wh1..wh6/:capacity; vendors/v1..v8/:demend; link(warehouses,vendors):cost,volume; endsets data: cost=6 2 6 7 4 2 5 9
3 6 5 3 8 9 8 2
7 6 1 5 7 4 3 3
5 2 7 3 9 2 7 1
2 3 9 5 5 2 6 5
5 7 2 2 3 1 4 3; capacity=60 55 51 43 41 52; demend=35 37 22 32 41 32 43 38; enddata min=@sum(link(i,j):cost(i,j)*volume(i,j)); @for(vendors(j):
@sum(warehouses(i):volume(i,j))=demend(j));
@for(warehouses(i):
@sum(vendors(j):volume(i,j))<=capacity(i));
end
Global optimal solution found.
Objective value:
634.0000
Infeasibilities:
0.000000
Total solver iterations:
16
Variable
Value
Reduced Cost CAPACITY( WH1)
60.00000
0.000000 CAPACITY( WH2)
55.00000
0.000000 CAPACITY( WH3)
51.00000
0.000000 CAPACITY( WH4)
43.00000
0.000000 CAPACITY( WH5)
41.00000
0.000000 CAPACITY( WH6)
52.00000
0.000000 DEMEND( V1)
35.00000
0.000000 DEMEND( V2)
37.00000
0.000000 DEMEND( V3)
22.00000
0.000000 DEMEND( V4)
32.00000
0.000000 DEMEND( V5)
41.00000
0.000000 DEMEND( V6)
32.00000
0.000000 DEMEND( V7)
43.00000
0.000000 DEMEND( V8)
38.00000
0.000000 COST( WH1, V1)
6.000000
0.000000 COST( WH1, V2)
2.000000
0.000000 COST( WH1, V3)
6.000000
0.000000 COST( WH1, V4)
7.000000
0.000000 COST( WH1, V5)
4.000000
0.000000 COST( WH1, V6)
2.000000
0.000000 COST( WH1, V7)
5.000000
0.000000 COST( WH1, V8)
9.000000
0.000000 COST( WH2, V1)
3.000000
0.000000 COST( WH2, V2)
6.000000
0.000000 COST( WH2, V3)
5.000000
0.000000 COST( WH2, V4)
3.000000
0.000000 COST( WH2, V5)
8.000000
0.000000 COST( WH2, V6)
9.000000
0.000000 COST( WH2, V7)
8.000000
0.000000 COST( WH2, V8)
2.000000
0.000000 COST( WH3, V1)
7.000000
0.000000 COST( WH3, V2)
6.000000
0.000000 COST( WH3, V3)
1.000000
0.000000 COST( WH3, V4)
5.000000
0.000000 COST( WH3, V5)
7.000000
0.000000 COST( WH3, V6)
4.000000
0.000000 COST( WH3, V7)
3.000000
0.000000 COST( WH3, V8)
3.000000
0.000000 COST( WH4, V1)
5.000000
0.000000 COST( WH4, V2)
2.000000
0.000000 COST( WH4, V3)
7.000000
0.000000
COST( WH4, V4)
3.000000
0.000000 COST( WH4, V5)
9.000000
0.000000 COST( WH4, V6)
2.000000
0.000000 COST( WH4, V7)
7.000000
0.000000 COST( WH4, V8)
1.000000
0.000000 COST( WH5, V1)
2.000000
0.000000 COST( WH5, V2)
3.000000
0.000000 COST( WH5, V3)
9.000000
0.000000 COST( WH5, V4)
5.000000
0.000000 COST( WH5, V5)
5.000000
0.000000 COST( WH5, V6)
2.000000
0.000000 COST( WH5, V7)
6.000000
0.000000 COST( WH5, V8)
5.000000
0.000000 COST( WH6, V1)
5.000000
0.000000 COST( WH6, V2)
7.000000
0.000000 COST( WH6, V3)
2.000000
0.000000 COST( WH6, V4)
2.000000
0.000000 COST( WH6, V5)
3.000000
0.000000 COST( WH6, V6)
1.000000
0.000000 COST( WH6, V7)
4.000000
0.000000 COST( WH6, V8)
3.000000
0.000000 VOLUME( WH1, V1)
0.000000
4.000000 VOLUME( WH1, V2)
31.00000
0.000000 VOLUME( WH1, V3)
0.000000
3.000000 VOLUME( WH1, V4)
0.000000
5.000000 VOLUME( WH1, V5)
29.00000
0.000000 VOLUME( WH1, V6)
0.000000
0.000000 VOLUME( WH1, V7)
0.000000
0.000000 VOLUME( WH1, V8)
0.000000
8.000000 VOLUME( WH2, V1)
0.000000
0.000000 VOLUME( WH2, V2)
0.000000
3.000000 VOLUME( WH2, V3)
0.000000
1.000000 VOLUME( WH2, V4)
32.00000
0.000000 VOLUME( WH2, V5)
0.000000
3.000000 VOLUME( WH2, V6)
0.000000
6.000000 VOLUME( WH2, V7)
0.000000
2.000000 VOLUME( WH2, V8)
1.000000
0.000000 VOLUME( WH3, V1)
0.000000
7.000000 VOLUME( WH3, V2)
0.000000
6.000000 VOLUME( WH3, V3)
8.000000
0.000000 VOLUME( WH3, V4)
0.000000
5.000000 VOLUME( WH3, V5)
0.000000
5.000000 VOLUME( WH3, V6)
0.000000
4.000000 VOLUME( WH3, V7)
43.00000
0.000000 VOLUME( WH3, V8)
0.000000
4.000000
VOLUME( WH4, V1)
0.000000
3.000000 VOLUME( WH4, V2)
6.000000
0.000000 VOLUME( WH4, V3)
0.000000
4.000000 VOLUME( WH4, V4)
0.000000
1.000000 VOLUME( WH4, V5)
0.000000
5.000000 VOLUME( WH4, V6)
0.000000
0.000000 VOLUME( WH4, V7)
0.000000
2.000000 VOLUME( WH4, V8)
37.00000
0.000000 VOLUME( WH5, V1)
35.00000
0.000000 VOLUME( WH5, V2)
0.000000
1.000000 VOLUME( WH5, V3)
0.000000
6.000000 VOLUME( WH5, V4)
0.000000
3.000000 VOLUME( WH5, V5)
0.000000
1.000000 VOLUME( WH5, V6)
6.000000
0.000000 VOLUME( WH5, V7)
0.000000
1.000000 VOLUME( WH5, V8)
0.000000
4.000000 VOLUME( WH6, V1)
0.000000
4.000000 VOLUME( WH6, V2)
0.000000
6.000000 VOLUME( WH6, V3)
14.00000
0.000000 VOLUME( WH6, V4)
0.000000
1.000000 VOLUME( WH6, V5)
12.00000
0.000000 VOLUME( WH6, V6)
26.00000
0.000000 VOLUME( WH6, V7)
0.000000
0.000000 VOLUME( WH6, V8)
0.000000
3.000000
Row
Slack or Surplus
Dual Price 1
634.0000
-1.000000 2
0.000000
-3.000000 3
0.000000
-3.000000 4
0.000000
-4.000000 5
0.000000
-3.000000 6
0.000000
-5.000000 7
0.000000
-3.000000 8
0.000000
-6.000000 9
0.000000
-2.000000 10
0.000000
...