用lingo解决的代码如下:
model:
!用lingo解决薪资分配问题,五人每人都有一份不同的工作;
sets:
var /1..5/;
link(var,var):c,x;
endsets
data:
c= 3 8 2 10 3
8 7 2 9 7
6 4 2 7 4
8 4 2 3 5
9 10 6 9 10;
enddata
min=@sum(link: c*x);
@for(var(i):
@sum(var(j):x(i,j))=1);
@for(var(j):
@sum(var(i):x(i,j))=1);
@for(link: @bin(x)); !x11,x12,..,x15,x21,x22,..,x25,..
x51,x52,..,x55都是0-1变量;
end
-------------------------------------------------------------------------------------------------------------------
结果如下:
解释如下:
即甲做第5份工作,乙做第3份工作,丙做第2工作,丁做第4工作,戊做第1工作,
总薪资最少为21万元。