Outline An Extension of the Multicut L-Shaped Method Svyatoslav Trukhanov Industrial Engineering Texas A&M University College Station, TX Texas-2005, College Station S. Trukhanov An Extension of the Multicut L-Shaped Method Outline Outline 1 Problem formulation 2 Multicut L-shaped with partial cut aggregation 3 Results S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Two-stage stochastic linear program with recourse min c T x + |S| X ps qsT ys s=1 s.t. Ax = b Ts x + Ws y = rs , ∀s = 1, · · · , |S| x ≥ 0, ys ≥ 0, ∀s = 1, · · · , |S| where x ∈ Rn1 , ys ∈ Rn2 are decision variables, c ∈ Rn1 , qs ∈ Rn2 , b ∈ Rm1 , rs ∈ Rm2 are given vectors and A ∈ Rm1 xn1 , Ts ∈ Rm2 xn1 , Ws ∈ Rm2 xn2 are given matrices. S is the set of possible outcomes (scenarios) and ps is the probability of scenario s. S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results L-shaped method for SLP Algorithm steps: Initialization: k = 0, x 0 Solve subproblem min qsT y s.t. Ws y = rs − Ts x k y ≥ 0, for each scenario s ∈ S, obtain πks (µk ) Compute Bender’s cut coefficients: feasible case αk = P s∈S T ps πks rs , βkT = P s∈S T ps πks Ts T T infeasible case αk = µT k rs , βk = µk Ts ; S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results L-shaped method for SLP (cont.) Master problem Add cut to master problem. If subproblem was feasible then cut is βkT x + η ≥ αk - optimality cut, otherwise βkT x ≥ αk feasibility cut; Solve the master problem, to get (x k+1 , η k+1 ); update lower bound to optimal objective value of master problem. Check stopping criterion: if not satisfied then k = k + 1, go to step 2. Output the results. S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Multicut L-shaped method for SLP Differences from L-shape: 1 Master problem: introduce additional variables ηs ∀s ∈ S objective X min c T x + ηs s∈S 2 Each iteration, after solving subproblems: all subproblems are feasible - add family of cuts: T βks x + ηs ≤ αks , where βks = ps (πsk )T Ts , αks = ps (πsk )T rs otherwise - add feasibility cut exactly as L-shape method S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Method comparison Multicut L-shaped L-shaped Information loss due to cut aggregation. All possible information is used. Small master problem (n1 + 1)x(m1 + k) at iteration k Huge master problem (n1 + |S|)x(m1 + k|S|) at iteration k S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Method comparison L-shaped Multicut L-shaped Information loss due to cut aggregation. All possible information is used. Small master problem (n1 + 1)x(m1 + k) at iteration k Huge master problem (n1 + |S|)x(m1 + k|S|) at iteration k S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Main rules Decrease the information losses Avoid master problem size growth S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Main rules Decrease the information losses ⇒ add more then one cut each iteration Avoid master problem size growth S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Main rules Decrease the information losses ⇒ add more then one cut each iteration Avoid master problem size growth ⇒ number of cuts added each iteration must be small S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Algorithm Differences from L-shape: 1 2 Initialization: create scenario space partition: S = S1 ∪ S2 ∪ · · · ∪ SD , Si ∩ Sj = ∅, i 6= j Master problem: introduce additional variables ηd ∀d = 1, 2, · · · , D objective D P min c T x + ηd d=1 3 Each iteration, after solving subproblems: all subproblems are feasible - add family of aggregated cuts: T βkd x +P ηd ≤ αkd ∀d = 1, 2, · · ·P , D, where βkd = ps (πsk )T Ts , αkd = ps (πsk )T rs s∈Sd s∈Sd otherwise - add feasibility cut exactly as L-shape method S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Algorithm Differences from L-shape: 1 2 Initialization: create scenario space partition: S = S1 ∪ S2 ∪ · · · ∪ SD , Si ∩ Sj = ∅, i 6= j Master problem: introduce additional variables ηd ∀d = 1, 2, · · · , D objective D P min c T x + ηd d=1 3 Each iteration, after solving subproblems: all subproblems are feasible - add family of aggregated cuts: T βkd x +P ηd ≤ αkd ∀d = 1, 2, · · ·P , D, where βkd = ps (πsk )T Ts , αkd = ps (πsk )T rs s∈Sd s∈Sd otherwise - add feasibility cut exactly as L-shape method S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Algorithm Differences from L-shape: 1 2 Initialization: create scenario space partition: S = S1 ∪ S2 ∪ · · · ∪ SD , Si ∩ Sj = ∅, i 6= j Master problem: introduce additional variables ηd ∀d = 1, 2, · · · , D objective D P min c T x + ηd d=1 3 Each iteration, after solving subproblems: all subproblems are feasible - add family of aggregated cuts: T βkd x +P ηd ≤ αkd ∀d = 1, 2, · · ·P , D, where βkd = ps (πsk )T Ts , αkd = ps (πsk )T rs s∈Sd s∈Sd otherwise - add feasibility cut exactly as L-shape method S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Notes D = 1 – L-shaped algorithm (full aggregation) D = |S| – Multicut L-shaped algorithm (no aggregation) How to choose D? How to partition S? S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Notes D = 1 – L-shaped algorithm (full aggregation) D = |S| – Multicut L-shaped algorithm (no aggregation) How to choose D? How to partition S? S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Notes D = 1 – L-shaped algorithm (full aggregation) D = |S| – Multicut L-shaped algorithm (no aggregation) How to choose D? How to partition S? S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Notes D = 1 – L-shaped algorithm (full aggregation) D = |S| – Multicut L-shaped algorithm (no aggregation) How to choose D? How to partition S? S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Partition, independent random variable case Scenario s = (s (1) , s (2) , · · · , s (t) ) Fix 0 ≤ l ≤ t Aggregation criterion: (j) (j) s1 ∈ Si and s2 ∈ Si ⇐⇒ ∀ 0 ≤ j ≤ l s1 = s2 Number of cuts: D = l Q |s̃ (j) | j=0 S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Partition, independent random variable case Scenario s = (s (1) , s (2) , · · · , s (t) ) Fix 0 ≤ l ≤ t Aggregation criterion: (j) (j) s1 ∈ Si and s2 ∈ Si ⇐⇒ ∀ 0 ≤ j ≤ l s1 = s2 Number of cuts: D = l Q |s̃ (j) | j=0 S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Partition, independent random variable case Scenario s = (s (1) , s (2) , · · · , s (t) ) Fix 0 ≤ l ≤ t Aggregation criterion: (j) (j) s1 ∈ Si and s2 ∈ Si ⇐⇒ ∀ 0 ≤ j ≤ l s1 = s2 Number of cuts: D = l Q |s̃ (j) | j=0 S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Partition, independent random variable case Scenario s = (s (1) , s (2) , · · · , s (t) ) Fix 0 ≤ l ≤ t Aggregation criterion: (j) (j) s1 ∈ Si and s2 ∈ Si ⇐⇒ ∀ 0 ≤ j ≤ l s1 = s2 Number of cuts: D = l Q |s̃ (j) | j=0 l = 0 ⇒ D = 1 ⇒ L-shaped l = t ⇒ D = |S| ⇒ Multicut L-shaped S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Numerical results Problem 4node from SLPLIB (A. Felt, http://www.uwsp.edu/math/afelt/slptestset/download.html) with 12 independent r.v. and 8192 scenarios. Table: Results of experiments, problem 4node Level 0 1 2 3 4 5 6 Num. of cuts 1 2 8 16 32 64 128 S. Trukhanov Major iter. 243 114 76 66 60 51 44 Runtime 145.22 66.53 43.39 39.39 40.94 42.11 45.78 An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Number of iterations plot S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Runtime plot S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Upper and lower bounds plot S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Conclusions Multicut L-shaped algorithm with cut aggregation was developed General framework for cut aggregation was implemented One of the aggregation criteria was implemented Numerical results were obtained S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Future works More numerical experiments Rigorous proof of algorithm convergence Other aggregation criteria Adaptive aggregation (Ntaimo, Schaefer) S. Trukhanov An Extension of the Multicut L-Shaped Method Problem formulation Multicut L-shaped with partial cut aggregation Results Questions? S. Trukhanov An Extension of the Multicut L-Shaped Method