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

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

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

a=[10,15,15,10;15,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的意思是优化结束。你的程序没输出结果,是因为语句后加了分号“;”,这个符号有不显示结果的作用。

求解下列0-1整数线性规划

目标函数

max f=-3x1+2x2-5x3

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)

编程环境

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强, *** 作更简单。

%% 没有问题

Z = magic(4);

a = size(Z,1);

f = ones(1,a);

b = zeros(a,1)-01;

x0 = zeros(1,a);

%[X, m] = intlinprog(f,intcon,-Z,b,[],[],lb,ub);

[X, m] = bintprog(f,-Z,b);

X = X'

m

Optimization terminated

X =

   0     1     0     0

m =

   1

建立数学模型

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

则数学模型是:

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

st   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

以上就是关于MATLAB中运行bintprog函数出现Optimization terminated.全部的内容,包括:MATLAB中运行bintprog函数出现Optimization terminated.、01规划怎么写matlab程序、这个程序哪里有问题~ a = size(Z,1); f = ones(1,a); b = zer等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9758184.html

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

发表评论

登录后才能评论

评论列表(0条)

保存