>> 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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)