增广拉格朗日函数法(ALM)

article/2025/9/20 0:16:50

在这里插入图片描述

增广拉格朗日函数法( Augmented Lagrangian method)

一、等式约束

考虑问题:
min ⁡ x f ( x ) s . t . c i ( x ) = 0 , i = 1 , ⋯ , m . \begin{array}{ll} \min_x &f(x)\\ s.t. &c_i(x) = 0, \quad i=1,\cdots,m. \end{array} minxs.t.f(x)ci(x)=0,i=1,,m.
定义增广拉格朗日函数:
L t ( x , λ ) = f ( x ) − ∑ i λ i c i ( x ) + t 2 ∑ i ( c i ( x ) ) 2 L_t(x,\lambda) = f(x) - \sum_i \lambda_ic_i(x) + \frac{t}{2}\sum_i\big(c_i(x)\big)^2 Lt(x,λ)=f(x)iλici(x)+2ti(ci(x))2

增广拉格朗日函数可以理解为在拉格朗日函数的基础上加了一个二次惩罚项,所以该方法是拉格朗日函数法与罚函数法的结合。

求解方法类似于对偶上升法,不过梯度上升的步长改成了固定的参数 t t t,算法迭代步骤为:

  • 固定 λ \lambda λ, 更新x:
    x + = arg min ⁡ x L t ( x ; λ ) x^+ = \argmin_x L_t(x;\lambda) x+=xargminLt(x;λ)
    意味着
    ∇ x L t ( x + ; λ ) = ∇ f ( x + ) − ∑ i ( λ i − t c i ( x + ) ) ∇ c i ( x + ) = 0 \nabla_x L_t(x^+;\lambda) = \nabla f(x^+) - \sum_i\big( \lambda_i-tc_i(x^+)\big)\nabla c_i(x^+) = 0 xLt(x+;λ)=f(x+)i(λitci(x+))ci(x+)=0
  • 更新 λ \lambda λ:
    λ i + = λ i − t c i ( x + ) \lambda_i^+ = \lambda_i-tc_i(x^+) λi+=λitci(x+)

二、不等式约束

考虑问题:
min ⁡ x f ( x ) s . t . c i ( x ) ≥ 0 , i = 1 , ⋯ , m . \begin{array}{ll} \min_x &f(x)\\ s.t. & c_i(x) \geq 0, \quad i=1,\cdots,m. \end{array} minxs.t.f(x)ci(x)0,i=1,,m.
其等价形式为:
min ⁡ x f ( x ) s . t . c i ( x ) − ν i = 0 , ν i ≥ 0 , i = 1 , ⋯ , m . \begin{array}{ll} \min_x &f(x)\\ s.t. &c_i(x) - \nu_i =0, \\ & \nu_i \geq 0,\quad i=1,\cdots,m. \end{array} minxs.t.f(x)ci(x)νi=0,νi0,i=1,,m.
定义带约束的增广拉格朗日函数:
L t ( x , λ ) = f ( x ) − ∑ i λ i ( c i ( x ) − ν i ( x ) ) + t 2 ∑ i ( c i ( x ) − ν i ( x ) ) 2 s . t . ν i ≥ 0 , i = 1 , ⋯ , m . L_t(x,\lambda) = f(x) - \sum_i \lambda_i \big(c_i(x)-\nu_i(x)\big) + \frac{t}{2}\sum_i\big(c_i(x)-\nu_i(x)\big)^2 \\ s.t. \quad \nu_i \geq 0,\quad i=1,\cdots,m. Lt(x,λ)=f(x)iλi(ci(x)νi(x))+2ti(ci(x)νi(x))2s.t.νi0,i=1,,m.
算法迭代步骤为:

  • 固定 λ \lambda λ, 更新 x , ν x,\nu x,ν
    ( x + , ν + ) = arg ⁡ min ⁡ x , ν L t ( x ; λ ) = arg ⁡ min ⁡ x , ν f ( x ) + ∑ i { − λ i ( c i ( x ) − ν i ( x ) ) + t 2 ( c i ( x ) − ν i ( x ) ) 2 } s . t . ν i ≥ 0 , i = 1 , ⋯ , m . (1) \begin{array}{rl} (x^+,\nu^+) &= \arg\min_{x,\nu} \quad L_t(x;\lambda) \\ &= \arg\min_{x,\nu}\quad f(x) + \sum_i \left\{ -\lambda_i \big(c_i(x)-\nu_i(x)\big) + \frac{t}{2}\big(c_i(x)-\nu_i(x)\big)^2 \right\} \tag{1}\\ s.t. &\quad \nu_i \geq 0,\quad i=1,\cdots,m. \end{array} (x+,ν+)s.t.=argminx,νLt(x;λ)=argminx,νf(x)+i{λi(ci(x)νi(x))+2t(ci(x)νi(x))2}νi0,i=1,,m.(1)

  • 更新 λ \lambda λ: λ i + = λ i − t ( c i ( x + ) − ν i + ) \lambda_i^+ = \lambda_i-t(c_i(x^+)-\nu_i^+) λi+=λit(ci(x+)νi+)

