MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   bintprog的 用法 (https://www.labfans.com/bbs/showthread.php?t=4189)

叉叉 2008-08-21 20:22

bintprog的 用法
 
请教一下:: 关于求 01 规划的 bintprog 函数的 格式是什么啊??

pslpsl 2008-08-21 20:34

回复: bintprog的 用法
 
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(...)


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



[FONT=宋体]例如[/FONT]

[FONT=宋体]max=193*x1+191*x2+187*x3+186*x4+180*x5+185*x6; %f由这里给出[/FONT]

[FONT=宋体]st.[/FONT]
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=[0 0 0 0 -1 -1;0 -1 0 0 -1 0;1 1 0 0 0 0;0 1 0 0 0 1;0 0 0 1 0 1];
b=[-1,-1,1,1,1]';
aeq=[1 1 1 1 1 1];
beq=[3];
x=bintprog(f,a,b,aeq,beq)

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

fanxing39 2008-08-24 23:26

回复: bintprog的 用法
 
楼上的兄弟,如果给点这个命令的中文解释就更好了


所有时间均为北京时间。现在的时间是 11:07

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.