lingo 指派问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Lingo 作业题
1、指派问题
设有n 个人, 计划作n 项工作, 其中ij c 表示第i 个人做第j 项工作的收益,求一
种指派方式,使得每个人完成一项工作,使总收益最大.现6个人做6项工作的最优指派问题,其收益矩阵如表所示,请给出合理安排.
一、问题分析
根据第一题的题意我们可以知道,此题的最终目标是让我们建立一种数学模型来解决这个实际生活中的问题,此题意简而言之就是为了解决6个人做6项工作的指派最优问题,从而使题目中的ij C 收益等达到所需要的目的。在题目中曾提到:每个人完成一项工作。其意思就是每人只能做一项工作且每项工作只能做一人做。
二、符号说明
此题属于最优指派问题,引入如下变量:
题目中说:ij C 表示第i 个人做第j 项工作的收益。例如56C 则表示第5个人做第6项工作。
即66
11max ij ij i j z xy c ===∑∑
s.t.:
611ij i C
==∑ ,j=1,2,3,···,6
611ij j C
==∑ ,i=1,2,3,
···,6 01ij C =或 ,i,j=1,2,3,···,6
此题需要求出最大值最优(最大值),即需要使用max ,表示最大。 在编程过程中“@bin (x )”是“限制x 为0或1”。
三、建立模型
此题属于最优指派问题,与常见的线性问题极为类似。因此,使用Lingo
软件。
由于“每人只能做一项工作且每项工作只能做一人做”故采用0-1规划求得优。
四、模型求解
(一)常规程序求解
Lingo输入框:
max=20*c11+15*c12+16*c13+5*c14+4*c15+7*c16+
17*c21+15*c22+33*c23+12*c24+8*c25+6*c26+
9*c31+12*c32+18*c33+16*c34+30*c35+13*c36+
12*c41+8*c42+11*c43+27*c44+19*c45+14*c46+
0*c51+7*c52+10*c53+21*c54+10*c55+32*c56+
0*c61+0*c62+0*c63+6*c64+11*c65+13*c66;
c11+c12+c13+c14+c15+c16=1;
c21+c22+c23+c24+c25+c26=1;
c31+c32+c33+c34+c35+c36=1;
c41+c42+c43+c44+c45+c46=1;
c51+c52+c53+c54+c55+c56=1;
c61+c62+c63+c64+c65+c66=1;
c11+c21+c31+c41+c51+c61=1;
c12+c22+c32+c42+c52+c62=1;
c13+c23+c33+c43+c53+c63=1;
c14+c24+c34+c44+c54+c64=1;
c15+c25+c35+c45+c55+c65=1;
c16+c26+c36+c46+c56+c66=1;
@bin(c11);@bin(c12);@bin(c13);@bin(c14);@bin(c15);@bin(c16);
@bin(c21);@bin(c22);@bin(c23);@bin(c24);@bin(c25);@bin(c26);
@bin(c31);@bin(c32);@bin(c33);@bin(c34);@bin(c35);@bin(c36);
@bin(c41);@bin(c42);@bin(c43);@bin(c44);@bin(c45);@bin(c46);
@bin(c51);@bin(c52);@bin(c53);@bin(c54);@bin(c55);@bin(c56);
@bin(c61);@bin(c62);@bin(c63);@bin(c64);@bin(c65);@bin(c66);
Lingo输出(结果)框:
Global optimal solution found.
Objective value: 142.0000
Extended solver steps: 0
Total solver iterations: 0
Variable Value Reduced Cost
C11 1.000000 -20.00000
C12 0.000000 -15.00000
C13 0.000000 -16.00000
C14 0.000000 -5.000000
C15 0.000000 -4.000000
C21 0.000000 -17.00000 C22 0.000000 -15.00000 C23 1.000000 -33.00000 C24 0.000000 -12.00000 C25 0.000000 -8.000000 C26 0.000000 -6.000000 C31 0.000000 -9.000000 C32 0.000000 -12.00000 C33 0.000000 -18.00000 C34 0.000000 -16.00000 C35 1.000000 -30.00000 C36 0.000000 -13.00000 C41 0.000000 -12.00000 C42 0.000000 -8.000000 C43 0.000000 -11.00000 C44 1.000000 -27.00000 C45 0.000000 -19.00000 C46 0.000000 -14.00000 C51 0.000000 0.000000 C52 0.000000 -7.000000 C53 0.000000 -10.00000 C54 0.000000 -21.00000 C55 0.000000 -10.00000 C56 1.000000 -32.00000 C61 0.000000 0.000000 C62 1.000000 0.000000 C63 0.000000 0.000000 C64 0.000000 -6.000000 C65 0.000000 -11.00000 C66 0.000000 -13.00000
Row Slack or Surplus Dual Price
1 142.0000 1.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 0.000000 0.000000
7 0.000000 0.000000
8 0.000000 0.000000
9 0.000000 0.000000
10 0.000000 0.000000
11 0.000000 0.000000