二次规划与锥规划
解决二次目标和线性约束或二次约束的问题
在开始解决优化问题之前,必须选择适当的方法:基于问题的方法或基于求解器的方法。详细信息请参见首先选择基于问题或基于解决方案的方法.
对于基于问题的方法,创建问题变量,然后用这些符号变量表示目标函数和约束。有关要采取的基于问题的步骤,请参见基于问题的优化工作流.要解决产生的问题,请使用解决
.
有关要采取的基于求解器的步骤,包括定义目标函数和约束,以及选择适当的求解器,请参见基于求解器的优化问题设置.要解决产生的问题,请使用quadprog
或coneprog
.
功能
实时编辑任务
优化 | 在实时编辑器中优化或解决方程 |
对象
SecondOrderConeConstraint |
二阶锥约束对象 |
主题
基于问题的二次规划
- 带约束的二次规划:基于问题的
演示如何使用不同的算法求解具有绑定约束的基于问题的二次规划问题。 - 基于问题的大型稀疏二次规划
演示如何使用基于问题的方法求解大型稀疏二次程序。 - 基于问题的有界约束二次规划
大规模基于问题的二次规划示例。 - 投资组合优化的二次规划,基于问题
一个基于基本投资组合模型的基于问题的二次规划的例子。 - 使用优化工具箱多样化投资组合
这个例子展示了在投资组合中使用优化函数进行资产多样化的三种技术。
基于求解器的二次规划
- 约束条件下的二次极小化
带有约束和各种选项的二次规划示例。 - 多线性约束二次规划
这个例子展示了活动集算法在处理带有许多线性约束的问题时的好处。 - 暖启动四步
证明了热启动在大型二次规划中是有效的。 - 热启动最佳实践
描述如何最好地使用热启动来加速重复解决方案。 - 二次最小化与密集,结构化黑森
演示如何在结构化二次程序中节省内存的示例。 - 大型稀疏二次规划的内点算法
这个例子展示了如何在二次程序中使用稀疏二次矩阵来节省内存。 - 基于求解器的有界约束二次规划
基于求解器的大规模二次规划示例。 - 基于求解器的组合优化问题的二次规划
一个基于求解器的基于基本投资组合模型的二次规划的例子。
基于问题的二阶锥规划
- 基于问题的圆锥规划最小化分段线性质量-弹簧系统能量
给出了一个基于问题的圆锥编程的例子。 - 离散最优轨迹,基于问题
这个例子展示了如何使用基于问题的方法来解决离散最优轨迹问题。 - 比较coneprog算法的速度
本节给出一系列锥规划问题的时序信息LinearSolver
选项设置。 - 为基于问题的圆锥编程编写约束
要求解决
使用coneprog
为了解决问题。
基于求解器的二阶锥规划
- 基于锥规划的分段线性质量-弹簧系统能量最小化方法
用锥规划法求解机械质量-弹簧问题。 - 二次约束转化为二阶锥约束
将二次约束转换为coneprog
的形式。 - 二次规划问题转化为二阶锥规划
将二次规划问题转化为二阶锥问题。
代码生成
- 代码生成的quadprog背景
生成二次优化C代码的先决条件。 - 为quadprog生成代码
学习代码生成的基础知识quadprog
优化求解。 - 热启动最佳实践
描述如何最好地使用热启动来加速重复解决方案。 - 实时应用程序的优化代码生成
探索在生成的代码中处理实时需求的技术。
具体问题具体分析的算法
- 基于问题的优化算法
了解优化函数和对象如何解决优化问题。 - 为基于问题的圆锥编程编写约束
要求解决
使用coneprog
为了解决问题。 - 优化变量和表达式的支持操作
探索优化变量和表达式所支持的数学和索引操作。