“100台机器,拟分四个周期使用,在每一周期有两种生产任务”问题

题目:某工厂有100台机器,拟分四个周期使用,在每一周期有两种生产任务。据经验,把机器x1台投入第一种生产任务,则在一个生产周期中将有x1/5台机器作废;余下的机器全部投入第二种生产任务,则有1/10台机器作废。如果干第一种生产任务每台机器可收益10,干第二种生产任务每台机器可收益5。每次周期只能选择一种生产任务。问怎样分配机器,使总收益最大?

结题思路(matlab):
1、由于四个周期,每个周期两种生产任务(1,2),则有4^2的分配情况。
2、用randi整数随机变量得出16种分配情况。
3、用两次行列for循环得出十六次情况的结果。

代码如下:
clear
clc
%sallkey
%设置变量
a=4^2;%周期为4
pr=zeros(100,4);
result=zeros(16,5);
%%
%输出所有组合的可能性
for i=1:100
aa=randi(2,1,4); %整数1-2的随便变量
for j=1:4
pr(i,j)=aa(j) ; %得到一个要求的随机只包含1和2的
end
end
pr = unique(pr,’rows’,’stable’); %删除重复的行
%%
%各种组合的结果
[n,m]=size(pr) ;m%判断是不是4^2
for i=1:n
p=0;value=100; %产品为100个
for j=1:4
if pr(i,j)==1
c=1;s=4/5;
else
c=0.5;s=9/10;
end
p=value*c+p;
value=value*s;
end
result(i,1)=p;
for zz=1:4
result(i,zz+1)=pr(i,zz);
end
end
[Y_col,Ind_row]=max(result);%每列的最大值及行号
result(Ind_row(1),:) %最大值那一行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值