Aggregation of Flexible Customers into Virtual Power Plants

Size: px
Start display at page:

Download "Aggregation of Flexible Customers into Virtual Power Plants"

Transcription

1 Université Catholique de Louvain École Poytechnique de Louvain Academic Year Aggregation of Flexible Customers into Virtual Power Plants A thesis submitted in partial fulfillment of the requirements for the degree of Civil Engineer in Applied Mathematics Author: Quentin VOORTMAN Supervisor: Pr. Anthony PAPAVASILIOU 1 Examinators: Pr. Pierre-Antoine ABSIL 2 Dr. Olivier DAXHELET 3 May Department of Mathematical Engineering, CORE & Engie Chair, UCL 2 Department of Mathematical Engineering, ICTEAM Institute & EPL, UCL 3 Chief Analyst, Centre d Expertise en Etudes et Modélisation Economiques (CEEME), Engie

2

3 Acknowledgements First of all, I would like to thank my supervisor Pr. Anthony Papavasiliou for being always available for me whenever I needed help and for providing me guidance through this master thesis. I would like to thank Dr. Olivier Daxhelet and Dr. Mohammad Dib for providing me the subject and data for the thesis, and for the feedback they gave me during the past six months. Furthermore, I would like to thank Pr. Pierre-Antoine Absil for accepting to be part of the defense jury of my master thesis. Thanks to Mr. Adrien Baland for providing me with the PoweredPegase models and codes from his own master thesis. Finally, I would like to thank my parents for always supporting and encouraging me during my bachelors and masters degree. III

4

5 Contents Acknowledgements III Contents III Introduction 1 1 Model Components Flexible customers Deformation profiles Virtual Power Plants VPP s production/consumption possibilities VPP s characteristics Description of PoweredPegase The different problems Integration Problem Tracking Problem Mathematical Modelling Flexible customers Deformation profiles The basics Upwards deformation profiles Advanced constraints Deformation Costs PoweredPegase Power Balance Constraint Objective function Other Constraints Virtual Power Plants The Integration Problem Virtual Power Plant Integration Individual Integration The Tracking Problem Formulation Reachable target Size of the problem V

6 3 The Integration Problem Naive Integration VPP Integration Market Price Optimization Theory of Lagrangian Relaxation General idea Upper bound formulation Minimizing the Lagrangian Dual Function Subgradient method Choosing the step-size Stopping criterion Algorithm behaviour Application of Lagrangian Relaxation Formulation of the subproblems Initialising the dual variables Final algorithm The Tracking Problem MILP formulation Lagrangian Relaxation Heuristic algorithm The idea Formulation Optimality increased by size Parallelization Results Integration Algorithms results Benefits of flexibility VPP parametrization Lagrangian Relaxation convergence and tuning Tracking Algorithms results Heuristics results Distribution of the customers and presorting Conclusion 59 A Notations 63 B Problems and Subproblems 67 C PoweredPegase 73

7 Introduction In the current energy market, it is well known that the power consumption and thus also the energy prices are subject to daily fluctuations. Having the consumption peak during the day and reach a down during the night forces energy providers to inefficiently produce with their power plants. Power plants are such that the cheapest forms of energy production (nuclear power plants) are only cheap if we can keep them running for extended periods of time. If we have to turn them on and off twice a day, they become much more expensive than other types of power plants. In a perfect world, we would have a constant energy consumption. Even if this is not achievable, every way we have to flatten the consumption curve greatly reduces the energy costs. This is why a new type of customers has recently entered the power market: flexible customers. Whether it be in the public sector, in the industry or with private customers, there are possibilities for flexible customers to shift their consumptions to more profitable hours in exchange for a reduction on the electricity bill. In the past, energy providers have tried to encourage customers to consume more power during the night by using reduced nightly prices. Flexible customers are very different because we shift the decision-making process from the customers to the operators meaning we can have a much bigger impact on the consumption curve and actually start coordinating our customers. In the current state, flexible customers are present in small enough numbers that naive integration of the customers into the optimization models is still possible. When the numbers of flexible customers will be large enough, that will not be the case anymore. It is thus crucial for companies like Engie 4 to find time-efficient solutions for maximizing the profits of coordinating large numbers of flexible customers. One possible solution is to aggregate large numbers of flexible customers into virtual power plants. These virtual power plants are then to be integrated in higher-level optimization models which are capable of simultaneously optimizing several power plants over very long horizons. The models then give us optimal behaviors for the VPP s which in turn gives us optimal behaviors for the flexible customers. In this master thesis, we will develop several algorithms to solve the Integration Problem efficiently both in terms of profits as well as in terms of speed. The first chapter will explain the different components of the models that we have developed and how they interact. We then turn towards mathematical modeling 4 Formerly GDF Suez 1

8 of flexible customers, virtual power plants and our high-level optimization model. The two subsequent chapters will focus on two different problems, the first problem is integrating the flexible customers into the higher level model, the other one will be to solve a tracking problem where the customers have to coordinate to track a target signal with their consumption. For the Integration Problem, we will replicate Engie s idea as well as propose other, more efficient techniques. For the tracking problem we will go over the different solving methods we employed. The final chapter will be dedicated to the results of our different models. 2

9 Chapter 1 Model Components To model flexible customers, companies can use a great number of different approaches. The common ground of every company s approach however is the model s objective: maximizing profit. Because of the size of today s optimization problems, it is not always possible to obtain the best solution. What we are looking for is to obtain a solution that is close enough to the best solution yet takes minimal time to be calculated. A good model for flexible customers has to find a balance between flexibility and computational complexity. Restricting the customers too much means we won t fully exploit their flexibility. On the other hand, the more degrees of freedom we have, the harder the integration problem becomes computationally. Some companies have made the choice of modelling flexible customers with deformation profiles. These contract-based deformations can be applied to the consumption of any customer at any given hour. Once a good model has been found for the flexible customers, you have to integrate them into an optimization model to find the consumption pattern that is going to be optimal. One possible way to integrate the customers is the following. The idea is to aggregate flexible customers into a virtual power plant. This virtual power plant can then be included into a higher level optimization problem. Once an optimal behavior is found for the virtual power plant, you must coordinate flexible customers and have them behave exactly like the virtual power plant. In the current chapter we will establish the basic components of the model and their interactions. We will start by explaining the basics of the modeling of flexible customers. We will go over deformation profiles and how these are applied to the consumption of a flexible customer (see Section 1.1). Next, we will explain how virtual power plants relate to real power plants and how we can aggregate the flexible customers into the virtual power plant (see Section 1.2). The following section will focus on the high-level optimization problem used by Engie to co-optimize gas generators called PoweredPegase. We will explain its components, the main constraints and its objective function (see Section 1.3). Finally, we will briefly introduce the two problems we are going to solve in this master thesis: the Integration Problem and the Tracking problem (see Section 1.4). 3

10 1.1. FLEXIBLE CUSTOMERS 1.1 Flexible customers In this master thesis we have chosen to represent flexible customers in the same way as Engie. Flexible customers have an hourly power consumption that is called the nominal consumption. When no deformation profiles are applied, flexible customers behave exactly like any fixed demand. To modify the consumption, we can apply deformation profiles. Example 1. In a 3 hour model, a flexible customer has a nominal consumption of 100 kw for the first hour, 105 kw for the second hour, and 103 kw for the third hour Deformation profiles Deformation profiles can be seen as shapes that can be applied to the nominal consumption. The basic rules are: Not more than one deformation profile can be active on a customer at the same time; There is a downtime after applying a deformation profile during which no deformations can be applied; When we apply a deformation, we have to pay the customer to compensate for the inconvenience. Deformation profiles exist under their raw form in very small numbers. There are no more than 8 different deformation profiles. The strength of the deformation profiles is that their duration can be stretched from 2 periods to as many periods as we like and they can be started at any given time. Each deformation profile is split up in two parts. The first part is called the Action part, this is where the current consumption will be either increased or decreased by a certain percentage. The second part is called the Reaction part. In the Reaction part, the consumption of the customer will be increased or decreased as a function of what happened during the Action part. If the Action part was a power reduction, the Reaction part will catch up part of the lost production and if there was an increase the Reaction part will reduce the consumption to compensate for the over-consumption. All deformation profiles have an Action part but not all of them have a Reaction part. Example 2. We continue with example 1. The customer has the nominal consumption (100kW, 105kW, 103kW ). We wish to apply a two-period deformation profile with Action part 100% reduction for the first period and Reaction part 30% for the second period of the deformation. We can choose to either apply this deformation during the first period or the second period. If we apply it during the first period, the consumption is first reduced by 100% which causes a drop of 100kW in consumption. Afterwards, the reaction part will catch up 30% of the lost power so the customer will consume an extra 30kW during the second period. The resulting consumption of the customer is thus (0kW, 135kW, 103kW ). Similarly, if we apply it during the second period, the consumption would be (100kW, 0kW, 134.5kW ). 4

11 1.1. FLEXIBLE CUSTOMERS 100 Consumption (kw) Hour Deformation (%) Action Reaction Figure 1.1: The consumption of the customers in example 1. Figure 1.2: The deformation profile of example 2 Consumption (kw) 100 Original Deformed 100 Original Deformed Hour Hour (b) The resulting consumption when the deformation profile is applied during the second pe- (a) The resulting consumption when the deformation profile is applied during the first period. riod. Figure 1.3: Illustrations for example 2, the different effect that the same deformation profile can have when applied at different times. 0 Every single deformation profile can be stretched to last longer than its initial duration. Sometimes, when stretching a profile, we cannot have the profile replicate the original profile exactly. When the profile cannot replicate the shape of the original profile, we will call it an imperfect stretch, otherwise it is a perfect stretch. Example 3. Consider the deformation profile of example 2 A : ( 100%), R : (30%). If we stretch this over three periods, the profile becomes A : ( 100%, 100%), R : (30%), the stretch is not perfect. If we stretch over four periods, the profile becomes A : ( 100%, 100%), R : (30%, 30%) which is a perfect stretch. Because we are modeling all of the flexible customers with the same deformation profiles in this master thesis, we will not consider the effect of imperfect deformation profile stretches. 5

12 1.2. VIRTUAL POWER PLANTS 1.2 Virtual Power Plants We have a profit maximizing optimization model called PoweredPegase. The problem is that model is designed to work with power plants, not individual customers. Because of this, we are going to aggregate the flexible customers into a Virtual Power Plant. Virtual Power Plants (abbreviated VPP s) are virtual constructs that behave exactly like a regular power plant and can thus be integrated into PoweredPegase VPP s production/consumption possibilities The VPP differs from a real power plant because it can produce negative amounts of power; it can consume energy. The idea is that the VPP represents the deformations applied to a customer. If no deformation is applied, the VPP produces no power, if a deformation decreases the consumption of the customer, we will say that the VPP produces energy, and if the deformation increases the customer s consumption, we will consider that the VPP is consuming energy. Example 4. Let s suppose we use a VPP to represent a single customer whose nominal consumption is (65kW, 67kW, 64kW, 63kW ). If, by applying deformation profiles, the customer s consumption becomes (0kW, 67kW, 124kW, 32kW ), we will say that the VPP s production is (65kW, 0kW, 60kW, 31kW ). Consumption (kw) Original Deformed Hour Hour (a) The normal and deformed consumption of(b) The resulting production of the Virtual the customer. Power Plant Figure 1.4: Illustration for example 4: how the customer s consumption and the virtual power plant s production are related VPP s characteristics The next step is to define the three characteristics of a VPP: minimum production, maximum production, and marginal cost. None of these characteristics represent physical constraints, we thus have a degree of freedom in designing the VPP. 6

