1、概述

直观上拉格朗日松弛方法就是将约束中难解的部分变为目标函数中的一部分,扩大搜索的范围。

拉格朗日松弛方法不仅能够求解非线性规划问题还能求解整数规划问题。

整数规划问题求解方法

  • benders decomposition
  • dantzg-wolfe decompostion
  • lagrangian decompostion

拉格朗日松弛之后得到的问题下界优与等于直接将0,1整数变量松弛为0到1连续变量的下界

拉格朗日松弛之后我们会得到拉格朗日乘子,拉格朗日乘子反映了对偶的信息。

拉格朗日送至可以将约束中耦合的变量分解,转换成独立的子问题,简化原来的问题。

对于拉格朗日松弛后的问题我们需要做两方面内容

第一是求解子问题,第二是拉尔朗日乘子的更新

子问题一般不是NP难的,一般是规模比较小的可以直接求解的,否则证明子问题分解的还不够彻底。一般子问题可以通过求解器直接求解,或者采用动态规划,线性规划等手段求解。

拉格朗日乘子的更新本质上是求解对偶问题,对偶问题是一个非光滑的凸优化问题,可以利用次梯度算法来更新拉格朗日乘子

拉格朗日对偶有一下几个良好的性质

  • 无论元问题是否为凸,对偶问题都是凸优化问题
  • 对偶问题至少给出了原问题最优解的下界
  • 在满足一定条件下,对偶问题和原问题的解完全等价
  • 对偶问题通常容易求解

拉格朗日对偶的目标就是将带有约束的优化问题转化为不带约束或者约束简单的凸优化问题

2、拉格朗日函数、拉格朗日对偶函数以及拉格朗日对偶问题

2.1、原问题

对于原问题

其中约束是凸集,但是目标函数不一定是凸函数


2.2、拉格朗日函数

拉格朗日函数:是将约束变为目标函数中的一部分,是一个关于的函数

x是原问题的自变量,,v是拉格朗日乘子是标量。


介绍完拉格朗日函数,它和原问题有什么关系呢??

2.3、拉格朗日函数与原问题

直接抛出结论:最大最小拉格朗日函数和原问题是等价的

我们分开来求,首先是

接下来我们要求,它的解和原问题的解相同。


如前文描述的那样,由于目标函数不一定是凸函数,所以优化问题是难解的,所以自然想到,摆脱自变量x,将问题转化为好解的凸问题,拉格朗日对偶函数由此诞生。

2.4、拉格朗日对偶函数

我们称上面的式子是拉格朗日对偶函数,是对变量求函数L的最小值的问题,

而拉格朗日对偶函数是凹问题,极大化一个凹问题是凸问题,所以我们构造了如下问题

我们定义如上问题为,拉格朗日对偶问题

假设拉格朗日对偶问题的局部最优解为d*,原问题f(x)的最优解为p*

可以证明

参考的文章

拉格朗日对偶详解_左痕生的博客-CSDN博客_拉格朗日对偶
拉格朗日对偶性详解(手推笔记)_见见大魔王的博客-CSDN博客_拉格朗日对偶性

