Matlab程序 0-1整数线性规划

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0-1整数线性规划Matlab程序
x=bintprog(f)
x=bintprog(f,A,b)
x=bintprog(f,A,b,Aeq,beq)
x=bintprog(f,A,b,Aeq,beq,x0)
x=bintprog(f,A,b,Aeq,Beq,x0,options)
[x,fval]=bintprog(...)
[x,fval,exitflag]=bintprog(...)
[x,fval,exitflag,output]=bintprog(...)
这里x是问题的解向量
f是由目标函数的系数构成的向量
A是一个矩阵,b是一个向量
A,b和变量x={x1,x2,…,xn}一起,表示了线性规划中不等式约束条件
A,b是系数矩阵和右端向量。

Aeq和Beq表示了线性规划中等式约束条件中的系数矩阵和右端向量。

X0是给定的变量的初始值
options为控制规划过程的参数系列。

返回值中fval是优化结束后得到的目标函数值。

exitflag=0表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数;
exitflag>0表示优化过程中变量收敛于解X,
exitflag<0表示计算不收敛。

output有3个分量,
iterations表示优化过程的迭代次数,
cgiterations表示PCG迭代次数,
algorithm表示优化所采用的运算规则。

在使用linprog()命令时,系统默认它的参数至少为1个,
但如果我们需要给定第6个参数,则第2、3、4、5个参数也必须给出,否则系统无法认定给出的是第6个参数。

遇到无法给出时,则用空矩阵“[]”替代。

例如
max=193*x1+191*x2+187*x3+186*x4+180*x5+185*x6;%f由这里给出st.
x5+x6>=1;
x3+x5>=1;
x1+x2<=1;
x2+x6<=1;
x4+x6<=1;
%a、b由不等关系给出,如没有不等关系,a、b取[]
x1+x2+x3+x4+x5+x6=1;%aep、bep由等式约束给出
代码如下
f=[-193;-191;-187;-186;-180;-185;];
a=[0000-1-1;0-100-10;110000;010001;000101]; b=[-1,-1,1,1,1]';
aeq=[111111];
beq=[3];
x=bintprog(f,a,b,aeq,beq)
注意
目标值为最大值时应乘以-1化为求最小值;
不等约束为>=时应乘以-1化为<=;。

相关文档
最新文档