决策优化建模与仿真实验-动态规划问题

动态规划问题

有四个工人,要指派他们分别完成4项工作,每人做各项工作所消耗的时间如表1所示。问指派哪个人去完成哪项工作,可使总的消耗时间为最小?试对此问题用动态规划方法求解。

 MATLAB代码

Data=[15,18,21,24;
    19,23,22,18;
    26,17,16,19;
    19,21,23,17];
c=Data(:);
aeq=zeros(8,16);
for i=1:4
    aeq(i,[1:4]+(i-1)*4)=1; %约束条件
    aeq(i+4,i:4:16)=1; %约束条件
end
beq=ones(8,1);
intcon=1:16;  %16个变量均为整数
lb=zeros(16,1);  %变量最小值为0
ub=ones(16,1);   %变量最大值为1
[x fval]=intlinprog(c,intcon,[],[],aeq,beq,lb,ub);
reshape(x,4,4)
ans =

     0     1     0     0
     1     0     0     0
     0     0     1     0
     0     0     0     1

甲工人完成B工作,乙工人完成A工作,丙工人完成C工作,丁工人完成D工作。总的消耗时间为最小为70。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值