lingo指派问题

指派问题:有若干项任务,每项任务必须由一人且只能由一人承担,每人也只能承担其中一项,不同人员承担不同任务的成本(或收益)不同,求分派各项任务使总成本最小(或总收益最大)。

通常可使用0-1规划模型对其求解。

使用lingo求解,代码如下:

model:
title:指派问题;
sets:
work/1..4/:;
people/1..5/:;
link(work,people):c,x;
endsets

data:
c=
66.8 57.2 78 70 67.4
75.6 66 67.8 74.2 71
87 66.4 84.6 75.2 83.8
58.6 53 59.4 57.2 57.5;!每个人每个项目的成本矩阵;
enddata

min=@sum(link(i,j):c(i,j)*x(i,j));!总时间(成本)最小;
@for(work(i):@sum(people(j):x(i,j))=1);  !每个项目必须且只能由一人完成;
@for(people(j):@sum(work(i):x(i,j))<=1); !每人最多选一个项目完成;
@for(link(i,j):@gin(x(i,j)));!x为0,1变量;

end

  • 16
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值