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