a=[10,15,15,1015,20,30,12]
a=[a-1,1,0,0-1,-1,-1,-1]
b=[40,60,0,-2]'
[x,fv,ex]=bintprog(f,a,b,[],[])
结果是:
Optimization terminated.
x =
1
0
1
1
fv =
-20
ex =
1
Optimization terminated.的意思是优化结束。你的程序没输出结果,是因为语句后加了分号“”,这个符号有不显示结果的作用。
建立数学模型
设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 00 0 0 1 10 1 0 0 -1]
beq = [110]
x = bintprog(f,A,b,Aeq,beq)
解出来是:
x =
0
1
1
0
1
也就是说运送A2,A3,A5
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)