改进基于问题的组织和性能
在基于问题的设置中实现专用任务
此类别提供基于问题的解的详细信息,并为更具体的任务提供建议。有关基本任务和介绍性工作流,请参阅基于问题的优化和方程快速入门。
第一节讨论在创建或调节问题时提高性能的方式。
第二节说明当目标或约束包含
for
循环时如何提高性能。第三节提供高效使用基于问题的方法的技巧。
主题
为高效求解对问题进行设置
- 创建有效的优化问题
当问题具有整数约束时获得更快或更准确的解,并在创建问题时避免循环。 - 具有串行或并行共同函数的目标和约束,基于问题
当基于问题的方法中的目标和非线性约束函数共享共同计算时,可以节省时间。 - 调整解以进行分析
有效利用基于问题的方法中的分析能力的技术。 - 基于问题的工作流中的供应衍生品
当自动导数不适用时,如何在基于问题的优化中包含导数信息。 - 自动微分在基于问题的优化中的作用
自动微分减少了求解问题的函数计算的次数。
静态分析
- 优化表达式的静态分析
描述优化表达式的静态分析,它是fcn2optimexpr
算法的一部分。 - 创建 for 循环进行静态分析
如何在单独的函数中创建 for 循环以进行静态分析。 - 转换 for 循环中的约束以进行静态分析
如何在单独的函数中为静态分析创建约束的 for 循环。
基于问题的设置的技巧
- 有效使用基于问题的优化实时编辑器任务
如何使用和理解基于问题的优化实时编辑器任务。 - 将优化模型与数据分离
通过将模型与数据分离来创建可重复使用、可扩展的问题。 - 优化变量的命名索引
创建并使用变量的命名索引。 - 使用命名索引变量创建优化的初始点
当问题具有命名索引变量时,使用findindex
函数为solve
创建初始点。 - 初始化优化表达式
如何在函数中初始化优化表达式,以及如何识别需要初始化它们。 - 基于问题的非线性优化中的整数约束
了解基于问题的优化函数prob2struct
和solve
如何处理整数约束。 - 获取生成函数详细信息
查找由prob2struct
创建的非线性函数中的额外参数的值。 - 基于问题的优化的输出函数
使用基于问题的方法中的输出函数来记录迭代历史并制作自定义图表。