对约束条件优化问题的理解

article/2025/9/14 0:52:10

以二维空间 R^2 举例

  1. 无约束的优化问题
    对约束条件优化问题的理解
    注意我在图里画了等高线。此时 在局部极小值点 处的梯度必然为0,比较容易理解。这个梯度为零的条件是局部极小值点的必要条件。这样,优化问题的求解变成了对该必要条件解方程组。

2.带等式约束的优化问题,

对约束条件优化问题的理解

与无约束的问题不同。我们所要求的极小值点被限制在曲线 上,我们将 称为可行域, 解只能在这个可行域里取。如下图所示,曲线 (黑色实曲线)经过无约束极小值点(黑点)附近。那么满足约束的极小值点应该与黑点尽可能近。我们将 的等高线不断放大,直到与曲线 相切,切点即为所求。相切是关键,是极小值点的必要条件。
对约束条件优化问题的理解
把 沿着曲线方向参数化为 , 。必有 在红点 的梯度方向与 的切线方向垂直,即另外,由于 为常数,那么也有复合函数 , 因此 在 t 的导数必为0,根据链式法则有 (内积为0,说明 与 垂直)因为 垂直于 , 垂直于 ,所以 与 共线,有 若为最小值点就必须满足上式和问题中的约束 ,这个必要条件就叫作拉格朗日条件,为了好记,定义一个拉格朗日函数令其偏导为0,正好就得到拉格朗日条件。如此,带等式约束的优化问题转化为了无约束的优化问题,只需要对拉格朗日条件解方程组即可。这里λ就是拉格朗日乘子,有多少个等式约束就有多少个拉格朗日乘子。

  1. 带不等式约束的优化问题
    对约束条件优化问题的理解
    当只有一个不等式起作用时, 如我们把问题2里的等式约束 h(x)=0 改为 h(x) \leq 0 ,如下图所示,可行域变成了阴影部分,最小值点还是切点,情况和问题2完全一样,只需要把不等号当做等号去求解即可。

对约束条件优化问题的理解
当两个不等式起作用时,那么问题就来了 , s.t. , . 如下图,当 的等高线慢慢扩大时,等高线与可行域(阴影部分)第一次相遇的点是个顶点,2个不等式同时起作用了。满足约束的最小值点从原来的黑点位置(切点)移动到了红点位置,现在跟哪条约束函数曲线都不相切。这时候就需要用到kkt条件了。这里的“条件”是指:某一个点它如果是最小值点的话,就必须满足这个条件(在含不等式约束的优化问题里)。这是个必要条件,前面说的也全部是必要条件。

对约束条件优化问题的理解
这个问题的解 应满足的KKT(卡罗需-库恩-塔克)条件为: 1. , ; 2. ; 3. .其中,μ叫KKT乘子,有多少个不等式约束就有多少个KKT乘子。加上问题3中的约束部分,就是完整版的KKT条件。对于有等式的情况,你把其中一个不等式约束换成等式,可行域变成了半条曲线,最小值点还是那个红点,和下面这种情况是一样的。下面看看KKT条件是怎么来的。在问题2中我们知道了约束曲线的梯度方向与曲线垂直,我在上图画出了两条约束曲线的负梯度方向(绿色箭头)和等高线的梯度方向(红色箭头)。如果这个顶点是满足约束的最小值点,那么该点处(红点),红色箭头一定在两个绿色箭头之间( 方向一定指向 减小的方向,即 的那一边)。即 能被 和 线性表出( ),且系数必非负( , )。也就是kkt条件中的1和21. , ; 2. .有时候,有的不等式约束实际上不起作用,如下面这个优化问题 , s.t. ; ; .如下图的 是不起作用的
对约束条件优化问题的理解

对于最小值点 ,三个不等式约束的不同在于 (起作用) (起作用) (不起作用, 最小值点不在 上)这时,这个问题的KKT条件1,2成了:1. , , ; 2. . 条件2中的 这一项让我们很苦恼啊, 的绿色箭头跟我们的红色箭头没关系。要是能令 就好了。加上条件3:3. 恰好能使 。由于 , ,所以前两项等于0,第三项 , 在条件3的作用下使得 . 正好满足需求。如果再多几项不起作用的不等式约束,比如 。要使就只能有 同样地, , , 只能出现 或者 和 异号的情况。但注意条件1限制了 , ,所以只能有 。因此不管加了几个不起作用的不等式约束,条件2都能完美实现:目标函数 的梯度 被起作用的不等式约束函数 的负梯度( )线性表出且系数 全部非负(红色箭头被绿色箭头夹在中间)。这样,优化问题的求解就变成对所有KKT条件解方程组。如果再定义一个拉格朗日函数令它对x的偏导为0,就是KKT条件中的条件2了。最后说明一下,以上所有都是局部极小值点的必要条件。据此求得的解不一定是局部极小值点(更别提全局了),原因是上图中我所画的等高线也许根本就不闭合,也就是说我们一直想要靠近的等高线中间的黑点压根就是个鞍点或者近似鞍点!

转载于:https://blog.51cto.com/yixianwei/2096865


http://chatgpt.dhexx.cn/article/usKBRdSN.shtml

相关文章

数学建模 非线性规划