13 1.3. DESCRIPTION OF POWEREDPEGASE Choosing those characteristics intelligently is crucial because the VPP needs to be a good representation of the flexible customers it aggregates. If we choose a minimum and maximum production that is too small/big, the flexible loads won t be able to reach the planned production, on the other hand if we choose bounds that are too tight, we will not reflect the true flexibility potential of the customers. Example 5. Suppose we have a two time period model with two customers and two deformation profiles. The customer consumptions are c 1 = (100, 100) and c 2 = (50, 50), the deformation profiles are A : ( 100%), R : (30%) and A : (100%), R : (30%). We want to represent both customers as one virtual power plant. One approach is to say that the maximum production is when the customers consume the least. Because we can choose to apply the deformation profile during the first or the second period, we can push down the consumption of the customers to 0kW every hour. The maximum production of the VPP could then be 150kW. We can apply the same reasoning and find a minimum production of 150kW. Suppose we now integrate the power plant into a higher level model and this model has the VPP pushed to its technical maximum (150kW) at every hour. Clearly, we cannot reach such a target because to reach it in the first hour, we have to apply a deformation profile during the first period and as the deformation profiles last for two hours, we cannot apply any deformation during the next hour. Because we have badly designed the bounds of the VPP, we are facing a huge gap between the VPP and the customers. 1.3 Description of PoweredPegase This thesis is connected to a higher level optimization model called PoweredPegase. For the reader to understand the rest of the thesis it is crucial that the main elements of this model are well understood. The whole scope of the model is far beyond the reach of this document and was in fact the subject of a previous EPL master thesis [Bal14]. We will, in this first section focus on the key components that we are going to need later on. PoweredPegase contains generators which consume gas to produce power. This power is used to serve a fixed hourly demand. The model also includes a regular hourly power market where we can buy and sell energy at market prices which are sometimes identical for buying and for selling and sometimes not. The time horizon of the model depends from one instance to another. A typical horizon ranges over multiple months with hourly resolution. There are various constraints: up- and down-time constraints, multiple modes, startup profiles, fuel delivery constraints,... Out of all these constraints, the one that that interacts with the VPP is the power balance constraint. The power balance constraint demands that the production of the generators plus the power bought from the market equals the demand plus what is sold to the market. The final element we will need from PoweredPegase is its objective function. The objective of this model is to maximize profits. As such, the objective function includes profits, from the power sold to the market minus operating costs of the generators minus the power that is bought from the market. In the model, because there is the possibility to buy, all of the demand is automatically served. The generator costs include a few different costs together: cost of fuel, activation 7

14 1.4. THE DIFFERENT PROBLEMS Production Costs Market price (e/mw) e/ MW Producing Buying Production (MW) Figure 1.5: Example 6: A situation where the production costs reach the market price before the total demand is fulfilled. The model then buys the remaining power on the market. costs and CO 2 emission costs. The only important element about these costs is that they are increasing with the production. Because we will use PoweredPegase extensively in the next chapters, it is important that the reader has a good intuition of how the generators behave. The next example should give a proper understanding of what the model does exactly. Example 6. A typical example would be a two-hour market with a fixed demand of 10MW every hour and one generator. The market price would be 40 e/mwh every hour (for buying and selling). The generator will produce as much as it can until its operating costs become 40 e/mwh. If it produces more than 10MW every hour, the excess power will be sold to the market. If it produces less, the model will buy power on the market at the market price to satisfy the unfulfilled demand. 1.4 The different problems In this final section we are going to focus on the two problems we will solve in the master thesis: Integration of flexible customers into PoweredPegase and a Targettracking problem where the flexible customers have to coordinate to track a target consumption. We will shortly explain how both problems are closely related and introduce the algorithms used to solve these problems. 8

15 1.4. THE DIFFERENT PROBLEMS Production Costs Market price (e/mw) e/ MW Producing Selling Production(MW) Figure 1.6: Example 6: The production costs stay below the market price. To fulfil all of the demand, the generator will produce more and sell the surplus to the market Integration Problem This problem is to find an efficient solution to integrating the flexible customers into the higher-level model. Engie s idea for the integration problem was to aggregate the flexible customers into a virtual power plant and to then integrate the VPP into the higher-level model. In this thesis we are going to replicate their idea but also propose other ways to integrate the customers into the model. We will prove that our algorithms deliver improved execution time as well as profit. The first step of the VPP solution consists of solving PoweredPegase together with the VPP. Once this model is solved, we know how the VPP is supposed to behave and thus how the customers are supposed to behave. We will then pass on a target consumption and have to coordinate the customers. This target tracking problem is exactly our other problem for which we will develop techniques in another chapter. A schematic representation of the algorithm is presented in figure 1.7. Once this target-tracking problem is solved, we calculate the costs associated with running PoweredPegase and the costs of deformation of the flexible customers. These combined profits and costs are then to be compared with the profits of the other algorithms. The other solutions to the Integration problem all include individual integration of the flexible customers into PoweredPegase. Direct individual integration is not possible however because of the computational complexity of the problem. We will discuss different separation techniques developed to solve this problem including Lagrangian Relaxation and Market Price Optimization. Chapter 3 will focus on the Integration Problem. 9

16 1.4. THE DIFFERENT PROBLEMS Solve PoweredPegase With VPP Target Solve Tracking Problem Figure 1.7: Schematic representation of the VPP integration algorithm Tracking Problem We mentioned previously that the Integration Problem includes a Tracking Problem. We will not however focus on finding the best tracking solution in the VPP integration problem as that result is not crucial to disprove the VPP idea. For practical reasons however, it is useful to be able to track a consumption signal with the flexible customers. This signal could for example be a coordination signal coming from an aggregator and we would have to have the loads follow the target as closely as they can. To solve the tracking problem we will again use Lagrangian Relaxation as well as a heuristic algorithm. Chapter 4 will focus on the Tracking Problem. 10

17 Chapter 2 Mathematical Modelling Now that we have described the different components of our models, it is time to translate those components into the mathematical models we are going to run. We will introduce all of the variables and parameters of the model, and mathematically express the models we have presented in Chapter 1. This is how the chapter is structured: In section 2.1, we will explain how the constraints of flexible customers and deformation profiles are formulated; In section 2.2, we review the most important equations of the PoweredPegase model; its power balance constraint and its objective function; In section 2.3, we will talk about Virtual Power Plants and their main constraints; In section 2.4, we discuss the different versions of the Integration Problem. We will be formulating the mathematical equations needed for the algorithms of chapter 3; In section 2.5, the discussion will be centered around the Tracking Problem where loads have to coordinate to track a consumption profile. Finally, in section 2.6, we will briefly talk about why the problem requires specific solving techniques. During the whole chapter we will define mathematical notations, all of which will be explained as they are introduced. There is however a notation summary in Appendix A. 2.1 Flexible customers In this section, we discuss the modeling of flexible customers. We are first going to talk about deformation profiles. Then we are going to discuss how the deformation 11

18 2.1. FLEXIBLE CUSTOMERS profiles are applied to the customer s consumption. We then turn to modeling more advanced constraints such as not having more than one deformation profile at a time. Finally, we will discuss deformation costs Deformation profiles It is important to define exactly how a deformation profile is stretched and how the different coefficients are calculated before we can tackle the formulation of flexible customers. The base deformation profiles all have a total duration of 1. The Action part will last for anywhere between 0 (not included) and 1 (included), meaning we can have deformation profiles that only have an Action part. If the profiles don t have a Reaction part, we can use them without stretching, if not, we have to stretch them to at least two periods because our formulation doesn t allow for simultaneous applications of Action and Reaction parts. Originally, deformation profiles were meant to be used in a minute-based model. Because we opted for an hourly model, we have to make some approximations about how deformation profiles are applied. When we stretch deformation profiles over a duration where the original shape cannot be maintained, we will always stretch the action part towards the closest hour except if by stretching it this way, we don t have a reaction part. The final clarification needed is about the reaction part. If we have a reaction part of β%, when we stretch it, we have to divide the catch-up over the reaction period, meaning if the stretched reaction period lasts n periods, we will catch up β/n% every period. We will call I the set of all downwards deformation profiles, R i the set of time periods of deformation i, and α is the coefficient of deformation profile i at the deformation time period s. Example 7. Suppose we want to stretch a deformation that originally looks like figure 2.1. Because the deformation is split in exactly two even parts, it is easy to stretch the deformation profile to an even number of time periods. Stretching it to four time periods would for example give the coefficients α is = ( 1, 1, 0.15, 0.15). If we now consider a stretch of the same deformation profile over three or five periods, we would obtain α is = ( 1, 1, 0.30), α is = ( 1, 1, 1, 0.15, 0.15) respectively. Example 8. In this example, we will focus on the deformation profile displayed in 2.2. This time, the deformation is not split into two even parts. The transition point between Action and Reaction happens at 0.7. The stretch has to take the closest available transition point. For the two period stretch, that is 0.5. For the three period stretch, that is The stretches thus become: Total Duration α 11 α 12 α 13 α 14 α 15 α 16 Transition Point (1) (2)

19 2.1. FLEXIBLE CUSTOMERS Deformation (%) Deformation (%) Action Reaction Figure 2.1: The deformation profile of example Action Reaction Figure 2.2: The deformation profile of example 8. Note that for the five period stretch, we have two possibilities. In that case we will choose the solution with the most Reaction deformation periods so solution 1. Now that we have explained the deformation profiles, we turn to the modeling of the flexible customers. The first step is to express the customer s consumption as a function of its nominal consumption and the deformation profiles that are applied to it. Because upwards and downwards deformations do not have the exact same formulation, we will first focus on downwards deformations and go over upwards deformations afterwards The basics Let T be the set of all time periods, L the set of all flexible customers, d lt the consumption of load l at time t, and n lt the nominal consumption of load l at time t. If no deformations are introduced, we have d lt = n lt., l L Let I be the set of all downwards deformations, x ilt a binary variable that indicates whether deformation profile i was started on load l at time period t, α is the coefficient of deformation i at time period s, and S i the set of Action periods for deformation profile i. Including the Action parts of the deformation, we thus have ( d lt = n lt 1 + ) α is x il(t s)., l L i I s S i The idea is that the current consumption depends on whether or not we activated a deformation during the current or previous time periods (depending on how long the Action part of a deformation profile lasts). If we activated a deformation, we need to reduce the consumption by a certain percentage: α is. 13

20 2.1. FLEXIBLE CUSTOMERS Consumption (kw) Original Deformed Hour Figure 2.3: The consumption of the customers with and without deformation profiles in example 9. Deformation (%) Action Figure 2.4: The deformation profile of example 9 Example 9. For this example we take a horizon T = {1, 2, 3, 4, 5, 6, 7}. Suppose we have a flexible customer number 1 with nominal consumption n 1t = (101, 102, 103, 104, 105, 106, 107) kw. We want to apply a two period stretch of the deformation in figure 2.4. This deformation profile number 1 will have α 1s = ( 1, 1), S 1 = {0, 1}. S 1 contains these values because the two first periods are Action parts. If we choose to apply the deformation profile during time period 3, we have x 11t = (0, 0, 1, 0, 0, 0, 0, 0). d 11 = n 11 (1 + α 10 x 111 ) d 11 = 101 kw d 12 = n 12 (1 + α 10 x α 11 x 111 ) d 12 = 102 kw d 13 = n 13 (1 + α 10 x α 11 x 112 ) d 13 = n 13 (1 + ( 1)1 + ( 1)0) = 0 kw d 14 = n 14 (1 + α 10 x α 11 x 113 ) d 14 = n 14 (1 + ( 1)0 + ( 1)1) = 0 kw d 15 = n 15 (1 + α 10 x α 11 x 114 ) d 15 = 105 kw d 16 = n 16 (1 + α 10 x α 11 x 115 ) d 16 = 106 kw d 17 = n 17 (1 + α 10 x α 11 x 116 ) d 17 = 107 kw The resulting consumption is thus d 1t = (101, 102, 0, 0, 105, 106, 107). The final part of deformation that we need to model are the Reaction parts of deformations. Let T i be the set of the Reaction-part periods of a deformation 14

