p11 | Sub-Hour Unit Commitment (SHUC)

See also

This problem is sourced from EvoCut [2].

Note

  • We add implicit assumptions for non-empty sets, non-negativity of all parameters, and the ordering constraints \(P^{\max}_g \ge P^{\min}_g\) and \(P^{w,\max}_{w,t} \ge P^{w,\min}_{w,t}\).

NP-hard: yes

Description

Decide generator commitment (on/off) and dispatch levels over a sub-hour horizon to meet demand and spinning reserve requirements at minimum cost. Includes piecewise production costs, startup categories with time-dependent costs, ramping limits, and minimum up/down times. Formulated as a MILP.

Formulations

Formulation a (valid)

See also

This formulation is sourced from EvoCut [2].

Note

  • This is the SHUC formulation from v2 of Yazdani et al. [2].

Parameters

Name

Description

Type

Shape

T

Number of time periods

integer

scalar

n_G

Number of thermal generators

integer

scalar

n_W

Number of renewable (wind) generators

integer

scalar

n_S

Number of startup categories per thermal generator

integer

[n_G]

ell

Startup lag for each startup category of each generator

integer

[n_G, n_S[n_G]]

C_su

Startup cost for each startup category of each generator

continuous

[n_G, n_S[n_G]]

n_L

Number of piecewise production breakpoints per generator

integer

[n_G]

P

Piecewise production breakpoints for each generator

continuous

[n_G, n_L[n_G]]

C

Piecewise variable production cost at each breakpoint for each generator

continuous

[n_G, n_L[n_G]]

L

Demand requirement at each time period

continuous

[T]

R

Spinning reserve requirement at each time period

continuous

[T]

P_min

Minimum thermal output of each generator

continuous

[n_G]

P_max

Maximum thermal output of each generator

continuous

[n_G]

P_wind_min

Minimum renewable output for each wind generator at each time period

continuous

[n_W, T]

P_wind_max

Maximum renewable output for each wind generator at each time period

continuous

[n_W, T]

RU

Ramp-up limit for each generator

continuous

[n_G]

RD

Ramp-down limit for each generator

continuous

[n_G]

SU

Startup ramp limit for each generator

continuous

[n_G]

SD

Shutdown ramp limit for each generator

continuous

[n_G]

U

Minimum up time for each generator

integer

[n_G]

D

Minimum down time for each generator

integer

[n_G]

MR

Must-run flag for each generator

binary

[n_G]

Variables

Name

Description

Type

Shape / Indices

u

On status of generator \(g\) at time \(t\)

binary

[n_G, T]

v

Startup indicator of generator \(g\) at time \(t\) (\(1\) if started)

binary

[n_G, T]

w

Shutdown indicator of generator \(g\) at time \(t\) (\(1\) if shut down)

binary

[n_G, T]

d_su

Startup category selection for generator \(g\), category \(s\), at time \(t\) (ragged by \(n_{S,g}\))

binary

[n_G, n_S[n_G], T]

lam

Piecewise convex combination weight for generator \(g\), breakpoint \(l\), at time \(t\) (ragged by \(n_{L,g}\))

continuous

[n_G, n_L[n_G], T]

p

Thermal output above \(P^{\min}_g\) for generator \(g\) at time \(t\)

continuous

[n_G, T]

r

Spinning reserve of generator \(g\) at time \(t\)

continuous

[n_G, T]

c_var

Variable production cost above the cost at the first breakpoint for generator \(g\) at time \(t\)

continuous

[n_G, T]

p_wind

Renewable output for wind generator \(w\) at time \(t\)

continuous

[n_W, T]

Assumptions

Description

Formulation

Implicit

Number of time periods is positive.

\(T \ge 1\)

yes

Number of thermal generators is positive.

\(n_G \ge 1\)

yes

Number of wind generators is positive.

\(n_W \ge 1\)

yes

Each generator has at least one startup category.

\(n_{S,g} \ge 1 \quad \forall g\)

yes

Each generator has at least one piecewise breakpoint.

\(n_{L,g} \ge 1 \quad \forall g\)

yes

Startup lags are non-negative.

\(\ell_{g,s} \ge 0 \quad \forall g, s\)

yes

Startup costs are non-negative.

\(C^{su}_{g,s} \ge 0 \quad \forall g, s\)

yes

Piecewise production breakpoints are non-negative.

\(P_{g,l} \ge 0 \quad \forall g, l\)

yes

Piecewise variable production costs are non-negative.

