Presentation is loading. Please wait.

Presentation is loading. Please wait.

6.5 Stochastic Prog. and Bendersโ€™ decomposition

Similar presentations


Presentation on theme: "6.5 Stochastic Prog. and Bendersโ€™ decomposition"โ€” Presentation transcript:

1 6.5 Stochastic Prog. and Bendersโ€™ decomposition
Two stage stochastic linear program: Two sets of decisions (๐‘ฅ,๐‘ฆ) that are made in consecutive stages. Some exogenous parameters that influence the second stage decision making is uncertain and only can be known after the first set of decisions has been made. Best two stage decisions that minimize the total expected cost? Large linear program if the number of possible second stage scenarios is large. Use Bendersโ€™ decomposition. Bendersโ€™ decomposition was developed to solve mixed integer programs, but it can be applied here too. Use strong duality of LP cleverly. Linear Programming 2014

2 Problem formulation First stage decision vector is ๐‘ฅ. Second stage decision vector is ๐‘ฆ. There are ๐พ possible scenarios for the second stage and the true scenario is only revealed after ๐‘ฅ is chosen. Let ๐œ” be the index to represent different scenarios and ๐›ผ ๐œ” >0 be the probability of the occurrence of scenario ๐œ”. Second stage decision ๐‘ฆ depends on the realized scenario, hence use variable ๐‘ฆ ๐œ” to make the dependence explicit. Cost vectors ๐‘ and ๐‘“ for decisions ๐‘ฅ and ๐‘ฆ ๐œ” , respectively. First stage decisions must satisfy the constraints ๐ด๐‘ฅ=๐‘ ๐‘ฅโ‰ฅ0 In addition, the first and second stage decisions need to satisfy constraints of the form ๐ต ๐œ” ๐‘ฅ+๐ท ๐‘ฆ ๐œ” = ๐‘‘ ๐œ” ๐‘ฆ ๐œ” โ‰ฅ0, for all ๐œ”. Linear Programming 2014

3 minimize ๐‘ โ€ฒ ๐‘ฅ+ ๐›ผ 1 ๐‘“ โ€ฒ ๐‘ฆ 1 + ๐›ผ 2 ๐‘“ โ€ฒ ๐‘ฆ 2 +โ€ฆ+ ๐›ผ ๐พ ๐‘“โ€ฒ ๐‘ฆ ๐พ
Every scenario may involve a different set of constraints. The objective is to choose ๐‘ฅ and ๐‘ฆ 1 ,โ€ฆ, ๐‘ฆ ๐พ so that the expected cost ๐‘ โ€ฒ ๐‘ฅ+ ๐›ผ 1 ๐‘“ โ€ฒ ๐‘ฆ 1 +โ€ฆ+ ๐›ผ ๐พ ๐‘“โ€ฒ ๐‘ฆ ๐พ is minimized. Master problem: minimize ๐‘ โ€ฒ ๐‘ฅ+ ๐›ผ 1 ๐‘“ โ€ฒ ๐‘ฆ 1 + ๐›ผ 2 ๐‘“ โ€ฒ ๐‘ฆ 2 +โ€ฆ+ ๐›ผ ๐พ ๐‘“โ€ฒ ๐‘ฆ ๐พ subject to ๐ด๐‘ฅ =๐‘ ๐ต 1 ๐‘ฅ+ ๐ท ๐‘ฆ 1 = ๐‘‘ 1 ๐ต 2 ๐‘ฅ ๐ท ๐‘ฆ 2 = ๐‘‘ 2 โ‹ฎ โ‹ฑ โ‹ฎ ๐ต ๐พ ๐‘ฅ ๐ท ๐‘ฆ ๐พ = ๐‘‘ ๐พ Linear Programming 2014

4 Ex 6.5 (Electric power capacity expansion):
Want to install two generators ๐‘—=1,2 with different fixed and operating costs. Each day is divided into 3 parts ๐‘–=1,2,3 ๐‘ ๐‘— : fixed cost per day and per unit capacity of generator ๐‘—. Amortized over its lifetime. ๐‘“ ๐‘–๐‘— : the operating cost of generator ๐‘— per unit power during the ๐‘–โˆ’๐‘กโ„Ž part of the day. ๐‘” ๐‘– : unit cost of excess capacity that can be purchased when demand exceeds capacity. ๐‘ ๐‘— : minimum capacity of generator ๐‘—. Two sources of uncertainty: (1) exact value of the demand ๐‘‘ ๐‘– during each part of the day. (2) the availability ๐‘Ž ๐‘— (between 0 and 1) of generator ๐‘—. Linear Programming 2014