21 2.1. FLEXIBLE CUSTOMERS profile, we have d lt = n lt ( 1 + i I s S i α is x il(t s) ) i I α is x il(t s) α iτ n l(t s+τ). s T i τ S i, l L (2.1) For the Reaction part, we first need to know if the deformation profile was activated long enough ago. If we are in the Reaction part, we will catch up a percentage of what was under- or over-consumed in the action part. Example 10. For this we will consider the same customer data as for example 9: T = {1, 2, 3, 4, 5, 6, 7}, n 1t = (101, 102, 103, 104, 105, 106, 107) kw. We are going to apply a four-period stretch of the deformation profile in figure 2.6. This gives us α 1s = ( 1, 1, 0.15, 0.15), S 1 = {0, 1}, T 1 = {2, 3}. We activate the deformation profile during period 3, we thus have x 11t = (0, 0, 1, 0, 0, 0, 0, 0). Applying the calculation of deformations we have d 11 = n 11 (1 + α 10 x 111 ) d 11 = 101 kw d 12 = n 12 (1 + α 10 x α 11 x 111 ) d 12 = 102 kw d 13 = n 13 (1 + α 10 x α 11 x 112 ) α 12 x 111 (α 10 n 11 + α 11 n 12 ) d 13 = n 13 [1 + ( 1)1 + ( 1)0] 0.15(0)[ 1(101) 1(102)] = 0 kw d 14 = n 14 (1 + α 10 x α 11 x 113 ) α 12 x 112 (α 10 n 12 + α 11 n 13 ) α 13 x 111 (α 10 n 11 + α 11 n 12 ) d 14 = n 14 [1 + ( 1)1 + ( 1)0] 0.15(0)[ 1(102) 1(103)] 0.15(0)[ 1(101) 1(102)] = 0 kw d 15 = n 15 (1 + α 10 x α 11 x 114 ) α 12 x 113 (α 10 n 13 + α 11 n 14 ) α 13 x 112 (α 10 n 12 + α 11 n 13 ) d 15 = n 15 [1 + ( 1)0 + ( 1)0] 0.15(1)[ 1(103) 1(104)] 0.15(0)[ 1(102) 1(103)] = kw d 16 = n 16 (1 + α 10 x α 11 x 115 ) α 12 x 114 (α 10 n 14 + α 11 n 15 ) α 13 x 113 (α 10 n 13 + α 11 n 14 ) d 16 = n 16 [1 + ( 1)0 + ( 1)0] 0.15(0)[ 1(105) 1(104)] 0.15(1)[ 1(103) 1(104)] = kw d 17 = n 17 (1 + α 10 x α 11 x 116 ) α 12 x 115 (α 10 n 15 + α 11 n 16 ) α 13 x 114 (α 10 n 14 + α 11 n 15 ) d 17 = 107 kw The resulting consumption is thus d 1t = (101, 102, 0, 0, , , 107). Before we move on to the next section we should mention that the variable d lt is only there to facilitate the reading of the model. We could very well remove it and replace it by the right-hand side of equation 2.1 in all other constraints. In a similar fashion, let d t be the total consumption of the flexible customers at time t. We have d t = l L d lt. 15

22 2.1. FLEXIBLE CUSTOMERS Consumption (kw) Original Deformed Hour Figure 2.5: The consumption of the customers with and without deformation profiles in example 10. Deformation (%) Action Reaction Figure 2.6: The deformation profile of example Upwards deformation profiles Now that we have formulated downwards deformation profiles, we have to turn to upwards deformation profiles. These are profiles that increase the consumption at first and then have a proportional decrease afterwards. Upwards deformation profiles differ from downwards deformation because they do not increase the total consumption by a certain percentage but they increase the current consumption by a certain percentage of the difference between the maximum and the current consumption. Let J be the set of all upwards deformation profiles, S j the set of all Action time periods of deformation profile j, T j the set of all Reaction time periods of deformation profile j, β js the coefficient of deformation profile j at time period s, and D l the maximum consumption of customer l. We have d lt = n lt + β js (D l n lt ). The reason why deformation profiles are formulated this way is that we can partially include maximum consumption constraints into the formulation of deformation profiles. By restricting the coefficients α and β between 0 and 1, there cannot be an over-consumption during the action parts of the deformation. We will still need maximum consumption constraints because the reaction parts of deformation profiles do not take into account the possibility of an over-consumption. The full expression for deformation profiles thus becomes ( d lt = n lt 1 + ) α is x il(t s) α is x il(t s) α iτ n l(t s+τ) i I s S i i I s T i τ S i l L, t T + β js y jl(t s) (D l n lt ) β js y jl(t s) β jτ (D l n l(t s+τ) ). j J s S j j J s T j τ S j 16

23 2.1. FLEXIBLE CUSTOMERS Advanced constraints Now that we have formulated the constraint binding the deformation profile and the consumption, we are going to mathematically formulate the different application conditions of the deformation profiles. The first thing that we need to ensure is that not more than one deformation can be active at a time. Let z lt be variable that indicates whether or not a deformation profile is active on load l at time t. Because at most one deformation can be active at a time we have z lt 0, z lt 1. l L, t T l L, t T To know if a deformation profile is currently active, we have to know if any deformation was started during the current or previous periods or if we are in the downtime period after a deformation. Because we have binary variables that indicate activation of deformation profiles, this is relatively easy. Let R i be the set of time periods of downwards deformation profile i, let r i max the last time period of R i, let R j be the set of time periods of upwards deformation profile j, let r j max the last time period of R j, and let DT l be the down-time after deformation of customer l. We have z lt i I rmax+dt i l r=1 x il(t r) + j J rmax+dt j l r=1 y jl(t r). l L, t T Because we need to ensure that the consumption of the customers remains bounded, we impose bounds to their maximum and minimum consumption d lt 0, d lt D l. l L, t T l L, t T We need to bound the consumption of customers because even if the formulation ensures that the consumption remains within bounds during the Action part, we cannot ensure that during the Reaction part. Example 11. To illustrate the need for bounds, we consider this simple example. Suppose we have a horizon T = {1..6}, only one customer with n 1t = (100, 100, 100, 50, 50, 50) kw and D 1 = 200 kw. If we have two stretches of the same deformation profile α 1s = ( 1, 1), S 1 = {0} T 1 = {1}, α 2s = ( 1, 1, 1), S 2 = {0, 1} T 2 = {2}. We can see that the first deformation profile can be applied at any time because the increase in consumption during the Reaction part will be at most 100 kw. The second deformation profile however cannot be applied during the first two time periods because that would have the customer consume an additional 200 kw which, in addition to the current consumption, would cause the customer to over-consume. We previously mentioned that not all loads can have all deformation profiles applied to them. More generally, each load only accepts a restricted number of deformation profiles and also has maximum stretch duration e.g. load 1 can have 17

24 2.2. POWEREDPEGASE deformation profile 1 and 2 but only when their stretched duration is limited to 6 hours. Because in our formulation every stretch of the same original profile is treated as a separate deformation profile, the formulation of this constraint is going to be simplified. Let q il be a parameter which is 1 if load l can accept deformation profile i and 0 otherwise, let r jl be a parameter which is 1 if load l can accept deformation profile j and 0 otherwise, we have x ilt q il, y jlt r jl. This constraint ensures that we can never activate a deformation profile on a load that does not accept that deformation profile. Finally, because x ilt and y jlt are binary variables x ilt, y jlt {0, 1}. i I, j J, l L, t T Deformation Costs Because the customers offer flexibility, it is logical that they should be rewarded for it. In this master thesis we will consider that there are two types of costs associated with deformations. The first cost is a fixed price we pay every time we activate a deformation profile. The second cost depends on the size of the deformation applied. This cost is directly proportional to how much the customer if moved around compared to it s regular consumption level. Let µ il be the cost of applying downwards deformation i on customer l, let µ jl be the cost of applying upwards deformation j on customer l, and let γ l be the cost of moving customer l away from it s nominal consumption. The deformation cost is then ( µ il x ilt + ) µ jl y ilt + γ l (n lt d lt ). i I j J t T,l L The proportional part of the deformation cost is closely related to a supply cost. It is logical that if we supply the customer with less than its normal power supply, we should pay a contribution. On the other hand, if we over-supply a customer with power, he should pay for that over-supply of energy. Nevertheless, the methodology we present would apply to more general expressions f(n lt d lt ), for example n lt d lt. 2.2 PoweredPegase Now that we have described the flexible customers, we will move on to Powered- Pegase. Because PoweredPegase is too complex to be described as a whole, we will restrict ourselves to describing the equations that will link PoweredPegase to our flexible customers. Additional details about PoweredPegase are available at [Bal14]. The equations we will focus on are the power balance equation and the objective function. 18

25 2.2. POWEREDPEGASE Power Balance Constraint Let G be the set of generators, p gt be the production of generator g at time period t, b t the amount of power bought on the market at time period t, s t the amount of power sold to the market at time period t, D t the amount of fixed demand at time period t. The power balance equation is p gt + b t = D t + s t, g G and requires that the total production plus the power bought on the market equals the demand plus what we sell on the market Objective function The other equation we need is the objective function of PoweredPegase. The objective function includes many different costs so we will simplify the equation. Let C t be the market buy price at time t, Ct be the market sell price at time t, p g = (p gt ) t T, h g be an increasing function of p g which represents all of the costs associated with the production of power plant g at time t. The objective function of PoweredPegase becomes max (Ct s t C t b t ) h g (p g ). p gt,s t,b t g G t T The objective function of PoweredPegase thus represents a maximization of selling minus costs; the objective of PoweredPegase is to maximize the profit. For the sake of simplicity, we consider h g to be depend of p g only. This is not correct as h g depends on many different variables (some binary) all of which are defined in appendix C Other Constraints In the next chapters, we will need all of the constraints of PoweredPegase. For practical reasons, we will define the polyhedron defined by all of the constraints except the power balance constraint as P P g for generator g. The final constraint we will thus consider is p g P P g. g G All of the constraints of PoweredPegase ( g G P P g) are described in appendix C. 19

26 2.3. VIRTUAL POWER PLANTS 2.3 Virtual Power Plants To replicate Engie s idea in the Integration Problem, we need a formulation of the Virtual Power Plant(VPP). Because we will disqualify the VPP as an optimal integration technique later on in the master thesis, we will use the simplest power plant model for our VPP. For practical reasons, we are not going to use simple values for the lower and upper bounds. Instead, it is much easier to define them as coefficients which we then multiply with the total nominal consumption of the flexible customers every hour. Let f t be the production of the VPP at time period t, P max be the coefficient for the maximum production of the power plant, and P min be the coefficient for the minimum production of the power plant. Because the consumption of the virtual power plant needs to remain within its bounds, we have ( ) f t P min n lt, l L ( ) f t P max n lt. l L We will also associate a marginal cost to the production of the virtual power plant. Let V be the marginal cost of production of the VPP. The cost are simply expressed as V f t. t T Keep in mind that these costs are virtual. We could increase the complexity of the VPP by adding up- and down-time constraints, ramp-up rates, ramp-down rates,... Because we find an alternative to VPP Integration that is computationally feasible and more profitable, we will not add any constraints to the VPP model. 2.4 The Integration Problem In the previous section we have already formulated most of the constraints we need for this problem. Because our formulation of the Integration Problem includes three different problems together, we will describe all the constraints included in each individual problem as well as their respective objective functions. We will not formulate the tracking sub-problem as it has the exact same formulation as the Tracking Problem in the next section Virtual Power Plant Integration This sub-problem starts with all the constraints of PoweredPegase except for the power balance constraint which needs to be modified. We specified that the Virtual 20

27 2.5. THE TRACKING PROBLEM Power Plant represents deviations from the nominal consumption of the flexible customers. The power balance constraint then becomes n lt. g G p gt + b t + f t = D t + s t + l L We also need all of the VPP constraints from section 2.3. The objective function of this problem has to take into account the profits from PoweredPegase minus the operating costs of the VPP. We have max p,s,b,f (Ct s t C t b t V f t ) h g (p g ). g G t T Individual Integration With individual integration, the idea is relatively similar to the integration of a VPP. Again, we use all of the PoweredPegase constraints except for the power balance constraint which needs to take into account the flexible demand. The power balance constraint thus becomes p gt + b t = D t + s t + d t. g G Because we integrate the loads individually, we have to add all of the flexible customer constraints of section 2.1. In terms of objective function, we include both the profits from PoweredPegase as well as the deformation costs. We thus have max p,s,b,d t,d lt,x,y,z (Ct s t C t b t ) h g (p g ) g G t T l L ( µ il x ilt + ) µ jl y ilt + γ l (n lt d lt ). j J t T i I 2.5 The Tracking Problem This section is dedicated to formulating the Tracking Problem. Whether it be obtained from a VPP integration or simply from an external source, the Tracking Problem consists of a coordination problem where all the flexible customers have to track a certain target consumption signal Formulation Let d t be the target signal at time period t, we can now formulate the Tracking Problem as a minimization of distance. In this master thesis, we will only consider 21

