第四章 组合优化问题的原始-对偶算法-1
最优化理论与方法 对偶原理

【例】原问题与对偶问题
某工厂拟生产甲、乙两种产品,需消耗煤、电、油 三种资源。有关数据如表所示:
产品资源单耗资源 煤(t) 电(kW·h) 油(t) 单位产品价格(万元) 甲 9 4 3 7 乙 4 5 10 12 资源限量 360 200 300
问题一: 总收入最大的生产方案 问题一:试拟订使总收入最大 生产方案 总收入最大 生产方案。 问题二: 问题二:若厂家不再打算生产甲、乙产品,而是打算将其资源全部卖掉。 厂家要求:其收入不低于生产产品时的收入;买方希望:原料价格 越低越好。试拟定能够保证卖方收入 保证卖方收入且使买方支出最小 定价方案。 支出最小的定价方案 保证卖方收入 支出最小 定价方案
x x= B 0
对偶单纯形法的基本思想
求改进的对偶可行的基本解的过程,也就是选择离基变 离基变 进基变量,进行主元消去 主元消去的过程。这与单纯形方法 量和进基变量 进基变量 主元消去 有类似之处。 与前面介绍的单纯形法 区别 单纯形法的区别 单纯形法 区别在于:在单纯形法的迭代 过程中,始终保持右端列(目标函数值除外)非负,即保 持原问题的可行性;而在对偶单纯形法中,要保持所有 的判别数 wp j − c j ≤ 0 (对于极小化问题),即保持对偶可 保持对偶可 行性。(当然,在每次迭代中不要求右端列各分量均非 行性 负,正因为如此,也就不需要引入人工变量 不需要引入人工变量。) 不需要引入人工变量
min w = 360 y + 200 y + 300 y 1 2 3 s.t . 9y + 4y + 3y ≥ 7 1 2 3 4 y + 5 y + 10 y ≥ 12 1 2 3 y ,y ,y ≥0 1 2 3
下面将会看到,这两个问题互为对偶问题,其中一个称为原问题, 则另一问题就是它的对偶问题。
第四章 组合优化问题的原始-对偶算法-1

F = { 序列 P = {e j1, e j2 ,L, e jk }: P 为中从 s 到 t 的有向路}
k
∑ 其费用函数为: c(P) = c ji 。 i =1
最短路问题可以描述为一个线性规划如下:
定义图 G 的点—弧关联矩阵 A = (aij )m×n ,其中:M =| V | 为|顶点数,n =| E | 为边数,
短路问题,或用最短路的算法作为子程序求解。 例如:通信网络的路由问题; 最大期望容量问题; 背包问题等。 可以说,最短路问题的用途远远超出了其直观意义。
定义:给定一个有向图 G=(V,E)和每一条弧 e j ∈ E 上的一个非负权 cij ≥ 0 。最短路问
题(SP),就是求从一个特殊的起始点 s 到另一个特殊的终点 t 的一条有向路,使得路上的总 权和最小。
(RP)
(DRP)
因为 ys ≤ 1,并且极大化 ys ,因此(DRP)是很容易求解的。
我们可以试验 ys = 1的情况:
(1) 如果存在仅利用 J 中的弧自 s 到 t 的路,则由 yt = 0 可以推出 ys = 0 。
下面是仅利用 J 中的弧自 s 到 t 的路,则由 yt = 0 且 y j − yt ≤ 0, (i,t) ∈ J 知 y j = 0 ,
=
(i,
j) ∈ E ,对应的弧不在最短路
上,即 f j * = 0 。
三、最短路问题原始-对偶算法
由于 yt = 0 总成立,所以(SP)的对偶问题等价于下述规划问题
max ys
s.t. yi − y j ≤cij (i, j) ∈ E
(D)
yi无限制,i ∈V
yt= 0
允许弧集合定义为:
博弈论与组合优化中的对偶问题

