当前位置: 首页 > news >正文

详细揭秘如何使用 对哦 原理

博客园好像渲染不明白这么多 Latex,不管了。typora 万岁。

参考资料:How to take the Dual of a Linear Program

将多元函数最优化问题改写为其对偶问题是一个机械的过程,下面以最优化方向为 \(\min\) 进行对偶为例,若最优化方向为 \(\max\) 则取反。

最优化问题可以从一个很随意的形式开始,对 \(x_i\) 的线性组合可能存在 \(\leq\)\(\geq\)\(=\) 三种约束的一种,注意限制不能是严格的。将所有约束转化为只有 \(\leq 0\)\(=0\) 两种情况。这是对偶的第一步。

接下来,对于每条约束,设置乘子变量 \(\lambda_i\)。若限制为 \(\leq0\),则 \(\lambda_i\geq0\),否则不做约束,将 \(\lambda_i\) 乘上对应约束左边的式子,加到需要最优化的函数上,这样你得到了一个关于 \(\lambda_i\)\(x_i\) 的多元函数 \(L(\lambda,x)\)\(\lambda\)\(x\) 都有对应的限制。

现在,\(\max_{\lambda}\min_xL(\lambda,x)\) 这个式子和原最优化问题的解相同。现在的 \(L(\lambda,x)\) 是以 \(\lambda\) 为主元,将其变形成以 \(x\) 为主元。随后删去包含 \(x\) 的项,相应的添加关于 \(\lambda_i\) 线性组合限制:

  • \(x_i\geq0\),限制为 \(\geq0\)
  • \(x_i\leq0\),限制为 \(\leq0\)
  • \(x_i\) 自由,限制为 \(=0\)

这样变成了一个关于 \(\lambda_i\)\(\max\) 方向上的最优化问题。强对偶定理指出,在原最优化问题存在最优解的情况下,对偶问题一定存在可行解。


可能有一些问题,比如 \(\max_{\lambda}\min_xL(\lambda,x)\) 为什么和原最优化问题的解相同,这部分先略过一下。

大概就是需要放缩一下。和拉格朗日乘数法比较像?有空再写。


2025.12.18 省选模拟赛 T3,作为例子演示一下。

\[\min\limits_{X_{i,j}\geq0}\sum\limits_i\sum\limits_j-X_{i,j}\\ \forall1\leq i\leq2n,\sum\limits_{j=1}^nX_{i,j}\leq A_i\\ \forall1\leq j\leq n,\sum\limits_{i=1}^{2n}X_{i,j}\leq B_j\\ \forall1\leq i,j\leq n,X_{i,j}\leq C_i\\ \forall n+1\leq i\leq2n,1\leq j\leq n,X_{i,j}\leq D_j \]

对于每个限制设置变量:

\[\max\limits_{a_i,b_i,c_{i,j},d_{i,j}\geq0}\min_{X_{i,j}\geq0}\sum\limits_i\sum\limits_j-X_{i,j}+\sum\limits_ia_i(-A_i+\sum\limits_jX_{i,j})+\sum\limits_jb_j(-B_j+\sum\limits_iX_{i,j})+\sum\limits_{i=1}^n\sum\limits_jc_{i,j}(-C_i+X_{i,j})+\sum\limits_{i=n+1}^{2n}\sum\limits_jd_{i,j}(-D_j+X_{i,j}) \]

展开:

\[\max\limits_{a_i,b_i,c_i,d_i\geq0}\min\limits_{X_{i,j}\geq0}\sum\limits_{i=1}^n\sum\limits_jX_{i,j}(a_i+b_j+c_{i,j}-1)+\sum\limits_{i=n+1}^{2n}\sum\limits_jX_{i,j}(a_i+b_j+d_{i,j}-1)+\sum\limits_i-a_iA_i+\sum\limits_j-b_jB_j+\sum\limits_{i=1}^n\sum\limits_{j}-c_{i,j}C_i+\sum\limits_{i=n+1}^{2n}\sum\limits_j-d_{i,j}D_j \]

添加限制:

\[\min\limits_{a_i,b_i,c_i,d_i\geq0}\sum\limits_ia_iA_i+\sum\limits_jb_jB_j+\sum\limits_{i=1}^n\sum\limits_{j}c_{i,j}C_i+\sum\limits_{i=n+1}^{2n}\sum\limits_jd_{i,j}D_j\\ \forall1\leq i,j\leq n,a_i+b_j+c_{i,j}-1\geq0\\ \forall n+1\leq i\leq 2n,j,a_i+b_j+d_{i,j}-1\geq0 \]

这个问题本质就是,可以用 \(A_i\) 的代价覆盖第 \(i\) 行,\(B_j\) 的代价覆盖第 \(j\) 列,\(C_i\) 的代价覆盖第 \(1\leq i\leq n\) 行的某个格子,\(D_j\) 的代价覆盖后 \(n\) 行第 \(j\) 列的某个格子,要求每个格子至少覆盖一次。从这里可以看出我们将限制和贡献进行了对偶。另一种更加广为人知的对偶方式也可以处理这道题,那种方式更能体现对偶的本质。但有时候那样对偶不太好处理。

有时候对偶的难点通常不在于对偶,而在于对偶之后。

http://www.gsyq.cn/news/122910.html

相关文章:

  • 非期望超效率SBM模型:Matlab实现与探讨
  • 【linux内核】cephfs内核客户端回写
  • WebSocket 的使用
  • 欧几里得算法 求最大公约数(辗转相除法)
  • PFC2D5.0颗粒流离散元【人工合成岩体】河谷下切算例 本案例提供参考,可以自行修改参数或者...
  • 肠道病毒71型(EV71)重组蛋白——科研的关键工具与抗原标准
  • 开源赋能+技术深耕:AgentRun Sandbox SDK 重塑智能体开发新范式
  • 承兑汇票识别接口技术解析与应用实践
  • 控制流语句花括号的省略
  • 物联网智能灯具哪家好:TOP5权威榜单专业解析 - 品牌测评家
  • 基于深度学习的水果品质检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • 轻量、高敏、高刚:BOTA传感器为UR机械臂注入力觉智能
  • 本地知识库:数据安全与智能管理的终极解决方案
  • Seekdb试用心得
  • 静待鱼跃龙门 —— 我是鲤鱼
  • VT五轴仿真模型与DMU五轴VT机床仿真模型:一键导入,轻松仿真
  • 协方差(covariance)与相关系数(correlation):数据关系的量化语言
  • 【建议收藏】AI大模型应用开发全攻略:Messages、RAG、Agent、ReAct等核心技术深度解析
  • 《创业之路》-742-技术创业者面临哪些问题?
  • 【已解决】PyCharm中使用uv创建项目时Python安装失败的问题
  • COCO 数据集
  • 《Nature Communications》新研究:基于光致发光电极的彩色可拉伸显示技术实现
  • 如何为超宽屏显示器选择 KVM 切换器?
  • 零基础入门学网络安全(详细),看这篇就够了
  • 喷砂除锈设备工艺流程是什么?| 广东鑫百通喷砂机厂家
  • 高通跃龙QCS6490平台视频录制与上传(1): 系统环境搭建指南
  • 票价冲击200元!《阿凡达3》点映价格全解析——观众到底买不买?
  • 在家开泰拉瑞亚私服,搭载cpolar让外地朋友也能玩!
  • 可持续测试实践探索
  • 多路定制化电源模块测试解决方案案例-纳米软件