28 2.6. SIZE OF THE PROBLEM the Manhattan norm as a measure of distance, because it allows us to formulate the problem as an MILP. The objective function of the Tracking Problem is d t d t. min d t,d lt,x,y,z t T In the Tracking Problem, we never take into account deformation costs. The sole objective of the Tracking Problem is to track the target as accurately as possible, no matter how big the deformation costs are. The constraints of the Tracking Problem are simply those of the flexible customers from section Reachable target Now that we have described the target tracking formulation, we have to talk about the target itself. It sounds logical that certain targets are impossible to track, e.g. asking a load with nominal consumption 10kW to track a target of 100kW is not possible. We will say that a target is reachable when the LP-relaxation of that Tracking Problem has a solution 0. If this is not the case, we will say that the target is not reachable. Because deformation profiles almost always have a Reaction part where there is a catch-up of the Action part, we can never reduce the consumption of the customers over extended periods of time, nor can we push it for very long periods of time. There is no precise way to tell if a target is reachable except by solving the LP-relaxation, but generally speaking, the targets that are high above or way below the nominal consumption for more than 8 9 time periods are unreachable. We have to take this into account because in our algorithms, Virtual Power Plants produce targets and if these targets are systematically unreachable, we will have to re-parameterize the VPP s to avoid that. Note that even if a target is reachable by LP-relaxation, it might still be hard to reach with the integer version of the Tracking Problem. 2.6 Size of the problem The PoweredPegase problem is already a complicated problem in its own right. While small instances of the problem remain solvable, the full-scale problem is a mixed integer linear program and requires optimization techniques to be solvable on real-life cases [Bal14]. It is thus logical that when we add even more variables, parameters and constraints to this problem that it becomes even harder to solve. In this master thesis we will discuss algorithms that do not suffer from the scaling of the number of flexible customers. 22

29 Chapter 3 The Integration Problem The third chapter of the master thesis will be dedicated to finding algorithms for solving the Integration Problem. When the number of customers is low enough, individual integration of loads into PoweredPegase is possible. This does not remain true when we add more flexible customers to the problem. The objective of this chapter is thus to find algorithms that are linearly scalable; algorithms whose execution time per flexible customer remains the same, no matter how many customers we consider. One way to achieve this goal is by making the Integration Problem separable. We want to split the Integration Problem into smaller problems. To achieve this, we will explore different options. For each different option, we will also define a comparison criterion. This criterion will be based entirely on the profits of the solution found by those methods. In Section 3.1, we will discuss the profits of individual integration into PoweredPegase while keeping the size of the problem small enough so that the problem solves in reasonable time; In Section 3.2, we will explore the profits and benefits of the VPP integration into PoweredPegase; In Section 3.3, we will discuss a solution that involves having the loads optimize their consumption against the market price, thus separated from PoweredPegase; In Section 3.4, an overview of the theory behind Lagrangian Relaxation will be presented; Finally, in Section 3.5, we will show how Lagrange Relaxation is applied to our Integration Problem and how we achieve a separable problem by using this programming technique. All of the problems and subproblems we formulate in this chapter are fully written out in appendix B. 23

30 3.1. NAIVE INTEGRATION 3.1 Naive Integration Because we will implement different solutions, we need a benchmark model in terms of execution time and profits. The best solution in terms of profits is always integrating the flexible customers into PoweredPegase individually. Even if we cannot turn to this solution for large-scale problems, the results of the solution obtained with small-scale problems will allow us to rank the other methods. The profits of the naive integration are relatively easy to calculate. The profits and costs can be summarized as follows: Operating Costs from running the power plants; Costs from buying energy on the power market; Inconvenience Costs paid to the flexible customers when moved around (deformation costs); Revenues from selling electricity to the power market. 3.2 VPP Integration The VPP Integration algorithm consists of two different and separated steps. The first step is to integrate a virtual power plant into the PoweredPegase model. Once we have the consumption of the VPP for every hour, f t, we can calculate the associated flexible customer consumption target d t = l L n lt f t. With this target d t, we solve the tracking problem. Because the required data is small enough, we do not need to use specific algorithms to solve the tracking problem efficiently, this is why we delay the discussion of the algorithms specific to target tracking to chapter 4. Once again, we have to define a clear comparison criterion to be able to compare the different methods employed. The PoweredPegase and VPP have the following profits and costs: Operating Costs from running the power plants; Costs from buying energy on the power market; Benefits from selling electricity to the power market. Note that although it is included in the PoweredPegase optimization, the marginal cost of the VPP is not included as it is only a virtual cost. We also have costs and profits from the tracking problem: Inconvenience Costs paid to the flexible customers when moved around (deformation costs); 24

31 3.2. VPP INTEGRATION Planned Consumption Actual Consumption Selling Consumption (MW) Buying Time Period Figure 3.1: After we solve the tracking problem, deviation costs are computed to adjust compensate the gap between the planned and the real consumption. Deviation Costs. About the deviation costs, because the Tracking Problem is not exact, we have to take into account that there is a gap between the planned consumption of the customers in the first step and the actual consumption achieved in the second step. Because of this gap, we also have to include deviation costs which are calculated as follows: if the flexible customers consume less than what was planned, we will sell the surplus power on the market at the market price and if the customers consume more than what was planned, we will buy the difference on the power market. In mathematical terms, we have a cost/profit term Ct ( d t d t ) + + C t ( d t d t ), t T where ( ) + and ( ) refer to the positive and negative parts of the argument. In terms of computational complexity, this method is actually quite close to the naive integration because our tracking problem is a priori not separable either so it will suffer from the same temporal complexity issues as the first one. We could however have better computational complexity while maintaining the same cost efficiency results by using more efficient tracking methods. In that case, the VPP Integration becomes easier than the Naive Integration. In the next sections, we will discuss methods that are both scalable and more efficient than VPP Integration so we will delay the discussion of the Tracking Problem until the next chapter. 25

32 3.3. MARKET PRICE OPTIMIZATION 3.3 Market Price Optimization The Market Price Optimization is based on the following idea: instead of integrating the flexible customers into PoweredPegase, we can optimize their consumption on the power market individually. If the buying and selling price on the market are the same, this solution will be equivalent to the naive integration. Because the flexible customers react individually to the market price, we can completely separate the problem. We will in fact solve PoweredPegase and every single customer separately. This method is the first of the two separation methods we will see. The first advantage of separation methods is that the subproblems we obtain are small and can be solved in minimal time, the second advantage is that we can parallelize this method to further increase the speed of our algorithm. The reason why we can obtain a separable problem can be explained as follows. The general naive integration problem with an identical sell and buy market price is max p,s,b,d t,d lt,x,y,z (C t (s t b t )) h g (p g ) g G t T ( µ il x ilt + l L t T i I j J s.t. s t 0, b t 0, p gt + b t = D t + s t + d t, g G p g P P g, d l L l, µ jl y ilt + γ l (n lt d lt ) ) g G l L where L l refers to the polyhedron of all of the customer specific constraints and d l = (d lt ) t T. Rewriting the power balance equation as s t b t = g G p gt d t D t, and replacing this expression into the objective function yields ( C t ( ) p gt p t D t ) h g (p g ) g G g G max p,s,b,d t,d lt,x,y,z t T ( µ il x ilt + ) µ jl y ilt + γ l (n lt d lt ) l L t T i I j J s.t. s t 0, b t 0, p g P P g, d l L l. g G l L 26

33 3.3. MARKET PRICE OPTIMIZATION We can see that this problem is in fact separable into l + 1 problems where l is the number of flexible customers. If we remember that d t = l L d lt, we have a sub-problem for each customer l ( ) max d t,d lt,x,y,z t T C t d lt + i I µ il x ilt + j J µ jl y ilt + γ l (n lt d lt ) s.t. d l L l, and the Power Pegase model ( C t ( ) p gt D t ) h g (p g ) g G g G max p,s,b t T s.t. s t 0, b t 0, p g P P g. l L g G The costs and profits of this method are: Operating Costs from running the power plants; Costs from buying energy on the power market (this includes both buying from the PoweredPegase step and buying for the customers); Inconvenience Costs paid to the flexible customers when moved around (deformation costs); Benefits from selling electricity to the power market. As we mentioned before, this method has advantages. The problem with this method is that we cannot apply it when the buy-price is not the same as the sell-price because the production of the Generators in PoweredPegase is not independent of the flexible demand. The following example should clarify why. Example 12. Suppose we have a one-period, one-generator PoweredPegase model with only fixed demand D. The production costs as a function of the production p are C(p) = 0.2p 2, the market selling price is 40e/MWh and market buying price is 40e/MWh in the first case and 42e/MWh in the second case. We are faced with the following optimization problems: max p,s,b 40s 40b 2p2 s.t. s, b, p 0, b + p = D + s 0, and max p,s,b 40s 42b 2p2 s.t. s, b, p 0, b + p = D + s 0. 27

34 3.4. THEORY OF LAGRANGIAN RELAXATION When the demand D is between 0 and 10 MW, we have no difference between the two cases as we will always produce p = 10 and sell 10 D MW. When we have a demand above 10 MW, we can see a different behaviour: in the first case, we keep producing only p = 10 and buy D 10 MW at the market price. The production is thus independent of the demand. In the second case however, it is more worthwhile to keep pushing the generator to produce until p = (that s when the marginal cost of the generator reaches the buy price) and then buy the remaining power on the market. This is because buying would cost 42 ( ) = = 10.08e and producing would cost 2( ) 2(10) 2 ) = 10e so it is clearly preferable to produce than to buy. This simple example is intended to illustrate that when the market price is different for buying and selling, the production of the generators actually depends on the demand whereas that is not the case when the market price is the same; the problem is not separable anymore. 3.4 Theory of Lagrangian Relaxation When the market buy and sell price is different, we cannot simply decompose the problem by reformulating it. One solution that does work when market prices are different is Lagrangian Relaxation. In this section, we will describe the theory behind Lagrangian Relaxation. We will not go into the specifics of how this theory applies in our current case as that will be the subject of the next section General idea Lagrangian Relaxation 1 is used in Mathematical Programming to obtain an upper bound on the objective function. By using it together with other appropriate methods, we can obtain algorithms that in some cases converge and find solutions that are close to optimal. Lagrangian Relaxation is especially suited for mixed integer problems where the constraints can be divided into two sets: Good constraints, constraints that are computationally easy; Bad constraints, that make the problem computationally hard. Consider an optimization problem max f 0 (x) x s.t. f i (x) 0, h j (x) = 0, i = 1,..., m j = 1,..., p with x X. We will call p the optimal value of this problem. We can assign dual multipliers λ i to the inequality constraints and ν j to the equality constraints. We 1 This section is mostly based on [BV04], [Lem00], [BXM03], [Duc14], [Ned14], and [Chi07] 28

35 3.4. THEORY OF LAGRANGIAN RELAXATION can then define the Lagrangian function L : X R m R p R L(x, λ, ν) = f 0 (x) m p λ i f i (x) ν j h i (x). i=1 j=1 With this Lagrangian Function we can then define a function called the Lagrangian Dual Function g : R m R p R which does not depend on x. This function represents the maximum value of the Lagrangian function over x thus g(λ, ν) = max L(x, λ, ν), (3.1) x D where D = m i=0 dom f i p j=1 dom h j thus ( g(λ, ν) = sup L(x, λ, ν) = sup x D x D f 0 (x) m λ i f i (x) i=1 ) p ν j h i (x). This Lagrange Dual Function can be used as an upper bound on the optimal value p. j= Upper bound formulation If we restrict λ i 0, for any ν j, we have g(λ, ν) p. To prove this property, consider a feasible point x D. Because f i ( x) 0 and h i ( x) = 0 and λ i 0, we have m λ i f i (x) i=1 p ν j h i (x) 0, j=1 since we are subtracting negative terms and terms that are zero. We can thus also write m p L(x, λ, ν) = f 0 ( x) λ i f i (x) ν j h i (x) f 0 ( x). i=1 Which, in turn, leads us to j=1 g(λ, ν) = sup L(x, λ, ν) L( x, λ, ν) f 0 ( x). x D g(λ, ν) p is called weak duality. Note that sometimes the problem 3.1 is not bounded. In those cases we will say that there is no optimal solution x. 29

