最优化模型的一般形式:
一、三大要素
决策变量 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:约束梯度计算方式
中间部分为优化选项: