Skip to main content

Co-optimization of demand response and interruptible load reserve offers for a price-making major consumer


We study demand-side participation in an electricity market for an industrial consumer of electricity, with some flexibility to reduce demand, and capable of offering interruptible load reserve. Our consumer is a price maker, and the impact of its actions in the market is modelled via a bi-level optimization problem. We have extended a standard model for optimal strategic consumption, to the case where reserve offer curves need to be optimized simultaneously with consumption curves; our models provide intuition into this interaction. Furthermore, we provide tailor-made solution strategies for the resulting problems under uncertainty, and report numerical results of our implementation on instances over the full New Zealand network yielding a realistic and large problem set.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15


  1. In NZEM, the average number of times reserve is triggered is 2 times over a year [25]. Given the number of trading periods in a year (\(48\times 365 = 17,520\)) the \(\rho ^r\) value in our case study is approximately 0.0001%.

  2. Note that in this example we observe that only with \(d\ge 126\), the energy price becomes higher than u. But although \(u = 190\), and the price of energy is  $197, since the price of reserve is  $57, it is still in the interests of the consumer to consume. However, if the marginal utility of consuming electricity for the strategic consumer was not high enough, the optimal action would be to consume much less energy, or none at all to avoid a negative profit.

  3. This method, when applied to a multi-node network, permits the strategic consumer to be located at a single node. Our algorithm is not immediately applicable for a strategic consumer who purchases electricity at multiple nodes (i.e. the consumer that owns plants located at different nodes in the market).

  4. Degenerate solutions may occur at the edge of regions, where the price of energy or reserve could be a convex combination of prices of the two adjacent regions.

  5. The clairvoyant policy is calculated by solving the deterministic MIP model with the realized scenario’s parameter values.

  6. The marginal value of electricity for NZAS may change over time as it is affected by exogenous parameters such as the global price of aluminum, government policies, etc.


  1. Cramton, P., Stoft, S.: A capacity market that makes sense. Electr. J. 18(7), 43 (2005)

    Article  Google Scholar 

  2. Albadi, M.H., El-Saadany, E.: A summary of demand response in electricity markets. Electr. Power Syst. Res. 78(11), 1989 (2008)

    Article  Google Scholar 

  3. Li, N., Chen, L., Low, S.H.: Optimal demand response based on utility maximization in power networks. In: 2011 IEEE Power and Energy Society General Meeting, pp. 1–8 (2011)

  4. Sæle, H., Grande, O.S.: Demand response from household customers: experiences from a pilot study in Norway. IEEE Trans. Smart Grid 2(1), 102 (2011)

    Article  Google Scholar 

  5. Tsui, K.M., Chan, S.C.: Demand response optimization for smart home scheduling under real-time pricing. IEEE Trans. Smart Grid 3(4), 1812 (2012)

    Article  Google Scholar 

  6. Aketi, P., Sen, S.: Modeling demand response and economic impact of advanced and smart metering. Energy Syst. 5(3), 583 (2014)

    Article  Google Scholar 

  7. Del Granado, P.C., Wallace, S.W., Pang, Z.: The value of electricity storage in domestic homes: a smart grid perspective. Energy Syst. 5(2), 211 (2014)

    Article  Google Scholar 

  8. Caves, D.W., Herriges, J.A.: Optimal dispatch of interruptible and curtailable service options. Oper. Res. 40(1), 104 (1992)

    MATH  Article  Google Scholar 

  9. Majumdar, S., Chattopadhyay, D., Parikh, J.: Interruptible load management using optimal power flow analysis. IEEE Trans. Power Syst. 11(2), 715 (1996)

    Article  Google Scholar 

  10. Bhattacharya, K.: Competitive framework for procurement of interruptible load services. IEEE Trans. Power Syst. 18(2), 889 (2003)

    Article  Google Scholar 

  11. Su, C.L., Kirschen, D.: Quantifying the effect of demand response on electricity markets. IEEE Trans. Power Syst. 24(3), 1199 (2009)

    Article  Google Scholar 

  12. Kirschen, D.S.: Demand-side view of electricity markets. IEEE Trans. Power Syst. 18(2), 520 (2003)

    Article  Google Scholar 

  13. Madaeni, S.H., Sioshansi, R.: The impacts of stochastic programming and demand response on wind integration. Energy Syst. 4(2), 109 (2013)

    Article  Google Scholar 

  14. Wu, A., Philpott, A., Zakeri, G.: Investment and generation optimization in electricity systems with intermittent supply. Energy Syst. 8(1), 127–147 (2017)

    Article  Google Scholar 

  15. EPA. Electricity Customers. Online. (2018). Accessed 16 Jan 2018

  16. Electricity Authority. Electricity in New Zealand. Online. (2018). Accessed 24 Jan 2018

  17. Conejo, A.J., Contreras, J., Arroyo, J.M., De la Torre, S.: Optimal response of an oligopolistic generating company to a competitive pool-based electric power market. IEEE Trans. Power Syst. 17(2), 424 (2002)

    Article  Google Scholar 

  18. Kazempour, S.J., Conejo, A.J., Ruiz, C.: Strategic bidding for a large consumer. IEEE Trans. Power Syst. 30(2), 848 (2015)

    Article  Google Scholar 

  19. Daraeepour, A., Kazempour, S.J., Patiño-Echeverri, D., Conejo, A.J.: Strategic demand-side response to wind power integration. IEEE Trans. Power Syst. 31(5), 3495 (2016)

    Article  Google Scholar 

  20. Fisher, M., Apt, J., Sowell, F.: The economics of commercial demand response for spinning reserve. Energy Syst. 9(1), 3 (2018)

    Article  Google Scholar 

  21. Cleland, N., Zakeri, G., Pritchard, G., Young, B.: Boomer-Consumer: a model for load consumption and reserve offers in reserve constrained electricity markets. Comput. Manag. Sci. 12(4), 519 (2015)

    MathSciNet  Article  Google Scholar 

  22. Cleland, N., Zakeri, G., Pritchard, G., Young, B.: Integrating consumption and reserve strategies for large consumers in electricity markets. In: Computational management science, pp. 23–30. Springer (2016)

  23. Ela, E., Milligan, M., Kirby, B.: Operating reserves and variable generation. TP-5500-51978, NREL (2011)

  24. Ellison, J.F., Tesfatsion, L.S., Loose, V.W., Byrne, R.H.: Project report: a survey of operating reserve markets in US ISO/RTO-managed electric energy regions, Sandia Natl Labs Publications, vol. 1000. (2012)

  25. Transpower. Under Frequency Event Reports. Online. 2018. Accessed 1 Oct 2018

  26. Electricity Authority. Wholesale Datasets. Online. 2018. Accessed 17 Nov 2017

  27. Fortuny-Amat, J., McCarl, B.: A representation and economic interpretation of a two-level programming problem. J. Oper. Res. Soc. 32(9), 783–792 (1981)

    MathSciNet  MATH  Article  Google Scholar 

  28. Hobbs, B.F., Metzler, C.B., Pang, J.S.: Strategic gaming analysis for electric power systems: an MPEC approach. IEEE Trans. Power Syst. 15(2), 638 (2000)

    Article  Google Scholar 

  29. Pereira, M.V., Granville, S., Fampa, M.H., Dix, R., Barroso, L.A.: Strategic bidding under uncertainty: a binary expansion approach. IEEE Trans. Power Syst. 20(1), 180 (2005)

    Article  Google Scholar 

  30. Ruiz, C., Conejo, A.J.: Pool strategy of a producer with endogenous formation of locational marginal prices. IEEE Trans. Power Syst. 24(4), 1855 (2009)

    Article  Google Scholar 

  31. Bakirtzis, A.G., Ziogos, N.P., Tellidou, A.C., Bakirtzis, G.A.: Electricity producer offering strategies in day-ahead energy market with step-wise offers. IEEE Trans. Power Syst. 22(4), 1804 (2007)

    Article  Google Scholar 

  32. Paul, M.A.M., Klemperer, D.: Econometrica 57(6), 1243 (1989).

    MathSciNet  MATH  Article  Google Scholar 

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Mahbubeh Habibian.


