加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

matlab    0-1规划问题bintprog格式如下

(2013-09-08 20:55:45)
标签:

文化

matlab    0-1规划问题bintprog格式如下

 

bintprog格式如下

bintprog(f)

bintprog(f, A, b)

bintprog(f, A, b, Aeq, beq)

bintprog(f, A, b, Aeq, beq, x0)

bintprog(f, A, b, Aeq, Beq, x0, options)

[x, fval] bintprog(...)

[x,fval, exitflag] bintprog(...)

[x, fval, exitflag, output] bintprog(...)

这里x是问题的解向量
f是由目标函数的系数构成的向量
A是一个矩阵,b是一个向量
Ab和变量x={x1,x2,…,xn}一起,表示了线性规划中不等式约束条件
Ab是系数矩阵和右端向量。
AeqBeq表示了线性规划中等式约束条件中的系数矩阵和右端向量。
X0是给定的变量的初始值
options为控制规划过程的参数系列。
返回值中fval是优化结束后得到的目标函数值。
exitflag=0表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数;
exitflag>0表示优化过程中变量收敛于解X
exitflag<0表示计算不收敛。
output3个分量,
iterations表示优化过程的迭代次数,
cgiterations表示PCG迭代次数,
algorithm表示优化所采用的运算规则。
在使用linprog()命令时,系统默认它的参数至少为1个,
但如果我们需要给定第6个参数,则第2345个参数也必须给出,否则系统无法认定给出的是第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; 

%ab由不等关系给出,如没有不等关系,ab[]
x1+x2+x3+x4+x5+x6=1; �pbep由等式约束给出

代码如下
f=[-193;-191;-187;-186;-180;-185;];
a=[0 -1 -1;0 -1 -1 0;1 0;0 1;0 1];
b=[-1,-1,1,1,1]';
aeq=[1 1];
beq=[3];
x=bintprog(f,a,b,aeq,beq)

注意
目标值为最大值时应乘以-1化为求最小值
不等约束为>=时应乘以-1化为<=;

linprog 0-1规划 格式如下
linprog(f,A,b)
linprog(f,A,b,Aeq,beq)
linprog(f,A,b,Aeq,beq,lb,ub)
linprog(f,A,b,Aeq,beq,lb,ub,x0)
linprog(f,A,b,Aeq,beq,lb,ub,x0,options) 
x,fval] linprog(...) 
x,lambda,exitflag] linprog(...) 
[x,lambda,exitflag,output] linprog(...) 
[x,fval,exitflag,output,lambda] linprog(...) 
参数说明和使用格式同bintprog

LBUB是约束变量的下界和上界向量
lambda4个分量,
ineqlin是线性不等式约束条件,
eqlin是线性等式约束条件,
upper是变量的上界约束条件,
lower是变量的下界约束条件。
它们的返回值分别表示相应的约束条件在优化过程中是否有效。

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有