Optimization Toolbox™ 提供各种函数,可用于求最小化或最大化目标且满足约束的参数。该工具箱包含用于线性规划 (LP)、混合整数线性规划 (MILP)、二次规划 (QP)、二阶锥规划 (SOCP)、非线性规划 (NLP)、约束线性最小二乘、非线性最小二乘和非线性方程的求解器。
您可以用函数和矩阵来定义优化问题,也可以通过指定反映底层数学关系的变量表达式来定义。使用目标函数和约束函数自动微分,更快、更准确地求解。
您可以使用该工具箱提供的求解器求连续与离散问题的最优解、执行权衡分析,并将优化方法整合到算法和应用中。该工具箱能够执行设计优化任务,包括参数估计、分量选择和参数调整。它能帮助您在投资组合优化、能源管理和交易以及生产规划等各种应用中求最优解。
开始:
基于求解器的优化
将非线性目标和约束写作函数,将线性目标和约束写作系数矩阵。使用实时编辑器中的“优化”任务以交互方式创建并求解问题,然后生成代码,以便与他人共享或整合到应用。
选择求解器
通过基于问题或基于求解器方法使用“优化”实时编辑器任务来帮助选择适合问题类型的求解器。
查看并改进结果
查看退出消息、最优性度量和迭代输出,对解进行评估。提高求解器处理非线性问题的性能,可以使用自动微分、直接提供梯度,或使用并行计算估计梯度。
应用
将非线性优化用于变量间存在非线性关系的各种应用,如估计和调整参数、寻找最优设计、计算最优轨迹、构建稳健投资组合等。
求解器
使用分支定界算法求解混合整数线性规划问题,包含预处理、使用启发式方法生成可行点,以及割平面。
应用
使用整数变量建模,求解开/关决策、逻辑约束以及其他变量值必须为整数的问题。路由、调度、规划、分配及资本预算问题均为典型应用。
求解器
将问题构造为目标达到问题或极小化极大问题。当每个目标均有权重可选的加权目标值时,使用目标达到。需要最小化一组目标函数的最差情形值时,使用极小化极大。
应用
当需要对冲突目标做出权衡时,使用多目标优化算法。例如,结构设计中的重量与强度,以及投资组合优化中的风险与回报。
非线性最小二乘应用
使用非线性最小二乘求解器,您可以对采集的数据进行非线性模型拟合,或者求解非线性方程组,包括参数具有边界约束的情形。
MATLAB Compiler 支持
使用 MATLAB Compiler™ 和 MATLAB Compiler SDK™,可将 MATLAB® 优化模型部署为独立可执行文件、Web App、C++ 共享库、Microsoft® .NET 程序集、Java® 类和 Python® 包。
代码生成
使用 MATLAB Coder™ 生成可移植且可读的 C 或 C++ 代码,以求解优化问题。为包括嵌入式系统在内的各种硬件编译生成的代码。