最优化复习要点
2016-12-18 21:01
225 查看
最优化复习要点
1. 线性规划
a. 标准形式
i. 必要时需要引入松弛变量
min z=cTxs.t. Ax=b x⩾0ii. 退化
B−1b>0 基变量的取值全为正(右边系数全正)b. 单纯形法
i. 典式
ii. 单纯形表
初始基可行解 初始单纯形表:
约束条件和右边 不变
目标函数系数取反 −c
非基变量入基(选取最合适的xk)
遵循两个原则:最大、最小
最大:即单纯形表最后一行,maxzj−cj
最小:最大对应的列,minb¯yik (必须是正数!!!)
初等行变换
iii. 大M法
2个重点添加松弛变量后再引入人工变量
单纯形表最后一行: cBB−1pj−cj
式中 cB 为初始基变量对应系数,一般含M
注意 :最后一个数不是0!!!
c. 对偶原理
要先化成GLP一般形式原问题min | 对偶问题max |
---|---|
目标函数系数 | 右端系数 |
右端系数 | 目标函数系数 |
约束矩阵 | 系数矩阵转置 |
第i个约束为⩾ 型 | 第i个变量⩾0 |
第i个约束为=型 | 第i个变量无约束 |
第j个变量⩾0 | 第j个约束为⩽型 |
第j个变量无约束 | 第j个约束为=型 |
(A21x¯1+A22x¯2−b2)iw¯2i=0,∀i,x¯1j(c1−AT11w¯1−AT21w¯2)j=0,∀j
利用互补松弛条件验证是否是最优解:
假设是最优解,利用性质获得DGLP满足互补条件的解并验证是否可行,若可行,则为最优解
2. 无约束问题
a. 最优性条件
一阶导(梯度)∇f(xk)=0 ;二阶导(Hessian)∇2f(x(k)) 正定。
b. 下降算法
i. 最速下降法
ii. 牛顿法
(二级收敛、二次终止性)已知迭代点x(k)
求初始梯度、Hessian矩阵,并求∇2f(x(k))−1
计算x(k+1)=x(k)−∇2f(x(k))−1⋅∇f(x(k))
iii. 阻尼Newton法
iv. 共轭梯度法
v. 拟Newton法(变尺度法/秩 2 矫正/DFP算法)
拟牛顿条件p(k)=Hk+1q(k)
式中:
p(k)=x(k+1)−x(k) , q(k)=∇f(x(k+1)−∇f(x(k)))
Hk+1≈∇2f(x(k))−1
DFP算法——秩 2 矫正
迭代初点x(k)
计算梯度gk=∇f(x(k)) ,置H1=In (单位矩阵)
选取可行下降方向 d(k)=−Hkgk
求步长 λk
令 x(k+1)=x(k)+λkd(k)
最优步长:λk=−∇f(xk)TddkT∇2f(xk)dk (一般情况为二次函数,H=∇2f(x) 是固定的,只需要计算一次即可)
可接受步长:$$
检验重复
3. 约束非线性规划
a. 可行下降法
初始点xk计算∇f(xk) ,分解起作用约束与非其作用约束
[A1A2]and[b1b2]
求解最优步长dk (判断?)
min∇f(xk)Tdks.t.A1dk⩾0−1⩽dj⩽1
计算d^=A2dk ,b^=b2−A2xk
λmax=min{b^id^i} or ∞ 如果f(x)是严格凸二次函数,最优步长λk=min{−zk(dk)THdk , λmax}
计算λk (带进f(xk+λkdk) 直接计算,一般都是二次函数)
迭代得xk+1
相关文章推荐
- gradle学习总结
- 浅谈CSS自定义下拉列表的样式
- OSGEarth编译
- 搜索人生之三——11岁了
- 最优化复习要点
- Linux下段错误分析
- 树梅派应用13:使用 RPI.GPIO 模块的脉宽调制(PWM)功能
- leet83vs运行版
- 2016.12.8 Using Python to Access Web Data
- apache功能简单了解
- Android Studio 工具栏添加图标
- LeetCode105: Construct Binary Tree from Preorder and Inorder Traversal
- 230. Kth Smallest Element in a BST ——迭代本质:a=xx1 while some_condition: a=xx2
- Java通过SMS短信平台实现发短信功能
- 子网掩码
- 其他
- [003-Makefile-笔记] Makefile的规则
- Reflux.connect mixin 学习
- Android新浪微博分享实现
- 鸟人的Android揭秘(5)——搭建Android SDK开发环境(一)