我是刚入门,这学期有一门课学matlab,恳请各位大侠指导。
题目:工厂安排工人(二人)合作操控机器问题,condition on 通用语言(限制条件)
一共有8个工人,5台机器
第一部分:语言(工人2人合作必须至少一门通用语言,1为会说,0为不会说)
工人 A B C D E F G H
英文 1 1 0 1 0 0 1 1
日文 1 0 0 1 1 1 0 0
中文 0 1 1 0 0 1 1 1
韩文 0 0 0 0 1 0 0 1
第二部分:各机器产出(经济效用)
工人 A B C D E F G H
机器I 4 5 3 0 0 0 0 0
机器II 2 0 0 7 8 0 8 4
机器III 0 7 0 3 8 1 0 0
机器IV 0 0 5 0 0 4 9 0
机器V 0 0 0 0 4 8 0 6
例如:首先,工人B&D都会说英文(通用语言),第一部分条件满足,安排工人运行机器III可得产出为7+3=10
工人不能同时做多个岗位,即求最优的4组工人组合去操作4台机器(机器不必是5选4,若有可能,可以8个工人都操作同一台机器而或最优产出)
我能解决第一个语言问题,matlab:
language= [1 1 0 0 ; 1 0 1 0 ; 0 0 1 0 ; 1 1 0 0 ; 0 1 0 1 ; 0 1 1 0 ; 0 0 1 0 ; 0 0 1 1 ]
for i=1:7
for j=2:8
if i<j
communication=language(i,:)*language(j,:)';
if communication>0
输出here
end
end
但第二部分真的没有头绪,求指教!