\(C_{g,l} \ge 0 \quad \forall g, l\)

yes

Demand at each time period is non-negative.

\(L_t \ge 0 \quad \forall t\)

yes

Spinning reserve requirement is non-negative.

\(R_t \ge 0 \quad \forall t\)

yes

Minimum thermal output is non-negative.

\(P^{\min}_g \ge 0 \quad \forall g\)

yes

Maximum thermal output is non-negative.

\(P^{\max}_g \ge 0 \quad \forall g\)

yes

Minimum renewable output is non-negative.

\(P^{w,\min}_{w,t} \ge 0 \quad \forall w, t\)

yes

Maximum renewable output is non-negative.

\(P^{w,\max}_{w,t} \ge 0 \quad \forall w, t\)

yes

Ramp-up limits are non-negative.

\(RU_g \ge 0 \quad \forall g\)

yes

Ramp-down limits are non-negative.

\(RD_g \ge 0 \quad \forall g\)

yes

Startup ramp limits are non-negative.

\(SU_g \ge 0 \quad \forall g\)

yes

Shutdown ramp limits are non-negative.

\(SD_g \ge 0 \quad \forall g\)

yes

Minimum up times are at least one period.

\(U_g \ge 1 \quad \forall g\)

yes

Minimum down times are at least one period.

\(D_g \ge 1 \quad \forall g\)

yes

Must-run flag is binary.

\(MR_g \in \{0,1\} \quad \forall g\)

yes

Maximum thermal output is at least the minimum thermal output for each generator.

\(P^{\max}_g \ge P^{\min}_g \quad \forall g\)

yes

Maximum renewable output is at least the minimum renewable output for each wind generator and time period.

\(P^{w,\max}_{w,t} \ge P^{w,\min}_{w,t} \quad \forall w, t\)

yes

Constraints

  • Demand balance: total thermal and renewable output equals demand at each period.

    \[ \sum_{g} (p_{g,t} + P^{\min}_g u_{g,t}) + \sum_{w} p^w_{w,t} = L_t \quad \forall t \]
  • Spinning reserve: total reserve meets or exceeds requirement at each period.

    \[ \sum_{g} r_{g,t} \ge R_t \quad \forall t \]
  • Commitment transition: links on-status to startup and shutdown indicators.

    \[ u_{g,t} - u_{g,t-1} = v_{g,t} - w_{g,t} \quad \forall g, t \ge 1 \]
  • Minimum up time: a generator that starts must remain on for at least \(U_g\) periods.

    \[ \sum_{\tau=t-U_g+1}^{t} v_{g,\tau} \le u_{g,t} \quad \forall g, t \ge U_g - 1 \]
  • Minimum down time: a generator that shuts down must remain off for at least \(D_g\) periods.

    \[ \sum_{\tau=t-D_g+1}^{t} w_{g,\tau} \le 1 - u_{g,t} \quad \forall g, t \ge D_g - 1 \]
  • Startup decomposition: startup indicator equals sum of startup category selections.

    \[ v_{g,t} = \sum_{s} d_{g,s,t} \quad \forall g, t \]
  • Startup category timing: category \(s\) can only be selected if the generator was off for the required lag.

    \[ d_{g,s,t} \le \sum_{i=\ell_{g,s}}^{\ell_{g,s+1}-1} w_{g,t-i} \quad \forall g, s < |S_g| - 1, t \ge \ell_{g,s+1} - 1 \]
  • Must-run: generators with \(\mathrm{MR}_g = 1\) must remain on at all times.

    \[ u_{g,t} \ge \mathrm{MR}_g \quad \forall g, t \]
  • Startup derating: net output above minimum is limited by startup ramp during startup periods.

    \[ p_{g,t} + r_{g,t} \le (P^{\max}_g - P^{\min}_g) u_{g,t} - \max(P^{\max}_g - SU_g, 0) v_{g,t} \quad \forall g, t \]
  • Shutdown derating: net output above minimum is limited by shutdown ramp the period before shutdown.

    \[ p_{g,t} + r_{g,t} \le (P^{\max}_g - P^{\min}_g) u_{g,t} - \max(P^{\max}_g - SD_g, 0) w_{g,t+1} \quad \forall g, t < T-1 \]
  • Ramp-up limit: output plus reserve cannot increase by more than \(RU_g\) from the previous period.

    \[ p_{g,t} + r_{g,t} - p_{g,t-1} \le RU_g \quad \forall g, t \ge 1 \]
  • Ramp-down limit: output cannot decrease by more than \(RD_g\) from the previous period.

    \[ p_{g,t-1} - p_{g,t} \le RD_g \quad \forall g, t \ge 1 \]
  • Piecewise production: output equals the convex combination of production breakpoints above minimum.

    \[ p_{g,t} = \sum_{l} (P_{g,l} - P_{g,0}) \lambda_{g,l,t} \quad \forall g, t \]
  • Piecewise cost: variable cost equals the convex combination of cost breakpoints above the cost at the first breakpoint.

    \[ c_{g,t} = \sum_{l} (C_{g,l} - C_{g,0}) \lambda_{g,l,t} \quad \forall g, t \]
  • Piecewise weights: convex combination weights sum to on-status.

    \[ \sum_{l} \lambda_{g,l,t} = u_{g,t} \quad \forall g, t \]
  • Piecewise weights are at most one.

    \[ \lambda_{g,l,t} \le 1 \quad \forall g, l, t \]
  • Renewable output is at least the minimum for each wind generator and time period.

    \[ P^{w,\min}_{w,t} \le p^w_{w,t} \quad \forall w, t \]
  • Renewable output is at most the maximum for each wind generator and time period.

    \[ p^w_{w,t} \le P^{w,\max}_{w,t} \quad \forall w, t \]
  • Piecewise convex combination weights are non-negative. (implicit)

    \[ \lambda_{g,l,t} \ge 0 \quad \forall g, l, t \]
  • Thermal output above the minimum is non-negative. (implicit)

    \[ p_{g,t} \ge 0 \quad \forall g, t \]
  • Spinning reserve is non-negative. (implicit)

    \[ r_{g,t} \ge 0 \quad \forall g, t \]
  • Variable production cost above the cost at the first breakpoint is non-negative. (implicit)

    \[ c_{g,t} \ge 0 \quad \forall g, t \]

