约束规划问题与凸二次规划
来源:互联网 发布:php环境搭建 编辑:程序博客网 时间:2024/05/16 05:01
让我首先讨论一下形式的约束规划问题:
本文中我们不深究一般约束规划问题的最优性性条件的证明,仅给出部分常用定理。 后续我们也仅针对凸优化问题做详细讨论。
- 基本概念
- 局部解的必要条件
- 一阶必要条件
- 约束限制条件成立的充分条件
- 二阶充分条件
- 凸优化问题
- 二次规划问题
- 求解二次规划问题
- 等式约束二次规划问题的条件
- 有效集法
基本概念
无约束规划问题的讨论详见此文,这里介绍了局部解与全局解得概念。约束规划问题解得概念与之类似,此处省略。但要注意这里存在可行域的问题。记上述约束规划问题的可行域为:
设
局部解的必要条件
一阶必要条件
考虑上述约束规划问题,这里我们假设
设约束问题中
约束限制条件成立的充分条件
定理 2:
若在前述约束优化问题的局部解
ci(x),i∈E∪I(x∗) 是线性函数;∇ci(x∗),i∈E∪I(x∗) 线性无关;
则在
二阶充分条件
这里给出一般约束问题的二阶充分条件,不作证明。
定理 3:(约束问题的二阶充分条件)
考虑上述约束问题,设
- K-T条件成立 (参考定理 1),且
λ∗i 和ci(x∗)(i∈I) 不同时为0 (严格松弛互补条件); - 对于任意的
d∈M 有其中dT∇2xL(x∗,λ∗)d>0 M={d∈Rn|d≠0,∇ci(x∗)Td=0,i∈E∪I(x∗)} .
则
凸优化问题
对于一般的非线性规划,若目标函数是凸函数,约束集合
定理 4: 凸规划的局部解必是全局解。
定理 5 : 设目标函数
二次规划问题
一般的约束规划问题求解非常困难,从下面开始我们将仅讨论凸二次规划问题的求解方法。考虑如下约束优化问题:
下面讨论凸二次规划问题解得条件:
定理 6:
定理 7: 若
求解二次规划问题
等式约束二次规划问题的条件
本节讨论如下只有等式约束的二次规划问题:
定理 8:
当上述问题中的矩阵
有效集法
有效集法,顾名思义,就是通过求解有限个等式约束二次规划问题来得到一般约束二次规划问题的解。时间问题,这里我们不对有效集算法的一般原理进行阐述,仅介绍其算法步骤。
对于上述一般凸二级规划问题:
- 取初始可行点
x1 ,即x1 满足:确定αTix1−bi=0,i∈E,αTix1−bi≤0,i∈I x1 处的有效约束指标集置I(x1)={i|αTix1−bi=0,i∈I} k=1 。 - 求解等式二次规划问题 得到
min12dTGd+∇f(xk)Tds. t. αTid=0,i∈E∪I(xk) dk 。 - 若
dk=0 , 则计算相应的乘子λk 。 若λki≥0,∀i∈I(xk) 则停止计算(xk 为一般二次规划的解,λk 为相应的乘子);否则求:并置λkq=min{λki|i∈I(xk)} xk+1=xk ,I(xk+1)=I(xk)−{q} ,k:=k+1 ,转至步骤2。 - 若
dk≠0 则计算取α^k=min{bi−αTixkαTidk∣∣∣αTidk>0,i∉I(xk)}=bp−αTpxkαTpdk αk=min{α^k,1} ,置xk+1=xk+αkdk 。如果αk=α^k ,则置I(xk+1)=I(xk)+{p} ;否则置I(xk+1)=I(xk) , 置k:=k+1 ,转至步骤2。
- 通常称任何一个保证
LD∗=FD∗ 成立的条件为约束限制条件。其中LD∗∪{0} 为线性化锥,FD∗ 为x∗ 处的全体可行方向的集合。 ↩
- 约束规划问题与凸二次规划
- 二次规划问题
- matlab求解二次规划问题
- 二次规划
- 用matlab解二次规划问题
- 简单的解释什么是二次规划问题
- 用lingo12求解二次规划问题
- 支撑向量机,二次规划问题
- 数模算法-线性规划、整数规划、多元规划、二次规划等规划类问题
- 约束极值问题/非线性规划问题
- 线性规划以及二次规划
- matlab二次规划函数
- 数学建模--二次规划
- 线性约束规划问题java求解
- 约束规划问题的罚函数解法
- 闲扯数学规划问题(3)-等式约束和不等式约束
- 线性不可分的线性支持向量机的原始问题(凸二次规划)详细求解
- SVM学习——求解二次规划问题
- Git 工作流程
- CentOS7 在线安装 Python3
- 通俗易懂的让你彻底搞懂冒泡排序的由来
- mysql5.7官网直译SQL语句优化--引擎压入条件优化
- Git 工作区、暂存区和版本库
- 约束规划问题与凸二次规划
- 第十周项目三——用二叉树求解代数表达式
- ubuntu16.04 主题安装
- jsp和servlet的区别?
- native====java===c
- 6 天时间修改 1 行代码:现实中的软件开发流程
- matplotlib 设置坐标轴显示内容
- 让PIP源使用国内镜像
- C++ 二维数组详解