首页 > 编程知识 正文

01整数规划模型matlab,matlab非线性整数规划

时间:2023-05-04 01:13:52 阅读:35037 作者:2969

现有的五个人可以分别完成五项任务: a、b、c、d和e,但每次完成任务所需的时间各不相同。 现在让这五个人做a、b、c、d、e五个任务,怎么分配才能使五个人完成所有任务的总时间最短?

ABCDE甲23157乙34612丙13524丁47421戊56351设25个变量,分别代表第I人教第j科目,I和j=1:5,目标函数取z=c*x(I,j ),x只能取0或1;

没有不等式约束,只有等式约束

约束条件:

(1)一个人只能选择一门课) x(I,1 ) x ) I,2 ) x ) I,3 ) x ) I,4 ) x ) I,5 )=1,i=1:5。

对应的系数矩阵为:

1111100 00000000000000000000000,i=1时,其余变量系数均为0。

0 0 000 1 1 1 11 0 0 000 0 0 000 0 0 000,i=2时,其余变量系数均为0。

0 0 000 0 0 000 1 1 1 11 0 0 000 0 0 000,i=3时,其馀变量系数均为0。

000000000000011100000,i=4时,其余变量系数均为0。

0 0 000 0 0 000 0 0 000 0 0 000 1 1 1 11,i=5时,其馀变量系数均为0。

)2)只选一门课) x(1,j ) x ) 2,j ) x ) 3,j ) x ) 4,j ) x ) 5,j )=1,j=1:5。

对应的系数矩阵为:

1000010001000100001000000000000000000000,j=1时,其余变量系数均为0。

000001000100001000000000000000000000000000000000000000000000000,其馀变量系数均为0。

01000100010001000100000000000000100,j=3时,其余变量系数均为0。

当00010001000100010001000010000100000010,j=4时,其余变量系数均为0。

当0001000100010001000100000000000100001,j=5时,其余变量系数均为0。

data=[ 2,3,1,5,7; 3、4、6、1、2; 一、三、五、二、四; 4、7、4、2、1; 五、六、三、五、一; c=data(3360; aeq=zeros (10,25; forI=1:5aeq(I,[1:5](I-1 ) *5)=1; %约束条件(1) AEQ ) I5、i:5:25 )=1; %约束条件(2) endbeq=Ones ) 10,1 ); intcon=1:25; %个变量均为整数lb=zeros (25,1 ); %变量的最小值为0ub=ones (25,1 ); %变量的最大值为1[xfval]=intlinprog(c,intcon,[],[],Aeq,beq,lb,ub ); reshape(x、5、5 )的执行结果:

0 1 0 0 0

0 0 0 1 0

1 0 0 0 0

0 0 0 0 1

0 0 1 0 0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。