Objective

Minimize total production cost (on-cost at the first breakpoint plus variable cost) and startup costs over all generators and time periods.

\[ \min \sum_{g} \sum_{t} (c_{g,t} + C_{g,0} u_{g,t}) + \sum_{g} \sum_{s} \sum_{t} C^{su}_{g,s} d_{g,s,t} \]

Formulation b (valid)

See also

This formulation is sourced from EvoCut [2].

Note

  • This is the SHUC formulation from v2 of Yazdani et al. [2] augmented with its ten jointly applied acceleration cuts. It introduces auxiliary variables \(\overline{P}_{g,t}\) and \(b_{g,t}\) to enforce that demand minus renewable output plus reserve can be met by thermal capacity that is reachable under ramp limits, with derating during startups and shutdowns

Parameters

Name

Description

Type

Shape

T

Number of time periods

integer

scalar

n_G

Number of thermal generators

integer

scalar

n_W

Number of renewable (wind) generators

integer

scalar

n_S

Number of startup categories per thermal generator

integer

[n_G]

ell

Startup lag for each startup category of each generator

integer

[n_G, n_S[n_G]]

C_su

Startup cost for each startup category of each generator

continuous

[n_G, n_S[n_G]]

n_L

Number of piecewise production breakpoints per generator

integer

[n_G]

P

Piecewise production breakpoints for each generator

continuous

[n_G, n_L[n_G]]

C

Piecewise variable production cost at each breakpoint for each generator

continuous

[n_G, n_L[n_G]]

L

Demand requirement at each time period

continuous

[T]

R

Spinning reserve requirement at each time period

continuous

[T]

P_min

Minimum thermal output of each generator

continuous

[n_G]

P_max

Maximum thermal output of each generator

continuous

[n_G]

P_wind_min

Minimum renewable output for each wind generator at each time period

continuous

[n_W, T]

P_wind_max

Maximum renewable output for each wind generator at each time period

continuous

[n_W, T]

RU

Ramp-up limit for each generator

continuous

[n_G]

RD

Ramp-down limit for each generator

continuous

[n_G]

SU

Startup ramp limit for each generator

continuous

[n_G]

SD

Shutdown ramp limit for each generator

continuous

[n_G]

U

Minimum up time for each generator

integer

[n_G]

D

Minimum down time for each generator

integer

[n_G]

MR

Must-run flag for each generator

binary

[n_G]

Variables

Name

Description

Type

Shape / Indices

u

On status of generator \(g\) at time \(t\)

binary

[n_G, T]

v

Startup indicator of generator \(g\) at time \(t\) (\(1\) if started)

binary

[n_G, T]

w