一.非线性规划模型 1.概念: 如果目标函数或约束条件中包含非线性函数,就称该规划问题为非线性规划问题.一般来说,求解非线性规划问题要比求解线性规划问题困难得多,也不像线性规划问题那样有单纯形法这一通用方法,各个方法都有自己的适用范围 注意:如果线性规划的最优解存在,则…

博弈论中的Stackelberg模型和库恩塔克条件如何通过Matlab求解或者数值分析?

博弈论中的Stackelberg模型和库恩塔克条件如何通过Matlab求解或者数值分析? 下面是两个供应链成员的利润函数,其中p_c和p_b为决策变量,其余参数均在[0,1]之间。此外,b为领导者,c为跟随者。按照逆向归纳法求解可以得到…

拉格朗日乘子库恩塔克条件

拉格朗日乘子法的证明 在学习支持向量机的时候,计算对偶问题时用到了拉格朗日乘子法((Lagrange multiplier method)),回想起高中时使用拉格朗日乘子法求不等式约束条件下的最优化问题时的困惑,虽然一直知道用,但是却不知道为什么…

库恩塔克条件

KKT条件主要涉及凸优化问题,学习SVM的时候求解拉格朗日函数的对偶问题时,需要使用KKT条件来得到最终的。 1、对于无约束问题(unconstrained minimization): 1) 一阶必要条件为: 2) 二阶必要条件为: 即Hessian半正定 2、等式约束问…

卡罗需-库恩-塔克条件

卡罗需-库恩-塔克条件 维基百科,自由的百科全书 在数学中,卡罗需-库恩-塔克条件(英文原名: Karush-Kuhn-Tucker Conditions常见别名: Kuhn-Tucker,KKT条件,Karush-Kuhn-Tucker最优化条件&#x…

直观理解KKT条件

直观理解KKT条件 等高线 从等高线讲起。如果我们要优化 f ( x , y ) x 2 y f(x,y)x^2y f(x,y)x2y这个函数,给定约束为, x 2 y 2 1 x^2y^21 x2y21,我们希望在满足约束的情况下使得f最大。也就是说,我们希望找到一个最“上方”…

机器学习中的数学基础 5

优化问题简介 最优化定义 最优化,是应用数学的一个分支。主要研究在特定情况下最大化或最小化某一特定函数或变量。 数学表示: Y Y Y 是 随机变量 X X X 的函数,求 y ^ f θ ( X ) \widehat{y} f_{\theta}(X) y ​fθ​(X) &#xff0…

微信小程序真机测试 Provisional headers are shown 问题解决办法

微信开发工具请求正常,真机调试出现 Provisional headers are shown 图片源自:https://blog.csdn.net/xyphf/article/details/90045286 网上大部分原因为ssl证书问题,使用以下2个ssl证书检测工具 1.https://www.myssl.cn/tools/check-serve…

JS提示框效果

提示框 js事件 //提示确认删除 <a href"javascript:if(confirm(确实要删除该内容吗?))locationhttp://www.google.com">弹出窗口</a> function tusi(txt, fun) {   $(.tusi).remove();    var div $(<div style"background: url(/images/…

图图片

示例图片啊

Sturts

Sturts是什么&#xff1f; Sturts是JSP模式2(MVC)基础上突出实现的一个框架&#xff0c;是使用JSPServlet组成&#xff1b; Sturts框架提供&#xff1a; 标记库&#xff1a;也没黑色记者可以控制&#xff1b;支持国际化处理如:JSP显示为中文&#xff0c;可以转换为英文等...;…

tupian

转载于:https://www.cnblogs.com/yanyiyi/p/8295315.html

Gwallet小百科 | 一文透析腾讯区块链技术

作为后互联网时代下的新产物,区块链技术有着巨大想象空间,依托可溯源、不可篡改、去中心化等特性,构建起技术与应用场景融合的新生态体系。 自2015年起,腾讯便开始关注区块链技术并进行自主研发,腾讯FIT的TrustSQL聚焦于底层开发平台的研发和定制化的区块链应用落地;腾讯…

Gerrit常见命令及最佳实践

概述 本文记录了笔者在使用Gerrit&#xff08;一种免费、开放源代码的代码审查软件&#xff09;过程中的一些微小的经验&#xff0c;在这里做个简单的分享。 克隆工程 git clone ssh://tusixx.xx.cn:29428/project-name 如果使用了Git代理&#xff0c;请将xx.xx.cn:29428换成代…

quart定时任务

在SSM项目里面使用quart实现定时任务每10秒插入一条数据,使用xml配置方式实现。 1.创建定时任务类 package com.tencent.tusi.test.quartzTest;import com.tencent.tusi.business.entity.TSystemUsers; import com.tencent.tusi.business.service.TSystemUsersService; impor…

腾讯安全携手北京方正公证处开启智慧司法之路,全面保护电子数据存证安全

4 月17 日,腾讯安全联合北京市方正公证处举办了网络战略合作暨领御区块链-北京方正公证取证平台上线发布会,宣布在“区块链+司法”领域建立合作,应用区块链技术深化电子数据存证服务。北京市方正公证处副主任杨和平、腾讯领御总经理申子熹、腾讯TUSI区块链安全实验室专家王强…