- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE / NUMPAGES
Matlab 优化工具箱
类 型
模 型
基本函数名
一元函数极小
Min F(x)s.t.x1xx2
x=fminbnd(‘F’,x1,x2)
无约束极小
Min F(X)
X=fminunc(‘F’,X0)
X=fminsearch(‘F’,X0)
线性规划
Min
s.t.AX=b
X=linprog(c,A,b)
二次规划
Min xTHx+cTx
s.t. Ax=b
X=quadprog(H,c,A,b)
约束极小
(非线性规划)
Min F(X)
s.t. G(X)=0
X=fmincon(‘FG’,X0)
达到目标问题
Min r
s.t. F(x)-wr=goal
X=fgoalattain(‘F’,x,goal,w)
极小极大问题
Min max {Fi(x)}
X {Fi(x)}
s.t. G(x)=0
X=fminimax(‘FG’,x0)
变量
调用函数
描 述
f
linprog,quadprog
线性规划的目标函数f*X 或二次规划的目标函数X’*H*X+f*X 中线性项的系数向量
fun
fminbnd,fminsearch,fminunc, fmincon,lsqcurvefit,lsqnonlin, fgoalattain,fminimax
非线性优化的目标函数.fun必须为行命令对象或M文件、嵌入函数、或MEX文件的名称
H
quadprog
二次规划的目标函数X’*H*X+f*X 中二次项的系数矩阵
A,b
linprog,quadprog,fgoalattain, fmincon, fminimax
A矩阵和b向量分别为线性不等式约束:中的系数矩阵和右端向量
Aeq,beq
linprog,quadprog,fgoalattain, fmincon, fminimax
Aeq矩阵和beq向量分别为线性等式约束: 中的系数矩阵和右端向量
vlb,vub
linprog,quadprog,fgoalattain, fmincon,fminimax,lsqcurvefit,
lsqnonlin
X的下限和上限向量:vlb≤X≤vub
X0
除fminbnd外所有优化函数
迭代初始点坐标
x1,x2
fminbnd
函数最小化的区间
options
所有优化函数
优化选项参数结构,定义用于优化函数的参数
x = bintprog(f, A, b, Aeq, Beq, x0, options) 0-1规划
用MATLAB优化工具箱解线性规划
min
min z=cX
1、模型:
命令:x=linprog(c,A,b)
2、模型:
命令:x=linprog(c,A,b,Aeq,beq)
注意:若没有不等式:存在,则令A=[ ],b=[ ]. 若没有等式约束, 则令Aeq=[ ], beq=[ ].
3、模型:
命令:[1] x=linprog(c,A,b,Aeq,beq, VLB,VUB)
[2] x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0)
注意:[1] 若没有等式约束, 则令Aeq=[ ], beq=[ ]. [2]其中X0表示初始点
4、命令:[x,fval]=linprog(…)
返回最优解x及x处的目标函数值fval.
例1 max
解 编写M文件小xxgh1.m如下:
c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6];
A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08];
b=[850;700;100;900];
Aeq=[]; beq=[];
vlb=[0;0;0;0;0;0]; vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
例2
解: 编写M文件xxgh2.m如下:
c=[6 3 4];
A=[0 1 0];
b=[50];
Aeq=[1 1 1];
beq=[120];
vlb=[30,0,20];
vub=
文档评论(0)