Shutdown indicator of generator \(g\) at time \(t\) (\(1\) if shut down)

binary

[n_G, T]

d_su

Startup category selection for generator \(g\), category \(s\), at time \(t\) (ragged by \(n_{S,g}\))

binary

[n_G, n_S[n_G], T]

lam

Piecewise convex combination weight for generator \(g\), breakpoint \(l\), at time \(t\) (ragged by \(n_{L,g}\))

continuous

[n_G, n_L[n_G], T]

p

Thermal output above \(P^{\min}_g\) for generator \(g\) at time \(t\)

continuous

[n_G, T]

r

Spinning reserve of generator \(g\) at time \(t\)

continuous

[n_G, T]

c_var

Variable production cost above the cost at the first breakpoint for generator \(g\) at time \(t\)

continuous

[n_G, T]

p_wind

Renewable output for wind generator \(w\) at time \(t\)

continuous

[n_W, T]

b

EC1 indicator: \(1\) if generator \(g\) starts at \(t\) and shuts down at \(t+1\)

binary

[n_G, T-1]

P_bar

Maximum reachable output of generator \(g\) at time \(t\)

continuous

[n_G, T]

Assumptions

Description

Formulation

Implicit

Number of time periods is positive.

\(T \ge 1\)

yes

Number of thermal generators is positive.

\(n_G \ge 1\)

yes

Number of wind generators is positive.

\(n_W \ge 1\)

yes

Each generator has at least one startup category.

\(n_{S,g} \ge 1 \quad \forall g\)

yes

Each generator has at least one piecewise breakpoint.

\(n_{L,g} \ge 1 \quad \forall g\)

yes

Startup lags are non-negative.

\(\ell_{g,s} \ge 0 \quad \forall g, s\)

yes

Startup costs are non-negative.

\(C^{su}_{g,s} \ge 0 \quad \forall g, s\)

yes

Piecewise production breakpoints are non-negative.

\(P_{g,l} \ge 0 \quad \forall g, l\)

yes

Piecewise variable production costs are non-negative.

\(C_{g,l} \ge 0 \quad \forall g, l\)

yes

Demand at each time period is non-negative.

\(L_t \ge 0 \quad \forall t\)

yes

Spinning reserve requirement is non-negative.

\(R_t \ge 0 \quad \forall t\)

yes

Minimum thermal output is non-negative.

\(P^{\min}_g \ge 0 \quad \forall g\)

yes

Maximum thermal output is non-negative.

\(P^{\max}_g \ge 0 \quad \forall g\)

yes

Minimum renewable output is non-negative.

\(P^{w,\min}_{w,t} \ge 0 \quad \forall w, t\)

yes

Maximum renewable output is non-negative.

\(P^{w,\max}_{w,t} \ge 0 \quad \forall w, t\)

yes

Ramp-up limits are non-negative.

\(RU_g \ge 0 \quad \forall g\)

yes

Ramp-down limits are non-negative.

\(RD_g \ge 0 \quad \forall g\)

yes

Startup ramp limits are non-negative.

\(SU_g \ge 0 \quad \forall g\)

yes

Shutdown ramp limits are non-negative.

\(SD_g \ge 0 \quad \forall g\)

yes

Minimum up times are at least one period.

\(U_g \ge 1 \quad \forall g\)

yes

Minimum down times are at least one period.

\(D_g \ge 1 \quad \forall g\)

yes

Must-run flag is binary.

\(MR_g \in \{0,1\} \quad \forall g\)

yes

Maximum thermal output is at least the minimum thermal output for each generator.

\(P^{\max}_g \ge P^{\min}_g \quad \forall g\)

yes

Maximum renewable output is at least the minimum renewable output for each wind generator and time period.

\(P^{w,\max}_{w,t} \ge P^{w,\min}_{w,t} \quad \forall w, t\)

yes

