二次规划就是求向量的问题 这样 这 笔记 该算法有两个代码路径。Hessian矩阵取1 该算法首先试图通过去除冗余和简化约束来简化问题。在预解步骤中执行的任务包括: 检查是否有变量具有相同的上限和下限。如果是这样,请检查可行性,然后修复并删除变量。 检查线性不等式约束是否只包含一个变量。如果是,检查可行性,然后将线性约束改为一个界。 检查是否任何线性等式约束只涉及一个变量。如果是,检查可行性,然后修复并删除变量。 检查任何线性约束矩阵是否有零行。如果是,检查是否可行,然后删除行。 确定边界和线性约束是否一致。 检查是否存在任何变量仅在目标函数中仅作为线性术语,并且不会出现在任何线性约束中。如果是这样,请检查可行性和绑定,然后在适当的范围内修复变量。 通过添加松弛变量,将线性不等式约束变为线性等式约束。 如果算法检测到一个不可行的或无界的问题,它会停止并发出适当的退出消息。 起始点 初始化 对于两个都有上界的组件 对于只有一个边界的组件,在必要时修改组件,使其严格位于边界内。 采取预测步骤(见
(1)
interior-point-convex
quadprog算法
疏.类似地,当您指定小的或相对密集的问题时,算法会更快
完整的.
Presolve / Postsolve
生成初始点
稀疏内点凸算法和全内点凸算法的主要区别在于预测-校正阶段。算法是相似的,但在一些细节上有所不同。基本算法描述请参见Mehrotra
稀疏的预估。类似于
这里
是扩展的线性不等式矩阵,包括写入线性不等式的边界。 S.是将不等式约束转换为等式的松弛向量。 Z.拉格朗日乘数的向量对应什么 y是与平等约束相关联的拉格朗日乘法器的矢量。
该算法首先根据牛顿-拉夫森公式预测步长,然后计算修正步长。校正器试图更好地加强非线性约束
R.
R.
R.
R. R. R.
在牛顿步骤中,更改 然而,完整的牛顿步可能是不可行的,因为正约束 S.
在哪里 找到解决办法 在哪里 R. R. R. R. R. 该算法解决了 在哪里
定义中的所有矩阵逆 Altman, Anna和J. gonzio。 范德贝,R. J.和T. J.卡朋特。 预测-校正算法迭代,直到它到达一个可行的点(满足约束到公差范围内),并且相对步长较小。具体来说,定义
当这些条件都满足时,算法停止:
在哪里
R.
符号
如果这个价值函数变得太大, 最优化工具箱™求解器中使用的许多方法都基于 当前点被更新为 在哪里
(2)
quadprog替换
(3)
(4)
(5)
“内点”算法,但也包括二次项。看到
参考文献
停止条件
不可行性检测
quadprog计算一个
trust-region-reflective
quadprog算法
(6)
(7)
这种算法提供了准确的解决方案 或者一个方向 这种选择背后的哲学 构建二维信任域子问题。 解决 如果 Δ调整。 这四个步骤重复,直到收敛。信任区域维度Δ根据标准规则进行调整。特别是,如果试验步骤不被接受,它就会减少,即: 求解大型、对称、正定线性方程组的一种流行方法 线性约束使描述的无约束极小化情况复杂化。然而,前面描述的基本思想可以以一种干净有效的方式进行。最优化工具箱求解器中的信任区域方法生成严格可行的迭代。 在哪里 在哪里 方框约束问题是这样的 在哪里 在哪里
和向量 如果 如果 如果 如果 非线性系统 在 和 这里 完成预定步骤后, 阶段1 -在所有约束条件下获得可行点。 阶段2 -迭代地降低目标函数,同时保持一个主动约束列表,并在每个迭代中保持可行性。 这 该算法首先试图通过去除冗余和简化约束来简化问题。在预解步骤中执行的任务包括: 检查是否有变量具有相同的上限和下限。如果是这样,请检查可行性,然后修复并删除变量。 检查线性不等式约束是否只包含一个变量。如果是,检查可行性,然后将线性约束改为一个界。 检查是否任何线性等式约束只涉及一个变量。如果是,检查可行性,然后修复并删除变量。 检查任何线性约束矩阵是否有零行。如果是,检查是否可行,然后删除行。 确定边界和线性约束是否一致。 检查是否存在任何变量仅在目标函数中仅作为线性术语,并且不会出现在任何线性约束中。如果是这样,请检查可行性和绑定,然后在适当的范围内修复变量。 通过添加松弛变量,将线性不等式约束变为线性等式约束。 如果算法检测到一个不可行的或无界的问题,它会停止并发出适当的退出消息。 在第1阶段,算法试图找到一个点
这样
在这里, 用变量表示 在这里, 在哪里
后发现 对这个方程求微分 ∇ 然后算法对表单进行一步操作
在哪里
由于目标函数的二次性质,步长只有两种选择
它被定义为不在活动集中的约束以及方向的约束 如果所有的元素 笔记 不要试图通过设置较大的?值来尽早停止算法 [1]吉尔,P. E.,W.Murray,M. A. Saunders和M. H. Wright。 当你运行
(8)
(9)
预条件共轭梯度法
线性等式约束
(10)
(11)
箱约束
(12)
(13)
(14)
(15)
(16)
有效集
,算法引入一个非负松弛变量quadprog算法
,那点了
Presolve一步
第一阶段的算法
第二阶段的算法
(17)
(18)
(19)
(20)
(21)
(22)
参考文献
温暖的开始
“激活集”以热启动对象作为起始点的算法,求解器尝试跳过许多阶段1和阶段2的步骤。热启动对象包含约束的活动集,该集对于新问题可以是正确的或接近正确的。因此,求解器可以避免向活动集添加约束的迭代。而且,初始点可能接近新问题的解决方案。有关更多信息,请参见
optimwarmstart.