用lingo解决“指派问题” |
您所在的位置:网站首页 › lingo矩阵表示 › 用lingo解决“指派问题” |
用lingo解决“指派问题”的代码,如下: --------------------------------------------------------------------------------------------------------------- model: !6人指派问题; sets: Flight/1..6/; Assign(Flight,Flight):c,x; endsets !Here is income 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 ------------------------------------------------------------------------------------------------------------------------- 结果如下:
解释如下: 即第1个人做第1项工作,第2个人做第3项工作,第3个人做第2项工作, 第4个人做第4项工作,第5个人做第6项工作,第6个人做第5项工作, 总效益最大为135. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |