优化决策表
下表旨在帮助您选择求解器。它不适用于多目标优化或方程求解。由 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 函数求解的问题的完整列表。
注意
有些求解器有多种算法。有关如何进行选择的帮助,请参阅选择算法。