matlab编程:0-1规划问题:向高手求程序代码。

2024-12-25 16:14:20
推荐回答(2个)
回答1:

  1. 建立数学模型

    设xi=1表示Ai被选中,xi=0表示Ai没被选中。

则数学模型是:

max 1500x1+2000x2+1300x3+2300x4+2800x5

s.t.   x1+x2=1

       x4+x5=1

       x1+x4<=1

       x2-x5=0

       xi=0或1,i=1,2,3,4,5 

2.编程求解

matlab程序:

f = [-1500 -2000 -1300 -2300 -2800];
A = [1 0 0 1 0];
b = 1;
Aeq = [1 1 0 0 0;0 0 0 1 1;0 1 0 0 -1];
beq = [1;1;0];
x = bintprog(f,A,b,Aeq,beq)
解出来是:

x =

     0
     1
     1
     0
     1

也就是说运送A2,A3,A5

回答2:

linproge,函数,自己看看下面的
http://hi.baidu.com/tanchunhai/item/8ff3222984d10c0b42634ac1