matlab 0 1整数规划编程max F(A) = 5A1 + 9A2 + 11A3 + 22A4 + 17A5+ 24A6 + 23A7 + 11A8 + 5A9 + 18A10+ 14A11 + 7A12 + 8A13 + 20A14 + 12A15+ 4A16 + 22A17 + 16A18 + 3A19 + 25A20约束条件A1 + A6 + A11 + A16 = 1A2 + A7 + A12 + A17 = 1A3 + A8 + A13 +

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/16 17:47:42
matlab01整数规划编程maxF(A)=5A1+9A2+11A3+22A4+17A5+24A6+23A7+11A8+5A9+18A10+14A11+7A12+8A13+20A14+12A15+4A

matlab 0 1整数规划编程max F(A) = 5A1 + 9A2 + 11A3 + 22A4 + 17A5+ 24A6 + 23A7 + 11A8 + 5A9 + 18A10+ 14A11 + 7A12 + 8A13 + 20A14 + 12A15+ 4A16 + 22A17 + 16A18 + 3A19 + 25A20约束条件A1 + A6 + A11 + A16 = 1A2 + A7 + A12 + A17 = 1A3 + A8 + A13 +
matlab 0 1整数规划编程
max F(A) = 5A1 + 9A2 + 11A3 + 22A4 + 17A5
+ 24A6 + 23A7 + 11A8 + 5A9 + 18A10
+ 14A11 + 7A12 + 8A13 + 20A14 + 12A15
+ 4A16 + 22A17 + 16A18 + 3A19 + 25A20
约束条件
A1 + A6 + A11 + A16 = 1
A2 + A7 + A12 + A17 = 1
A3 + A8 + A13 + A18 = 1
A4 + A9 + A14 + A19 = 1
A5 + A10 + A15 + A20 = 1
A1 + A2 + A3 + A4 + A5 >= 1
A6 + A7 + A8 + A9 + A10 >= 1
A11 + A12 + A13 + A14 + A15 >= 1
A16 + A17 + A18 + A19 + A20 >= 1
调用了bintprog计算最大值,得到的是
A = [0 0 0 1 0;
1 1 0 0 0;
0 0 0 0 1;
0 0 0 0 1]
没有满足A5 + A10 + A15 + A20 = 1这个条件,结果是A15和A20都为1,

matlab 0 1整数规划编程max F(A) = 5A1 + 9A2 + 11A3 + 22A4 + 17A5+ 24A6 + 23A7 + 11A8 + 5A9 + 18A10+ 14A11 + 7A12 + 8A13 + 20A14 + 12A15+ 4A16 + 22A17 + 16A18 + 3A19 + 25A20约束条件A1 + A6 + A11 + A16 = 1A2 + A7 + A12 + A17 = 1A3 + A8 + A13 +
可以肯定是你把某个地方搞错了.
问这种问题时,最好把你的代码贴出来,既能减少回答者重复录入的劳动,也能更快地找出问题出在哪里.
 
我写的代码如下:
f = [5 9 11 22 17 24 23 11 5 18 14 7 8 20 12 4 22 16 3 25];
Ae = repmat(eye(5),1,4);
be = ones(5,1);
A = zeros(4,20);
A(1,1:5) = -1;
A(2,6:10) = -1;
A(3,11:15) = -1;
A(4,16:20) = -1;
b = -ones(4,1);
x = bintprog(f,A,b,Ae,be);
reshape(x,[5 4])'
得到的结果:
Optimization terminated.
ans =
     1     0     0     0     0
     0     0     1     0     0
     0     1     0     0     1
     0     0     0     1     0