SDDIP

3
在本节中,我们提出了一种随机嵌套分解 (SND) 算法及其特殊情况 SDDiP,当随机性满足阶段独立性时,用于求解具有二进制状态变量的 MSIP (2.1)。 所提出的 SND 和 SDDiP 算法通过对场景树进行采样并迭代地加强每个节点 n ∈ T 处预期成本函数 Qn(·) 的凸分段多面体欠近似来解决 DP 递归 (2.3)。 SND 以及 SDDiP 收敛的关键在于某种紧密性的概念,即通过有效的线性不等式实现的价值函数的欠近似,我们将对其进行精确定义。 下面,我们将首先概述 SND 算法,然后介绍充分切割条件,并证明 SND 算法在这些条件下对问题(2.1)的全局最优解的有限收敛性。
然后,我们将介绍 SDDiP 算法,它为在非常大的场景树上求解 MSIP 提供了一种实用的解决方案。
3.1
所提出的 SND 算法在算法 1 中给出。细节概述如下。
在每次迭代 i 中,SND 算法由一个采样步骤、一个前向步骤和一个后向步骤组成。
在采样步骤中,从树中采样场景的子集,即从根到叶节点子集的一组路径。 具体来说,我们考虑以下采样过程:在场景树最后阶段的所有 N 个节点中,M 个节点,表示为 {nij1 ,…, nijM },基于分布 {pn : n 进行采样 ∈ ST }。
让 Pi(n jk ) 表示从根到叶节点 nijk 的场景路径。 集合 {ωik := Pi(n jk )}k 包含所有 k = 1,…, M 的所有对应场景路径。采样可以有或没有替换,与 M 没有显着的实际差异 通常比 N 小得多。为简单起见,我们在本文中假设有放回抽样。
在迭代 i 中,前向步骤从 t = 1 逐步进行到 T,方法是在每个采样节点 n ∈ ωik 处求解具有近似预期成本函数的 DP 方程。 特别是,在具有父节点状态 xia(n) 的节点 n 处,DP 递归 (2.3) 近似为以下前向问题
()
其中近似的预期成本函数 ψin(·) 定义为:
()
概括地说,迭代 i 中的前向问题的特征是 xia(n),它是通过解决其父节点 a(n) 的前向问题得到的,以及由 (3.2a) 定义的 ψin(·) )–(3.2b),它在预期成本函数 Qn(xn) 的近似下提供分段线性凸函数。 在这里,我们假设 (3.2a) 中有一个下界 Ln,以避免前向问题的无界性。 (Pin (xia(n) , ψin)) 中状态变量的最优解,记为 xin,传递给其子节点 m ∈ C(n) 的前向问题 (Pim(xin, ψim))。 换句话说,前向步骤为采样路径上的每个节点更新状态变量解 xin。
当在迭代 i 中解决了采样路径上的所有前向问题时,后向步骤从最后阶段 T 开始。 后退步骤的目标是更新每个采样节点 n ∈ ωik 的近似预期成本函数 ψin(·)。 特别是,在最后阶段的采样节点 n ∈ ST 中,正解问题 (Pin (xia(n) , ψin)) 的适当松弛,表示为 (Rin),它产生了一个线性不等式, 逼近真值函数 Qn(xia(n))。 请注意,最后阶段问题没有成本函数,因此对于所有 i,ψin ≡ 0。 回到一个阶段,在采样节点 n ∈ ST−1 处,从 n 的子节点生成的所有线性不等式以 (3.2b) 的形式聚合并添加到更新节点 n 从 ψin(·) 到 ψi 的欠近似 +1 n (·)。 然后,在节点 n 的后退步骤中求解更新问题 (Pin (xia(n) , ψi+1 n )) 的适当松弛。 这会产生一个新的线性不等式,它将与其兄弟节点聚合并添加到其父节点。 向后的步骤以这种方式继续,直到它回到树的根节点。
由于 (3.2a)–(3.2b) 中的线性切割低于真实的预期成本函数,节点 1 的前向问题 (Pi1) 的最优值提供了一个下限 L B (2.1) 的真正最优值。 然而,重要的是要注意,通过 SND 获得的上限 U B 只是一个统计上限。 如果 M 不是太小(例如,M > 30),它的有效性以一定的概率得到保证。 然而,无论 M 有多大,这个上限仍然可能小于在后退步骤中评估的有效下限。 因此,在使用停止标准 U B - L B ≤ 时需要小心。 文献中还使用了其他停止标准,例如,当下限稳定并且大样本量给出的统计上限接近下限时停止算法; 或对迭代总数实施限制 [17,82]。