5 There is a total of 4 3 ร—4ร—5=1280 scenarios ๐œ”.
(1) Demand ๐‘‘ ๐‘– can take one of four values ๐‘‘ ๐‘–,1 ,โ€ฆ, ๐‘‘ ๐‘–,4 , with probability ๐‘ ๐‘–,1 ,โ€ฆ, ๐‘ ๐‘–4 , respectively. (2) Availability of generator 1 is ๐‘Ž 1,1 ,โ€ฆ, ๐‘Ž 1,4 , with probability ๐‘ž 1,1 ,โ€ฆ, ๐‘ž 1,4 , respectively. Similarly, the availability of generator 2 is ๐‘Ž 2,1 ,โ€ฆ, ๐‘Ž 2,5 , with probability ๐‘ž 2,1 ,โ€ฆ, ๐‘ž 2,5 , respectively There is a total of 4 3 ร—4ร—5=1280 scenarios ๐œ”. Let us use ๐‘‘ ๐‘– ๐œ” and ๐‘Ž ๐‘— ๐œ” to denote the demands and availabilities, respectively under scenario ๐œ”. Linear Programming 2014

6 min ๐‘—=1 2 ๐‘ ๐‘— ๐‘ฅ ๐‘— +๐ธ ๐‘–=1 3 ๐‘—=1 2 ๐‘“ ๐‘–๐‘— ๐‘ฆ ๐‘–๐‘— ๐œ” + ๐‘” ๐‘– ๐‘ฆ ๐‘– ๐œ”
Introduce the first stage variables ๐‘ฅ ๐‘— , ๐‘—=1,2, which represent the installed capacity of generator ๐‘—. Second stage variable ๐‘ฆ ๐‘–๐‘— ๐œ” denoting the operating levels (power output levels) of generator ๐‘— during the ๐‘–โˆ’๐‘กโ„Ž part of the day and under scenario ๐œ”. ๐‘ฆ ๐‘– ๐œ” : capacity to be purchased under scenario ๐œ” for unmet demand during the ๐‘–โˆ’๐‘กโ„Ž part of the day. Formulation min ๐‘—=1 2 ๐‘ ๐‘— ๐‘ฅ ๐‘— +๐ธ ๐‘–=1 3 ๐‘—=1 2 ๐‘“ ๐‘–๐‘— ๐‘ฆ ๐‘–๐‘— ๐œ” + ๐‘” ๐‘– ๐‘ฆ ๐‘– ๐œ” s.t. ๐‘ฅ ๐‘— โ‰ฅ ๐‘ ๐‘— , โˆ€ ๐‘—, ๐‘ฆ ๐‘–๐‘— ๐œ” โ‰ค ๐‘Ž ๐‘— ๐œ” ๐‘ฅ ๐‘— , โˆ€ ๐‘–,๐‘—,๐œ”, ๐‘—=1 2 ๐‘ฆ ๐‘–๐‘— ๐œ” + ๐‘ฆ ๐‘– ๐œ” โ‰ฅ ๐‘‘ ๐‘– ๐œ” , โˆ€ ๐‘–,๐œ”, ๐‘ฅ ๐‘— , ๐‘ฆ ๐‘–๐‘— ๐œ” , ๐‘ฆ ๐‘– ๐œ” โ‰ฅ0, โˆ€ ๐‘–,๐‘—,๐œ” (11522 variables, constraint) Linear Programming 2014

7 Reformulation of the problem
Consider ๐‘ฅ satisfying ๐ด๐‘ฅ=๐‘, ๐‘ฅโ‰ฅ0. Once ๐‘ฅ is fixed, the optimal second stage decisions ๐‘ฆ ๐œ” can be determined separately from each other, by solving for each ๐œ” the problem min ๐‘“โ€ฒ ๐‘ฆ ๐œ” s.t. ๐ต ๐œ” ๐‘ฅ+๐ท ๐‘ฆ ๐œ” = ๐‘‘ ๐œ” (6.16) ๐‘ฆ ๐œ” โ‰ฅ0 Let ๐‘ง ๐œ” (๐‘ฅ) be the optimal cost of (6.16). ( ๐‘ง ๐œ” ๐‘ฅ =โˆž if infeasible) ๏ƒž min ๐‘ โ€ฒ ๐‘ฅ+ ๐œ”=1 ๐พ ๐›ผ ๐œ” ๐‘ง ๐œ” (๐‘ฅ) s.t. ๐ด๐‘ฅ=๐‘ (6.17) ๐‘ฅโ‰ฅ0 Need to consider only those ๐‘ฅ for which none of the ๐‘ง ๐œ” ๐‘ฅ =โˆž. Use duality. Linear Programming 2014

