目录
对[x,fval,exitflag,output,lamda] = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)的理解
- x:求解得到的自变量值x
- fval:求解得到的函数最小值fmin(也可以求最大值,常见做法为函数取负号)
- exitflag:返回求解结果,成功1失败0
- output:包含优化过程中的各种输出信息(可用于调试查看)
- lamda:lamda参数是一个结构体,包含了最优解处的拉格朗日乘子
- f:自变量的常数
- A:不等式约束的系数矩阵
- b:不等式约束的常向量
A * x <= b
- Aeq:等式约束的系数矩阵
- beq:等式约束的常向量
Aeq * x = beq
- lb:自变量的下限
- ub:自变量的上限
lb<=x<=ub
- x0:自变量的初始值
- options:指定优化参数
1.1无约束优化
1.1.1 Solver fminUnc求解器
Algorithm算法
- Large scale 大规模算法
- Medium scale 中等规模算法
- Quasi Newton
- Trust region
1.1.2 Solver fminSearch求解器
Algorithm算法
- 无
优点
- 对于非光滑优化问题有较好的求解 eg.f(x) = |(x-1)(x-2)|在两个极小点处一阶导数不连续
2约束优化
Solver fmincon求解器
Algorithm算法
- Interior point内点算法
- SQP
- Active set有效集算法
- Trust region reflective信赖域反射算法
当选择信赖域反射算法的时候,Linear inequalities、Nonlinear Constraints function 和Derivatives这三个约束输入框都不能用,说明这种算法只能求解含线性等式约束的约束优化问题,而其余两种算法都可以处理非线性约束及不等式约束。
3非线性最小二乘优化
Solver lsqnonlin求解器
Algorithm算法
- Trust region reflective 信赖域反射算法
- Levenberg-Marquardt L-M算法
只有信赖域反射算法可以定义自变量上下界约束
4线性规划
Solver linprog求解器
Algorithm算法
- Dual simplex 单纯形算法
- Interior point legacy
5智能优化算法
5.1 Solver GA求解器
Algorithm算法
- 无
遗传算法GA,可以求解(无)约束优化问题,而且约束条件可以是非线性的
5.2 Solver simulannealbnd 求解器
Algorithm算法
- 无
模拟退火算法simulannealbnd,只能求解无约束优化问题
迭代速度比较慢