Matlab经典优化函数详细介绍

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

Matlab 经典优化函数详细介绍

----------------Matlab 优化工具箱简介

5.1 线性优化

线性规划问题是目标函数和约束条件均为线性函数的问题,MATLAB7.0解决的线性规划问题的标准形式为 min

sub. to :

其中f 、x 、b 、beq 、lb 、ub 为向量,A 、Aeq 为矩阵. 其它形式的线性规划问题都可经过适当变换化为此标准形式. 在MATLAB5.x 以上版中,线性规划问题Linear Programming 已用函数linprog 取代了MATLAB5.x 版中的lp 函数.当然,由于版本的向下兼容性,一般说来,低版本中的函数在7.0版中仍可使用.

函数 linprog

格式 x = linprog(f,A,b)

%求min f ' *x sub.to 线性规划的最优解. x = linprog(f,A,b,Aeq,beq) %等式约束,若没有不等式约束,则A=[ ],b=[ ]. x = linprog(f,A,b,Aeq,beq,lb,ub) .

%指定x 的范围,若没有等式约束 ,则Aeq=[ ],beq=[ ]. x = linprog(f,A,b,Aeq,beq,lb,ub,x0)

n

R x x

f ∈'b x A ≤⋅beq

x Aeq =⋅ub

x lb ≤≤b

x A ≤⋅

%设置初值x0.

x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)

% options为指定的优化参数.

[x,fval] = linprog(…)

% 返回目标函数最优值,即fval= f ' *x.

[x,lambda,exitflag] = linprog(…)

% lambda为解x的Lagrange乘子.

[x, lambda,fval,exitflag] = linprog(…)

% exitflag为终止迭代的错误条件.

[x,fval, lambda,exitflag,output] = linprog(…)

% output为关于优化的一些信息.

说明: 若exitflag>0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大次数,exitflag<0表示函数不收敛于解x;若lambda=lower 表示下界lb,lambda=upper表示上界ub,lambda=ineqlin 表示不等式约束,lambda=eqlin表示等式约束,lambda中的非0元素表示对应的约束是有效约束;output=iterations表示迭代次数,output=algorithm表示使用的运算规则,output=cgiterations表示PCG 迭代次数.

MATLAB求解优化问题的主要函数

类型

模型基本函数名

一元函数极小Min F(x)s.t.x1

无约束极小Min F(X)

X=fminunc(‘F’,X0) X=fminsearch(‘F’,X0)

线性规划

Min X c T

s.t.AX<=b

X=linprog(c,A,b) 二次规划 Min 2

1x T Hx+c T

x

s.t. Ax<=b X=quadprog(H,c,A,b) 约束极小 (非线性规划) Min F(X) s.t. G(X)<=0

X=fmincon(‘FG ’,X 0) 多目标优化问题

Min r

s.t. F(x)-wr<=goal X=fgoalattain(‘F ’,x,goal,w)

极小极大问题

Min max {F i (x)}

X {Fi(x)}

s.t. G(x)<=0

X=fminimax(‘FG ’,x 0)

优化函数的输入变量

优化函数的输出变量

变量 描 述

调用函数 f 线性规划的目标函数f*X 或二次规划的目标函

数X ’*H*X+f*X 中线性项的系数向量 linprog,quadprog

fun 非线性优化的目标函数.fun 必须为行命令对象

或M 文件、嵌入函数、或MEX 文件的名称 fminbnd,fminsearch,fminunc, fmincon,lsqcurvefit,lsqnonlin,

fgoalattain,fminimax

H 二次规划的目标函数X ’*H*X+f*X 中二次项的系

数矩阵

quadprog

A,b

A 矩阵和b 向量分别为线性不等式约束:

b AX ≤中的系数矩阵和右端向量 linprog,quadprog,fgoalattain,

fmincon, fminimax Aeq,beq Aeq 矩阵和beq 向量分别为线性等式约束: beq X Aeq =⋅中的系数矩阵和右端向量 linprog,quadprog,fgoalattain,

fmincon, fminimax

vlb,vub X 的下限和上限向量:vlb ≤X ≤vub

linprog,quadprog,fgoalattain, fmincon,fminimax,lsqcurvefit,

lsqnonlin

X 0 迭代初始点坐标 除fminbnd 外所有优化函数

x 1,x 2 函数最小化的区间

fminbnd options 优化选项参数结构,定义用于优化函数的参数 所有优化函数

相关文档
最新文档