A Bi-parametric sensitivity analysis reformulation algorithm

Suppose that we have a linear program [LP] in standard computational form:

$$\begin{aligned} \hbox {[LP]\qquad min} &c^T x \\ \hbox {s.t.} &Ax = b \quad [\pi ]\\&x \ge 0, \end{aligned}$$

where we denote \(b_i\) as the ith component of the right-hand side vector b, and \(\pi \) as the optimal dual vector. We aim to find (\(\pi _1, \pi _2\)) as a function of the right-hand sides (\(b_1,b_2\)). In order to define this function, we use the following algorithm:

Step 1: Set Initial Values

Set feasible initial values of \(b_1\) and \(b_2\) in [LP]. Without loss of generality, we set \(b_1 = b_2 = 0\). Define set \(\mathcal {R} = \{\}\) as the set of all regions. Define \(\mathcal {R}_r = \{\}\) a subset of \(\mathcal {R}\), as the set of all extreme points in region r. Set \(r =1\).

Step 2: Set Initial Optimal Basis

Retrieve the optimal basis for [LP] given the values of \(b_1\) and \(b_2\). We store the basis data for the vector of basic variables \(x_B\). Note that:

$$\begin{aligned} \text {Given }&Bx_{B} = b \implies x_{B} = B^{-1}b&\text {Since } x_{B} \ge 0 \implies B^{-1}b \ge 0. \end{aligned}$$

