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

0-1规划问题
0-1规划是整数规划的一种特殊形式。在这种形式下,决策变量只能取0或1两个值,
例如,项目投资、产品的选择、设备的选购、雇员的聘用、投标单位的选取、学生的录
取、股票的选择等,凡是涉及选取或不选取时,都可以用0-1表示,1表示选中,0表示
未选中。
训练内容:
现有一集装箱,拟运输下列物品A1~A5。A1、A2由于体积庞大,集装箱内只能装其中
之一;A4、A5由于重量大,也只能装一件;A1是食品,不能与化工产品A4放一起;
A2与A5是配套产品,必须一起运输。A1的运费是1500元,A2的运费是2000元,A3
的运费是1300元,A4的运费是2300元,A5的运费是2800元。问集装箱应如何装箱才
能使运费收入达到最大。
训练要求:
1、建立数学模型
2、编程求解

    建立数学模型

    设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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-20
linproge,函数,自己看看下面的
http://hi.baidu.com/tanchunhai/item/8ff3222984d10c0b42634ac1
相似回答