优化工具箱

优化工具箱

解决线性,二次,二次,整数和非线性优化问题

开始:

定义优化问题

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

具体问题具体分析优化

用优化变量的表达式写出目标和约束。对非线性表达式进行自动微分,求解速度更快,更稳健。应用自动选择的求解器。使用“优化实时编辑器”任务交互式地创建和解决问题,然后生成代码以共享或在应用程序中使用。

Solver-Based优化

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

解决优化问题

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

设置选项

设置优化选项以调整优化过程,例如,选择求解器使用的优化算法,或设置终止条件。设置选项来监控和绘制优化求解器的进度。

回顾和改进结果

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

使用迭代显示监控求解器的进度

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

非线性规划

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

解决者

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

应用程序

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

线性,二次和二次规划

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

线性规划求解器

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

最优解

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

二次和二阶锥规划求解器

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

最优解

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

应用程序

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

水电站运行计划

二次规划的最优控制策略。

混合整数线性规划

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

解决者

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

最优解

应用分支定界算法。

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

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

一个200城市旅行推销员问题的解法

最短的旅程,每个城市只去一次。

应用程序

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

发电机最优计划

在不同电价下安排两台发电机。

多目标优化

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

解决者

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

帕累托图

帕累托前端计算使用fgoalattain函数。

应用程序

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

FIR滤波器设计

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

最小二乘与方程求解

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

解决者

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

非线性数据拟合

本地和全球方法的比较。

线性最小二乘应用

使用线性最小二乘求解器将线性模型拟合到所获得的数据或求解线性方程组,包括当参数受到约束和线性约束时。

光由模糊变清晰

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

非线性最小二乘应用

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

洛伦兹系统的圆形路径拟合。

拟合一个圆形路径到常微分方程组的洛伦兹系统。

部署

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

MATLAB编译器支持万博1manbetx

使用MATLAB编译器™而且MATLAB编译SDK™部署MATLAB®优化模型作为独立的可执行文件,web应用程序,C/ c++共享库,微软®.NET程序集,Java®类和Python®包。

单位承诺App

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

代码生成

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