Step 3: Define [S-LP]

$$\begin{aligned} \hbox {[S-LP]}\mathop {\max }\limits _{b_1,b_2} \quad&c_1b_1 + c_2b_2 \\ \hbox {s.t.} \quad&B^{-1}_{i,1}b_1+ B_{i,2}^{-1}b_2 \ge 0&\forall i \in \mathcal {I} \end{aligned}$$

Here \(B^{-1}_{i,1}\) is the first column of the \(i{\mathrm {th}}\) row of B matrix, and \(\mathcal {I}\) is the set of all rows in B matrix.

Step 4: Set initial c values

At the first iteration we set \(c_1 = 1\) and \(c_2 =-\infty \).

Step 5: Solve [S-LP]

Solve [S-LP] and add the pair of optimal solution values (\(b_1^*\),\(b_2^*\)) to the set \(\mathcal {R}_i\).

Step 6: Get objective coefficient sensitivity information

Using sensitivity analysis find largest objective coefficient value (\(c_2\)) at which the current optimal basis would remain optimal. Store it as \(c_2^\prime \).

Step 7: Change \(c_2\) coefficient

  • If \(c_2^\prime \le \infty \), set \(c_2 = c_2^\prime + \epsilon \) in [S-LP] and go to step 5.

  • If \(c_2^\prime = \infty \) and \(c_1 = 1\), go to step 8.

  • If \(c_2^\prime = \infty \) and \(c_1 = -1\), go to step 9.

Step 8: Change \(c_1\) coefficient

Set \(c_1 = -1\), and go to step 5.

Step 9: Make seed points

  • Define seed set \(\mathcal {S} = \{\}\).

  • Find the convex hall formed by the pairs in \(\mathcal {R}_i\).

  • Find an exterior point for each edge, and add the pairs to \(\mathcal {S}\) as (\(b^s_1,b^s_2\)).

  • Set \(i = i+1\).

Step 10: Use seed points

  • If \(\mathcal {S} \ne \emptyset \), choose a pair (\(b^s_1,b^s_2\)) from \(\mathcal {S}\). Set \(b_1 = b^s_1\) and \(b_2 = b^s_2\). Remove (\(b^s_1,b^s_2\)) from \(\mathcal {S}\), and go to step 2.

  • if \(\mathcal {S} = \emptyset \), go to step 11.

Step 11: Make vertical regions

In order to allow for the optimal solution to lie on the vertical tranches of the residual stack, we add vertical regions to the set of regions \(\mathcal {R}\) at this step.

  1. 1.

    Set \(i = 1\), and \(\mathcal {V} = \{\}\).

  2. 2.

    For each edge in \(\mathcal {R}_i\) take the corresponding pairs of \((y^d,\pi ^d_i)\) and \((y^r,\pi ^r_i)\) for the two extreme points on the edge. Store them as point 1 and 2, (e.g. \({y^d}^1\), \({y^d}^2\)).

  3. 3.

    Find the adjacent region j to the chosen edge, and store \(\pi ^d_j\) and \(\pi _j^r\).

  4. 4.

    Set \(\mathcal {Q}= \{\{({y^d}^1,\pi ^d_i),({y^r}^1,\pi ^r_i)\},\{({y^d}^2,\pi ^d_i),({y^r}^2,\pi ^r_i)\},\{({y^d}^1,\pi ^d_j),({y^r}^1,\pi ^r_j)\},\{({y^d}^2,\pi ^d_j),\)       \(({y^r}^2,\pi ^r_j)\}\}\).

  5. 5.

    If \( \mathcal {Q} \notin \mathcal {V}\), add \(\mathcal {Q}\) to \(\mathcal {V}\).

  6. 6.

    Set \(i = i + 1\)

  7. 7.

    If \(i \le |\mathcal {R}|\), go back to line 2.

  8. 8.

    If \(i = |\mathcal {R}|\), set \(\mathcal {R} = \mathcal {R} \cup \mathcal {V}\).

