基于问题的优化设置
利用变量和表达式制定优化问题,串行或并行解决
在基于问题的优化中,您创建优化变量,这些变量中的表达式表示目标和约束或表示方程,并使用它们来解决问题解决
.有关针对优化问题采取的基于问题的步骤,请参见基于问题的优化工作流.关于方程求解,请参见求解方程的基于问题的工作流程.
在开始解决优化问题之前,必须选择适当的方法:基于问题的方法或基于求解器的方法。详细信息请参见首先选择基于问题或基于解决方案的方法.
注意:如果你有一个非线性函数,它不是由多项式、有理表达式和初等函数组成的,比如经验值
,然后使用将函数转换为优化表达式fcn2optimexpr
.看到将非线性函数转化为优化表达式而且金宝app优化变量和表达式的支持操作.
有关基本非线性优化示例,请参见解决一个约束非线性问题,基于问题.有关基本的混合整数线性规划示例,请参见混合整数线性规划基础:基于问题的.有关基本方程求解示例,请参见解决非线性方程组,基于问题.的例子优化实时编辑器任务,参见开始使用基于问题的优化实时编辑器任务.
功能
对象
EquationProblem |
非线性方程组 |
OptimizationConstraint |
优化的约束 |
OptimizationEquality |
平等和平等约束 |
OptimizationExpression |
用优化变量表示的算术或函数表达式 |
OptimizationInequality |
不等式约束 |
OptimizationProblem |
优化问题 |
OptimizationValues |
优化问题的值 |
OptimizationVariable |
优化变量 |
实时编辑任务
优化 | 在实时编辑器中优化或解决方程 |
主题
具体问题具体分析的步骤
- 基于问题的优化工作流
学习解决优化问题的基于问题的步骤。 - 求解方程的基于问题的工作流程
学习解方程的基于问题的步骤。 - 优化表达式
为目标和约束定义表达式。 - 在基于问题的方法中传递额外的参数
在基于问题的方法中传递额外的参数、数据或固定变量。 - 为基于问题的最小二乘写目标函数
基于问题的最小二乘语法规则。 - 为基于问题的圆锥编程编写约束
要求解决
使用coneprog
为了解决问题。 - 优化变量命名索引
为变量创建并使用命名索引。 - 回顾或修改优化问题
检查或修改问题元素,如变量和约束。 - 检查优化方案
评估解决方案及其质量。
设置选项
- 设置选项
设置优化选项 - 基于问题优化的输出函数
在基于问题的方法中使用输出函数来记录迭代历史并制作自定义图。
基于问题的优化技巧
- 创造有效的优化问题
当问题有整数约束时,获得更快或更准确的解决方案,并在创建问题时避免循环。 - 将优化模型与数据分离
通过将模型与数据分离来创建可重用的、可伸缩的问题。 - 初始化优化表达式
如何初始化函数中的优化表达式,以及如何识别需要初始化它们。 - 有效地使用基于问题的优化实时编辑器任务
如何使用和理解基于问题的方法优化实时编辑器任务。 - 不允许重复名称的变量
学习如何解决具有两个同名优化变量的问题。 - 用命名索引变量创建优化的初始点
创建初始点解决
当问题已命名索引变量时,使用findindex
函数。 - 表达式包含Inf或NaN
优化表达式包含正
或南
不能显示,可能导致不可预知的结果。 - 目标和约束具有串行或并行的共同功能,基于问题的
在基于问题的方法中,当目标函数和非线性约束函数共享公共计算时,可以节省时间。 - 自动微分在基于问题的优化中的作用
自动微分降低了解决问题的函数求值的数量。 - 基于问题的工作流程中的供给导数
当自动导数不适用时,如何在基于问题的优化中包含导数信息。 - 获取已生成的功能详细信息
求非线性函数中附加参数的值prob2struct
. - 非线性问题优化中的整数约束
学习基于问题的优化函数prob2struct
而且解决
处理整数约束。 - 基于问题优化的输出函数
在基于问题的方法中使用输出函数来记录迭代历史并制作自定义图。
并行计算
- 什么是优化工具箱中的并行计算?
使用多个处理器进行优化。 - 在优化工具箱中使用并行计算
并行执行梯度估计。 - 利用并行计算工具箱最小化一个昂贵的优化问题
两个求解器并行计算的有效性示例:fmincon
而且遗传算法
. - 利用并行计算提高性能
调查加速优化的因素。
具体问题具体分析的算法
- 基于问题的优化算法
了解优化函数和对象如何解决优化问题。 - 自动判别背景
学习自动微分是如何工作的。 - 金宝app优化变量和表达式的支持操作
探索优化变量和表达式所支金宝app持的数学和索引操作。