原始对偶算法

原始对偶算法利用了及其巧妙的方法减少参数,优化解,最后找到最优解。

互补松弛定理:最优解的等价命题为: 对于所有的j, 有(AjTy−cj)xj=0(A_j^Ty-c_j)x_j=0(AjT​y−cj​)xj​=0
我们知道每一行约束的权值为yi,对于一个x,确定了y的一个线性组合的约束。如果该x不是0, 则要求y的约束取等号。否则该约束取小于等于号。

假如已知一个集合J, 里面是xj满足xj不是0,由于在J之外的x全部是0, 因此在原问题中只剩下那些xj的项,转化为对偶问题后,只有J中的元素xj才能产生对y的约束。

这样原来的约束从m个减少到了|J|个,我们只要寻找限制集J即可。

上面是原始对偶算法的思路,下面是更加详细的操作:

假如对原问题每个约束增加一个人工变量x’i, i=1,2,…,m 目标函数变为x’i的求和(和两阶段法类似),此时的对偶问题变为DRP问题,和原来的D问题相比

  • 增加了一个约束y<1,
  • 约束的右边常数变为0,
  • 目标函数没有发生变化。

如果DRP问题最大值为0, 说明找到原问题最优解。

由此可以看出,原始对偶算法的精髓是限制集J。和单纯形法相比,单纯形法通过用不同的变量表示目标函数进行迭代,而原始对偶算法通过修改限制集进行迭代。

原始对偶算法过程:

1.确定限制集J

2.计算DRP问题最优解

3.最优解为0,则限制集为最优,根据限制集解出最优解

4.最优解>0, 则将一个新的x加入限制集。限制集,挑选进入限制集的x的方法是:对于一个x,如果其对应的y约束值和cj最接近,则选择它。

5.返回2

最短路径问题

设xi为第i条边是否在最短路径中,则目标函数为:

min⁡z=∑cixi\min z=\sum c_ix_iminz=∑ci​xi​, c是第i条边权值

对于最短路径中每一个点,如果该点是起点,则出度-入度为1,是终点则出度-入度为-1,其他点入度=出度

对于每个点建立约束,如果该边是出边,则系数为1,否则系数为-1,其和为0

写出其D问题
max⁡z=yt\max z=y_tmaxz=yt​
yi−yj≤ce,(i,j)∈Jy_i-y_j\le c_e, (i,j)\in Jyi​−yj​≤ce​,(i,j)∈J

写出其DRP问题:
max⁡z=yt\max z=y_tmaxz=yt​
yi−yj≤0,(i,j)∈Jy_i-y_j\le 0, (i,j)\in Jyi​−yj​≤0,(i,j)∈J
y≤1y\le1y≤1

下面是迭代过程:

次数 J s t v2 v3 v4 v5 t
1 {} 0 0 0 0 0 0 0
2 {}

AOR4 原始对偶方法相关推荐

  1. 针对安全探索的受限强化学习:原始对偶优化算法

    ©作者 | 周宣含 学校 | 国防科技大学 研究方向 | 深度强化学习 在强化学习中,智能体通过在未知环境中探索与试错来学习如何决策.大多数 RL 算法允许智能体自由地探索环境,并采取任意能够提升奖励 ...

  2. 原始-对偶的概念及写对偶问题的基本方法

    原始-对偶:写对偶问题 1.什么是原始对偶 ​ 字面理解:原始问题与对偶问题 假定原始问题为: minf(x)s.t.{gi≤0,i=1,...,mhi=0,i=1,...,p\begin{matri ...

  3. 近似算法中的技巧之一原始对偶模式

    近似算法中的技巧之一原始对偶模式 原始对偶模式 背景回顾 基础介绍 原始对偶模式 线性规划松弛的整间隙 原始对偶模式的近似算法 总结 参考文献 原始对偶模式 背景回顾 在过去的四十年里,组合优化受到线 ...

  4. 最短路问题的原始对偶算法形式

    问题描述 给定一个图,求解源点s到终点t的路径. 点弧关联矩阵定义如下: 列表示边,行表示一个顶点. 可以看到,每一列一定是-1和+1组成,其中-1表示入边,+1表示出边. 我们的目标是求解下列线性规 ...

  5. 光流 | 基于对偶方法的变分光流改进算法

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 PCNN以及基于对偶方法的光流代码 ...

  6. 对偶方法(Dual Methods)

    总目录 一. 凸优化基础(Convex Optimization basics) 凸优化基础(Convex Optimization basics) 二. 一阶梯度方法(First-order met ...

  7. 原始-对偶(Primal-Dual)算法求解线性规划

    ​原始-对偶(Primal-Dual)算法(Dantzig, Ford, and Fulkerso,1956)是用来求解线性规划的一种算法,可以看作是单纯形法的一种变体,目的是减少迭代次数. 构建该算 ...

  8. 优化 | 随机原始对偶混合梯度(SPDHG)算法及在图像处理中的应用

    论文解读者:陈宇文,胡明杰,史铭伟,赵田田 许多实际问题都可以建模为凸优化问题.相比于直接求解原问题,将问题转化为鞍点问题往往会带来好处.求解鞍点问题的一种常用算法是原对偶混合梯度算法 (PDHG), ...

  9. 线性规划的原始对偶算法

    假设有如下原始问题和对偶问题: 如果我们能够找到一个x,一个y,满足根据互补松弛定理,即使得: 那么这个x,y就是原始问题和对偶问题的最优解. 可是,直接这样找,相当于穷举,大海捞针,我们希望给出一个 ...

最新文章

  1. 人工智能专业就业前景如何?
  2. 基数排序(c/c++)
  3. OpenStack collectd的从零安装服务端
  4. python服务端对应多个客户端_Python-网络编程:TCP2 循环为多个客户端服务
  5. mysql-5.7.11-winx64.zip 安装配置
  6. 带有JAX-WS和Spring的Web服务应用程序
  7. 创建vue项目(四)路由相关知识、路由守卫、插槽、打包小细节
  8. was环境访问https_Go语言笔记|02-开发环境搭建
  9. native下拉图片放大 react_RN下拉图片放大 - Chason-洪的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. 学术 | 如何写一篇学术论文?(上)
  11. 江湖救急、就从今天开始吧
  12. iOS 获取通讯录权限和权限提示弹框
  13. ssm教务排课系统MVC学校专业选修课程安排选课信息jsp源代码数据库mysql
  14. unity Google 广告接入 SDK Android
  15. 各国程序员薪资水平,咱有点惨...
  16. MFC 在Edit Control输入完成后按下回车键希望直接执行某个函数
  17. java.exe占用cpu高_Java进程cpu占用过高问题解决
  18. 企业发放的奖金根据利润I提成
  19. Virtualization——虚拟化技术
  20. 新版Chrome自动禁用第三方插件的解决办法

热门文章

  1. 是什么在影响研究生的痛苦指数?
  2. VC投资的世界里,熵减的结果就是共识的形成
  3. 苹果开发者账号申请 App IDs(应用身份证)
  4. 黑果安装步骤(手把手教你如何安装黑苹果)
  5. Android 网络检测
  6. VS 报错error C3872: “0xa0”: 此字符不允许在标识符中使用
  7. AutoLine开源平台发布
  8. 输入法出现异常???输入英文字母分隔很大???你真的会使用输入法了吗???如何高效使用输入法???微软自带输入法切换
  9. centos7配置(nvidia+cuda+cudnn+anaconda+tensorflow)gpu开发环境
  10. php获取肖前时间,马克思主义哲学原理(上下册)