首页 > 其他分享 >闲话 22.12.31

闲话 22.12.31

时间:2022-12-31 21:14:06浏览次数:71  
标签:max min 闲话 sum mathsf 22.12 bm 31 lambda

闲话

LP 系列精神续作!

以及没人想到我会在 12.31 更闲话吧!哈哈哈背刺!
明天闲话就是 23.01.01 了!激动激动

41,43,47。数素数吧——素数是谁也无法分割的数字。

《ハローマリーナ(Hello Marina)》Vo. 歌愛ユキ & 初音ミク By. 稲葉曇
也是很符合冬日气氛的一首歌,就像是在寂寥的深空下望着远方的样子。
但是我脑海中浮现的景色是深夜路灯旁半暗的地方,所以没有远方的景色,大抵只是一些远山的孤影。
积雪融化了。但这意味着冬天的如何呢?伤痕也许也在心底刻下了,但未来又会如何呢?
这首歌拥有着这样的两面性,希望读到这里的人可以听一听。

线性规划的拉格朗日对偶

首先说一下一般的拉格朗日对偶。其实就是拉格朗日乘子法。这段是抄论文的,他的语言我看不太懂。

假设 \(f(x), g(x)\) 均为关于 \(x\) 的函数,此时要求 \(\max f(x) \text{ s.t. } g(x) \le 0\)。我们引入拉格朗日乘子 \(\lambda\),记 \(L(\lambda, x) = \max f(x) - \lambda g(x)\),有原式的最大值 \(\le \min L(\lambda, x)\)。

\(L(\lambda, x)\) 关于 \(\lambda\) 是凸的。也就是说,

\[\begin{aligned} & L(a\lambda_1 + (1 - a)\lambda_2, x) \\ = \ & f(x) - (a\lambda_1 + (1 - a)\lambda_2)g(x) \\ = \ & a(f(x) - \lambda_1g(x)) + (1 - a)(f(x) + \lambda_2g(x)) \\ \le \ & aL(\lambda_1, x) + (1 - a)L(\lambda_2, x) \end{aligned}\]

然后对给定的 \(x\) 我们可以二分斜率 / 三分求最小值。

然后是线性规划的拉格朗日对偶。

考虑一个线性规划的标准形式。我们令 \(\bm f(\bm x) = \bm c^{\mathsf T} \bm x,\ \bm g(\bm x) = A\bm x - \bm b,\ \bm \lambda = \bm y^{\mathsf T}\)。那么得到

\[\begin{aligned} & \max_{\bm x \ge 0} \bm f(\bm x) \\ \le \ & \min_{\bm y \ge 0} \max_{\bm x \ge 0} \bm c^{\mathsf T} \bm x - \bm y^{\mathsf T}(A\bm x - \bm b) \\ = \ & \min_{\bm y \ge 0} \max_{\bm x \ge 0} \bm (c^{\mathsf T} - \bm y^{\mathsf T}A)\bm x + \bm y^{\mathsf T} \bm b \\ = \ & \min_{\bm y \ge 0} \bm y^{\mathsf T} \bm b \qquad \text{ s.t. } (c^{\mathsf T} - \bm y^{\mathsf T}A) \le 0 \end{aligned}\]

可以发现若 \(c^{\mathsf T} - \bm y^{\mathsf T}A > 0\) 则 \(\max\) 的部分能取到 \(\inf\),不会被 \(\min\) 统计,因此抛弃即可。可以发现这样得到的形式就是正常的对偶形式

