- 9
- 0
- 约1.1万字
- 约 16页
- 2016-04-27 发布于湖北
- 举报
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优化工具箱解线性规划
命令: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=[];
[x,fval]=linpro
原创力文档

文档评论(0)