Download presentation

Presentation is loading. Please wait.

Published byBarrie Blair Modified about 1 year ago

1
Plantilla -10 Variability and Uncertainty Introduction Stochastic Programming Robust Programming Multiparametric Programming Dynamic Programming

2
2 Introduction: PSE Chemical Supply Chain Enterprise management design planning scheduling Supply Chain Coordination of resources Efficiency Profitability

3
3 Introduction: Modeling systems in PSE variable market trends technology changes environmental conditions decisions Modeling system uncertainty reliable input information

4
Plantilla -40 Introduction: Uncertainty The model will include a series of uncertain parameters There is not a unique solution… There is not an optimal solution… In spite of this, a decision should be made (before the uncertainty is revealed) Solution based on average values (or nominal values) does not need to be the best It could be even unfeasible Decision making implies a risk Typically, there will be a trade-off among expected efficiency and assumed risk Prediction is very difficult… specially about the future Niels Bohr

5
5Execution Executed schedule Introduction: Scheduling under uncertainty Data ambiguous outdated incomplete Dynamic & uncertain environment Infeasible schedule Poor efficiency Opportunity losses Predictive schedule Decision making How When Where input information t

6
6 Introduction: Motivating example ABDEC mk: 101 TU wt: 0 TU Predictive schedule (nominal) ABDEC mk: 104 TU wt: 19 TU Executed schedulePredictive schedule A DEB C mk: 103 TU wt: 0 TU Is it worth spending effort to obtain a predictive schedule optimal for nominal conditions that will eventually change at execution time due to disruptions and changes in the operation environment? wait times (Balasubramanian & Grossmann, 2002)

7
7 Introduction: Management of the uncertainty Ability to achieve robust schedule execution despite the occurrence of unexpected events. uncertainty realization t Uncertainty

8
Plantilla -80 Sources of Uncertainty Unexpected events Ambiguous and/or incomplete information What will customers order? How many products should remain in stock? Will resources be available during production? Will suppliers deliver the materials on time?

9
Plantilla -90 Formal aspects The way how the model relates the decission variables with the uncertain information Decoupling these two types of variables makes the problem much more easy ! The way to express the probabiloity distribution of uncertain varaibles Continuous distributions vs. Discrete distributions. The size of the problem The characteristics of the mathematical model (convex, continuous, …) Including the characteristics introduced by the probability functions to be applied (the probability functions are not convex (nor concave) transformations, disretizations, etc.) There are different ways to face these problems. The most convenient way depends on aspects like:

10
Plantilla -100 Decision making under Uncertainty Something has to be deceided “here and now” in spite of the fact that decision results only will be known in the future, once uncertainty is revealed

11
Plantilla -110 Typical decision making with a probabilistic representation of uncertainty Numerical or analytic techniques Discrete distribution (scenario based) Sampling techniques Continuous probability distribution

12
Plantilla -120 Optimization under uncertainty Stochastic optimization Objective: Mathematic hope related to an efficiency measurement Variability is not taken into account Optimización robusta Compromise between “hope and variability ( Risc)

13
Plantilla Stochastic Programming Combines the power of mathematical programming with statistical advanced techniques: Convexity analysis, development of dual problems, … problem decomposition Constraints management The solution procedures are driven by the formalization of the probability model. For example: When the number of scenarios to be contemplated is discrete Deterministic equivalent problem (the size of the problem will be basically a function of the number of scenarios to be considered)

14
General Methods of stochastic programming Multi-step methods(multistage stochastic programming): Penalization (“recourse problems”): The potential losses caused by uncertainty are “a posteriori” compensated solving another optimization problem. This second problem depend on the decisions already made (“first step”) and on the uncertainty finally revealed. The variable associated to this new optimization is the “resource” required to compensate the uncertainty effects. During the first step decision making, the eventual (uncertain) values of the second stage variables are explicitly considered Limitations: Not applicable if the decisions (and states) affect the probability distribution The costs associated to the “resource decisions” should be known in advance. Chance-constrained programming: some constraints do not need to be maintained in a limited number of cases. Plantilla -140