36 3.4. THEORY OF LAGRANGIAN RELAXATION Minimizing the Lagrangian Dual Function Now that we know that the Lagrangian Dual function is an upper bound, we have to find methods to minimize this function in order to find the tightest upper bound. First note that in general, we will never have a zero duality gap, that is x D, λ R m, ν R p : f 0 (x) = g(λ, ν) generally does not hold for mixed integer programming problems. Even if strong duality does not hold, it is very useful to be able to have an upper bound on the problem. To find the tightest upper bound possible, we have to minimize our function g(λ, ν). The following theorem 2 will help us to do that. Theorem 3.1. Whatever the data X, f i, h j can be the function g(λ, ν) is always convex and lower semi-continuous. Besides, if λ and ν are such that the problem 3.1 has a solution x (not necessarily unique), then ( ) ( ) sλ f( x) = s µ h( x) is a subgradient of g at (λ, ν): g( λ, ν) g(λ, ν) + s T λ ( λ λ) + s T ν ( ν ν) ( λ, ν) R m + R p Because we have a convex lower semi-continuous problem and we also have a subgradient, we can use subgradient methods to minimize g(λ, ν) and thus find the best possible bound Subgradient method The idea of a subgradient method is to start with values for λ and ν, to solve the relaxed problem and then update the dual multipliers according to the results of that problem. The specificity of the subgradient method we will see depends entirely on the step-size α k that we choose. This iteration pattern can be written as λ k+1 i λ k i α k s k λ,i i = 1..m ν k+1 j νj k α k s k ν,j j = 1..p First of all, we have to make an adaptation to this iteration pattern. Because we have to guarantee that λ i 0, we have to modify the update rule to ensure that this remains true no matter what values of α k,and s λ we have. This can be done very easily by using the following pattern instead λ k+1 i max(0, λ k i α k s k λ,i) i = 1..m ν k+1 j νj k α k s k ν,j j = 1..p 2 This theorem is directly taken from [Lem00] 30