1.1. 博弈论发展过程中的四个 研究纲领
• • • • von Neumann纲领 1928 Nash纲领1950 Aumann纲领1974 重复博弈中的有限自动机博弈理论、 复杂性理论和学习理论 1993
1.1 博弈论发展过程中的四个 研究纲领
von Neumann纲领 线性规划对偶性
Nash纲领
1.5 二人一般博弈与非线性规划对偶 之间的对应关系
• 从Nash纲领到Aumann纲领的转向得到了很多博 弈论学者的支持: • 首先是Selten、Harsanyi等人在Aumann纲领正式 提出前对均衡精化的研究 • 其次是Hart和Schmeidler、Nau和McCardle、 Myerson、Fudenberg和Levine、Foster和Vohra、 Hart和Mas-Colell等人在Aumann纲领正式提出后 对均衡粗化具体内容的研究
1.6 策略复杂性与复杂性与简单性对 偶之间的对应关系
• 但策略复杂性研究目前没有充分反映博弈的对偶 性质的新概念 • 原因在于忽视了博弈论与组合优化的联系 • Shubik(1997)关于博弈的复杂性与简单性的思考 或许提示了博弈的一种新的对偶性
1.7 研究次序
• 问题在于:必须先将Aumann纲领中隐含的精化 和粗化的对偶性研究清楚,才能进一步研究策略 复杂性和学习理论的对偶性 • 故应先研究精化和粗化的对偶性
1.5 二人一般博弈与非线性规划对偶 之间的对应关系
• Kakad e和Foster : • 他们的结论与Hart和Mas-Colell(2003b)的结论 并不冲突,因为后者的学习设定不允许从博弈行 动的历史中提取丰富统计数据。 • 看来Nash均衡与均衡粗化之间还有很多关系有待 人们去发现,Nash均衡与均衡粗化的统计学基础 还有待加强。 • 这就导致了策略复杂性和学习理论的研究
组合最优化问题及其求解优化算法

组合最优化问题最基本的特点就是变量是离散的, 由此导致其数学模型中的目标函数和约束函数在其可行域内是也是离散的。
在现实世界中,许多的实际问题本质上是离散事件的而不是连续事件,都可归结为组合最优化问题。
这类问题在理论上多数都属于NP难问题,NP类问题仍属于可计算问题,即存在算法来求解。
求解这类组合最优化问题方法分为精确算法和近似算法两类。
常用的精确算法有动态规划、分支定界和枚举等。
精确算法只能解决一些小规模问题,当求解小规模组合优化问题时可以用这类精确算法在较短的时间内得到最优解。
当求解大规模组合优化问题时,理论上可以得到问题的最优解,但由于计算量太大,所以使用精确算法并不可行。
利用精确算法求解NP-hard组合优化问题时,即使能得到最优解,但所需要的计算时间过长,在实际问题中难以直接应用。
近似算法是指在合理的计算时间内找到一个近似的最优解。
近似算法虽然求解速度较快,但并不能保证得到问题的全局最优解。
近似算法分为基于数学规划(最优化)的近似算法、启发式算法和基于智能优化的近似算法。
1) 基于数学规划(最优化)的近似算法是根据对问题建立的数学规划模型,运用如拉格朗日松弛、列生成等算法以获得问题的近似解,是以数学模型为基础,采用列生成、拉格朗日松弛和状态空间松弛等求解问题。
拉格朗日松弛(LR)算法求解问题的主要思想是分解和协调。
首先对于NP难的优化问题,其数学模型须具有可分离性。
通过使用拉格朗日乘子向量将模型中复杂的耦合约束引入目标函数,使耦合约束解除,形成松弛问题,从而分解为一些相互独立的易于求解的子问题,设计有效的算法求得所有子问题的最优解。
利用乘子的迭代更新来实现子问题解的协调。
列生成(Column generation, CG)算法是一种已经被认可的成功用于求解大规模线性规划、整数规划及混合整数规划问题的算法。
与智能优化算法相比,基于数学规划的近似算法的优点是通过建立问题的数学模型,松弛模型中难解的耦合约束或整数约束,得到的松弛问题的最优解可以为原问题提供一个下界。
【国家自然科学基金】_原始-对偶算法_基金支持热词逐年推荐_【万方软件创新助手】_20140731

