1 / 4
文档名称:

利用lingo解一个具体的整数规划例子.doc

格式:doc   大小:68KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

利用lingo解一个具体的整数规划例子.doc

上传人:buhouhui915 2018/5/14 文件大小:68 KB

下载得到文件列表

利用lingo解一个具体的整数规划例子.doc

文档介绍

文档介绍:实验目的和任务
. 进一步掌握Lingo编程操作;
,提高学生分析问题和解决问题能力。
实验仪器、设备及材料
计算机、Lingo
实验内容
指派问题
问题P274
设有n个人,计划做n项工作,其中表示第i个人做第j项工作的收益,现求一种指派方式,使得每个人完成一项工作,并使总收益最大。
6个人做6项工作的收益情况

工作1
工作2
工作3
工作4
工作5
工作6
1
20
15
16
5
4
7
2
17
15
33
12
8
6
3
9
12
18
16
30
13
4
12
8
11
27
19
14
5
-
7
10
21
10
32
6
-
-
-
6
11
13
说明:其中“-”表示某人无法做某项工作。
建模
决策变量:设变量为,当第i个人做第j项工作时,,否则,
目标函数:
,
约束条件:每个人做一项工作,即
每项工作有一个人去做,即
从问题的形式来看,指派问题是运输问题的特例,也可以看成是0-1规划问题。
求解过程
编写模型程序:
model:
!Assignment Problem Model;
sets:
Flight/1..6/;
Assign(Flight,Flight):c,x;
endsets
!Here is e matrix;
data:
c=20 15 16 5 4 7
17 15 33 12 8 6
9 12 18 16 30 13
12 8 11 27 19 14
-99 7 10 21 10 32
-99 -99 -99 6 11 13;
enddata
!Maximize value of assignments;
max=***@sum(Assign:c*x);
***@for(Flight(i):
!Each i must be assigned to some j;
***@sum(Flight(j):x(i,j))=1;
!Each i must receive an assignment;
***@sum(Flight(j):x(j,i))=1;
);
end
计算结果:
Global optimal solution found.
Objective value:
Total solver iterations: 0
Variable Value Reduced Cost
C( 1, 1)
C( 1, 2)
C( 1, 3)
C( 1, 4)
C( 1, 5)
C( 1, 6)
C( 2, 1)
C( 2, 2)
C( 2, 3)
C( 2, 4)