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 代码,以求解优化问题。为包括嵌入式系统在内的各种硬件编译生成的代码。