B Scenario selection examples

In this appendix we present examples to illustrate our choice of a scenario set regarding the similarity of scenarios. First, we lay out an example, in which we use the full-scale network’s historical data. Suppose \(\varOmega _1\) and \(\varOmega _2\) are two scenario sets, and \(|\varOmega _1|= |\varOmega _2| = 6\). Here \(\varOmega _1\) consists of similar scenarios, all picked from a morning peak on a single day, in winter 2016. On the other hand, \(\varOmega _2\) consists of semi-similar scenarios, chosen from morning peaks of two days in winter 2016 and 2017. We solve [\(\alpha \)-MIP] for both sets and obtain the optimal expected actions for each scenario set. Figure 16 shows the optimal stacks for the two sample sets, here S1 and S2 correspond to the optimal bid stacks from optimizing against \(\varOmega _1\) and \(\varOmega _2\) respectively.

Fig. 16
figure 16

Sample set comparison

As shown in Fig. 16, S2 consists of three steps, that enable it to respond to different types of time periods. The three mutual scenarios in the two scenarios sets, have the same optimal consumption—price pairs in the two stacks (the overlapped points), and results in equal in-sample profit for the mutual points. However, the diversity of scenarios in \(\varOmega _2\), enhances the performance of S2 for out-of-sample scenarios. Table 11 reports on each stack’s profit when simulated over 100 out-of-sample scenarios.

In the second part of this appendix, we use a generic example to parametrically calculate the impacts of scenario selection. Suppose we have scenario \(\omega \), with the residual supply stack shown with black line in Fig. 17, and with the optimal consumption-price pair (\(q,\pi \)). We introduce new scenarios (a–d), whose residual stack deviates from that of \(\omega \) with distance \(\delta \) in each dimension. For the sake of simplicity we only show 2 out of 4 stacks (a and c) in Fig. 17. Here scenario a’s residual stack is shown in red, and its optimal consumption-price pair is (\(q-\delta ,\pi -\delta \)), and that of scenario c is (\(q+\delta ,\pi +\delta \)). Similarly, scenario b and d have the optimal consumption-price pairs (\(q-\delta ,\pi +\delta \)) and (\(q+\delta ,\pi -\delta \)), respectively. If we solve [\(\alpha \)-MIP] for \(\varOmega = \{\omega \}\), the optimal stack will have one step with the point (\(q,\pi \)). However, in order to cover the optimal consumption for the scenarios whose prices are higher with $ \(\delta \) divergence from \(\pi \), we draw the optimal stack based on the quantity-price pair \((q, \pi +\delta )\), which is presented with the dashed gray line in Fig. 17. We call this stack \(\omega \)-stack.

Table 11 Out-of-sample performance comparison
Fig. 17
figure 17

Similar scenarios

Table 12 Profit vs policy

In Table 12 we compare using the clairvoyant policy versus the optimal stack generated with \(\varOmega \), for all scenarios \(\omega \) and a–d. Here the difference between the clairvoyant policy and \(\omega \)-stack, depends on \(\delta \). Note that when we set \(\delta<< q\), the difference in profit becomes very small. This implies that adding similar scenarios to the scenario set, has little contribution to the performance of the actions, but makes the problem much harder to solve. Therefore, it would be beneficial to pick a representative scenario in \(\varOmega \), instead of including all similar scenarios.

In this example we showed that the more a scenario is similar to the existing scenarios in the sample set, the less adding that scenario (to the sample set) will improve the performance of the optimal action. Hence, we construct our random sets \(\varOmega \), while ensuring two similar scenarios are not picked. However, the information on the number of occurrences of similar scenarios will be incorporated in the probability of their representative scenario.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Habibian, M., Zakeri, G., Downward, A. et al. Co-optimization of demand response and interruptible load reserve offers for a price-making major consumer. Energy Syst 11, 45–71 (2020).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI:


  • Demand response
  • Bi-level optimization
  • Decomposition methods
  • Integer programming
  • Stochastic optimization