这玩意没用啊 始末状态相同?需要注意的是,这里的空间曲线积分和路径有关(

我们发现,这过程是拉格朗日乘子法的形式。众所周知,拉乘的作用是将约束条件整合入求极值条件中,因此这个做法理论上能够帮助我们去除线性规划的一些约束条件。看不懂例题。

可以发现,过程中出现了 \(\min \max f(x)\) 的形式。想到网络流模型,我们也可以将这一点看作模型,通过拉格朗日对偶转化。

kitamasa 的反击

给定一张二分图 \((U, V)\),\(u\to v\) 的边权为 \(w_{u, v}\)。有 \(k\) 个互不相交的集合 \(U_i\),可以用 \(b_i\) 的代价让所有 \(u\to v \text{ s.t. } u\in U_i\) 的边权加 \(1\)。我们希望最大化最小权值完美匹配(右侧完全匹配)的权 - 花费的代价。

\(|U| \le 100, |V|\le 1000\)。

我们令 \(\lambda_i\) 为第 \(i\) 个集合加权的次数,\(f_{u,v}\) 表示 \(u\to v\) 是否在结果完美匹配 \(f\) 中。容易写出

\[\max_{\bm \lambda \ge \bm 0}\min_{|f| = |V|} \sum_{i = 1}^k\left(\sum_{u\in U_i}\sum_{u\to v} (w_{u, v} + \lambda_i)f_{u,v} - b_i \lambda_i\right) \]

\[\max_{\bm \lambda \ge \bm 0}\min_{|f| = |V|} \sum_{(u, v)} w_{u,v} f_{u,v} - \sum_{i = 1}^k\left(\sum_{u\in U_i}\sum_{u\to v} f_{u,v} - b_i\right)\lambda_i \]

这 \(\min \max\)。我们将 \(\bm \lambda\) 看作拉格朗日乘子,\(\sum_{u\in U_i}\sum_{u\to v} f_{u,v} - b_i\) 看作约束条件,则这个就是拉格朗日对偶卡在一半的形式,对偶得到

\[\begin{aligned} \min_{|f| = |V|} \quad & \sum_{(u, v)} w_{u,v} f_{u,v} \\ \text{s.t.}\quad & \forall i,\ \sum_{u\in U_i}\sum_{u\to v} f_{u,v} \le b_i \end{aligned}\]

由于 \(U_i\) 两两不相交,约束即为对于 \(U_i\) 内的点流量总和不超过 \(b_i\)。求最小费用的完美匹配,跑最小费用流即可。

还有最后一个问题,\(\bm \lambda\) 的整数限制在最后不见了。但是可以知道,整数费用流问题以及它的对偶一定存在整数最优解(证明详见论文)。因此拉格朗日乘子(即对偶变量)能取得整数最优解,因此该做法正确。

稍晚时候会实现一下。

标签:max,min,闲话,sum,mathsf,22.12,bm,31,lambda
From: https://www.cnblogs.com/joke3579/p/chitchat221231.html

相关文章

  • SequoiaDB分布式数据库2022.12月刊
    本月看点速览赋能金融科技,产品实力获权威认可技术实力吸睛,获国际知名媒体、权威机构肯定朋友圈持续壮大,与两家合作伙伴完成互认证青杉计划2023已开启,一起攀登更高的“......
  • C++通讯录管理程序[2022-12-31]
    C++通讯录管理程序[2022-12-31]问题描述:编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。基本要求:程序应提供的基......
  • 写于2022年12月31日
    明年继续努力,不负韶华,做一名优秀的工程师!这个世界上最不缺的,就是普通;你想成为什么样的人?你为之付出多少汗水!你是否倾其所有,还是将将就就!就像士兵突击里五班长说的,千万不要混......
  • C++图书收藏模拟系统[2022-12-31]
    C++图书收藏模拟系统[2022-12-31]课题名称:图书收藏模拟系统的设计与实现课题简介目前有一些著名的网上图书购买系统,比如当当网、亚马逊等,他们都有收藏和购买图书的功......
  • C/C++杂志订阅管理系统[2022-12-31]
    C/C++杂志订阅管理系统[2022-12-31]题目26“杂志订阅管理系统设计”1、问题描述使用计算机对杂志进行管理,该杂志最多拥有订阅用户不超过50人,每个订户的信息包括:编......
  • C++银行账户管理仿真软件[2022-12-31]
    C++银行账户管理仿真软件[2022-12-31]3.4银行账户管理仿真软件设计一个银行账户管理软件,可以实现:用户登录,账户管理,存取款等功能,要求通过读写文件来读取数据和保存数......
  • C/C++学生管理系统(单链表)[2022-12-31]
    C/C++学生管理系统(单链表)[2022-12-31]利用数据结构的单链表的框架实现学生管理系统以下功能要求:1)学生个人信息:姓名、学号、专业、性别、年龄、联系方式、成绩。2)学......
  • C/C++学生成绩管理系统[2022-12-31]
    C/C++学生成绩管理系统[2022-12-31]课题三:学生成绩管理系统设计学生成绩信息包括:学期,学号,班级,姓名,四门课程成绩(语文、数学、英语和计算机)等。主要功能:(1)系统以菜......
  • C/C++公司销售管理流程模拟系统[2022-12-31]
    C/C++公司销售管理流程模拟系统[2022-12-31]公司销售管理流程模拟。【背景描述】请采用合适的数据表示方式模拟公司的销售管理流程。【数据分析】本系统的目标是模拟设......
  • C/C++猜数字游戏[2022-12-31]
    C/C++猜数字游戏[2022-12-31](***)猜数字游戏一、问题猫述:该游戏可以由程序随机产生或由用户输人四个0到9之间的数字,且不重复玩游戏者通过游戏提示输入八次来匹配上......