事实上,算法中的 ν \nu ν 可以消去,由(1)式
( x + , ν + ) = arg ⁡ min ⁡ x , ν f ( x ) + ∑ i { − λ i ( c i ( x ) − ν i ( x ) ) + t 2 ( c i ( x ) − ν i ( x ) ) 2 } = arg ⁡ min ⁡ x , ν f ( x ) + t 2 ∑ i { − ( λ i t ) 2 + ( c i ( x ) − ν i ( x ) − λ i t ) 2 } = arg ⁡ min ⁡ x , ν f ( x ) + t 2 ∑ i { ( c i ( x ) − ν i ( x ) − λ i t ) 2 } s . t . ν i ≥ 0 , i = 1 , ⋯ , m . (2) \begin{array}{rl} (x^+,\nu^+) &= \arg\min_{x,\nu}\quad f(x) + \sum_i \left\{ -\lambda_i \big(c_i(x)-\nu_i(x)\big) + \frac{t}{2}\big(c_i(x)-\nu_i(x)\big)^2 \right\} \\ &= \arg\min_{x,\nu}\quad f(x) + \frac{t}{2}\sum_i \left\{ -(\frac{\lambda_i}{t})^2 + \big(c_i(x)-\nu_i(x) - \frac{\lambda_i}{t}\big)^2 \right\} \\ &= \arg\min_{x,\nu} \quad f(x) + \frac{t}{2}\sum_i \left\{ \big(c_i(x)-\nu_i(x) - \frac{\lambda_i}{t}\big)^2 \right\} \\ s.t. &\quad \nu_i \geq 0,\quad i=1,\cdots,m. \tag{2} \end{array} (x+,ν+)s.t.=argminx,νf(x)+i{λi(ci(x)νi(x))+2t(ci(x)νi(x))2}=argminx,νf(x)+2ti{(tλi)2+(ci(x)νi(x)tλi)2}=argminx,νf(x)+2ti{(ci(x)νi(x)tλi)2}νi0,i=1,,m.(2)
从(2)式第二项很容易看出,假如先求得 x + x^+ x+,必然有
ν i + = max ⁡ ( c i ( x + ) − λ i t , 0 ) \nu_i^+ = \max(c_i(x^+) - \frac{\lambda_i}{t},0) νi+=max(ci(x+)tλi,0)

上式中取 max ⁡ \max max 是为了满足 ν \nu ν 非负的约束条件。将其代回 (1) 式,得
x + = arg ⁡ min ⁡ x f ( x ) + ∑ i ψ ( c i ( x ) , λ i , t ) x^+ = \arg\min_x \quad f(x) + \sum_i \psi(c_i(x),\lambda_i,t) x+=argxminf(x)+iψ(ci(x),λi,t)

