优化工具箱

优化工具箱

解决线性、二次、圆锥、整数和非线性优化问题

开始:

定义优化问题

将设计或决策问题建模为优化问题。将设计参数和决策设置为优化变量。将它们用于定义目标函数以进行优化,并使用约束限制可能的变量值。

基于问题的优化

用优化变量的表达式编写目标和约束。通过对非线性表达式的自动微分,可以更快、更稳健地求解。应用自动选择的解算器。

基于求解器的优化

使用函数编写非线性目标和约束;使用系数矩阵写出线性目标和约束。使用“优化实时编辑器”任务以交互方式创建并解决问题,然后生成代码以在应用程序中共享或使用。

求解最优化问题

将解算器应用于优化问题以找到最佳解决方案:一组优化变量值,产生目标函数的最佳值(如果有),并满足约束条件(如果有)。

选择解算器

使用基于解算器的方法时,使用“优化实时编辑器”任务帮助选择适合问题类型的解算器。该解算器将在基于问题的方法中自动选择。

设置选项

设置优化选项以优化优化过程,例如,选择解算器使用的优化算法,或设置终止条件。设置用于监视和打印优化解算器进度的选项。

审查和改进成果

查看退出消息、优化度量和迭代显示以评估解决方案。通过使用自动微分、提供梯度或使用并行计算来估计梯度,提高非线性问题的性能。

使用迭代显示监控解算器进度。

非线性规划

解决具有非线性目标或受非线性约束的优化问题。

解算器

应用拟牛顿、信赖域或Nelder-Mead单纯形算法来解决无约束问题。应用内点、序列二次规划(SQP)或信赖域反射算法来解决约束问题。

应用

使用非线性优化来估计和调整参数,寻找最优设计,计算最优轨迹,构建稳健的投资组合,以及变量之间存在非线性关系的其他应用。

线性、二次和二次规划

解决具有线性或二次目标且受线性或二阶锥约束的凸优化问题。

线性规划求解器

应用对偶单纯形或内点算法求解线性规划。

线性规划的可行域和最优解。

二次和二阶锥规划求解器

应用内点、活动集或信赖域反射算法求解二次规划。应用内点法求解二阶锥规划。

二次规划的可行域和最优解。

应用

在资源分配、生产计划、混合和投资计划等问题上使用线性规划。在水电站大坝的设计优化、投资组合优化和控制等问题上使用二次和二阶锥规划。

用二次规划法找到最优控制策略。

混合整数线性规划

解决线性目标受线性约束的优化问题,附加约束是某些或所有变量必须是整数值。

解算器

使用分支定界算法解决混合整数线性规划问题,该算法包括预处理、生成可行点的启发式算法和剖切面。

应用分枝定界算法。

基于混合整数线性规划的算法

使用混合整数线性规划求解器构建专用算法。

每座城市只游览一次的最短行程。

应用

当存在开/关决策或逻辑约束以及变量值必须为整数时,使用整数变量建模。路由、调度、计划、分配和资本预算问题是典型的应用。

不同电价下两台发电机的时间表。

多目标优化

解决具有多个目标函数且受一组约束的优化问题。

解算器

将问题描述为目标达成或极小极大。当每个目标都有可选的加权目标值时,使用目标实现。使用minimax最小化一组目标函数的最坏情况值。

使用福格拉坦作用

应用

当冲突目标需要权衡时,使用多目标优化。例如结构设计中的权重和强度以及投资组合优化中的风险和回报。

初始和优化滤波器系数的幅度响应。

最小二乘法与方程求解

求解受边界约束的非线性最小二乘问题和非线性方程组。求解受有界约束和线性约束的线性最小二乘问题。

解算器

应用Levenberg-Marquardt、信赖域、活动集或内点算法。

本地和全球方法的比较。

线性最小二乘法的应用

使用线性最小二乘解算器拟合线性模型以获取数据或求解线性方程组,包括参数受约束和线性约束时。

通过求解线性最小二乘问题恢复模糊图像。

非线性最小二乘法的应用

使用非线性最小二乘解算器拟合非线性模型以获取数据或求解非线性方程组,包括参数受约束时。

将圆路径拟合到洛伦兹常微分方程组。

部署

构建基于优化的决策支持和设计工具,与企业系统集成,并将优化算法部署到万博1manbetx嵌入式系统。

MATLAB编译器支持万博1manbetx

使用MATLAB编译器™MATLAB编译器SDK™部署MATLAB®优化模型,如独立可执行文件、web应用程序、C/C++共享库、Microsoft®.NET程序集,Java®类和Python®包装。

计算最佳发电计划的应用程序。

代码生成

生成可移植的可读C或C++代码,解决优化问题MATLAB编码器™. 为任何硬件(包括嵌入式系统)编译生成的代码。