3.2 sddip
我们现在针对场景树满足阶段独立性的设置提出 SDDiP 算法,即,对于 St 中的任意两个节点 n 和 n,子节点 C(n) 和 C(n ) 由相同的数据和条件概率定义。 在这种情况下,价值函数和预期成本函数仅取决于阶段而不是节点,即,对于所有 n ∈ St,我们有 Qn(·) ≡ Qt(·)。 结果,每个阶段只维护一个问题,并且从不同场景生成的切割被添加到同一个问题中。
我们考虑通过对阶段式独立随机过程进行采样来创建场景树的设置。 令 Nt 为阶段 t 的不确定参数的实现次数,每个结果的概率为 1/Nt 。 场景总数为 N = tT=1 Nt 。 对于任何 1 ≤ t ≤ T 和 i ≥ 1,令 ψti(·) 是迭代 i 开始时阶段 t 中的近似预期成本函数 [cf.
(3.1)–(3.2)]。 对于阶段 t 中的特定不确定数据实现 ξ kt ,其中 1 ≤ k ≤ Nt ,令 (Pti(xt ik -1, ψti , ξtk )) 为在迭代 i 开始时给定状态变量 xik t−1 的相应阶段问题 , 并用 (xt ik , yt ik ,zt ik , θik t ) 表示其最优解。 在后退步骤中,给定一个候选解 xt ik -1,令 (Rt ik ) 是一个合适的松弛对于一些 1 ≤ j ≤ Nt 的更新问题 (Pti(xt ik -1, ψti+1, ξtj )) 和 (vt i j, πt i j) 是从解决松弛问题收集的相应截断系数。
由于不确定数据过程的每个结果具有相同的概率,因此通过取所有生成的割系数的平均值来获得割(3.2b),即
()
SDDiP 算法在算法 2 中进行了描述,它几乎肯定会收敛于定理 2。
对于右手边不确定性的问题,可以通过添加额外的决策变量 [45,52,71,82] 将简单的阶段依赖,例如 p 阶自回归模型转换为独立案例。 但是,这种方法一般不会扩展到目标系数或约束左侧矩阵中存在不确定性的情况,因为会引入双线性项,但标准 SDDP 方法无法处理。 然而,在我们的设置中,这些双线性项是使用二元展开或近似重新公式化后的两个二元变量的乘积,可以很容易地重新公式化为线性约束。
这是考虑 0-1 状态空间的另一个显着优势。
3.3 有效割条件
SND 和 SDDiP 算法根据如何形成松弛问题 (Rin) 以及如何在后向步骤中获得切割系数具有不同的实现。 然而,无论松弛和割生成的详细机制如何,只要割满足以下三个充分条件,即它们是有效的、紧的和有限的,SND 和 SDDiP 算法都是有效的,如下定义。
定义2 令{(vin, πin)}n∈i 为SND 或SDDiP 算法第i 次迭代后退得到的切割系数。 我们说这样的剪切集合是
(i) 有效,如果对于所有 n ∈ i 和所有迭代 i,cut vin + (πin) xa(n) 对于 (2.3) 中定义的真值函数 Qn(xa(n)) 是有效的,即
()
(ii) 紧,如果对于所有 n ∈ i 和所有迭代 i,切割 vin + (πin) xa(n) 与前向处的近似值函数 Qin(xia(n) , ψi+1 n ) 一致 第 i 次迭代得到的阶跃解 xia(n),即
()
(iii) 有限的,如果在 SND 和 SDDiP 算法的每次迭代 i 中,后退步骤只能生成有限多个不同的切割系数 (vin, πin)。
()
很容易看出削减的有效性是需要的。 紧密度是一个关键条件。
首先,紧度不是要求切割对真值函数 Qn(xa(n)) 是紧的,而是对近似值函数 Qin(xia(n) , ψi+1 n ) 而言是紧的。 其次,切割是通过求解 (Pin (xia(n) , ψi+1 n )) 的松弛来生成的,并且需要精确地恢复 (Pin (xia(n) , ψi+1 n )) 在 夏(n) . 这暗示了切割的强对偶性(参见第 4.3 节),这对于确保 SND 和 SDDiP 算法的收敛至关重要。 有限性条件对于保证有限收敛很重要。 昆虫。 在图 4 中,我们讨论了可以在所提出的算法中使用的各种类型的松弛和相关削减。 在此之前,让我们首先使用三个提议的割属性证明 SND 和 SDDiP 算法的收敛性。
3.4 收敛性
在本节中,我们证明了 SND 算法的收敛性,SDDiP 算法的收敛结果自然如下。 特别是,我们表明,在概率一的情况下,使用有效、紧密和有限割构造的近似成本函数定义了 MSIP 的最优解,其中二进制状态变量在有限次数的迭代中。 我们有以下技术假设。
(A3) 在SND算法中的任意节点n ∈ T和迭代i中,给定相同的父解xia(n)和相同的近似cost-to-go函数ψin,节点问题Pin (xia(n) , ψin) 总是求解到相同的最优解 xin。
这个假设是为了避免解决相同节点问题的算法不断生成不同的最优解(如果存在)的情况。 大多数确定性 MIP 求解器,例如 CPLEX 和 Gurobi,满足 (A3)。 因此,这是一个实际的假设。 请注意,我们不假设节点问题 Pin (·) 具有唯一的最优解。
定理 2 假设前向步骤中的采样过程是替换完成的,后向步骤中生成的切割是有效的、紧密的和有限的,并且解决节点问题的算法{Pin (·)}n∈T 满足 (A3),然后在概率一的情况下,SND 算法的前向步骤定义了多级随机程序 (2.1) 在有限次数的迭代后的最优解。
证 模型)对于所有 i ≥ 1 的近似预期成本函数 {ψin(·)}n∈T。
函数 在任何迭代 i ≥ 1 开始时,当前近似的预期执行成本 {ψin(·)}n∈T 定义了通过迭代 i 的前向步骤获得的树上的解 (xin, yin),即 ,
()
值得注意的是,在特定的迭代过程中,SND 算法不会计算所有这些解,而只会计算沿采样路径(场景)的解。 我们首先证明以下声明,它给出了一个充分条件,在该条件下,(3.6)中定义的解决方案对原始问题是最优的。
权利要求 1 如果在 SND 算法的第 i 次迭代中,对于所有 n ∈ T,ψin(xin) = Qn(xin),那么前向解 {xin, yin}n∈T 对问题 (2.1) 是最优的。
权利要求 1 的证明 由于后向步骤中生成的切割是有效的,{ψin(·)}n∈T 是对真实预期成本函数的欠近似,即 ψin(xn) ≤ Qn(xn) 对于所有 xn ∈ {0, 1}d 和 n ∈ T 。 因此,Qin(xia(n) , ψin) ≤ Qn(xia(n)) [cf.
(2.3) 和 (3.1)]。 此外,我们有
()
其中 (3.7a) 为真,因为 xin 根据定义是 (Pin (xia(n) , ψin)) 的最优解,(3.7b) 遵循假设 ψin(xin) = Qn(xin),并且 (3.7c) 成立是因为 (xin, yin) 对于真正的 DP 递归 (2.3) 是可行的。 因此,(xin, yin) 对于所有 n ∈ T 的真实 DP 递归 (2.3) 也是最优的,因此 (xin, yin) 对于 (2.1) 是最优的。 这就完成了权利要求 1 的证明。假设在迭代 i 开始时由 (3.6) 定义的解不是最优解,则必须存在一些 n ∈ T 使得 ψin(xin) < Qn(xin 可以表征为任一 以下两种类型:)。 任何迭代 j ≥ i (a) {ψ j+1 n (·)}n∈T = {ψ jn (·)}n∈T ,即在后退步骤中至少有一个 ψ jn (·) 发生变化; (b) {ψ j+1 n (·)}n∈T = {ψ jn (·)}n∈T ,即所有 ψ jn (·) 在后退步骤后保持不变。
i 之后的连续迭代可能属于 Type-a 或 Type-b 迭代。 让我们将 Iak 和 Ibk 分别表示为第 k 个这样的连续 Type-a 和 Type-b 迭代集。 令 K = sup{i : {xin, yin}n∈T 不是最优的},令 Ka 和 Kb 分别为 Type-a 和 Type-b 连续迭代的总集合数,当正向树解时 {xin, yin}n∈T 不是最优的。 让我们也表示|Iak | 和|伊布克| 分别作为第 k 组连续 Type-a 和 Type-b 迭代的基数。 由于只能添加有限多个切割,因此 Ka 和每个 |Iak | 必须是有限的。 如下所示,在 SND 算法收敛之前的每个 Ibk 出现都跟随着一个 Type-a 迭代。 因此,Kb ≤ Ka,因此 Kb 也是有限的。 我们接下来展示每个 |Ibk | 是有限的,概率为 1。
主张 2 概率为 1,|Ibk | 对于所有 1 ≤ k ≤ Kb 是有限的。
权利要求 2 的证明 对于任何 1 ≤ k ≤ Kb,令 jk 为 I kb 开始时的迭代,因为 {ψ jk+1 n (·)}n∈T = {ψ jk n (·)}n∈T 并且由 假设(A3),我们有 {x jk+1 n , y jk+1 n }n∈T ={x jk n , y jk n }n∈T 。 因为解 {x jk n , y jk n }n∈T 不是最优解,根据权利要求 1,存在 n jk ∈ T 使得 ψ jk n jk (x jk n jk ) < Qn jk (x jk n jk ) . 选择这样一个节点 n jk 使得 t(n jk ) 是最大的,因此对于所有 m ∈ C(n jk ),ψ jk m (x jk m ) = Qm(x jk m )。 前向步骤中的采样是通过替换完成的,因此每个场景都是独立采样的。 由于存在有限多个场景,并且每个场景都以正概率进行采样,因此我们知道,在概率​​为 1 的情况下,经过有限多次迭代后,将在迭代中对包含节点 n jk 的场景进行采样,例如 j k 。 在迭代 j k 的后退步骤中,相同的状态向量 x j k n jk = x jk n jk 将在 n jk 的所有子节点处被评估,并且将在 ψ j nkjk (·) 上添加一个切割。 我们想在添加这个切割之后证明 ψ j k+1 n jk (x jk n jk ) = Qn jk (x jk n jk )。 请注意,我们有以下关系:
()
(3.8a) 中的不等式源自 (3.2) 中 ψ j k+1 n jk (x jk n jk ) 的构造。 (3.8b) 中的等式源于 (v jkm , π jk m ) 是 (P jk m (x jk n jk , ψ jk+1 m )) 松弛问题的紧切,并使用定义 (3.5)中给出的紧切。 (3.8c) 中的等式来自 (3.1) 中 Q jkm 的定义。 等式 (3.8d) 成立,因为对于所有 m ∈ C(n jk ),ψ jk m (x jk m ) = Qm(x jk m )。 然后,(3.8e) 如下,因为 (x jk m , y jk m ) 是问题 (P jk m (x jk n jk , ψ jk+1 m )) 的可行解,父状态 x jk n jk 为 在 (2.3) 中定义。 最后,(3.8f) 是 Qn jk (x jk n jk ) 的定义。
由于 ψ j k+1 n jk (x jk n jk ) = Qn jk (x jk n jk ),新的 Type-a 出现从第 j k 次迭代开始。 换句话说,当 SND 算法没有收敛时,即 (xin, yin)n∈T 不是最优的,每个连续的 Type-b 出现后面跟着一个 Type-a 迭代。
这证明了 Kb ≤ Ka。 因此,Ibk 中 1 ≤ k ≤ Kb 的迭代次数是有限的,概率为 1。
从权利要求 2 可以得出,权利要求 1 中的条件将在 K = Ka k=1 |Iak |之后成立。 + Kb k=1 |Ibk | 迭代。 我们有以下关系。
()
其中第一个等式来自 Ka k=1 |Iak | 的有限性。 第二个肯定是由于 Kb < ∞,最后一个来自权利要求 2。因此 Pr(K < ∞) = 1。
因此,SND 算法在有限次数的迭代中以概率 1 收敛到问题 (2.1) 的最优解
4.3拉格朗日对偶
现在我们介绍本文的主要成果之一,即一类新的切割平面,它是通过求解重新表述的节点问题的拉格朗日对偶得到的。 特别地,在节点 n 中迭代 i 的后退步骤中求解的松弛问题 (Rin) 是节点问题的以下拉格朗日对偶
()
我们将由 Lin(πn) 的前四个约束系统定义的可行域表示为 Xn,将由所有五个约束系统定义的可行域表示为 Xn。
给定任何具有 xin ∈ {0, 1}d 的 {xin}n∈ i,在迭代 i 的后向步骤中生成由系数 {(vin, πin)}n∈ i 给出的切割集合,其中 πin 是对所有 n ∈ i 的拉格朗日对偶问题 (Rin) 和 vin = Lin(πin) 的最优解。 我们称这个割集为拉格朗日割集。
定理 3 给定任何具有 xin ∈ {0, 1}d 的 {xin}n∈ i,令 πin 是 (4.3) 中拉格朗日对偶问题 (Rin) 和 vin = Lin(πin) 的最优解。 那么,拉格朗日割集 {(vin, πin)}n∈ i 在 (3.4)-(3.5) 的意义上是有效且紧的。
证明 首先,我们证明在 SND 或 SDDiP 算法的迭代 i 中生成的拉格朗日割在前向解 {xin}n∈ i 处是紧的。 拉格朗日割的紧密性本质上是由(4.3)-(4.4)定义的拉格朗日松弛和(3.1)定义的正问题(Pin (xia(n) , ψin))之间的强对偶所暗示的。 然后,我们通过归纳证明它们也是有效割。
取任意节点 n ∈ i 。 令 πin 为 (4.3) 的最优对偶解。 那么,我们有以下等式:
()
其中 (4.5) 遵循 [32] 中的定理 1(也参见 [59] 中的定理 6.2)。 令 (^zn, x^n, ^yn, θ^n) ∈ conv(Xn ) 是 (4.5) 的最优解。 则存在 {(^zkn, x^kn , ^ykn , θ^nk )}k∈K ∈ Xn 使得 (^zn, x^n, ^yn, θ^n) = k∈K λk · (^zkn, x^kn , ^ykn , θ^nk ),其中 K 是一个有限集,对于所有 k ∈ K,λk > 0,并且 k∈K λk = 1。由于 k∈K λk ^zkn = ^zn = xia(n) 和 xia(n) ∈ {0, 1}d 并且对于所有 k 有 ˆzkn ∈ [0, 1]d,这意味着对于所有 k 有 ˆzkn = xia(n)。 因此 (^zn, x^n, ^yn, ^θn) ∈ conv(Xn ∧ {zn = xia(n)}) 和
()
其中第二个等式是因为 fn(xn, yn) 是线性的。 这证明了根据 (3.5) 的拉格朗日切割的紧密性。
接下来,我们通过归纳证明拉格朗日割是有效的。 对于基本情况,我们考虑任何采样节点 n ∈ i 并且在最后阶段 ST 。 请注意,在这个最后阶段问题中 ψin ≡ 0。 使用 (4.3) 的最优乘数 πin 放宽 Qn(xa(n)) 的定义 (2.3) 中的约束 zn = xa(n),对于任何 xa(n) ∈ {0, 1}d ,我们有
()
因此,拉格朗日割对任何采样的 n ∈ ST 都是有效的。 对于归纳步​​骤,考虑一个 t ≤ T − 1 的采样节点 n ∈ St,并假设由 {(vim, πim)}m∈C(n) 定义的拉格朗日割是有效的。 注意
()
因为由 {(πim, vim)}m∈C(n) 定义的割是有效的,即对于任何 xn ∈ {0, 1}d , Xn 有这些割 Qm(xn) ≥ vim + (πim) xn 是 (4.6) 的可行域的松弛。
因此,我们有
()
其中第二个不等式是通过放宽约束 zn = xa(n)。 因此,由 (πin, vin) 定义的拉格朗日割是有效的。 至此完成了 theo rem 的证明。 如果我们限制 (Rin) 的对偶最优解 πin 的集合是基本的,那么拉格朗日割集也是有限的。 因此,具有此割族的 SND 和 SDDiP 算法保证在概率为 1 的有限次数迭代中产生具有二进制状态变量的 MSIP 的最优解。
也许,定理 3 最令人惊讶的部分是 (4.3)-(4.4) 的拉格朗日割的紧度。 下面,我们用两个简单的例子来说明拉格朗日割紧的两个关键因素,即(1)状态变量xa(n)必须是二元的,(2)zn = xa(n)的重构和松弛 )。 例 1 表明,如果状态变量不是二元的,则拉格朗日割可能不紧,而例 2 表明,如果拉格朗日松弛不遵循新公式的配方,则导出的割可能不紧 二进制状态变量。
示例 1(非二进制状态变量)考虑以下值函数
()
其中状态变量 x 是一个非二进制整数 x ∈ {0, 1, 2}。 根据 (4.3)–(4.4) 中的重构,值函数写为 Q(x) = min{y : (y,z) ∈ X , z = x},其中 X := {(y,z) : 1.5y ≥ z, y ∈ {0, 1, 2}, 0 ≤ z ≤ 2}。
放松约束 z = x 的拉格朗日对偶由 min{y : z = x, conv(X )} 给出。 图 1 显示了 X(黑色的混合整数集)和 conv(X )。 在 x = 1 时,Q(1) = 1 但拉格朗日对偶的目标值为 2/3。 正对偶差距如图 1 所示。
示例 2(新公式与直接拉格朗日松弛)考虑以下值函数
()
使用建议的重新表述(4.3)-(4.4),价值函数被重写为
()
我们将 (4.8) 中提出的松弛 z = x 的拉格朗日对偶与 (4.7) 中松弛 2y1+y2 ≥ 3x 的直接拉格朗日松弛进行比较(参见例如 [84])。 图 2 显示了两种方法在 x = 1 时产生的切割。很明显,直接拉格朗日松弛产生的切割(图 2a 中的 θ ≥ 1.5x)在 x = 1 时并不紧密,而建议的重新表述( 4.8)导致图 2b 中的拉格朗日割(θ ≥ -1 + 3x),它在 x = 1 时很紧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值