37 3.4. THEORY OF LAGRANGIAN RELAXATION A second factor that we have to take into consideration is that subgradient methods are not descent methods, which means that we have to keep track of the best point found so far, i.e. the one with the smallest function value. We thus have a parameter f best which we will initialise at + and update according to s best = min(f best, g(λ k i, ν k j )) We now have all the tools necessary to describe the subgradient method. Algorithm 1: Subgradient Method input : Initial Dual Multipliers λ 0, ν 0, (Maximum number of iterations k max ) output: Best upper bound f best f best for k 0 to k max 1 do Solve LagrangianProblem(λ k, ν k ) f best min(f best, g ) λ k+1 max(0, λ k α k s k λ ) ν k+1 ν k α k s k ν end return f best We now turn to discussing the step-size as choosing the right step-size is crucial to achieve fast convergence Choosing the step-size There are various possible step-sizes we can choose of. In general, we can choose between Constant step size: α k = α (constant); Constant step length: α k = γ/ s k 2 (so that x k+1 x k 2 = γ remains constant; Square summable but not summable ( k=1 α2 k <, k=1 α k = ); Nonsummable diminishing: (lim k α k = 0, k=1 α k = ). All of these choices lead to convergence but often, very slow convergence. Suppose that we know the exact value of the dual problem g and the corresponding arguments x = (λ, ν ), we can write x k+1 x 2 2 x k α k s k x 2 2 = x k x 2 2 2α k s kt (x k x ) + α 2 k s k 2 2 (3.2) The first inequality holds because of how we update our dual multipliers (the λ are projected on the positive orthant). The second inequality simply results from 31

38 3.4. THEORY OF LAGRANGIAN RELAXATION the expansion of the square norm. Now, suppose we know g then, because s is a subgradient, we can write g = g(x ) g(x k ) + (s k ) T (x x k ). Replacing this inequality into equation 3.2, we obtain x k+1 x 2 2 x k x 2 2 2α k (g(x k ) g ) + α 2 k s k 2 2 (3.3) At each step, we want the distance between our next lagrange multipliers and the optimal lagrange multipliers to be as small as possible, we thus minimize the right-hand side of this equation. This gives us the optimal step α k = g(xk ) g. s k 2 2 This step-size is called the Polyak rule. Because we do not know the exact value g, we have to use an estimate ĝ instead. In that case, the step-size is called a modified Polyak Step rule. We will see in the next section how exactly we will estimate g in our particular case Stopping criterion The final element of our subgradient method that we need to discuss is a stopping criterion. The algorithm presented before relied on using a fixed number of iterations. In practice, it is very difficult to define a stopping criterion as being the best in all situations. In this master thesis we will implement three different stopping criteria and compare the results of Lagrangian Relaxation with each different criterion. The stopping criteria we will implement are: Maximum iteration number; Maximum computing time, the algorithm is stopped after a certain computation time has elapsed; We stop if ĝ k+1 ĝ k 2 ɛ, that is when the difference between two consecutive lower bounds is inferior to a certain threshold ɛ Algorithm behaviour The final note 3 on subgradient methods concerns the iteration pattern. In figure 3.2, we see the four different cases that can occur with the subgradient algorithm. 3 This note is inspired from [Bal14] 32

39 3.4. THEORY OF LAGRANGIAN RELAXATION 7 g(x k ) 7 g(x k ) g x k α k x k x k x k 1 0 x k g α k x k x k x k (a) The perfect situation, ĝ is a perfect estimate of g and s x k estimates g perfectly: we find g. (b) s x k is a perfect subgradient but ĝ is only a sub-evaluation of g : we land too far. 7 g(x k ) 7 g(x k ) g x k α k x k x k x k 1 0 x k g α k x k x k x k (c) We have a perfect estimation of g but our subgradient under-evaluates g: we land too close. (d) The general situation, s x k is a subevaluation of g and we sub-evaluate g : we don t land on the target. Figure 3.2: The four possible situations when applying a Polyak step rule in a Lagrangian Relaxation. 33

40 3.5. APPLICATION OF LAGRANGIAN RELAXATION 3.5 Application of Lagrangian Relaxation Now that we have extensively described the Lagrange Relaxation (LR) algorithm, we have to explain how exactly we will adapt it to our load integration problem. As with the previous algorithms of the chapter, the idea is to use LR to reduce the computational complexity while maintaining the optimality of our results Formulation of the subproblems To begin, we start with the regular naive integration problem (Ct s t C t b t ) h g (p g ) g G max p,s,b,d t,d lt,x,y,z t T ( µ il x ilt + l L t T i I j J s.t. s t 0, b t 0, p gt + b t = D t + s t + d t, g G p g P P g, d l L l. µ jl y ilt + γ l (n lt d lt ) ) g G l L In this problem, we have some constraints that affect only loads, some that affect only PoweredPegase. The only constraint that binds together the customers and PoweredPegase is the power balance constraint. We will apply Lagrangian Relaxation to the power balance constraints so that we again obtain separable problems. Relaxing the Power Balance constraint gives the following problem max p,s,b,d t,d lt,x,y,z (Ct s t C t b t ) h g (p g ) g G t T ( µ il x ilt + ) µ jl y ilt + γ l (n lt d lt ) l L t T i I j J ( ) λ t p gt + b t D t s t d t t T g G s.t. s t 0, b t 0, p g P P g, d l L l, g G l L which we can decompose into l + 1 suproblems: l flexible customers subproblems 34

41 3.5. APPLICATION OF LAGRANGIAN RELAXATION Flexible customer subproblem max d,x,y,z t T s.t. d l L l, ( µ il x ilt + ) µ jl y ilt + γ l (n lt d lt ) + i I j J t T λ t d lt and the PoweredPegase subproblem PoweredPegase subproblem max p,s,b (Ct s t C t b t ) h g (p g ) t T g G t T s.t. s t 0, b t 0, p g P P g. λ t ( g G p gt + b t D t s t ) g G By the use of Lagrangian Relaxation, we have obtained separable problems. The value of the objective function of the Lagrange Relaxation will be obtained by solving the problems separately and then summing their objective function values. If we want to use a Polyak step rule, we still need to find an estimate of the optimal primal value. One possible solution to do this with Lagrange relaxation is to substitute the estimation ĝ with any feasible solution f to the unrelaxed problem. In some cases, the structure of the initial problem can be exploited to get a feasible solution that is not just feasible but that tends to be optimal. In particular, one solution in a problem with a large number of binary variables that makes the problem computationally hard is to fix the binary decision variables and to solve the problem with only the non-binary variables. We will not impose the value of all binary variables but only some of them. Our initial problem being naive integration, we have to select which binary variables we want to fix. Because the binary decisions associated with the application of a deformation profile make the naive integration impossible to solve in reasonable time, we will recuperate the decisions from the relaxed flexible customer subproblems and solve a naive integration problem with every binary decision fixed to the decisions made in the relaxed subproblems. By fixing the binary decisions, there are no more decisions to be made on the customer side which means that the flexible customer demand has been transformed into fixed demand. In our current case, because the total consumption of the flexible customers depends on the binary decisions only, we will also recuperate the planned consumption of the customers from the subproblems. To obtain a lower bound we thus solve PoweredPegase with fixed demand from the flexible customers. Let d lt be the planned consumption of customer l at time t, d t be the planned total consumption of the flexible customers at time t, x ilt the binary decisions from the customer l subproblems at time t for deformation 35

42 3.5. APPLICATION OF LAGRANGIAN RELAXATION profile i, and yjlt the binary decisions from the customer l subproblems at time t for deformation profile j. The problem we solve is Lower bound subproblem max p,s,b (C t (s t b t )) h g (p g ) g G t T ( µ il x ilt + l L t T i I j J s.t. s t 0, b t 0, p gt + b t = D t + s t + d t, g G p g P P g, µ jl y ilt + γ l (n lt d lt) ) g G The results of this problem give us a value for ĝ = f that will allow us to use the Polyak step rule to update our dual variables λ t between each iteration. This value will also serve as the comparison criterion for this method Initialising the dual variables For the Lagrangian Relaxation, we have to define a starting point. One simple initialization is λ t = 0. This initialization is practical because it does not require any more computation but we can improve the convergence of the method by choosing a good starting point. In the results section, we will compare the difference between a simple initialization and initializing dual variables to minus the market sell price; λ t = C t. We will in fact see that the latter always improves the solution of the Lagrangian Relaxation Final algorithm The final algorithm we obtain is Algorithm 2. In figures 3.3 and 3.4 we represent the algorithm schematically with and without parallelization. 36

43 3.5. APPLICATION OF LAGRANGIAN RELAXATION Algorithm 2: Lagrangian Relaxation Algorithm input : (Initial Dual Multipliers λ 0 ), (Maximum number of iterations k max ) output: Upper and Lower bounds UB best, LB best UB best LB best if λ 0 not specified then λ 0 0 end /* Multiple criteria possible */ while Stopping Criterion Not Met do for l 1 to l lmax do Solve FlexibleCustomerSubproblem[l](λ k ) end Solve PoweredPegaseSubproblem(λ k ) Solve LowerBoundSubproblem(x, y, d t, d lt ) UB best min(ub best, g ) LB best max(lb best, ĝ ) λ k+1 λ k α k s k λ k k + 1 end return UB best, LB best λ 0 t Solution Decompose Stopping Criterion Compute, f best λ k+1 t Solve PoweredPegase SubProblem Solve Customer SubProblems Compute Lower Bound Time Consuming Figure 3.3: Schematic representation of the Lagrangian Relaxation algorithm without parallelization. 37

44 3.5. APPLICATION OF LAGRANGIAN RELAXATION λ 0 t Solution Decompose Stopping Criterion Compute, f best λ k+1 t Solve PoweredPegase SubProblem Compute Lower Bound Solve Customer SubProblems Solve Customer SubProblems Time Consuming Figure 3.4: Schematic representation of the Lagrangian Relaxation algorithm with parallelization. 38

45 Chapter 4 The Tracking Problem In this chapter we will discuss efficient solutions for the Tracking Problem. In the Tracking Problem, the flexible loads have to coordinate to achieve a precise total consumption which is called the target consumption. We are thus minimizing a penalty for deviating from the target. This kind of coordination problem is often encountered when we aggregate. Finding efficient solutions to solve this problem is important as the whole idea of aggregation falls apart if we cannot have the individuals behave like the entity that represents them. In our current case, the straightforward application is a Virtual Power Plant. If we aggregate flexible customers into a VPP but the flexible customers cannot behave like it, we have a poor model. In this chapter we will start by formulating the problem as an MILP and explain why this problem cannot be solved in a reasonable amount of time (Section 4.1), we will then explore Lagrangian Relaxation applied to this problem to obtain separable problems (Section 4.2). Finally, we will explore a heuristic algorithm that exploits the structure of the flexible customers to solve the problem efficiently (Section 4.3). All of the problems and subproblems we formulate in this chapter are fully written out in appendix B. 4.1 MILP formulation We have already formulated the tracking problem in chapter 2, we will start with the tracking problem expressed mathematically. 39

46 4.1. MILP FORMULATION The Tracking Problem min d t,d lt,x,y,z T d t d t t=1 s.t. d t = d lt, (4.1) l L ( d lt = n lt 1 + ) α is x il(t s) i I s S i α is x il(t s) α iτ n l(t s+τ) l L, t T i I s T i τ S i + β js y jl(t s) (D l n lt ) j J s S j β js y jl(t s) β jτ (D l n l(t s+τ) ), (4.2) j J s T j τ S j z lt i I rmax+dt i l r=1 x il(t r) + j J rmax+dt j l r=1 y jl(t r), l L, t T (4.3) D l d lt 0, l L, t T (4.4) 1 z lt 0, l L, t T (4.5) x ilt q il, (4.6) y jlt r jl, (4.7) x ilt {0, 1}, i I, l L, t T (4.8) y jlt {0, 1}. j J, l L, t T (4.9) Again, we did not include the deformation costs in this formulation of the tracking problem because it is about tracking the target. We suppose that by tracking the target we maximize profits. If that is not the case, i.e. the deformation costs outweigh the profits from tracking, then we simply have a bad target and should not try to track it in the first place. To make this problem an MILP, there is very little to do. We will simply remove the absolute value by using a variable η t. The objective function becomes min d t,d lt,x,y,z,η T η t, t=1 and we add two constraints η t d t d t, η t d t + d t. Now that we have formulated this problem as an MILP, we have to explain why we cannot simply solve it using a solver. The solving time depends entirely on what target we use. Some targets are easy to track, some are much harder. In general, 40

47 4.2. LAGRANGIAN RELAXATION the tracking problem does not solve in a reasonable amount of time. We have tried running the tracking problem on different targets with 60 loads. The first target was a simple target d t = 0 t, this problem was solved in less than a minute. When we turned to a random target, the solver ran for 4800 seconds at which point we manually terminated it. The optimality gap of the branch-and-bound was still at 70% at the time we stopped the solver. We then ran it for another target and the solver found a solution within 10 minutes. Generally speaking, depending on the target, the solution can be found or not. Because the idea is to use the Tracking Problem within other algorithms, we cannot have it take random amounts of time and sometimes work and sometimes not. The next two sections are dedicated to finding time-efficient solutions to this problem. 4.2 Lagrangian Relaxation The first idea we had was to apply Lagrangian Relaxation on the Tracking Problem. If we look at the structure of the problem, the only constraint that binds together the flexible customers is the total consumption constraint d t = l L d lt. Suppose we relax that constraint, we would obtain a problem with the same constraints as the Tracking Problem and the objective function would be ( T min η t λ t (d t ) d lt ) d,x,y,z,η t=1 l L We could then separate the problem into individual problems, one per flexible load and proceed as with the Lagrangian Relaxation of Chapter 3. We will not develop this as we have implemented Lagrangian Relaxation and the algorithm did not converge towards any interesting results. This is because Lagrangian Relaxation does not work with this problem and we will now explain why by using a simple example. Example 13. We take a 1-hour model. Suppose that we have only two loads d 1 and d 2 with minimum consumption D 1 and D 2, and maximum consumption D 1 and D 2 respectively. Let s consider only one time period. If the target is d, we have the following optimization problem min η λ(d d 1 d 2 ) d,d 1,d 2,η s.t. D 1 d 1 D 1, D 2 d 2 D 2, η d d, η d + d. 41

48 4.2. LAGRANGIAN RELAXATION 0 g(λ max ) = 0 D 1 + D 2 D 1 + D 2 g(λ) λ Figure 4.1: Lagrangian Dual Function of Example 13. Which can be decomposed into two separate problems min η,d η λd s.t. η d d, η d + d. min d 1,d 2 λ(d 1 + d 2 ) s.t. D 1 d 1 D 1, D 2 d 2 D 2. The optimal solution of this problem depends entirely on λ. When λ 1 or λ 1 the problem is unbounded. At λ = 1, the objective function becomes D 1 D 2 and then linearly increases until 0 at λ = 0, the objective then decreases linearly until λ = 1 where it becomes D 1 D 2. The Lagrangian Dual Function reaches a maximum at 0 and our lower bound for our initial problem is thus also 0. The optimal choice is thus to simply relax the equality constraint which is not of any help to solve our Tracking Problem. Lagrangian Relaxation seems to suggest that the most optimal choice is to simply ignore our constraint. The problem is not that the Relaxation suggests this, it is that with that solution, we have no information at all of how our customers should behave to reach the zero objective. Because Lagrangian Relaxation only helps us solve the trivial part of the problem and leaves us with an unsolved nontrivial part, we conclude that it is not of any help in the Tracking Problem. The relaxation fails to provide non-trivial bounds. 42

49 4.3. HEURISTIC ALGORITHM Figure 4.2: The idea behind our Target Tracking Heuristics 4.3 Heuristic algorithm The idea The solution we present in the next section is inspired by an efficient Jar-filling algorithm (See figure 4.2). Suppose you are asked to fill a jar with stones, pebbles and sand. If you fill the jar randomly, you are more than likely to not find the perfect combination and will not manage to fit all the stones in the jar. If you start by filling the jar with the sand and then the pebbles and then the stones, you will end up with a lot of holes left in your jar and you will not be able to fill it. If you start by putting the stones in and then you fill the holes between the stones with the pebbles and then you fill the holes with the sand, you have a filling algorithm that is most likely to work. This is exactly the idea behind our Target Tracking Heuristics. The nominal consumption of our customers is such that we have some very small customers (sand), some average-sized customers (pebbles) and some very big customers (stones) Formulation We first start by ranking our flexible customers from the biggest to the smallest (in nominal consumption). We thus have a sequence of customers {1,..., l max } with n 11 n 21 n n l1. Next, we are going to ask them to consume according to an hourly price µ t. To start, we define the price as the difference between the total nominal consumption 43

Mathematical Foundations -1- Constrained Optimization. Constrained Optimization. An intuitive approach 2. First Order Conditions (FOC) 7

Mathematical Foundations -1- Constrained Optimization. Constrained Optimization. An intuitive approach 2. First Order Conditions (FOC) 7 Mathematical Foundations -- Constrained Optimization Constrained Optimization An intuitive approach First Order Conditions (FOC) 7 Constraint qualifications 9 Formal statement of the FOC for a maximum

More information

Introduction to linear programming using LEGO.

Introduction to linear programming using LEGO. Introduction to linear programming using LEGO. 1 The manufacturing problem. A manufacturer produces two pieces of furniture, tables and chairs. The production of the furniture requires the use of two different

More information

Energy System Modelling Summer Semester 2018, Lecture 7

Energy System Modelling Summer Semester 2018, Lecture 7 Energy System Modelling Summer Semester 2018, Lecture 7 Dr. Tom Brown, tom.brown@kit.edu, https://nworbmot.org/ Karlsruhe Institute of Technology (KIT), Institute for Automation and Applied Informatics

More information

A New Dynamic Programming Decomposition Method for the Network Revenue Management Problem with Customer Choice Behavior

A New Dynamic Programming Decomposition Method for the Network Revenue Management Problem with Customer Choice Behavior A New Dynamic Programming Decomposition Method for the Network Revenue Management Problem with Customer Choice Behavior Sumit Kunnumkal Indian School of Business, Gachibowli, Hyderabad, 500032, India sumit

More information

Another max flow application: baseball

Another max flow application: baseball CS124 Lecture 16 Spring 2018 Another max flow application: baseball Suppose there are n baseball teams, and team 1 is our favorite. It is the middle of baseball season, and some games have been played

More information

Increasingly, economists are asked not just to study or explain or interpret markets, but to design them.

Increasingly, economists are asked not just to study or explain or interpret markets, but to design them. What is market design? Increasingly, economists are asked not just to study or explain or interpret markets, but to design them. This requires different tools and ideas than neoclassical economics, which

More information

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

Fundamentals of Operations Research. Prof. G. Srinivasan. Indian Institute of Technology Madras. Lecture No. # 15

Fundamentals of Operations Research. Prof. G. Srinivasan. Indian Institute of Technology Madras. Lecture No. # 15 Fundamentals of Operations Research Prof. G. Srinivasan Indian Institute of Technology Madras Lecture No. # 15 Transportation Problem - Other Issues Assignment Problem - Introduction In the last lecture

More information

6.079/6.975 S. Boyd & P. Parrilo October 29 30, Midterm exam

6.079/6.975 S. Boyd & P. Parrilo October 29 30, Midterm exam 6.079/6.975 S. Boyd & P. Parrilo October 29 30, 2009. Midterm exam This is a 24 hour take-home midterm exam. Please turn it in to Professor Pablo Parrilo, (Stata Center), on Friday October 30, at 5PM (or

More information

Multi-Area Stochastic Unit Commitment for High Wind Penetration in a Transmission Constrained Network

Multi-Area Stochastic Unit Commitment for High Wind Penetration in a Transmission Constrained Network Multi-Area Stochastic Unit Commitment for High Wind Penetration in a Transmission Constrained Network Anthony Papavasiliou Center for Operations Research and Econometrics Université catholique de Louvain,

More information

Formulation Problems: Possible Answers

Formulation Problems: Possible Answers Formulation Problems: Possible Answers 1. Let x 1 = number of cans of cheap mix; x 2 = number of cans of party mix; and x 3 = number of cans of deluxe mix. These are what you want to find. Finding the

More information

Teaching Duality in Linear Programming - the Multiplier Approach

Teaching Duality in Linear Programming - the Multiplier Approach Teaching Duality in Linear Programming - the Multiplier Approach Jens Clausen DIKU, Department of Computer Science University of Copenhagen Universitetsparken 1 DK 2100 Copenhagen Ø June 3, 1998 Abstract

More information

Separation, Inverse Optimization, and Decomposition. Some Observations. Ted Ralphs 1 Joint work with: Aykut Bulut 1

Separation, Inverse Optimization, and Decomposition. Some Observations. Ted Ralphs 1 Joint work with: Aykut Bulut 1 : Some Observations Ted Ralphs 1 Joint work with: Aykut Bulut 1 1 COR@L Lab, Department of Industrial and Systems Engineering, Lehigh University MOA 2016, Beijing, China, 27 June 2016 What Is This Talk

More information

On the Approximate Linear Programming Approach for Network Revenue Management Problems

On the Approximate Linear Programming Approach for Network Revenue Management Problems On the Approximate Linear Programming Approach for Network Revenue Management Problems Chaoxu Tong School of Operations Research and Information Engineering, Cornell University, Ithaca, New York 14853,

More information

Chapter 5. Transmission networks and electricity markets

Chapter 5. Transmission networks and electricity markets Chapter 5. Transmission networks and electricity markets 1 Introduction In most of the regions of the world: assumptions that electrical energy can be traded as if all generators were connected to the

More information

Math 381 Midterm Practice Problem Solutions

Math 381 Midterm Practice Problem Solutions Math 381 Midterm Practice Problem Solutions Notes: -Many of the exercises below are adapted from Operations Research: Applications and Algorithms by Winston. -I have included a list of topics covered on

More information

The ambiguous impact of contracts on competition in the electricity market Yves Smeers

The ambiguous impact of contracts on competition in the electricity market Yves Smeers The ambiguous impact of contracts on competition in the electricity market Yves Smeers joint work with Frederic Murphy Climate Policy and Long Term Decisions-Investment and R&D, Bocconi University, Milan,

More information

October 16, 2018 Notes on Cournot. 1. Teaching Cournot Equilibrium

October 16, 2018 Notes on Cournot. 1. Teaching Cournot Equilibrium October 1, 2018 Notes on Cournot 1. Teaching Cournot Equilibrium Typically Cournot equilibrium is taught with identical zero or constant-mc cost functions for the two firms, because that is simpler. I

More information

ECG 740 GENERATION SCHEDULING (UNIT COMMITMENT)

ECG 740 GENERATION SCHEDULING (UNIT COMMITMENT) 1 ECG 740 GENERATION SCHEDULING (UNIT COMMITMENT) 2 Unit Commitment Given a load profile, e.g., values of the load for each hour of a day. Given set of units available, When should each unit be started,

More information

Tight and Compact MILP Formulation for the Thermal Unit Commitment Problem

Tight and Compact MILP Formulation for the Thermal Unit Commitment Problem Online Companion for Tight and Compact MILP Formulation for the Thermal Unit Commitment Problem Germán Morales-España, Jesus M. Latorre, and Andres Ramos Universidad Pontificia Comillas, Spain Institute

More information

A Study of Time Representation in a Class of Short Term Scheduling Problems

A Study of Time Representation in a Class of Short Term Scheduling Problems A Study of Time Representation in a Class of Short Term Scheduling Problems by Saman Lagzi A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master

More information

Mitigating end-effects in Production Scheduling

Mitigating end-effects in Production Scheduling Mitigating end-effects in Production Scheduling Bachelor Thesis Econometrie en Operationele Research Ivan Olthuis 359299 Supervisor: Dr. Wilco van den Heuvel June 30, 2014 Abstract In this report, a solution

More information

Distributed Optimization. Song Chong EE, KAIST

Distributed Optimization. Song Chong EE, KAIST Distributed Optimization Song Chong EE, KAIST songchong@kaist.edu Dynamic Programming for Path Planning A path-planning problem consists of a weighted directed graph with a set of n nodes N, directed links

More information

February 22, Introduction to the Simplex Algorithm

February 22, Introduction to the Simplex Algorithm 15.53 February 22, 27 Introduction to the Simplex Algorithm 1 Quotes for today Give a man a fish and you feed him for a day. Teach him how to fish and you feed him for a lifetime. -- Lao Tzu Give a man

More information

(Refer Slide Time: 00:10)

(Refer Slide Time: 00:10) Chemical Reaction Engineering 1 (Homogeneous Reactors) Professor R. Krishnaiah Department of Chemical Engineering Indian Institute of Technology Madras Lecture No 10 Design of Batch Reactors Part 1 (Refer

More information

MA Macroeconomics 3. Introducing the IS-MP-PC Model

MA Macroeconomics 3. Introducing the IS-MP-PC Model MA Macroeconomics 3. Introducing the IS-MP-PC Model Karl Whelan School of Economics, UCD Autumn 2014 Karl Whelan (UCD) Introducing the IS-MP-PC Model Autumn 2014 1 / 38 Beyond IS-LM We have reviewed the

More information

Decision Models Lecture 5 1. Lecture 5. Foreign-Currency Trading Integer Programming Plant-location example Summary and Preparation for next class

Decision Models Lecture 5 1. Lecture 5. Foreign-Currency Trading Integer Programming Plant-location example Summary and Preparation for next class Decision Models Lecture 5 1 Lecture 5 Foreign-Currency Trading Integer Programming Plant-location example Summary and Preparation for next class Foreign Exchange (FX) Markets Decision Models Lecture 5

More information

5. Externalities and Public Goods. Externalities. Public Goods types. Public Goods

5. Externalities and Public Goods. Externalities. Public Goods types. Public Goods 5. Externalities and Public Goods 5. Externalities and Public Goods Externalities Welfare properties of Walrasian Equilibria rely on the hidden assumption of private goods: the consumption of the good

More information

A technical appendix for multihoming and compatibility

A technical appendix for multihoming and compatibility A technical appendix for multihoming and compatibility Toker Doganoglu and Julian Wright July 19, 2005 We would like to thank two anonymous referees and our editor, Simon Anderson, for their very helpful

More information

September Math Course: First Order Derivative

September Math Course: First Order Derivative September Math Course: First Order Derivative Arina Nikandrova Functions Function y = f (x), where x is either be a scalar or a vector of several variables (x,..., x n ), can be thought of as a rule which

More information

5. Externalities and Public Goods

5. Externalities and Public Goods 5. Externalities and Public Goods Welfare properties of Walrasian Equilibria rely on the hidden assumption of private goods: the consumption of the good by one person has no effect on other people s utility,

More information

Homework 3. Convex Optimization /36-725

Homework 3. Convex Optimization /36-725 Homework 3 Convex Optimization 10-725/36-725 Due Friday October 14 at 5:30pm submitted to Christoph Dann in Gates 8013 (Remember to a submit separate writeup for each problem, with your name at the top)

More information

Perfect and Imperfect Competition in Electricity Markets

Perfect and Imperfect Competition in Electricity Markets Perfect and Imperfect Competition in Electricity Marets DTU CEE Summer School 2018 June 25-29, 2018 Contact: Vladimir Dvorin (vladvo@eletro.dtu.d) Jalal Kazempour (seyaz@eletro.dtu.d) Deadline: August

More information

14.461: Technological Change, Lecture 4 Competition and Innovation

14.461: Technological Change, Lecture 4 Competition and Innovation 14.461: Technological Change, Lecture 4 Competition and Innovation Daron Acemoglu MIT September 19, 2011. Daron Acemoglu (MIT) Competition and Innovation September 19, 2011. 1 / 51 Competition and Innovation

More information

4. Partial Equilibrium under Imperfect Competition

4. Partial Equilibrium under Imperfect Competition 4. Partial Equilibrium under Imperfect Competition Partial equilibrium studies the existence of equilibrium in the market of a given commodity and analyzes its properties. Prices in other markets as well

More information

14.461: Technological Change, Lecture 3 Competition, Policy and Technological Progress

14.461: Technological Change, Lecture 3 Competition, Policy and Technological Progress 14.461: Technological Change, Lecture 3 Competition, Policy and Technological Progress Daron Acemoglu MIT September 15, 2016. Daron Acemoglu (MIT) Competition, Policy and Innovation September 15, 2016.

More information

EconS Vertical Integration

EconS Vertical Integration EconS 425 - Vertical Integration Eric Dunaway Washington State University eric.dunaway@wsu.edu Industrial Organization Eric Dunaway (WSU) EconS 425 Industrial Organization 1 / 26 Introduction Let s continue

More information

AUTOMATIC CONTROL. Andrea M. Zanchettin, PhD Spring Semester, Introduction to Automatic Control & Linear systems (time domain)

AUTOMATIC CONTROL. Andrea M. Zanchettin, PhD Spring Semester, Introduction to Automatic Control & Linear systems (time domain) 1 AUTOMATIC CONTROL Andrea M. Zanchettin, PhD Spring Semester, 2018 Introduction to Automatic Control & Linear systems (time domain) 2 What is automatic control? From Wikipedia Control theory is an interdisciplinary

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

Department of Economics ECO 204 Microeconomic Theory for Commerce (Ajaz) Test 1 Solutions

Department of Economics ECO 204 Microeconomic Theory for Commerce (Ajaz) Test 1 Solutions Department of Economics ECO 204 Microeconomic Theory for Commerce 2016-2017 (Ajaz) Test 1 Solutions YOU MAY USE A EITHER A PEN OR A PENCIL TO ANSWER QUESTIONS PLEASE ENTER THE FOLLOWING INFORMATION LAST

More information

STRC. A Lagrangian relaxation technique for the demandbased benefit maximization problem

STRC. A Lagrangian relaxation technique for the demandbased benefit maximization problem A Lagrangian relaxation technique for the demandbased benefit maximization problem Meritxell Pacheco Paneque Bernard Gendron Virginie Lurkin Shadi Sharif Azadeh Michel Bierlaire Transport and Mobility

More information

Study Unit 3 : Linear algebra

Study Unit 3 : Linear algebra 1 Study Unit 3 : Linear algebra Chapter 3 : Sections 3.1, 3.2.1, 3.2.5, 3.3 Study guide C.2, C.3 and C.4 Chapter 9 : Section 9.1 1. Two equations in two unknowns Algebraically Method 1: Elimination Step

More information

Network Design and Game Theory Spring 2008 Lecture 6

Network Design and Game Theory Spring 2008 Lecture 6 Network Design and Game Theory Spring 2008 Lecture 6 Guest Lecturer: Aaron Archer Instructor: Mohammad T. Hajiaghayi Scribe: Fengming Wang March 3, 2008 1 Overview We study the Primal-dual, Lagrangian

More information

Hidden Markov Models: All the Glorious Gory Details

Hidden Markov Models: All the Glorious Gory Details Hidden Markov Models: All the Glorious Gory Details Noah A. Smith Department of Computer Science Johns Hopkins University nasmith@cs.jhu.edu 18 October 2004 1 Introduction Hidden Markov models (HMMs, hereafter)

More information

OPRE 6201 : 3. Special Cases

OPRE 6201 : 3. Special Cases OPRE 6201 : 3. Special Cases 1 Initialization: The Big-M Formulation Consider the linear program: Minimize 4x 1 +x 2 3x 1 +x 2 = 3 (1) 4x 1 +3x 2 6 (2) x 1 +2x 2 3 (3) x 1, x 2 0. Notice that there are

More information

Physics 351 Wednesday, January 10, 2018

Physics 351 Wednesday, January 10, 2018 Physics 351 Wednesday, January 10, 2018 Chapers 1 5 mostly review freshman physics, so we ll go through them very quickly in the first few days of class. Read Chapters 1+2 for Friday. Read Chapter 3 (momentum

More information

Column Generation for Extended Formulations

Column Generation for Extended Formulations 1 / 28 Column Generation for Extended Formulations Ruslan Sadykov 1 François Vanderbeck 2,1 1 INRIA Bordeaux Sud-Ouest, France 2 University Bordeaux I, France ISMP 2012 Berlin, August 23 2 / 28 Contents

More information

Linear Programming Duality

Linear Programming Duality Summer 2011 Optimization I Lecture 8 1 Duality recap Linear Programming Duality We motivated the dual of a linear program by thinking about the best possible lower bound on the optimal value we can achieve

More information

SOME RESOURCE ALLOCATION PROBLEMS

SOME RESOURCE ALLOCATION PROBLEMS SOME RESOURCE ALLOCATION PROBLEMS A Dissertation Presented to the Faculty of the Graduate School of Cornell University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy

More information

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Guy Desaulniers École Polytechnique de Montréal and GERAD Column Generation 2008 Aussois, France Outline Introduction

More information

Competition Policy - Spring 2005 Monopolization practices I

Competition Policy - Spring 2005 Monopolization practices I Prepared with SEVI S LIDES Competition Policy - Spring 2005 Monopolization practices I Antonio Cabrales & Massimo Motta May 25, 2005 Summary Some definitions Efficiency reasons for tying Tying as a price

More information

Auctions. data better than the typical data set in industrial organization. auction game is relatively simple, well-specified rules.

Auctions. data better than the typical data set in industrial organization. auction game is relatively simple, well-specified rules. Auctions Introduction of Hendricks and Porter. subject, they argue To sell interest in the auctions are prevalent data better than the typical data set in industrial organization auction game is relatively

More information

Delay management with capacity considerations.

Delay management with capacity considerations. Bachelor Thesis Econometrics Delay management with capacity considerations. Should a train wait for transferring passengers or not, and which train goes first? 348882 1 Content Chapter 1: Introduction...

More information

CP:

CP: Adeng Pustikaningsih, M.Si. Dosen Jurusan Pendidikan Akuntansi Fakultas Ekonomi Universitas Negeri Yogyakarta CP: 08 222 180 1695 Email : adengpustikaningsih@uny.ac.id Operations Management Forecasting

More information

Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee

Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee Module - 04 Lecture - 05 Sales Forecasting - II A very warm welcome

More information

Indicator Constraints in Mixed-Integer Programming

Indicator Constraints in Mixed-Integer Programming Indicator Constraints in Mixed-Integer Programming Andrea Lodi University of Bologna, Italy - andrea.lodi@unibo.it Amaya Nogales-Gómez, Universidad de Sevilla, Spain Pietro Belotti, FICO, UK Matteo Fischetti,

More information

"SYMMETRIC" PRIMAL-DUAL PAIR

SYMMETRIC PRIMAL-DUAL PAIR "SYMMETRIC" PRIMAL-DUAL PAIR PRIMAL Minimize cx DUAL Maximize y T b st Ax b st A T y c T x y Here c 1 n, x n 1, b m 1, A m n, y m 1, WITH THE PRIMAL IN STANDARD FORM... Minimize cx Maximize y T b st Ax

More information

Lagrange Relaxation: Introduction and Applications

Lagrange Relaxation: Introduction and Applications 1 / 23 Lagrange Relaxation: Introduction and Applications Operations Research Anthony Papavasiliou 2 / 23 Contents 1 Context 2 Applications Application in Stochastic Programming Unit Commitment 3 / 23

More information

SHORT TERM LOAD FORECASTING

SHORT TERM LOAD FORECASTING Indian Institute of Technology Kanpur (IITK) and Indian Energy Exchange (IEX) are delighted to announce Training Program on "Power Procurement Strategy and Power Exchanges" 28-30 July, 2014 SHORT TERM

More information

Analytics for an Online Retailer: Demand Forecasting and Price Optimization

Analytics for an Online Retailer: Demand Forecasting and Price Optimization Analytics for an Online Retailer: Demand Forecasting and Price Optimization Kris Johnson Ferreira Technology and Operations Management Unit, Harvard Business School, kferreira@hbs.edu Bin Hong Alex Lee

More information

2. Linear Programming Problem

2. Linear Programming Problem . Linear Programming Problem. Introduction to Linear Programming Problem (LPP). When to apply LPP or Requirement for a LPP.3 General form of LPP. Assumptions in LPP. Applications of Linear Programming.6

More information

Train the model with a subset of the data. Test the model on the remaining data (the validation set) What data to choose for training vs. test?

Train the model with a subset of the data. Test the model on the remaining data (the validation set) What data to choose for training vs. test? Train the model with a subset of the data Test the model on the remaining data (the validation set) What data to choose for training vs. test? In a time-series dimension, it is natural to hold out the

More information

Column Generation. i = 1,, 255;

Column Generation. i = 1,, 255; Column Generation The idea of the column generation can be motivated by the trim-loss problem: We receive an order to cut 50 pieces of.5-meter (pipe) segments, 250 pieces of 2-meter segments, and 200 pieces

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective 1 / 24 Cutting stock problem 2 / 24 Problem description

More information

EconS Microeconomic Theory II Homework #9 - Answer key

EconS Microeconomic Theory II Homework #9 - Answer key EconS 503 - Microeconomic Theory II Homework #9 - Answer key 1. WEAs with market power. Consider an exchange economy with two consumers, A and B, whose utility functions are u A (x A 1 ; x A 2 ) = x A

More information

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Intro to Learning Theory Date: 12/8/16

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Intro to Learning Theory Date: 12/8/16 600.463 Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Intro to Learning Theory Date: 12/8/16 25.1 Introduction Today we re going to talk about machine learning, but from an

More information

ECEE 352 Analog Electronics. DC Power Supply Winter 2016

ECEE 352 Analog Electronics. DC Power Supply Winter 2016 ECEE 352 Analog Electronics DC Power Supply Winter 2016 This Document Produced By: Leo Filippini lf458@drexel.edu Instructor: Prof. Basavaiah basu@coe.drexel.edu TA: Zhihuan Wang zw78@drexel.edu The goal

More information

Econ Slides from Lecture 10

Econ Slides from Lecture 10 Econ 205 Sobel Econ 205 - Slides from Lecture 10 Joel Sobel September 2, 2010 Example Find the tangent plane to {x x 1 x 2 x 2 3 = 6} R3 at x = (2, 5, 2). If you let f (x) = x 1 x 2 x3 2, then this is

More information

ACCESS TO SCIENCE, ENGINEERING AND AGRICULTURE: MATHEMATICS 1 MATH00030 SEMESTER / Quadratic Equations

ACCESS TO SCIENCE, ENGINEERING AND AGRICULTURE: MATHEMATICS 1 MATH00030 SEMESTER / Quadratic Equations ACCESS TO SCIENCE, ENGINEERING AND AGRICULTURE: MATHEMATICS 1 MATH00030 SEMESTER 1 018/019 DR ANTHONY BROWN 31 Graphs of Quadratic Functions 3 Quadratic Equations In Chapter we looked at straight lines,

More information

Mathematical modelling of devices and flows in energy systems

Mathematical modelling of devices and flows in energy systems Mathematical modelling of devices and flows in energy systems Jiří Fink Johann L. Hurink Albert Molderink Abstract In the future of Smart Grids, many different devices have to be integrated into one overall

More information

A t = B A F (φ A t K t, N A t X t ) S t = B S F (φ S t K t, N S t X t ) M t + δk + K = B M F (φ M t K t, N M t X t )

A t = B A F (φ A t K t, N A t X t ) S t = B S F (φ S t K t, N S t X t ) M t + δk + K = B M F (φ M t K t, N M t X t ) Notes on Kongsamut et al. (2001) The goal of this model is to be consistent with the Kaldor facts (constancy of growth rates, capital shares, capital-output ratios) and the Kuznets facts (employment in

More information

...(iii), x 2 Example 7: Geetha Perfume Company produces both perfumes and body spray from two flower extracts F 1. The following data is provided:

...(iii), x 2 Example 7: Geetha Perfume Company produces both perfumes and body spray from two flower extracts F 1. The following data is provided: The LP formulation is Linear Programming: Graphical Method Maximize, Z = 2x + 7x 2 Subject to constraints, 2x + x 2 200...(i) x 75...(ii) x 2 00...(iii) where x, x 2 ³ 0 Example 7: Geetha Perfume Company

More information

Chapter 7. Optimization and Minimum Principles. 7.1 Two Fundamental Examples. Least Squares

Chapter 7. Optimization and Minimum Principles. 7.1 Two Fundamental Examples. Least Squares Chapter 7 Optimization and Minimum Principles 7 Two Fundamental Examples Within the universe of applied mathematics, optimization is often a world of its own There are occasional expeditions to other worlds

More information

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 8 Dr. Ted Ralphs ISE 418 Lecture 8 1 Reading for This Lecture Wolsey Chapter 2 Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Duality for Mixed-Integer

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33 Cutting stock

More information

Chapter Four. Chapter Four

Chapter Four. Chapter Four Chapter Four Chapter Four CHAPTER FOUR 99 ConcepTests for Section 4.1 1. Concerning the graph of the function in Figure 4.1, which of the following statements is true? (a) The derivative is zero at two

More information

Lecture - 02 Rules for Pinch Design Method (PEM) - Part 02

Lecture - 02 Rules for Pinch Design Method (PEM) - Part 02 Process Integration Prof. Bikash Mohanty Department of Chemical Engineering Indian Institute of Technology, Roorkee Module - 05 Pinch Design Method for HEN synthesis Lecture - 02 Rules for Pinch Design

More information

Systems of Equations. Red Company. Blue Company. cost. 30 minutes. Copyright 2003 Hanlonmath 1

Systems of Equations. Red Company. Blue Company. cost. 30 minutes. Copyright 2003 Hanlonmath 1 Chapter 6 Systems of Equations Sec. 1 Systems of Equations How many times have you watched a commercial on television touting a product or services as not only the best, but the cheapest? Let s say you

More information

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Week Cuts, Branch & Bound, and Lagrangean Relaxation Week 11 1 Integer Linear Programming This week we will discuss solution methods for solving integer linear programming problems. I will skip the part on complexity theory, Section 11.8, although this is

More information

Multi-Area Stochastic Unit Commitment for High Wind Penetration

Multi-Area Stochastic Unit Commitment for High Wind Penetration Multi-Area Stochastic Unit Commitment for High Wind Penetration Workshop on Optimization in an Uncertain Environment Anthony Papavasiliou, UC Berkeley Shmuel S. Oren, UC Berkeley March 25th, 2011 Outline

More information

Today. Finish Ch. 6 on Momentum Start Ch. 7 on Energy

Today. Finish Ch. 6 on Momentum Start Ch. 7 on Energy Today Finish Ch. 6 on Momentum Start Ch. 7 on Energy Next three lectures (Sep 16, 20, 23) : Energy (Ch7) and Rotation (Ch.8) will be taught by Dr. Yonatan Abranyos, as I will be away at a research conference

More information

= $ m. Telephone Company B charges $11.50 per month plus five cents per minute. Writing that mathematically, we have c B. = $

= $ m. Telephone Company B charges $11.50 per month plus five cents per minute. Writing that mathematically, we have c B. = $ Chapter 6 Systems of Equations Sec. 1 Systems of Equations How many times have you watched a commercial on television touting a product or services as not only the best, but the cheapest? Let s say you

More information

1 Column Generation and the Cutting Stock Problem

1 Column Generation and the Cutting Stock Problem 1 Column Generation and the Cutting Stock Problem In the linear programming approach to the traveling salesman problem we used the cutting plane approach. The cutting plane approach is appropriate when

More information

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints. Section Notes 8 Integer Programming II Applied Math 121 Week of April 5, 2010 Goals for the week understand IP relaxations be able to determine the relative strength of formulations understand the branch

More information

Minimizing total weighted tardiness on a single machine with release dates and equal-length jobs

Minimizing total weighted tardiness on a single machine with release dates and equal-length jobs Minimizing total weighted tardiness on a single machine with release dates and equal-length jobs G. Diepen J.M. van den Akker J.A. Hoogeveen institute of information and computing sciences, utrecht university

More information

How to Characterize Solutions to Constrained Optimization Problems

How to Characterize Solutions to Constrained Optimization Problems How to Characterize Solutions to Constrained Optimization Problems Michael Peters September 25, 2005 1 Introduction A common technique for characterizing maximum and minimum points in math is to use first

More information

Algorithms and Complexity theory

Algorithms and Complexity theory Algorithms and Complexity theory Thibaut Barthelemy Some slides kindly provided by Fabien Tricoire University of Vienna WS 2014 Outline 1 Algorithms Overview How to write an algorithm 2 Complexity theory

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making (discrete optimization) problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock,

More information

Chapter 5: Forecasting

Chapter 5: Forecasting 1 Textbook: pp. 165-202 Chapter 5: Forecasting Every day, managers make decisions without knowing what will happen in the future 2 Learning Objectives After completing this chapter, students will be able

More information

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture - 12 Marginal Quantity Discount, Multiple Item Inventory Constraint

More information

Copyri g h t 2012 OSIso f t, LLC. 1

Copyri g h t 2012 OSIso f t, LLC. 1 Copyri g h t 2012 OSIso f t, LLC. 1 The Power of Data Presented by Ted Gorrie Copyri g h t 2012 OSIso f t, LLC. http://www.tagxedo.com Copyri g h t 2012 OSIso f t, LLC. 3 It is a very sad thing that nowadays

More information

Coordinated Aggregation of Distributed Resources

Coordinated Aggregation of Distributed Resources Coordinated Aggregation of Distributed Resources UC Berkeley October 13, 2011 Coordinated Aggregation 1 of 39 Co-conspirators Anand Subramanian, Manuel Garcia, Josh Taylor [Berkeley Students] Duncan Callaway,

More information

Midterm Exam - Solutions

Midterm Exam - Solutions EC 70 - Math for Economists Samson Alva Department of Economics, Boston College October 13, 011 Midterm Exam - Solutions 1 Quasilinear Preferences (a) There are a number of ways to define the Lagrangian

More information

Solutions for Assignment #2 for Environmental and Resource Economics Economics 359M, Spring 2017

Solutions for Assignment #2 for Environmental and Resource Economics Economics 359M, Spring 2017 Solutions for Assignment #2 for Environmental and Resource Economics Economics 59M, Spring 207 Due date: Wednesday, March, 207 A. Kolstad, Ch., problem. Ans. (a) The Pareto criterion fails completeness,

More information

A Summary of Economic Methodology

A Summary of Economic Methodology A Summary of Economic Methodology I. The Methodology of Theoretical Economics All economic analysis begins with theory, based in part on intuitive insights that naturally spring from certain stylized facts,

More information

A Lagrangian relaxation method for solving choice-based mixed linear optimization models that integrate supply and demand interactions

A Lagrangian relaxation method for solving choice-based mixed linear optimization models that integrate supply and demand interactions A Lagrangian relaxation method for solving choice-based mixed linear optimization models that integrate supply and demand interactions Meritxell Pacheco Shadi Sharif Azadeh, Michel Bierlaire, Bernard Gendron

More information