优化决策表
下表旨在帮助您选择求解器。它不适用于多目标优化或方程求解。由 Optimization Toolbox 函数处理的问题中介绍了有关所有求解器的更多详细信息。
在此表中:
* 表示相关求解器位于 Global Optimization Toolbox (Global Optimization Toolbox) 函数中(其许可独立于 Optimization Toolbox™ 求解器)。
fmincon应用于大多数具有平滑约束的平滑目标函数。它没有列为最小二乘、线性或二次规划的首选求解器,因为表中列出的对应求解器通常更高效。该表提供了建议的函数,但您也可以根据需要选择其他函数。例如,
fmincon可以有效地求解一些非平滑问题。Global Optimization Toolbox 中的
ga(Global Optimization Toolbox) 和surrogateopt(Global Optimization Toolbox) 函数可以求解混合整数非线性规划问题。Statistics and Machine Learning Toolbox™
bayesopt(Statistics and Machine Learning Toolbox) 函数可以求解具有连续、整数或分类变量组合的低维确定性或随机优化问题。
各类目标和约束的适用求解器
| 约束类型 | 目标类型 | ||||
|---|---|---|---|---|---|
| 线性 | 二次 | 最小二乘 | 平滑非线性 | 非平滑 | |
| 无 | 不适用(f = const,或 min = ) | quadprog、信息 | mldivide、lsqcurvefit、lsqnonlin、信息 | fminsearch、fminunc、信息 | fminsearch,* |
| 边界 | linprog、信息 | quadprog、信息 | lsqcurvefit、lsqlin、lsqnonlin、lsqnonneg、信息 | fminbnd、fmincon、fseminf、信息 | fminbnd,* |
| 线性 | linprog、信息 | quadprog、信息 | lsqcurvefit、lsqlin、lsqnonlin、信息 | fmincon、fseminf、信息 | * |
| 锥 | coneprog、信息 | fmincon、信息 | lsqcurvefit、fmincon、lsqnonlin、信息 | fmincon、信息 | * |
| 常规平滑 | fmincon、信息 | fmincon、信息 | lsqcurvefit、fmincon、lsqnonlin、信息 | fmincon、fseminf、信息 | * |
| 离散,具有边界或线性 | intlinprog、信息 | * | * | * | * |
注意
此表没有列出多目标求解器或方程求解器。请参阅由 Optimization Toolbox 函数处理的问题以了解 Optimization Toolbox 函数求解的问题的完整列表。
注意
有些求解器有多种算法。有关如何进行选择的帮助,请参阅选择算法。