15
Plantilla -150 Equivalent deterministic problem (finite number of scenarios): Min c'x + p 1 d 1 'y 1 + p 2 d 2 'y 2 + p 3 d 3 'y 3 s.t. A x = b T x + W y 1 = h 1 T x + W y 2 = h 2 T x + W y 3 = h 3 x, yi ≥ 0 (x: 1 st stage variables (y i : 2 nd stage variables (p i : probability of scenario “i”

16
Plantilla -160 Stochastic Programming: Example Management of a local gas distribution company (http://wiki.mcs.anl.gov/NEOS/index.php/Stochastic_Programming): Data: Gas demand for the current period (100 units), buying price (1 €/unit) and selling price for the current period (2 €/unit). Storage cost (0.05 €/unit) Uncertain data: Gas demand for the next period, and buying/selling prices Uncertainty model: 3 equiprobable scenarios: Decision: How much gas should be bought “here and now” the the global operators (taking into account that gas can be stored and consumed during the next period) Solution alternatives: Solve the problem for each scenario Solve the problem for the average scenario Stochastic programming ScenarioProbabilityGas cost (€/unit)Demand (units) Normal1/ Cold1/ Very cold1/

17
Plantilla -170 Equivalent deterministic problem (finite number of scenarios): Min c'x + p 1 d 1 'y 1 + p 2 d 2 'y 2 + p 3 d 3 'y 3 s.t. A x = b T x + W y 1 = h 1 T x + W y 2 = h 2 T x + W y 3 = h 3 x, yi ≥ 0 x: gas to be bought (and/or store) y i : gas to be bought during the second year (for each scenario) d i : price of the gas to be bought during the second year (for each scenario) b: demand (in the first year) T, A y c’: parameters to ensure that the extra quantity bought during the 1st year will be stored (cost!) and will be used to cover the 2nd year demand (or part of it) h i : demand for the second year (for each scenario) p i : probability of scenario “i”

18
Plantilla -180 Mathematical formulation One unique scenario Minimize (sum Price[t] * Buy[t]) + (sum Store[t] * StorageCost) subject to: Buy[t] + Use_stored[t] >= Demand[t], t in (1,2) Store[t] = Store[t-1] + Buy[t] - Demand[t], t in (1,2) Use_stored[t] <= Store[t-1], t in (1,2) “n” scenarios Minimize (Price[1][1] * Buy[1][1] + sum Store[1][1] * StorageCost) + + sum Scen Prob[Scen] * (Price[2][Scen] * Buy[2][Scen] + Store[2][Scen] * StorageCost) First-period constraints Buy[1][1] + Use_stored[1][1] >= Demand[1][1] Store[1] = Store[0] + Buy[1] - Demand[1] Use_stored[1] <= Store[0] Second-period constraints Buy[2][Scen] + Use_stored[2][Scen] >= Demand[2][Scen] Store[2][Scen] = Store[1][1] + Buy[2][Scen] - Demand[1][Scen] Use_stored[2][Scen] <= Store[1][1]

19
Plantilla -190 Excel solution

20
“Chance constrained” programming Equivalent to stochastic programming, including a new constraint to limit the probability of not matching a certain constraint to a certain maximum value. Examples: Same problem including a constraint to limit the probability of having to buy more than 30 units in the second period Accepting solutions no covering the 10% of the second year demand in a 5% of the eventual situations Helps to assess the “parameters” probability distribution Plantilla -200

21
Plantilla Robust programming The model includes a series of “i” unknow parameters (s i ); although their value is unknown, they should be among a specific set of specific values (S i ) Optimization = To look for the best solution which meets all constraints ( feasibility) for any parameters value combination Worst Case Analysis for any eventual decision (The set of scenarions is, actually,i irrelevant “S”: Set of “s” = uncertain parameters (preferably: continuous and convex) Variation: To look for the best solution which meets all constraints ( feasibility) which a probability less than “alfa” to get a result worst than “z min ” (“downside risk”)

22
Plantilla -220 Robust programming example Management of a local gas distribution company (http://wiki.mcs.anl.gov/NEOS/index.php/Stochastic_Programming): Data: Gas demand for the current period (100 units), buying price (1 €/unit) and selling price for the current period (2 €/unit). Storage cost (0.05 €/unit) Uncertain data: Gas demand for the next period, and buying/selling prices Uncertainty model: 3 equiprobable scenarios: Decision: How much gas should be bought “here and now” the global operators (taking into account that gas can be stored and consumed during the next period) Solution alternatives Only one: To determine the optimum gas quantity to be bought in the first period Objective: maximize retrofit benefit in the worst of the uncertain scenarios ( buy 270 Maximum cost of 1595 in the “very cold” scenario. The expected (average) cost is 1575) Optimization of the expected cost implies buying 200 units and a expected cost of 1400, but this cost can lead to a cost of 1700 in the very cold scenario ScenarioProbabilityCost (€/unit)Demand (units) Normal1/ Cold1/ Very cold1/ Management of a local gas distribution company (http://wiki.mcs.anl.gov/NEOS/index.php/Stochastic_Programming): Data: Gas demand for the current period (100 units), buying price (1 €/unit) and selling price for the current period (2 €/unit). Storage cost (0.05 €/unit) Uncertain data: Gas demand for the next period, and buying/selling prices Uncertainty model: 3 equiprobable scenarios: Decision: How much gas should be bought “here and now” the the global operators (taking into account that gas can be stored and consumed during the next period) Solution alternatives: Solve the problem for each scenario Solve the problem for the average scenario Stochastic programming

23
Plantilla Multiparametric programming (Origin: Sensibility analysis) The model (F.Obj. + Constraints) includes a series of bounded parameters (they can vary among certain limits) Objective To obtain explicit (exact or approximate) analytical expressions for the F.Obj. and other characteristric variables as a function of the uncertain parameters (and, eventualy, the range of applicability of such expressions) The determination of the applicability ranges is a major problem Note 1: Multiparametric programming offers “the” exact mathematic solution Note 2: Is not usefull for decission making (“previous” to uncertainty is revealed) Very complex mathematical problem (the numerical solution is not valid….) Multiparametric Linear and Quadratic Programming Multiparametric Nonlinear Programming Multiparametric Mixed-Integer Linear Programming Multiparametric Mixed-Integer Quadratic and Nonlinear Programming Parametric Global Optimization Bilevel and Multilevel Programming

24
Example (AICHE Journal, 53,12, pg. 3183, 2007 // I&EChR, 37, pg 4341, 1998) : Li & Ierapetritou Scheduling with uncertain demand Plantilla -240 EquipoCapacidadTarea(s)TiempoEstadoAlmace - namiento Cantidad Inicial Precio U1100Task BS1Unlimited 0.0 U275Task BS U350Task BS S4Unlimited Parámetro Incierto Rango Demand S30-50 Demand S40-100

25
Plantilla -250 ProgramaObjetivoEstado SCH CR1 SCH D2CR2 SCH D1CR3 + CR5 SCH CR4 Ejemplo (AICHE Journal, 53,12, pg. 3183, 2007 // I&EChR, 37, pg 4341, 1998) : Li & Ierapetritou Scheduling with uncertain demand If DS3 < 10 this schedule allows to produce the maximum of S4 (74, if DS3 is 0: reducing the batch size of the second S3 batch allows to advance the second batch of s4, and it is possible to produce more S4 (againts S3) While DS3 < 36, produce as much as possible of S4 (65) (36 of S3 is the maximum) While DS4 < 50, produce just a batch of S4 and produce as much as possible of S3 (until the end) If DS3 >36, this sequence allows to produce the maximum of S3, if DS4 is less than DS3

26
Plantilla Dynamic Stochastic Programming Transformation of problems under uncertainty in dynamic programming problems Dynamic programming problem characteristics: The problem can be divided in single decision “steps” Each step has a number of associate states. Decision in a certain step transforms one step into another in the next step. In a certain state, the optimum decision for the next steps does not depend on the previous decision (the system is like an “state function”) There exist a recursive function to obtain the optimum solution at step j, if step j+1 is already solved. Final step solution is obvious. Optimality principle (Bellman): “Any subset of decisions sequence from the optimal decision sequence is an optimum solution of the corresponding subproblem

27
Knapsack problem: n=3C=15 (b 1,b 2,b 3 )=(38,40,24) (p 1,p 2,p 3 )=(9,6,5) Strategy: Take first the maximum benefit per unit of weight. Obtained solution: (x 1,x 2,x 3 )=(0,1,1), 64 Optimum solution: (x 1,x 2,x 3 )=(1,1,0), 78 (because of the integer nature of the problem) Dynamic programming example:

28
Se emplea típicamente para resolver problemas de optimización. Permite resolver problemas mediante una secuencia de decisiones. Como el esquema voraz A diferencia del esquema voraz, se producen varias secuencias de decisiones (d 1, d 2, …, d n ) y solo al final se sabe cuál es la mejor de ellas. Si hay «o» opciones posibles para cada una de las decisiones, una técnica de fuerza bruta exploraría un total de o n secuencias posibles de decisiones (explosión combinatoria). La programación dinámica evita explorar todas las secuencias posibles por medio de la resolución de subproblemas de tamaño creciente y almacenamiento en una tabla de las soluciones óptimas de esos subproblemas para facilitar la solución de los problemas más grandes. Dynamic programming: Introduction R. Bellman: Dynamic Programming, Princeton University Press, 1957.

29
Dynamic programming methods Problema: ¿ineficiencia ? Un problema de tamaño N (número de objetos disponibles) se reduce a dos subproblemas de tamaño (N-1). Cada uno de los dos subproblemas se reduce a otros dos… Por tanto, se obtiene un algoritmo exponencial. Sin embargo, el número total de sub-problemas a resolver no es tan grande: Sólo hay NxC problemas diferentes: Decidir si el objeto n va a la mochila ( N) en un momento determinado El momento ( C =peso ya obtenido por decisiones anteriores) Por tanto, la solución recursiva está generando y resolviendo el mismo problema muchas veces Para evitar la repetición de cálculos, las soluciones de los subproblemas se pueden almacenan en una tabla. Plantilla -290 Problema de la mochila: n=3C=15 (b 1,b 2,b 3 )=(38,40,24) (p 1,p 2,p 3 )=(9,6,5)

30
Dynamic Programming example TSP Problem Plantilla -300 número de vértices n tiempo fuerza bruta n! tiempo prog. dinámica n 2 2 n espacio prog. dinámica n2 n ,31 ,43

31
Plantilla -310 Dynamic stochastic programming The gas company should now cover the demand in 3 different locations, in competence with other local suppliers. They have bought 300 units of gas previously (at a very good price) They will get a benefit of 2.00 €/unit BUT If they do not sell it, they should have to sell it to the competence, so the benefit will be reduced to 0.50 €/unit. If more gas is required, they can buy it to the competence, without benefit. The selling probabilities for the next period are estimated as follows: Objective: Assign gas to cities to obtain the maximum expected benefit LocationDemandProbability A50 / 100 / / 0.00 / 0.40 B50 / 100 / / 0.10 / 0.40 C50 / 100 / / 0.30 / 0.30

32
Plantilla -320 Dynamic stochastic programming Transformation to dynamic programming: The expected benefit to send 100 units to location A is: 0.60 * ( 50* * *0.0) * (100* * *0.0) * (100* * *0.0) = 155 € In a similar way: Now we have a deterministic problem, which can be solved by dynamic programming LocationDemandProbability A50 / 100 / / 0.00 / 0.40 B50 / 100 / / 0.10 / 0.40 C50 / 100 / / 0.30 / 0.30 LocationServiceExpected value A0 / 50 / 100 / / / / B0 / 50 / 100 / / / / C0 / 50 / 100 / / / / 217.5

33
Decissions to be made (and costs) Plantilla Availability to A+B+C Availability to B+C Availability to C LocationServiceExpected value A0 / 50 / 100 / / / / B0 / 50 / 100 / / / / C0 / 50 / 100 / / / / Availability for A+B+C Availability for B+C Availability for C 150 to A 0 to A 150 to B 0 0 to C 50 to C 100 to C 150 to C

34
Plantilla -340 Procedure 1 step per location 3 rd step: to serve “no more” than 0, 50, 100 or 150 units to C Depending on how much is served to A and B, availability to C will be limited 2 nd step: to serve “no more” than 150, 200, 250 o 300 units to B and C Depending on how much is served to “A” availability to B and C will be limited 1 st step: to serve 300 units to A, B y C Availability to A+B+C Availability to B+C Availability to C 150 a A 0 a A 150 a B 0 0 a C 50 a C 100 a C 150 a C

35
Plantilla -350 Procedure LocationServiceExpected value A0 / 50 / 100 / / / / B0 / 50 / 100 / / / / C0 / 50 / 100 / / / / First step: there is only one way to serve C, depending on availability Unid A+B+C Unid B+C Unid C Disponibilidad para A+B+C Disponibilidad restante para B+C Disponibilidad restante para C 150 a A 0 a A 150 a B 0 0 a C 50 a C 100 a C 150 a C

36
Plantilla -360 Procedure Unid B+C LocationServ iceExpected value A0 / 50 / 100 / / / / B0 / 50 / 100 / / / / C0 / 50 / 100 / / / / Second step: there are different alternatives take the best for each origin Availability to A+B+C Availability to B+C Availability to C = = = = Availability to A+B+C Availability to B+C Availability to C 150 a A 0 a A 150 a B 0 0 a C 50 a C 100 a C 150 a C

37
Plantilla -370 Procedure Unid B+C Unid C CityServiceExpected value A0 / 50 / 100 / / / / B0 / 50 / 100 / / / / C0 / 50 / 100 / / / / Second step: there are different alternatives take the best for each origin = = = = a A 0 a A 150 a B 0 0 a C 50 a C 100 a C 150 a C

38
Plantilla -380 Procedure Unid B+C There are 2 equivalent optima: 50 to A, 150 to B and 100 to C. €. 100 to A, 100 to B and 100 to C. € LocationServiceExpected value A0 / 50 / 100 / / / / B0 / 50 / 100 / / / / C0 / 50 / 100 / / / / Thirs step: there are different alternatives take the best for each origin

39
Plantilla -390 Limitations: what else ? Uncertainty modeling Fuzzy sets ? Fuzzy programming ? (principle of “difficulty conservation”?) Generalization of methodologies (modeling and solution) Multiple sources of uncertainty Multiple objectives ( “trade off”) Computing efficiency (industrial problem) Uncertainty of uncertainty

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google