8 Dual of (6.16) when ๐‘ฅ is fixed: max ๐‘ ๐œ” โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ
s.t. ๐‘ ๐œ” โ€ฒ๐ทโ‰ค๐‘“โ€ฒ (6.18) Let ๐‘ƒ= ๐‘: ๐‘ โ€ฒ ๐ทโ‰ค๐‘“โ€ฒ . We assume ๐‘ƒ is nonempty and has at least one extreme point. Let ๐‘ ๐‘– , ๐‘–=1,โ€ฆ,๐ผ, be the extreme points, and let ๐‘ค ๐‘— , ๐‘—=1,โ€ฆ,๐ฝ be a complete set of extreme rays of ๐‘ƒ. Since ๐‘ƒ nonempty, either (6.18) has an optimal solution (so ๐‘ง ๐œ” (๐‘ฅ) is finite) or unbounded (primal (6.16) is infeasible, and ๐‘ง ๐œ” ๐‘ฅ =โˆž, which should be avoided). In particular, ๐‘ง ๐œ” ๐‘ฅ <โˆž if and only if ๐‘ค ๐‘— โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โ‰ค0, โˆ€ ๐‘—. (6.19) Whenever ๐‘ง ๐œ” ๐‘ฅ is finite, ๐‘ง ๐œ” ๐‘ฅ = max ๐‘–=1,โ€ฆ,๐ผ ๐‘ ๐‘– โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ . Alternatively, ๐‘ง ๐œ” ๐‘ฅ is the smallest number ๐‘ง ๐œ” such that ๐‘ ๐‘– โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โ‰ค ๐‘ง ๐œ” , โˆ€ ๐‘–. Linear Programming 2014

9 Use this characterization of ๐‘ง ๐œ” (๐‘ฅ) in the original problem (6
Use this characterization of ๐‘ง ๐œ” (๐‘ฅ) in the original problem (6.17) with the condition (6.19) which is required for ๐‘ง ๐œ” (๐‘ฅ) to be finite. Then the master problem (6.17) can be put in the form min ๐‘ โ€ฒ ๐‘ฅ+ ๐œ”=1 ๐พ ๐›ผ ๐œ” ๐‘ง ๐œ” s.t. ๐ด๐‘ฅ=๐‘ (6.20) ๐‘ ๐‘– โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โ‰ค ๐‘ง ๐œ” , โˆ€ ๐‘–,๐œ”, ๐‘ค ๐‘— โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โ‰ค0, โˆ€ ๐‘—,๐œ”, ๐‘ฅโ‰ฅ0 The number of variables has been reduced, but the number of constraints can be extremely large. Use cutting plane method. Linear Programming 2014

10 Delayed constraint generation
In a typical iteration, we consider the relaxed master problem, which has the same objective as the problem (6.20), but involves only a subset of constraints. Assume that we have an optimal solution to the relaxed problem, consisting of a vector ๐‘ฅ โˆ— and a vector ๐‘ง โˆ— = ๐‘ง 1 โˆ— ,โ€ฆ, ๐‘ง ๐พ โˆ— . For ๐œ”=1,โ€ฆ,๐พ, we consider the subproblem min ๐‘“โ€ฒ ๐‘ฆ ๐œ” s.t. ๐ท ๐‘ฆ ๐œ” = ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โˆ— ๐‘ฆ ๐œ” โ‰ฅ0 For different iterations or values of ๐œ”, only have different right-hand side, and the dual problems always have the same feasible set, namely, ๐‘ƒ. Hence use dual simplex to solve the subproblems. Linear Programming 2014

11 Different possibilities to consider:
(a) If dual simplex method indicates that a (primal) subproblem is infeasible, can identify an extreme ray ๐‘ค ๐‘—(๐œ”) of the dual feasible set ๐‘ƒ, such that ๐‘ค ๐‘—(๐œ”) โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โˆ— >0 Identified a violated constraint, which can be added to the relaxed master. (b) If a primal subproblem is feasible, dual simplex provides a dual optimal basic feasible solution ๐‘ ๐‘–(๐œ”) . If we have ๐‘ ๐‘–(๐œ”) โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โˆ— > ๐‘ง ๐œ” โˆ— , Linear Programming 2014

12 (c) Finally, if the primal subproblems are all feasible and we have
๐‘ ๐‘–(๐œ”) โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โˆ— โ‰ค ๐‘ง ๐œ” โˆ— , for all ๐œ”, then by the optimality of ๐‘ ๐‘–(๐œ”) , we obtain ๐‘ ๐‘– โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โˆ— โ‰ค ๐‘ง ๐œ” โˆ— , for all extreme points ๐‘ ๐‘– . In addition, ๐‘ค ๐‘— โ€ฒ ๐‘‘ ๐œ” โˆ’ ๐ต ๐œ” ๐‘ฅ โˆ— โ‰ค0, for all extreme rays ๐‘ค ๐‘— , and no constraints violated. We then have an optimal solution to the master problem (6.20), and the algorithm terminates. See text p.259 for description of Bendersโ€™ decomposition. Also called L-shaped method for two stage stochastic programming problems. Linear Programming 2014


Download ppt "6.5 Stochastic Prog. and Bendersโ€™ decomposition"

Similar presentations


Ads by Google