拉格朗日松弛求解问题相关推荐

  1. 拉格朗日松弛求解整数规划浅析(附Python代码实例)

    运筹优化博士,只做原创博文.更多关于运筹学,优化理论,数据科学领域的内容,欢迎关注我的知乎账号:https://www.zhihu.com/people/wen-yu-zhi-37 拉格朗日松弛是一种 ...

  2. 拉格朗日松弛(一)——理论及算法

    目录 背景 拉格朗日松弛--理论 拉格朗日松弛--算法 次梯度优化算法 拉格朗日松弛启发式算法 参考资料 背景 Marshall L.Fisher在1981年发表在<Management Sci ...

  3. 拉格朗日松弛(lagrangian relaxation) - An Overview

    拉格朗日松弛(lagrangian relaxation) - An Overview 文章目录 拉格朗日松弛(lagrangian relaxation) - An Overview 1. Appl ...

  4. 拉格朗日松弛与拉格朗日分解 lagrangian relaxation

    首先介绍下拉格朗日松弛的出发点,以及该方法所属的门类:再介绍下拉格朗日松弛法需要处理的难点和注意事项. 目录 1.拉格朗日松弛出发点 2.拉格朗日松弛所属分类 3.拉格朗日松弛 3.1 拉格朗日松弛( ...

  5. 拉格朗日松弛与分解学习笔记2023.3.8

    第一种松弛,将约束右边值变大,可行空间变大,但是没什么意义. 第二种松弛,去除部分约束,改变问题结构 第三种松弛,叫做连续松弛或者线性松弛,保留约束条件,但是离散变量看成连续变量(去掉整数约束) 第四 ...

  6. python编程--通过单纯形法和scipy库实现线性规划以及通过拉格朗日来求解非线性

    例题 首先,我们通过单纯法来求解该例题 新建"data.txt"文件存放 2 1 1 0 0 0 0 0 2 -1 1 0 0 -2 1 -1 1 0 1 0 2 0 1 -1 0 ...

  7. 关于拉格朗日坐标系求解要转为初始构型的讨论(1),为何欧拉坐标系不行。

    设 F=k(x−X)F=k\left( x-X \right)F=k(x−X) 我们先说受力后的结果,设弹簧原长 X∈[0,1]X\in\left[ 0,1 \right ]X∈[0,1],不受力. ...

  8. 如何在高精度下求解亿级变量背包问题?

    导读:国际顶级会议WWW2020将于4月20日至24日举行.始于1994年的WWW会议,主要讨论有关Web的发展,其相关技术的标准化以及这些技术对社会和文化的影响,每年有大批的学者.研究人员.技术专家 ...

  9. 求解稀疏优化问题——增广拉格朗日方法+半光滑牛顿法

    ↑↑↑↑↑点击上方蓝色字关注我们! 『视学算法』转载 作者:邓康康 邓康康,福州大学应用数学系在读博士生,研究方向:运筹优化算法设计与应用.流形优化. 编者按 本文介绍了一种二阶方法去求解稀疏优化问题 ...

最新文章

  1. 0x02 mysql 表格相关操作
  2. 将txt文件和excel文件导入SQL2000数据库
  3. H3C 交换机S5130S软件版本升级
  4. UITextField详解
  5. c++ cstring 转换 char_【揭秘】C语言类型转换时发生了什么?
  6. 结合传统与数字技术,构建逼真的机械设计
  7. linux losetup
  8. PDE1 Introduction to PDE
  9. SQL SERVER 修改字段长度
  10. oracle strsplit函数,oracle splitstr 函数
  11. maya藤蔓插件_MAYA快速打造藤蔓生长的路径动画教程
  12. python下opencv安装
  13. 港科百创 | 深光科技完成数千万元Pre-A轮融资
  14. 北风:信息差有多重要?你是怎么被割韭菜的?
  15. 京东宙斯php版本sdk不能用_一个SDK引发的“血案”
  16. 随興8作者雨落下無痕
  17. Mac Mounty挂载NTFS硬盘报错
  18. 桥接PyTorch和TVM
  19. miniui展示日历能点击_万物有时 节气日历 2020 | 预售
  20. oracle 物料属性批次过期,系列之五:ORACLE EBS 系统主数据管理(C)

热门文章

  1. TPCC-Mysql 测试
  2. 设计模式六大原则及常用模式详解
  3. thinkphp6 发送短信验证码
  4. 声音的频率与主观听感
  5. 互动媒体技术——编程习作集
  6. Android之Parcel和Parcelable
  7. 快讯 I Nexperia 超低电容 ESD 保护二极管保护汽车数据接口
  8. PoW 、PoS , DPoS 算法
  9. 进程---什么是多进程
  10. OpenGL实现太阳,地球,月球的公转与自转