Matlab优化工具箱——Optimization Toolbox

最优化模型的一般形式:

一、三大要素

                    决策变量  decision bariable

式(1)称为目标函数  objective function

式(2)称为约束条件  constraints

            (2)所确定的x的范围称为可行域  feasible region,

              满足(2)的解x称为可行解  feasible solution

              同时满足(1)(2)的解x称为最优解 optimal solution

              整个可行域上的最优解称为全局最优解global optimal solution

              可行域中某个邻域上的最优解称为局部最优解local optimal solution

              最优解对应的目标函数值,称为最优值

 

二、分类

①有无约束条件:无约束优化unconstrained optimization,约束优化constrained opyimization

②决策变量取值是否连续:数学规划(连续优化)、离散优化(组合优化)

③目标函数个数:单目标规划,多目标规划

④连续优化中:根据目标函数是否线性:

线性规划(LP)Liner programming

非线性规划(NLP) Nonliner programming

二次规划(QP)Quadratic programming 目标函数为二次函数,约束为线性函数

⑤组合优化中:

整数规划(IP)Integer programming

0-1规划 Zero-one programming

 

三、matlab优化工具箱

函数 求解对象 函数 求解对象
fminbnd 一连续函数极小 fmincon 非线性规划

fminsearch

fminunc

无约束极小 quadprog 二次规划
linprog 线性规划 fminimax 极大极小问题
intlinprog 混合整数线性规划 fgoalattain 多目标问题

输入变量

(形参固定字母)

描述
f 目标函数线性项的系数向量
fun 目标函数(最小化):字符表达式、内联函数、M文件函数、匿名函数
H 二次规划的二次项目标的系数矩阵:

A,b 线性不等式约束:A*x≤b
Aeq,beq 线性等式约束:Aeq*x=beq
lb,ub x的下限和上限向量:lb≤x≤ub

x0

迭代初始点坐标向量
x1,x2 一元函数最小化的区间:x1≤x≤x2
options 优化选项参数结构,定义用于优化函数的参数
输出变量 描述
x

由优化函数求得的值

若exitflag>0,则x为解;否则,x只是迭代停止时优化过程的值

fval 解x处的目标函数值
exitflag

描述退出条件

>0,目标函数收敛于解x处

=0,已达到迭代最大次数

<0,目标函数不收敛

output

包含优化结果信息的输出结构

Iterations:迭代次数

Algorithm:算法

FuncCount::函数评价次数

优化工具箱的GUI面板

左侧:优化问题的描述及计算结果显示

Solver:选择求解函数

Algorithm:选择算法

Object function:目标函数

Derivatives:目标梯度计算方式

Start  point:起始点

Linear inequalities:线性不等式约束

Linear equalities:线性等式约束

Bounds:自变量上下界约束

Nonlinear constraint function:约束梯度计算方式

中间部分为优化选项: