MATLAB中运行bintprog函数出现Optimization terminated.

MATLAB中运行bintprog函数出现Optimization terminated.,第1张

>>f=-[5,10,12,3]'

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11403433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存