Constraints

  • Demand balance: total thermal and renewable output equals demand at each period.

    \[ \sum_{g} (p_{g,t} + P^{\min}_g u_{g,t}) + \sum_{w} p^w_{w,t} = L_t \quad \forall t \]
  • Spinning reserve: total reserve meets or exceeds requirement at each period.

    \[ \sum_{g} r_{g,t} \ge R_t \quad \forall t \]
  • Commitment transition: links on-status to startup and shutdown indicators.

    \[ u_{g,t} - u_{g,t-1} = v_{g,t} - w_{g,t} \quad \forall g, t \ge 1 \]
  • Minimum up time: a generator that starts must remain on for at least \(U_g\) periods.

    \[ \sum_{\tau=t-U_g+1}^{t} v_{g,\tau} \le u_{g,t} \quad \forall g, t \ge U_g - 1 \]
  • Minimum down time: a generator that shuts down must remain off for at least \(D_g\) periods.

    \[ \sum_{\tau=t-D_g+1}^{t} w_{g,\tau} \le 1 - u_{g,t} \quad \forall g, t \ge D_g - 1 \]
  • Startup decomposition: startup indicator equals sum of startup category selections.

    \[ v_{g,t} = \sum_{s} d_{g,s,t} \quad \forall g, t \]
  • Startup category timing: category \(s\) can only be selected if the generator was off for the required lag.

    \[ d_{g,s,t} \le \sum_{i=\ell_{g,s}}^{\ell_{g,s+1}-1} w_{g,t-i} \quad \forall g, s < |S_g| - 1, t \ge \ell_{g,s+1} - 1 \]
  • Must-run: generators with \(\mathrm{MR}_g = 1\) must remain on at all times.

    \[ u_{g,t} \ge \mathrm{MR}_g \quad \forall g, t \]
  • Startup derating: net output above minimum is limited by startup ramp during startup periods.

    \[ p_{g,t} + r_{g,t} \le (P^{\max}_g - P^{\min}_g) u_{g,t} - \max(P^{\max}_g - SU_g, 0) v_{g,t} \quad \forall g, t \]
  • Shutdown derating: net output above minimum is limited by shutdown ramp the period before shutdown.

    \[ p_{g,t} + r_{g,t} \le (P^{\max}_g - P^{\min}_g) u_{g,t} - \max(P^{\max}_g - SD_g, 0) w_{g,t+1} \quad \forall g, t < T-1 \]
  • Ramp-up limit: output plus reserve cannot increase by more than \(RU_g\) from the previous period.

    \[ p_{g,t} + r_{g,t} - p_{g,t-1} \le RU_g \quad \forall g, t \ge 1 \]
  • Ramp-down limit: output cannot decrease by more than \(RD_g\) from the previous period.

    \[ p_{g,t-1} - p_{g,t} \le RD_g \quad \forall g, t \ge 1 \]
  • Piecewise production: output equals the convex combination of production breakpoints above minimum.

    \[ p_{g,t} = \sum_{l} (P_{g,l} - P_{g,0}) \lambda_{g,l,t} \quad \forall g, t \]
  • Piecewise cost: variable cost equals the convex combination of cost breakpoints above the cost at the first breakpoint.

    \[ c_{g,t} = \sum_{l} (C_{g,l} - C_{g,0}) \lambda_{g,l,t} \quad \forall g, t \]
  • Piecewise weights: convex combination weights sum to on-status.

    \[ \sum_{l} \lambda_{g,l,t} = u_{g,t} \quad \forall g, t \]
  • Piecewise weights are at most one.

    \[ \lambda_{g,l,t} \le 1 \quad \forall g, l, t \]
  • Renewable output is at least the minimum for each wind generator and time period.

    \[ P^{w,\min}_{w,t} \le p^w_{w,t} \quad \forall w, t \]
  • Renewable output is at most the maximum for each wind generator and time period.

    \[ p^w_{w,t} \le P^{w,\max}_{w,t} \quad \forall w, t \]
  • Piecewise convex combination weights are non-negative. (implicit)

    \[ \lambda_{g,l,t} \ge 0 \quad \forall g, l, t \]
  • Thermal output above the minimum is non-negative. (implicit)

    \[ p_{g,t} \ge 0 \quad \forall g, t \]
  • Spinning reserve is non-negative. (implicit)

    \[ r_{g,t} \ge 0 \quad \forall g, t \]
  • Variable production cost above the cost at the first breakpoint is non-negative. (implicit)

    \[ c_{g,t} \ge 0 \quad \forall g, t \]
  • One of three inequalities forming a standard Fortet linearization of \(b_{g,t} = 1\) if and only if generator \(g\) starts at \(t\) and shuts down at \(t+1\).

    \[ b_{g,t} \le v_{g,t} \quad \forall g, t < T-1 \]
  • One of three inequalities forming a standard Fortet linearization of \(b_{g,t} = 1\) if and only if generator \(g\) starts at \(t\) and shuts down at \(t+1\).

    \[ b_{g,t} \le w_{g,t+1} \quad \forall g, t < T-1 \]
  • One of three inequalities forming a standard Fortet linearization of \(b_{g,t} = 1\) if and only if generator \(g\) starts at \(t\) and shuts down at \(t+1\).

    \[ b_{g,t} \ge v_{g,t} + w_{g,t+1} - 1 \quad \forall g, t < T-1 \]
  • \(P_{bar}\) is bounded by the startup-derated capacity.

    \[ \overline{P}_{g,t} \le P^{\max}_g u_{g,t} - \max(P^{\max}_g - SU_g, 0) v_{g,t} \quad \forall g, t \]
  • \(P_{bar}\) is bounded by the shutdown-derated capacity for periods before a shutdown.

    \[ \overline{P}_{g,t} \le P^{\max}_g u_{g,t} - \max(P^{\max}_g - SD_g, 0) w_{g,t+1} \quad \forall g, t < T-1 \]
  • \(P_{bar}\) is bounded by the combined startup-shutdown derated capacity with recovery term for simultaneous startup-shutdown.

    \[ \bar{P}_{g,t} \le P^{\max}_g u_{g,t} - \max(P^{\max}_g - SU_g, 0) v_{g,t} - \max(P^{\max}_g - SD_g, 0) w_{g,t+1} + \min(\max(P^{\max}_g - SU_g, 0), \max(P^{\max}_g - SD_g, 0)) b_{g,t} \quad \forall g, t < T-1 \]
  • \(P_{bar}\) is bounded by previous period output plus ramp-up, with relaxation for offline previous period.

    \[ \overline{P}_{g,t} \le P^{\min}_g u_{g,t} + p_{g,t-1} + RU_g + (P^{\max}_g - P^{\min}_g)(1 - u_{g,t-1}) \quad \forall g, t \ge 1 \]
  • \(P_{bar}\) is bounded by the ramp reachability from previous period with startup derating at \(t-1\).

    \[ \overline{P}_{g,t} \le P^{\min}_g u_{g,t} + (P^{\max}_g - P^{\min}_g) u_{g,t-1} - \max(P^{\max}_g - SU_g, 0) v_{g,t-1} + RU_g \quad \forall g, t \ge 1 \]
  • \(P_{bar}\) is bounded by ramp reachability from previous period with shutdown derating at current period \(t\).

    \[ \overline{P}_{g,t} \le P^{\min}_g u_{g,t} + (P^{\max}_g - P^{\min}_g) u_{g,t-1} - \max(P^{\max}_g - SD_g, 0) w_{g,t} + RU_g \quad \forall g, t \ge 1 \]
  • Total reachable capacity must cover net demand plus reserve at each period.

    \[ L_t - \sum_{w} p^w_{w,t} + R_t \le \sum_{g} \overline{P}_{g,t} \quad \forall t \]