科研热词 推荐指数 阶梯效应 3 退化 3 线性规划 3 摄动 3 图像恢复 3 单纯形法 3 亏基 3 正则项 2 数据保真项 2 总广义变分(tgv) 2 变分模型 2 原始对偶算法 2 原始-对偶算法 2 光流场 2 lu分解 2 非局部中值滤波 1 集合覆盖 1 邻近算子 1 连续递推法 1 近似算法 1 运动虚拟机放置 1 自治常微分方程组 1 线性交互式通用优化器(lingo) 1 稀疏多频带信号 1 现代内点法 1 次梯度算法 1 机器视觉 1 最大化最小信干噪比 1 最优潮流 1 时空域跟踪 1 时域对偶 1 数据项 1 拉格朗日松弛 1 总广义变差 1 总变分 1 张量空间 1 小区间干扰 1 对偶规划 1 对偶理论 1 复杂度 1 图像放大 1 可分离凸优化 1 变分光流 1 原始对偶内点算法 1 原始对偶 1 原始=对偶 1 协同波束成形 1 半定规划 1
2014年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
2013年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
推荐指数 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
组合优化问题的算法研究和应用

组合优化问题的算法研究和应用组合优化问题是一类运筹学中非常重要的问题,它的研究与应用涉及到很多领域,如经济学、管理学、计算机科学等。
组合优化问题比较复杂,通常需要寻找一些高效的算法来求解。
在这篇文章中,我们将探讨组合优化问题的算法研究和应用。
一、组合优化问题的定义和分类组合优化问题是在有限个元素中选择满足特定条件的子集的一类问题。
组合优化问题可以分为三类:最优化问题、计数问题和结构问题。
最优化问题需要找到达到最大(小)值的解,比如背包问题、旅行商问题等;计数问题需要确定满足某种条件的子集的数量,比如子集和问题、图同构问题等;结构问题则是研究满足特定条件的子集的结构,比如哈密顿回路、二分图匹配等。
二、组合优化问题的算法对于组合优化问题的求解,有很多算法可以选择。
这些算法各有优缺点,选择不同的算法可以得到不同的运行结果。
以下是一些常用的算法:1、贪心算法贪心算法是一种局部最优解法,它基于局部最优解不断迭代求解全局最优解。
贪心算法通常比较简单,但是并不一定能得到最好的解。
2、回溯算法回溯算法是一种递归的算法,它通过穷举所有可能的解来找到最优解。
回溯算法也许能够得到最优解,但是常常会消耗很多时间和空间。
3、分支定界算法分支定界算法是一种常用于求解最优化问题的算法,它通过剪枝技术减少搜索空间的大小,从而提高算法的效率。
4、动态规划算法动态规划算法是一种高效的解决最优化问题的算法,它通过将问题分解为多个子问题,然后根据子问题的解推导出原问题的解。
5、遗传算法遗传算法是一种模拟自然界遗传进化的算法,可以用于求解优化问题。
遗传算法借鉴了进化论的思想,将经过选择、交叉、变异等操作后的个体不断进化,最终找到最优解。
三、组合优化问题的应用组合优化问题的应用非常广泛,可以涉及到各个领域。
以下是一些组合优化问题的应用案例:1、最优化问题背包问题:如何用有限的背包容量装下最多的物品?旅行商问题:如何走遍所有城市并返回起点的最短路径?最小路径覆盖:如何用最小的路径覆盖图中的所有节点?2、计数问题子集和问题:有一个含有n个正整数的集合,如何从中找出若干个元素,使它们的和等于k?划分问题:如何将一个集合划分成若干个互不相交的子集,使得每个子集的元素之和相等?图同构问题:如何判定两个图是否同构?3、结构问题哈密顿回路:如何找到一条经过所有节点的回路?二分图匹配:如何最大化匹配一个二分图中的节点?总之,组合优化问题是各个领域中都存在的一类问题,这些问题的解决可以帮助人们进行决策、规划和优化等工作。
组合优化问题与算法设计
组合优化问题与算法设计随着信息技术的发展,计算机已经成为各个领域的重要工具,其中组合优化问题成为了计算机科学中的一个重要研究方向。
组合优化问题是指在具有一定约束条件下,找到最优的组合方案。
组合优化问题涉及到许多领域,例如图论、网络流、线性规划等等,它们都可以用来解决不同的优化问题。
本文将介绍组合优化问题的基本概念、算法设计以及应用领域。
一、组合优化问题的基本概念组合优化问题是一类重要的数学问题,它主要研究如何在给定的条件下,寻找最优或次优的方案。
组合优化问题一般由两部分组成,即目标函数和约束条件。
其中,目标函数可以是最小化或最大化某个变量,而约束条件则用来描述问题的限制条件。
组合优化问题是一个复杂的问题,它涉及到多个维度的约束条件、多个变量的目标函数等多个因素。
例如在一个网络中选取最短路径或最小生成树,或在一个生产线中安排生产任务使得开销最小等等。
由于组合优化问题本质上是算法问题,因此需要设计算法来求解最优方案。
二、算法设计在求解组合优化问题时,经常会用到各种算法,如贪心算法、动态规划算法、回溯算法、分支定界法等等。
由于组合优化问题的多样性,不同应用场景需要选用不同的算法。
下面简单介绍几种常见的算法。
1. 贪心算法贪心算法是一种简单而有效的算法,它适用于求解一些具有贪心策略的优化问题。
贪心算法的基本思想是:在每一步选择中都采取当前状态下最优的选择,然后再去解决子问题。
例如,在一条路径上选择总是当前最短的边,这样就能很快得到最短路径。
但是,贪心算法并不能保证求得全局最优解,因为它只考虑了局部最优解。
2. 动态规划算法动态规划算法是一种具有广泛应用的算法。
它主要用于求解多阶段决策问题,其核心思想是将一个复杂的问题分解成若干个子问题,每个子问题只求解一次,并将其结果存储起来,以便于后面的计算。
随着子问题规模的不断缩小,最终可以得到原问题的解。
动态规划算法在网络流、最短路问题、背包问题等方面都有着广泛的应用。
组合优化问题的模型设计与算法求解
组合优化问题的模型设计与算法求解组合优化问题是在有限集合的所有子集中寻找最优解的问题,这些问题包括诸如最大割、最小哈密顿路径、匹配问题和指派问题等。
这些问题对于解决实际问题具有重要意义,因此组合优化问题的模型设计和算法求解是非常关键的研究方向。
组合优化问题的建模组合优化问题需要建立数学模型,才能进行算法设计与求解。
通常情况下,组合优化问题的模型可通过建立某些集合之间的关系来描述。
例如,针对最小割问题,我们可以通过建立割的概念,把问题转化为寻找两个点集之间的最小割。
一般情况下,组合优化问题需要遵守以下三个基本规则:1. 组合问题必须基于离散数据结构,如图形、网络、排列、集合等。
2. 贪心、动态规划、分支界限等算法可用来解决一些特殊的组合优化问题。
3. 对于一些难以求解的问题,需要寻找最优解的近似算法,其误差范围可在算法设计过程中控制。
组合优化问题的算法求解通常情况下,组合优化问题的建模过程经常是模棱两可的。
这时,我们需要寻找相应的算法,对建模的问题进行求解。
目前,大多数组合优化问题没有通用的求解方法,因此需要针对特定问题进行算法设计。
1. 枚举法枚举法是组合优化问题求解的最基本方法之一。
枚举法主要是通过遍历所有可能的解来寻找最优解。
但是,因为组合数目的爆炸性增长,枚举法不适用于解决具有大规模数据的问题。
通常情况下,枚举法只能够解决较小规模的问题。
2. 分支界限法分支界限法是通过逐步将解空间分解为较小的子空间,从而避免枚举整个解空间。
通过提前剪枝和减少搜索空间的方法,我们可以有效地减少计算量。
但是,对于某些问题而言,分支界限法同样存在着计算复杂度爆炸的问题。
因此,分支界限法同样只适用于中等规模的问题。
3. 近似算法对于一些实际的组合优化问题,我们常常需要求解最优解,但是这些问题的求解非常复杂。
针对这些问题,我们可以采用近似算法,其求解速度要快于精确算法,但是其结果并不保证是最优解。
例如,常用于解决图形分裂问题的 Kernighan-Lin 算法,就是一种近似算法。
应用运筹学基础:线性规划(5)-原始对偶方法
应⽤运筹学基础:线性规划(5)-原始对偶⽅法这⼀节课讲解了线性规划中的原始对偶⽅法(primal-dual method),并以最短路问题为例说明该⽅法的应⽤。
原始对偶⽅法原始对偶⽅法利⽤的就是上⼀节课中讲到的。
我们⾸先找到对偶问题的⼀个可⾏解 $y$,并尝试找到⼀个原问题的可⾏解 $x$,使得 $x$ 和$y$ 满⾜互补松弛定理。
如果我们找到了这样的 $x$,那么 $x$ 和 $y$ 就分别是原问题和对偶问题的最优解;否则我们就需要调整 $y$,让它变得更好,继续尝试,直到找到最优解为⽌。
寻找对偶可⾏解考虑以下线性规划问题作为原问题 $$\begin{matrix} \min\limits_x & c^Tx \\ \text{s.t.} & Ax = b \ge 0 \\ & x \ge 0 \end{matrix}$$ 它的对偶问题为 $$\begin{matrix} \max\limits_x & b^Ty \\ \text{s.t.} & A^Ty \le c \end{matrix}$$ 我们⾸先需要获得⼀个对偶问题的可⾏解。
如果 $c \ge 0$,显然 $y = 0$ 就是对偶问题的⼀个可⾏解,否则我们可以使⽤如下⽅法寻找可⾏解。
给原问题增加⼀个变量与⼀条约束 $x_1 + x_2 + \dots + x_n + x_{n+1} = b_{m+1}$,其中 $b_{m+1}$ 需要⾜够⼤,⾄少要⼤等于 $x_1 + x_2 + \dots + x_n$ 可能的最⼤值。
这样的约束就不会改变原问题。
加⼊新约束后,我们写出新的对偶问题 $$\begin{matrix} \max\limits_y & b^Ty + b_{m+1}y_{m+1} \\ \text{s.t.} & A^Ty +y_{m+1}\begin{bmatrix} 1 & 1 & \dots & 1 \end{bmatrix}^T \le c \\ & y_{m+1} \le 0 \end{matrix}$$ 我们很容易看出这个新对偶问题的可⾏解为$y_i = 0 \quad \forall i \in \{1, 2, \dots, m\}$ 以及 $y_{m+1} = \min\limits_i \quad c_i$。
The Primal-Dual Algorithm(原始对偶优化算法)
Dual max w = π′b
π′A ≤ c′ π′ ≷ 0
Assume b ≥ 0 and we know dual feasible π.
Recall that x, π are jointly optimal iff they satisfy
∀i, πi(a′ix − bi) = 0 and ∀j, (cj − π′Aj)xj = 0.
cj − π′Aj π¯′Aj
The new cost is
w∗ = π′b + θ1π¯′b = w + θ1π¯′b > w.
11
procedure primal-dual begin
infeasible := ‘no’, opt := ‘no’; let π be feasible in D while infeasible =‘no’ and opt =‘no’ do begin set J = {j : π′Aj = cj};
8
Dual max w = π′b
π′A ≤ c′ π′ ≷ 0
J = {j : π′Aj = cj} π is feasible
DRP max w = π′b
π′Aj ≤ 0 j ∈ J πi ≤ 1 i ≤ m πi ≷ 0
π¯ is optimal
We “improve” cost of π by setting π∗ = π + θπ¯, θ > 0.
10
Dual max w = π′b
π′A ≤ c′ π′ ≷ 0
J = {j : π′Aj = cj} π is feasible
DRP max w = π′b
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
maxω = y s yi − y j ≤ 0, (i, j) ∈ J yi ≤ 1, 对一切i yi无限制 yt = 0
(RP)
(DRP)
因为 ys ≤ 1,并且极大化 ys ,因此(DRP)是很容易求解的。
我们可以试验 ys = 1的情况:
(1) 如果存在仅利用 J 中的弧自 s 到 t 的路,则由 yt = 0 可以推出 ys = 0 。
(2)如果不存在仅利用 J 中的弧自 s 到 t 的路,那么在不破坏约束 yi − y j ≤ 0 的条件下, 将仅利用 J 中的弧自 s 有路可到达的所有节点对应的对偶变量分配值 1( ys = 1),将仅
4
利用 J 中的弧自 i 到达节点 t 的所有节点对应的对偶变量分配值 0( yt = 0 ):
k
∑ 其费用函数为: c(P) = c ji 。 i =1
最短路问题可以描述为一个线性规划如下:
定义图 G 的点—弧关联矩阵 A = (aij )m×n ,其中:M =| V | 为|顶点数,n =| E | 为边数,
且
aij = ⎪⎨⎧+-11::若若eejj的的终起点点为为ii((eej由j由顶顶点点ii射射入出的的弧弧))
思考:为什么 f * 可以不限定为{0,1}?
二、最短路问题对偶规划 (SP)的对偶:
对于上述(SP),对每一个约束(对应于一个节点) i , 指派一个变量 yi ,由关联矩阵的定
义可知,可以得到(SP)的对偶问题:
max ys − yt s.t. yi − y j ≤cij (i, j) ∈ E
或者
max ys − yt
s.t. AT y ≤ c
(D)
y无约束
yi 的意义: yi 表示从定点 i 到终点 t 的最短的费用。
(i, j) ∈ E ,当然有 yi − y j ≤ cij 。
2
j
i t
互补松弛条件的意义:
根据互补松弛条件, f * 和 y *分别为原问题和对偶问题的最优解的充分必要条件:
⎪⎩ 0:
其
余
i = 1,2,L, m; j = 1,2,L, n 对弧 e j 定义一个变量 f j = f (e j ) ,表示沿弧 e j 方向通过的货流。流的守恒:
aiT f = 0(除s,t外的其它点) 其中f是一个向量,f = ( f1, f2 ,L, f n)T aiT:A的第i行
从 s 到 t 的一条路可以设想为:一个单位流,从 s 流向 t,这样的流必然满足:
定义:给定一个有向图 G=(V,E)和每一条弧 e j ∈ E 上的一个非负权 cij ≥ 0 。最短路问
题(SP),就是求从一个特殊的起始点 s 到另一个特殊的终点 t 的一条有向路,使得路上的总 权和最小。
作为优化问题,它的可行集为:
F = { 序列 P = {e j1, e j2 ,L, e jk }: P 为中从 s 到 t 的有向路}
⎧1,仅利用 J中的弧自s有路可到达路可到 i
yi = ⎪⎨0,仅利用 J中的弧自i有路可到达路可到 t
⎪⎩1,
其它情形
这样得到(DRP)的一个可行解,其目标函数值 ys = 1,从而是最有解(不是唯一最有解)。
然后计算θ1 :
θ1
=
min
(i, j )∉J
{cij
− ( yi
−
yj}
yi − y j >0
修改 y 和 J ,并且重解(DRP),直到存在仅利用 J 中的弧自 s 到 t 的路为止。
所以,最短路问题的原始-对偶算法,是把最短路问题归结为一系列简单的子问题: 自一个给定点出发,求由它可到达的节点集合。
5
yt= 0
允许弧集合定义为:
对应的限制的原始问题为:
J = {弧(i, j) : yi − y j = cij }
3
m−1
∑ minξ = xia i =1
⎜⎛ 1 ⎟⎞ 行s
⎜0⎟
Af
+
xa
=
⎜ ⎜
0 ⎟⎟
⎜M⎟
⎜ ⎝
0 ⎟⎠
f j≥ 0 j = 1,2, L, n
fj =0 j∉J
xia ≥ 0
即:
f
* j
(
yi*
−
y
* j
− cij )
= 0, ∀e j
= (i,
j) ∈ E.
(1)最短路上的每一条弧(对应于 f j* > 0 ),对应于对偶问题中的不等式取等号
( yi * − y j * = cij ,最短路走 E 中的弧 e j = (i, j) ∈ E );
(2)对偶问题中每一个严格不等式
下面是仅利用 J 中的弧自 s 到 t 的路,则由 yt = 0 且 y j − yt ≤ 0, (i,t) ∈ J 知 y j = 0 ,
一次类推可以得到 ys = 0 。
i s
j
t
从而,得到(DRP)的最有解, ξmin = ωmax = 0 ,此时 J 中的弧自 s 到 t 的任何一条路都是
原问题的最有解,即 s 到 t 的最短路。
yi*
−
y
* j
< cij , e j
=
(i,
j) ∈ E ,对应的弧不在最短路
上,即 f j * = 0 。
三、最短路问题原始-对偶算法
由于 yt = 0 总成立,所以(SP)的对偶问题等价于下述规划问题
max ys
s.t. yi − y j ≤cij (i, j) ∈ E
(D)
yi无限制,i ∈V
第四章 组合优化问题的原始-对偶算法-1
4.1 最短路问题的原始-对偶算法
一、最短路问题的一个线性规划模型描述 最短路问题(shortest path problem)是网络优化中一个基本问题,许多问题可化为最
短路问题,或用最短路的算法作为子程序求解。 例如:通信网络的路由问题; 最大期望容量问题; 背包问题等。 可以说,最短路问题的用途远远超出了其直观意义。
1
⎜⎛ ⎜
−11⎟⎟⎞ 行行st::终起点点流流出进一一个个单单位位的的流流
Af
=
⎜ ⎜
0
⎟ ⎟
中间结点:
流量守恒
⎜M⎟ M
M
⎜ ⎝
0
⎟ ⎠
中间结点:
流量守恒
考察最小费用问题:
min cT f
⎜⎛ ⎜
1 ⎟⎞ − 1⎟
行s 行t
Af
=
⎜ ⎜
0
⎟ ⎟
(SP)
⎜M⎟
⎜ ⎝
0
⎟ ⎠
f ≥0
其中:c = (c1,c2 ,L, cn )T c j : 第j条边上的费用;f j:第j条边上的流量
直观地,存在最优解 f j * ,使其每一个 f j * = 0 或 1。
ห้องสมุดไป่ตู้
f * 就表示 G 中一个单位流从 s 沿最短路流到 t。
注 1:rank(A) = m – 1,可以去掉一个多余的方程。去掉任意一个都可以,一般去掉行 t。 注 2:一个基表示|V| - 1 条弧的集合。
基中有一个子集,对应于具有给定费用的从 s 到 t 的一条路。 这|V| - 1 条弧中不在该路上的弧表示基的退化分量。