其中
ψ ( c i ( x ) , λ i , t ) = { − λ i c i ( x ) + t 2 c i ( x ) 2 , 如果 c i ( x ) − λ i / t < 0 , − λ i 2 2 t , o t h e r w i s e . \psi(c_i(x),\lambda_i,t)=\left\{ \begin{array}{ll} -\lambda_i c_i(x) + \frac{t}{2}c_i(x)^2, & \text{如果} c_i(x) - \lambda_i/t <0, \\\\ -\frac{\lambda_i^2}{2t}, &otherwise. \end{array} \right. ψ(ci(x),λi,t)=λici(x)+2tci(x)2,2tλi2,如果ci(x)λi/t<0,otherwise.
然后更新 λ \lambda λ: λ + = max ⁡ ( λ i − t c i ( x + ) , 0 ) \lambda^+ = \max(\lambda_i - tc_i(x^+),0) λ+=max(λitci(x+),0)

在这里插入图片描述


http://chatgpt.dhexx.cn/article/7GLu3UGU.shtml

相关文章

广义拉格朗日函数的理解

1、拉格朗日函数&#xff1a; 求极值 求函数f(x,y,z)在条件φ(x,y,z)0下的极值 方法&#xff08;步骤&#xff09;是&#xff1a; 1.做拉格朗日函数Lf(x,y,z)λφ(x,y,z),λ称拉格朗日乘数 2.求L分别对x,y,z,λ求偏导,得方程组,求出驻点P(x,y,z) 如果这个实际问题的最大或…

各种拉格朗日函数

目录 一&#xff0c;拉格朗日函数 二&#xff0c;部分拉格朗日函数 三&#xff0c;增广拉格朗日函数 一&#xff0c;拉格朗日函数 以三元函数为例&#xff1a; 求f(x,y,z)的极值&#xff0c;s.t.g(x,y,z)0 拉格朗日函数L(x,y,z,a) f(x,y,z) a * g(x,y,z) 在极值点处一…

拉格朗日函数相关推导

优化问题&#xff08;即高数中的求极值&#xff09;可分为三类&#xff1a;无约束、等式约束、不等式约束。 对于无约束的优化问题&#xff1a;求导&#xff0c;令导数为零即可求解。 等式约束优化&#xff1a;&#xff08;拉格朗日乘子法最开始就是求解等式约束优化的方法&…

HJ-浇花

链接&#xff1a;https://ac.nowcoder.com/acm/contest/322/M 来源&#xff1a;牛客网 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32768K&#xff0c;其他语言65536K 64bit IO Format: %lld 题目描述 HJ养了很多花&#xff08;9999999…

单片机——自动浇花系统

目录 1、图片 2、代码 1、图片 2、代码 #include <reg51.h> //调用单片机头文件 #define uchar unsigned char //无符号字符型 宏定义 变量范围0~255 #define uint unsigned int //无符号整型 宏定义 变量范围0~65535#include <intrins.h>sbi…

基于ESP32的开源定时浇花系统

基于ESP32的开源定时浇花系统 文章目录 基于ESP32的开源定时浇花系统前言一、软硬件环境二、模块连接图1.浇花功能说明2.Web界面展示 总结 前言 养了些许花花草草&#xff0c;需要按时浇灌&#xff0c;奈何总是要出差&#xff08;总想出去玩&#xff09;&#xff0c;又怕没人浇…

RISC-V MCU 自动浇花装置设计

第一部分 设计概述 1.设计目的 在家里养养盆花可以陶冶情操&#xff0c;丰富生活&#xff0c;因此&#xff0c;家庭盆栽如今被许多人喜爱。花草生长问题80%以上是由花儿浇灌问题引起的;好不容易种植几个月的花草&#xff0c;因为浇水不及时而缺水死亡。虽然市场上有卖盆花自…

【Proteus仿真】【51单片机】自动浇花灌溉系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用LCD1602液晶、按键、DS18B20、PCF8591 ADC、土壤湿度传感器、水位传感器、蜂鸣器模块等。 系统运行后&#xff0c;LCD1602显示传感器检测的温度、…

自动浇花系统的电路分析

目录 ​​​电源电路 复位电路和晶振 UCB转TTL ​​​电源电路 首先是电源电路&#xff0c;我们来看电源电路的原理图。 首先忽略D、D-&#xff0c;我们先来看电源本身&#xff0c;除了两头的接地和VCC&#xff08;这是USB接口的特性&#xff09;&#xff0c;我们观察到右…

51单片机wifi物联网的浇花控制系统设计

硬件设计 浇花控制系统采用51单片机与LCD液晶显示屏来实现&#xff0c;利用温度、湿度传感器及相应的显示、驱动执行机构、报警装置等实现温室作物生长环境控制器的设计。 硬件电路主要由51单片机最小系统lcd1602显示屏蜂鸣器报警模块设置按键微型水泵adc0832模数转换模…

毕业设计 远程智能浇花灌溉系统 - stm32 单片机 嵌入式 物联网

文章目录 0 前言1 简介2 主要器件3 实现效果4 设计原理5 部分关键代码5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉学…

基于51单片机的智能浇花系统(可做毕设)

基于51单片机的智能浇花系统&#xff08;可做毕设&#xff09; 一、系统介绍二、仿真展示三、实物展示四、仿真过程五、代码1、ADC08322、LCD16023、按键4、水泵5、温湿度6、定时器7、main.c 五、完整工程 对LCD1602原理和操作掌握不好的可以看这篇&#xff1a; 快速掌握——LC…

毕设--自动浇花系统的设计

目录 毕设--自动浇花系统的设计1、作品实物图2、PCB原理图3、元器件清单4、土壤温湿度采集与显示5、硬件电路设计6、程序源码7、资料获取 毕设–自动浇花系统的设计 注&#xff1a;本毕设资源可在微信公众号&#xff1a;“Kevin的学习站” 中获取&#xff01; 1、作品实物图 2、…

单片机毕业设计 自动浇花灌溉系统设计

文章目录 1 简介2 主要器件3 实现效果4 设计原理5 关键代码 1 简介 Hi&#xff0c;大家好&#xff0c;今天向大家介绍一个学长做的单片机项目 基于单片机的自动浇花灌溉系统设计 大家可用于 课程设计 或 毕业设计 选题指导&#xff0c;项目分享&#xff1a; https://gitee…

基于android智能浇花装置,一种基于WiFi通讯远程控制的智能浇花装置的制作方法...

本实用新型涉及自动浇水装置技术领域&#xff0c;具体涉及一种基于WiFi 通讯远程控制的智能浇花装置。 背景技术&#xff1a; 花卉作为一种极具观赏性的植物&#xff0c;在室内和室外广泛种植。上班族工作紧张&#xff0c;空闲时间较少&#xff0c;长期不在家时需要花草被照料。…

基于51单片机的自动浇花系统

目录 一、项目需求 二、仿真 三、程序 四、资料清单 资料下载地址&#xff1a;基于51单片机的自动浇花系统 一、项目需求 1、自动检测土壤湿度、温度、光照强度&#xff1b; 2、土壤湿度过低驱动水泵进行浇花&#xff1b; 3、LCD1602显示当前土壤湿度、温度、光照强度…

【IoT开发】基于机智云物联网的智能浇花教程

摘要:随着近年来物联网技术的发展,相关的技术已经广泛应用于人们的生产和生活中。文章针对长期无人在家时花卉植物的浇水问题,设计了一套基于物联网的智能浇花系统。系统采用STM32与51增强型单片机作为控制器,esp8266物联网模块作为通信设备,底层采用MQTT协议,连接到物联网云平…

条件概率的链式法则

条件概率 条件概率是指事件A在事件B发生的条件下发生的概率。条件概率表示为&#xff1a;P&#xff08;A|B&#xff09;&#xff0c;读作“A在B发生的条件下发生的概率”。若只有两个事件A&#xff0c;B&#xff0c;那么&#xff0c; xx 事件发生时 yy 事件发生的概率: P(yy|x…

链式法则总结

链式法则&#xff08;chain rule&#xff09;微积分中求导法则&#xff0c;用于求复合函数的导数&#xff1b; 链式法则应用广泛&#xff0c;比如神经网络中的反向传播算法就是已链式法则为基础演变的&#xff1b;接下来先说说链式法则的概念然后通过链式法则的两种形式学习链式…

【深度学习数学基础之线性代数】研究使用链式法则进行反向传播的求导算法

链式法则 简单的说链式法则就是原本y对x求偏导&#xff0c;但是由于过程较为复杂&#xff0c;我们需要将函数进行拆分&#xff0c;通过链式进行分别求导&#xff0c;这样会使整个计算更为简单。 假设f k ( a b c ) f k(a bc)fk(abc) 通俗来说&#xff0c;链式法则表明&a…