Objective

Minimize total production cost (on-cost at the first breakpoint plus variable cost) and startup costs over all generators and time periods.

\[ \min \sum_{g} \sum_{t} (c_{g,t} + C_{g,0} u_{g,t}) + \sum_{g} \sum_{s} \sum_{t} C^{su}_{g,s} d_{g,s,t} \]

Reformulations

Each entry below pairs two formulations of this problem, records whether the second is a reformulation of the first, and gives the parameter map carrying the first formulation’s parameters to the second’s.

ab (valid)

Note

  • Formulation b has the same parameters as formulation a; the map is the identity.

Parameter map

Name

Definition in terms of a

T

\(T = T\)

n_G

\(n_G = n_G\)

n_W

\(n_W = n_W\)

n_S

\(n_{S,g} = n_{S,g}\)

ell

\(\ell_{g,s} = \ell_{g,s}\)

C_su

\(C^{su}_{g,s} = C^{su}_{g,s}\)

n_L

\(n_{L,g} = n_{L,g}\)

P

\(P_{g,l} = P_{g,l}\)

C

\(C_{g,l} = C_{g,l}\)

L

\(L_t = L_t\)

R

\(R_t = R_t\)

P_min

\(P^{\min}_g = P^{\min}_g\)

P_max

\(P^{\max}_g = P^{\max}_g\)

P_wind_min

\(P^{w,\min}_{w,t} = P^{w,\min}_{w,t}\)

P_wind_max

\(P^{w,\max}_{w,t} = P^{w,\max}_{w,t}\)

RU

\(RU_g = RU_g\)

RD

\(RD_g = RD_g\)

SU

\(SU_g = SU_g\)

SD

\(SD_g = SD_g\)

U

\(U_g = U_g\)

D

\(D_g = D_g\)

MR

\(\mathrm{MR}_g = \mathrm{MR}_g\)