【MATLAB】请教利用bintprog求解指派问题(0-1整数规划)的向量处理
问题:分配5个人做5件工作,每人只做一件工作,每件工作只由一个人做,Cij表示第i人去做第j件事所花的时间,规划目标是使总用时最少c=[38210387297642758...
问题:分配5个人做5件工作,每人只做一件工作,每件工作只由一个人做,Cij表示第i人去做第j件事所花的时间,规划目标是使总用时最少c=[3 8 2 10 3 8 7 2 9 7 6 4 2 7 5 8 4 2 3 5 9 10 6 9 10]课本代码如下
c=[3 8 2 10 3;8 7 2 9 7;6 4 2 7 5 8 4 2 3 5;9 10 6 9 10];c=c(:);a=zeros(10,25);for i=1:5 a(i,(i-1)*5+1:5*i)=1; a(5+i,i:5:25)=1;endb=ones(10,1);[x,fval]=bintprog(c,[],[],a,b);x=reshape(x,[5,5]), fval
小弟看不懂a(i,(i-1)*5+1:5*i)=1;a(5+i,i:5:25)=1;是什么意思,不懂怎样断句,尤其是后者,居然有两个“:”从help来看,a应该相当于标准式中的Aeq,代码想通过Aeq实现每人只做一件工作,每件工作只由一个人做,但代码是如何通过语法实现,小弟实在看不懂,请大神指点一二^_^ 展开
c=[3 8 2 10 3;8 7 2 9 7;6 4 2 7 5 8 4 2 3 5;9 10 6 9 10];c=c(:);a=zeros(10,25);for i=1:5 a(i,(i-1)*5+1:5*i)=1; a(5+i,i:5:25)=1;endb=ones(10,1);[x,fval]=bintprog(c,[],[],a,b);x=reshape(x,[5,5]), fval
小弟看不懂a(i,(i-1)*5+1:5*i)=1;a(5+i,i:5:25)=1;是什么意思,不懂怎样断句,尤其是后者,居然有两个“:”从help来看,a应该相当于标准式中的Aeq,代码想通过Aeq实现每人只做一件工作,每件工作只由一个人做,但代码是如何通过语法实现,小弟实在看不懂,请大神指点一二^_^ 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询