Set 28 — Loss Coordination and Unit Commitment
Set 27 solved the dispatch problem with the network removed: a single busbar, several cost curves, and one rule — equal incremental cost. Two things were left out, and both are large. The first is that generation and load sit at different buses, so a megawatt injected at a remote plant does not arrive whole; the equal-lambda rule must be re-derived with a loss term, and it becomes the exact coordination equation, in which each unit's incremental cost is multiplied by a penalty factor. The second is that the running set was assumed known. Deciding which units to synchronise is a different problem — discrete, coupled across time by start-up costs and minimum run times, and worth far more money than the dispatch inside it.
The first eleven problems build the loss formula, the incremental transmission loss and the penalty factor, and solve a loss-coordinated dispatch to convergence. The remaining nine build the commitment: reserve rules, a priority list, start-up against banking, minimum up and down times, and a dynamic-programming schedule worked in full. The last problem puts the two halves together on one day.
Losses are a quadratic function of the injections. With every load held in fixed proportion and the voltage profile flat, the branch currents are linear in the generations, and the loss — being \(\sum |I|^2R\) — is quadratic: \(P_L = \sum_i\sum_j P_iB_{ij}P_j\). The \(B_{ij}\) have units of MW−1, the matrix is symmetric, and it is positive definite because a loss cannot be negative.
What matters to the dispatch is not the loss but its derivative. The incremental transmission loss \(\partial P_L/\partial P_i = 2\sum_jB_{ij}P_j\) says how much of the next megawatt from plant \(i\) is burnt in the network. A plant that produces a quarter of the system's losses may still have a small incremental loss, and it is the incremental figure that sets its output.
The penalty factor is the correction that results. Defining \(L_i = 1/\left(1-\partial P_L/\partial P_i\right)\), the optimum is \(L_i\,\mathrm{IC}_i = \lambda\) for every unconstrained unit. A remote plant has \(L_i>1\) and is therefore held back; a plant at the load centre has \(L_i=1\) and keeps Set 27's rule unchanged.
The balance constraint changes too. It is \(\sum_iP_i - P_L = P_D\), not \(\sum_iP_i = P_D\). Both changes must be made together; making only one is the commonest error in the whole topic.
The solution is still a one-dimensional search in \(\lambda\), but each trial value now requires solving a small linear system, because \(P_i\) depends on every other \(P_j\) through the loss term. Bisection always works; a gradient step converges in three or four.
Commitment is a different kind of problem. The variables are binary, the no-load cost that dispatch ignores becomes the dominant term, and the periods are coupled by start-up costs and minimum up and down times. Nothing about it can be solved by differentiation.
Reserve is what decides how much surplus capacity is synchronised. A percentage rule asks for committed capacity \(\ge (1+r)P_D\); an \(N-1\) rule asks that the loss of the largest running unit still leave enough. The second is much more demanding and on a small system may be unattainable.
Dynamic programming makes the schedule tractable. Because the cost of reaching a commitment state depends on the past only through the previous state, the optimum obeys \(F_t(x) = \min_y\left[F_{t-1}(y)+S(y\to x)\right]+C_t(x)\), and the work grows linearly rather than exponentially in the number of periods.
Set 27 dispatched three units on a single busbar by equating incremental costs. Explain why that rule is wrong the moment the units sit at different buses, and identify the one quantity that must be introduced to repair it.
What the single-busbar rule assumed. Set 27 minimised \(\sum_iC_i(P_i)\) subject to
Every megawatt generated was a megawatt delivered. On that constraint the Lagrangian gives \(dC_i/dP_i=\lambda\) for all units — the equal-incremental-cost rule.
What changes with a network. Generation and load are at different buses, and the transmission system dissipates some of what is injected:
The loss is not a constant. It depends on where the power is produced, and therefore on the very variables being optimised. That dependence is the whole of the difficulty.
The economic consequence, stated plainly. A megawatt from a remote plant arrives as less than a megawatt at the load. If a fraction \(\partial P_L/\partial P_i\) of it is lost, then to deliver one useful megawatt the plant must generate
and the cost of the useful megawatt is that factor times the plant's own incremental cost. Two plants with identical fuel curves are therefore not equally valuable if one is 200 km further from the load.
A numerical demonstration is enough to settle it. Take the two-bus system of Problem 3, in which plant 2 sits at the load bus and plant 1 is remote. Dispatching by equal incremental cost gives \(P_1=354.32\), \(P_2=112.59\) MW; dispatching with the loss term gives \(P_1=230.77\), \(P_2=200.00\) MW for the same delivered load:
The loss falls from 62.77 to 26.63 MW and the hourly fuel bill falls by Rs 54 969 — Problem 8. The equal-lambda rule overloaded the cheap-but-distant plant because it never asked what the network charged to bring the power in.
The one quantity needed is therefore not the loss itself but its partial derivative with respect to each generation:
Everything in the first half of this set is built from that single object: the loss formula exists to produce it, the penalty factor is a rearrangement of it, and the coordination equation is the equal-lambda rule with it inserted.
State the Kron loss formula, list the assumptions that make it valid, give the units of the coefficients, and explain why the \(\mathbf{B}\) matrix must be symmetric and positive definite.
The formula in its three usual forms. The simplest keeps only the quadratic term:
Kron's full expression adds a linear and a constant term, which are needed when the load distribution is not held in fixed proportion:
and the diagonal form \(P_L=\sum_iB_{ii}P_i^{2}\) is the special case in which the plants do not interact — exact only for a radial system with a single load centre, as in Problem 3.
Why the loss is quadratic at all. Three steps, each an assumption:
Under these, every branch current is a linear combination \(I_k=\sum_i N_{ki}P_i\), and the loss \(\sum_k|I_k|^{2}R_k\) is a quadratic form in the \(P_i\). Collecting terms gives \(B_{ij}=\sum_kN_{ki}N_{kj}R_k\), which is where the coefficients come from.
The units. With \(P_L\) and the \(P_i\) in MW,
Typical magnitudes are \(10^{-5}\) to \(10^{-3}\) MW−1. In per unit on the system base the \(B_{ij}\) are dimensionless, and a coefficient quoted without its base is meaningless — a frequent source of factor-of-100 errors.
Symmetry follows from the definition, since \(B_{ij}=\sum_kN_{ki}N_{kj}R_k=B_{ji}\). It also follows without any algebra: the quadratic form only ever uses the combination \(B_{ij}+B_{ji}\), so an unsymmetric matrix could always be replaced by its symmetric part.
For the three-plant system of Problem 9 that is six numbers rather than nine.
Positive definiteness is a physical statement: the loss is a sum of \(|I|^2R\) terms, each non-negative, and cannot be zero unless every branch current is zero.
Two useful consequences. Every \(B_{ii}>0\), so no plant can be loss-free on its own. And the objective \(\sum_iC_i\) with a positive-definite loss term remains convex, so the coordination equations of Problem 6 have a unique solution and any descent method finds it.
The off-diagonal signs are not fixed. A negative \(B_{ij}\) is perfectly possible and means the two plants' flows partly cancel in some branch, so raising both together loses less than raising either alone. Positive definiteness limits how negative it can be: for two plants, \(B_{12}^{2} < B_{11}B_{22}\).
What the formula cannot do. The \(B\) coefficients are computed from one base-case load flow and are accurate only near it:
Which is why utilities hold several \(B\) matrices — light load, peak, maintenance outage — and why an optimal power flow, which uses the network equations directly, has largely replaced the loss formula in modern control centres. It survives in teaching and in fast on-line dispatch because it makes the loss an explicit algebraic function of the generations, which is exactly what the coordination equation needs.
A two-bus system has plant 1 at a remote bus and plant 2 at the load bus. Their incremental fuel costs are
with \(P\) in MW. A test shows that when 200 MW is transmitted from plant 1 to the load with plant 2 shut down, the transmission loss is 20 MW. Obtain the loss formula for this system, and state why it contains only one coefficient.
The arrangement. Only the power injected at bus 1 travels through the line; whatever plant 2 produces is consumed at its own bus and passes through no impedance at all.
The general form reduces at once. For two plants,
Plant 2's power reaches the load without traversing any branch, so no branch current depends on \(P_2\). Every term containing \(P_2\) therefore vanishes: \(B_{12}=B_{22}=0\).
Evaluate the surviving coefficient from the test. With \(P_1=200\) MW and \(P_L=20\) MW:
Sanity-check the magnitude. The loss as a percentage of the transmitted power is
Ten per cent on a long radial feed is high but entirely realistic — and note that this ratio is proportional to \(P_1\). At 400 MW the same line would lose 20%, at 100 MW only 5%. A loss percentage quoted without the loading it refers to says nothing.
Recover the line resistance, as a check that the coefficient is physical. At 220 kV with unity power factor and 200 MW flowing,
About 200 km of ACSR Panther at 0.12 Ω/km. The coefficient is consistent with a real line, which is the check worth doing whenever a \(B\) value is handed to you rather than derived.
The general relation behind the arithmetic, for a single radial plant at voltage \(V\) and power factor \(\cos\phi\):
Two consequences worth remembering: \(B_{11}\) falls as the square of the transmission voltage, which is the economic case for 400 kV over 220 kV; and it rises as the square of \(1/\cos\phi\), which is the case for shunt compensation at the plant.
A three-plant system has the loss coefficients (in units of \(10^{-4}\) MW−1)
At an operating point \(P=(150,\ 205,\ 62)\) MW, compute the total loss and the incremental transmission loss of each plant, and explain why the plant with the largest share of the loss is not the plant with the largest incremental loss.
The total loss, term by term. The diagonal contributions first:
and the cross terms, each counted twice:
Against a generation of 417 MW, that is 4.32% — a normal figure for a system of this size.
The incremental transmission losses. Differentiating the quadratic form,
Note the factor 2 and note that the sum runs over all plants including \(i\) itself. Omitting either is the standard slip.
Reading the three numbers. They say what fraction of the next megawatt from each plant is burnt in the network:
The loss shares in the last column are the Euler shares of Problem 11, \(P_i\,\mathrm{ITL}_i/2P_L\).
Why the two rankings differ. Compare plants 2 and 3. Plant 2 causes 62% of the loss but plant 3 has almost the same incremental loss:
Plant 2 dominates the total because its output is large and the loss it causes goes as the square of that output. Plant 3 is electrically more remote — it has the largest \(B_{ii}\) of the three — but it is generating little, so its incremental figure is modest. Change the loading and the ranking changes with it.
The distinction is not academic. The dispatch uses only the incremental figures, so plant 3, despite being the most remote plant on the system, is penalised barely more than plant 1:
It is plant 2 — the one at the electrical centre of the load, running hardest — that is held back most. A charging scheme based on the total loss caused would send the opposite signal, which is precisely why locational marginal pricing uses the incremental quantity.
Define the penalty factor, evaluate it for the two-bus system of Problem 3 over the range \(0\le P_1\le400\) MW, and state the conditions under which a penalty factor can be less than one.
The definition and where it comes from. If plant \(i\) raises its output by \(\delta\), the amount that reaches the load is \(\delta\left(1-\mathrm{ITL}_i\right)\). To deliver one useful megawatt the plant must therefore generate \(1/(1-\mathrm{ITL}_i)\), and that multiplier is the penalty factor:
It is dimensionless, it multiplies the plant's incremental cost, and it converts a cost per megawatt generated into a cost per megawatt delivered.
For the two-bus system of Problem 3, \(P_L=5\times10^{-4}P_1^{2}\), so
Plant 2 is at the load bus, contributes nothing to the loss, and is therefore not penalised at all — which is the correct answer and a useful check on the algebra.
Values across the range:
At the coordinated operating point of Problem 7, \(P_1=230.77\) MW gives \(\mathrm{ITL}_1=0.23077\) and \(L_1=1.3000\) exactly. Plant 1's fuel cost is therefore inflated by 30% before it is compared with plant 2's.
The effect on the comparison. At that operating point the raw incremental costs are
Plant 1 looks 23% cheaper. After penalisation:
Equal — which is the optimum. The apparent 23% advantage was exactly the 30% penalty, and the plant that looked cheaper was not.
When is \(L_i<1\)? Only when the incremental transmission loss is negative, and that requires
It happens in practice. If plant \(i\) sits inside a load pocket that is being fed from elsewhere, raising its output reduces the flow on the importing corridor and so reduces the system loss. Embedded generation in a city, and any plant at the receiving end of a heavily loaded interconnector, will show \(\mathrm{ITL}<0\) and a penalty factor a little below one.
The three regimes, then:
The middle line is the reduction to Set 27 that Problem 1 insisted on. The third is the case a purely intuitive treatment of losses always gets wrong, because it is natural to assume the network can only ever penalise.
The singularity is physical. As \(\mathrm{ITL}_i\to1\) the penalty factor diverges, and beyond it the factor goes negative. At \(P_1=1000\) MW here, \(\mathrm{ITL}_1=1\): the next megawatt from plant 1 would be entirely burnt in the line, and the plant is worthless as a source of delivered energy however cheap its fuel. No real dispatch approaches that point, but it is the reason the penalty factor is the right form of the correction — it grows without limit as the corridor saturates, whereas a linear correction would not.
Derive the exact coordination equation by the method of Lagrange multipliers, show that it reduces to Set 27's rule when losses vanish, and write down the equations in the form in which they are actually solved.
The problem. Minimise the total fuel cost subject to the power balance including the loss:
The Lagrangian and its stationarity conditions:
The single extra term compared with Set 27 is \(\lambda\,\partial P_L/\partial P_i\). Note that \(dC_i/dP_i\) is a total derivative — unit \(i\)'s cost depends on nothing but its own output — while the loss derivative is partial.
Rearranged into the standard form:
This is the exact coordination equation. Its content is that all units operate at equal penalised incremental cost, and that the common value \(\lambda\) is the incremental cost of delivered power — the price of one more megawatt at the load, not at any generator.
The reduction to Set 27. Set every \(B_{ij}=0\):
Exactly the equal-incremental-cost criterion. The generalisation is faithful, and the check costs one line.
The form that is actually solved. Substituting the quadratic cost \(C_i=a_i+b_iP_i+c_iP_i^{2}\) and the quadratic loss:
For a fixed trial \(\lambda\) this is a set of \(n\) linear equations in the \(P_i\), with matrix \(\mathrm{diag}(2c_i)+2\lambda\mathbf{B}\). It is that structure which makes the whole calculation a one-dimensional search: guess \(\lambda\), solve a linear system, test the balance.
In matrix form, which is how a program stores it:
The coefficient matrix is symmetric positive definite for every \(\lambda>0\), being the sum of a positive diagonal and a positive-definite matrix. So the system always has a unique solution and never needs pivoting — a small but real practical advantage.
The single equation left to satisfy is the balance itself:
\(f\) is monotonically increasing in \(\lambda\) — every \(P_i\) rises with \(\lambda\) and the delivered power rises with them, up to the saturation point of Problem 5. So bisection converges from any bracket, exactly as in Set 27, and the whole difference is that each function evaluation now solves an \(n\times n\) system instead of evaluating \(n\) scalar formulae.
Generator limits enter as before, through the Kuhn–Tucker conditions. A unit at a limit is removed from the free set, its output fixed, and its contribution moved to the right-hand side:
Worked in full in Problem 12. Note that the test uses the penalised incremental cost, not the raw one — a unit can satisfy the raw test and fail the penalised one.
For the two-bus system of Problem 3, with
the incremental cost of delivered power is Rs 2800 per MWh. Find the output of each plant, the transmission loss, and the load being served.
Write a coordination equation for each plant. From Problem 6, \(\mathrm{IC}_i=\lambda\left(1-\partial P_L/\partial P_i\right)\). The two incremental transmission losses are
Plant 1. Substituting \(\lambda=2800\):
The loss term contributed the \(2.8P_1\). Without it the equation would have read \(2.4P_1=1200\) and given 500 MW — more than twice as much.
Plant 2 is at the load bus, so its penalty factor is 1 and Set 27's rule applies unchanged:
The transmission loss follows from \(P_1\) alone:
The load served is generation minus loss:
The loss is 6.2% of the load and 12.4% of the remote plant's own output — which is what a 10%-at-200-MW line does when pushed to 231 MW.
Verify the optimality condition, because a dispatch that satisfies the balance may still not be optimal:
The penalised incremental costs are equal, and equal to \(\lambda\) ✓. The raw incremental costs are not equal, and must not be — plant 1 runs 646 Rs/MWh cheaper precisely because 23% of its marginal output never arrives.
The hourly cost, using the full cost curves \(C_1=20\,000+1600P_1+1.2P_1^{2}\) and \(C_2=15\,000+2000P_2+2.0P_2^{2}\) Rs/h:
Note that the average cost of delivered energy, 2346 Rs/MWh, is below the marginal cost of 2800 Rs/MWh — the usual relation for rising incremental costs, and the reason a system dispatched at marginal cost collects more than its fuel bill.
The inverse question, which is the way the problem usually arrives in practice: given \(P_D=404.142\) MW, find \(\lambda\). Eliminating the outputs,
One nonlinear equation in \(\lambda\), solved by bisection in a few steps and returning 2800 exactly. Setting \(\lambda\) and finding the load, as in this problem, is algebraically the easier direction, which is why examination questions are posed that way round.
The same load of 404.142 MW is now dispatched by the equal-incremental-cost rule of Set 27, the losses being accepted as they fall rather than optimised. Find the resulting generations and loss, compare them with Problem 7, and evaluate the annual saving that loss coordination is worth on this system.
The uncoordinated rule. The operator equates raw incremental costs and adjusts the total until the load is met, losses and all:
This is the rule that ignores where the plants are. It is not a straw man: it is what a station-level merit order does, and what any dispatch that omits the penalty factors does.
Impose the balance, which does include the loss because the loss occurs whether or not it is optimised:
Solve, taking the physically meaningful root:
The other root, 2845.7 MW, lies beyond the point where the line saturates and is discarded. Its existence is a reminder that the loss-inclusive balance is quadratic and has two solutions, only one of them on the useful branch.
The loss that results:
Against 26.627 MW when coordinated. The loss has been multiplied by 2.36 by a dispatch rule that was never asked about it.
The two dispatches side by side:
The cost of each dispatch:
Plant 1's bill rises by Rs 284 430 per hour and plant 2's falls by Rs 229 461 — the two are of the same order, and the whole of the saving is the difference between two much larger numbers. That is why the effect is easy to overlook and easy to get wrong by a sign.
The saving, expressed three ways:
Taking 8760 hours at this loading. That is the capital cost of a small substation, saved every year by inserting one multiplier into a dispatch calculation.
Where the saving comes from is worth separating, because it is not simply the value of the 36 MW of avoided losses:
Coordination buys a large loss reduction and pays for part of it by running the more expensive plant harder. The optimum is where the last rupee spent on the dearer plant just buys a rupee's worth of avoided loss — which is precisely what \(L_1\mathrm{IC}_1=L_2\mathrm{IC}_2\) asserts.
A caution on the size of the effect. This system is deliberately extreme: one plant behind a 10%-loss corridor, the other at the load. On a meshed network with several plants the same calculation typically yields a few tenths of one per cent — Problem 9 gives 0.24% for a three-plant system. The technique is the same; the prize is not.
A three-plant system has the cost curves (Rs/h, \(P\) in MW)
and the loss coefficients of Problem 4. Dispatch it for a delivered load of 400 MW, showing the iteration in full, and verify the optimality of the converged answer.
Set up the coordination equations. With \(\mathrm{IC}_i=b_i+2c_iP_i\), Problem 6 gives the linear system
Three equations, solved afresh for each trial \(\lambda\). The balance to be satisfied is \(\sum P_i-\mathbf{P}^{T}\mathbf{B}\mathbf{P}=400\).
Bracket \(\lambda\). A lower bound is the smallest \(b_i\), 1420; an upper bound is the largest \(\mathrm{IC}\) at full output, \(1680+3.20(180)=2256\), inflated by the largest plausible penalty factor. Take \([1700,\ 2100]\) and check the ends before starting: at 1700 the delivered power is short of 400 MW, at 2100 it exceeds it. Bisection is therefore valid.
The bisection, twelve steps:
| Iter | \(\lambda\) | \(P_1\) | \(P_2\) | \(P_3\) | \(\sum P\) | \(P_L\) | \(\Delta = P_D-(\sum P-P_L)\) |
|---|---|---|---|---|---|---|---|
| 1 | 1900.0000 | 118.749 | 171.136 | 41.087 | 330.971 | 11.670 | +80.699 |
| 2 | 2000.0000 | 147.905 | 202.411 | 59.973 | 410.289 | 17.457 | +7.168 |
| 3 | 2050.0000 | 162.209 | 217.599 | 69.154 | 448.962 | 20.723 | −28.239 |
| 4 | 2025.0000 | 155.080 | 210.041 | 64.585 | 429.706 | 19.060 | −10.645 |
| 5 | 2012.5000 | 151.498 | 206.235 | 62.284 | 420.017 | 18.251 | −1.767 |
| 6 | 2006.2500 | 149.703 | 204.325 | 61.130 | 415.158 | 17.852 | +2.694 |
| 7 | 2009.3750 | 150.601 | 205.281 | 61.707 | 417.589 | 18.051 | +0.462 |
| 8 | 2010.9375 | 151.050 | 205.758 | 61.996 | 418.804 | 18.151 | −0.653 |
| 9 | 2010.1563 | 150.825 | 205.519 | 61.852 | 418.196 | 18.101 | −0.096 |
| 10 | 2009.7656 | 150.713 | 205.400 | 61.780 | 417.893 | 18.076 | +0.183 |
| 11 | 2009.9609 | 150.769 | 205.460 | 61.816 | 418.045 | 18.088 | +0.044 |
| 12 | 2010.0586 | 150.797 | 205.490 | 61.834 | 418.121 | 18.094 | −0.026 |
The bracket has narrowed to 0.1 Rs/MWh and the mismatch to 26 kW. Twelve more steps would take it below a watt; four are enough for any engineering purpose.
The gradient step converges far faster, and is what production software uses. The delivered power responds to \(\lambda\) at a rate
| Iter | \(\lambda\) | \(P_1\) | \(P_2\) | \(P_3\) | Delivered | \(\Delta\) |
|---|---|---|---|---|---|---|
| 1 | 1900.0000 | 118.749 | 171.136 | 41.087 | 319.301 | +80.699 |
| 2 | 2007.0174 | 149.924 | 204.560 | 61.272 | 397.855 | +2.145 |
| 3 | 2010.0199 | 150.786 | 205.478 | 61.827 | 399.998 | +0.002 |
| 4 | 2010.0221 | 150.787 | 205.478 | 61.827 | 400.000 | 0.000 |
Three steps against twelve. The convergence is quadratic because the residual is smooth here — no unit meets a limit anywhere in the path, so there is no kink for the gradient to trip over.
The converged dispatch:
All three lie inside their limits, so the free-set assumption used throughout the iteration was correct. Losses are 4.33% of generation.
Verify optimality by evaluating the penalised incremental costs independently:
| Plant | \(P_i\) (MW) | \(\mathrm{IC}_i\) (Rs/MWh) | \(\partial P_L/\partial P_i\) | \(L_i\) | \(L_i\mathrm{IC}_i\) | \(C_i\) (Rs/h) |
|---|---|---|---|---|---|---|
| 1 | 150.787 | 1881.888 | 0.063747 | 1.068088 | 2010.022 | 281 479.96 |
| 2 | 205.478 | 1789.861 | 0.109532 | 1.123005 | 2010.022 | 359 778.55 |
| 3 | 61.827 | 1877.846 | 0.065758 | 1.070387 | 2010.022 | 127 985.38 |
| Total fuel cost | 769 243.89 | |||||
Three identical products from three quite different pairs of factors — the strongest available check that the answer is a genuine optimum and not merely a feasible point. Plant 2 has the lowest raw incremental cost and the largest penalty factor, and the two effects cancel exactly.
The average and marginal costs of delivered energy:
The 4.5% gap between them is the same phenomenon as in Problem 7, and it is what a marginal-price market would collect above the fuel cost — here about Rs 34 800 an hour, which pays the no-load costs of Rs 73 000 an hour only partly.
For the system of Problem 9, quantify what happens if (a) the penalty factors are omitted but the balance still allows for losses, (b) losses are ignored altogether, and (c) the coefficient \(B_{11}\) has doubled since the \(B\) matrix was computed and nobody has noticed.
(a) Penalty factors omitted, balance correct. Equating raw incremental costs and adjusting the common \(\lambda\) until \(\sum P_i-P_L=400\) gives
A penalty of Rs 1829 an hour, or 0.24% — Rs 1.60 crore a year. Compare Problem 8's 5.5% on the two-bus system: this network is meshed and its plants are electrically close together, so the penalty factors span only 1.068 to 1.123 and there is little to gain by respecting them.
(b) Losses ignored altogether. Solving \(\sum P_i=400\) with equal incremental costs:
The generation totals 400 MW, but 18.12 MW of it is dissipated in the network, so only 381.88 MW reaches the load. This is not an expensive dispatch — it is an infeasible one. The system would be 18 MW short, frequency would fall, and governor action or AGC would raise the units back until the balance was met. The error is not in the cost but in the constraint.
The three cases in one table:
| Case | \(\lambda\) | \(P_1\) | \(P_2\) | \(P_3\) | \(P_L\) | Delivered | \(C_T\) (Rs/h) |
|---|---|---|---|---|---|---|---|
| Full coordination | 2010.02 | 150.787 | 205.478 | 61.827 | 18.092 | 400.00 | 769 244 |
| (a) No penalty factors | 1842.43 | 134.344 | 234.681 | 50.758 | 19.784 | 400.00 | 771 073 |
| (b) Losses ignored | 1827.03 | 127.928 | 226.126 | 45.946 | 18.122 | 381.88 | infeasible |
Case (a) costs money; case (b) does not even serve the load. They are different kinds of mistake and are worth keeping apart: (a) is a wrong objective, (b) is a wrong constraint.
(c) A stale coefficient. Suppose a line has been taken out of service so that the true \(B_{11}\) is \(3.0\times10^{-4}\) rather than \(1.5\times10^{-4}\), and the dispatch software still holds the old matrix. The correct dispatch under the new network is
Plant 1 is backed off by 16.8 MW and plants 2 and 3 pick it up — the correct response to a plant that has become more remote.
What the stale matrix produces instead. The dispatcher's coordination equations use the old penalty factors, but the physical balance is closed by AGC on the true losses:
Less than half the cost of omitting the penalty factors entirely. A doubled coefficient on the largest plant is a substantial modelling error, and it costs Rs 74 lakh a year — real money, but an order of magnitude less than the loss of the corridor itself, which raised the fuel bill by Rs 6151 an hour on its own.
The general lesson about accuracy. The optimum is flat near its minimum — that is what "optimum" means for a smooth convex function — so errors in the \(B\) coefficients are second-order in cost:
Which is why loss coefficients updated monthly are good enough for the objective, while the loss appearing in the constraint must be right at every instant. Real control centres get the second from telemetry and the first from a study.
Prove that \(\sum_iP_i\,\partial P_L/\partial P_i = 2P_L\) for the quadratic loss formula, verify it on the dispatch of Problem 9, and use it to explain why the incremental losses cannot be interpreted as each plant's share of the loss.
The proof is Euler's theorem on homogeneous functions. The loss \(P_L=\sum_i\sum_jP_iB_{ij}P_j\) is homogeneous of degree 2: scaling every generation by \(k\) multiplies the loss by \(k^{2}\). Euler's theorem then states
Or directly, in two lines. Differentiating the quadratic form,
The identity holds for any symmetric \(\mathbf{B}\) and any operating point, so it is an exact arithmetic check on every incremental-loss calculation ever made — worth applying before any dispatch result is believed.
Verification on Problem 9's converged dispatch:
| Plant | \(P_i\) (MW) | \(\partial P_L/\partial P_i\) | \(P_i\,\partial P_L/\partial P_i\) | Share of \(2P_L\) |
|---|---|---|---|---|
| 1 | 150.787 | 0.063747 | 9.6123 | 26.56% |
| 2 | 205.478 | 0.109532 | 22.5064 | 62.20% |
| 3 | 61.827 | 0.065758 | 4.0656 | 11.24% |
| Sum | — | — | 36.1843 | 100.00% |
Agreement to five figures, which confirms both the \(P_L\) evaluation and the three derivatives at once.
Now the interpretation, and why the obvious one is wrong. It is tempting to read \(P_i\,\mathrm{ITL}_i\) as "the loss caused by plant \(i\)". But those quantities sum to \(2P_L\), not \(P_L\):
Charging every plant its incremental loss would recover twice the loss that occurred. The factor of two is not an error; it is the signature of a quadratic externality, and it is the same factor by which marginal-cost pricing over-recovers on any increasing-returns quantity.
The two defensible allocations, and they differ:
Halving the marginal figures gives an allocation that adds up, is proportional to responsibility, and is what transmission-loss settlement schemes in fact use. It is not the same as the price signal, and it should not be — one settles the past, the other steers the future.
A third check the identity provides. Combining Euler with the coordination equation gives a relation between the marginal price and the average:
Compare with the direct sum \(150.787(1881.888)+205.478(1789.861)+61.827(1877.846)=767\,643\) ✓. Two independent routes to the same number, one of which never touches the individual incremental costs.
Where the identity fails. Only the pure quadratic form is homogeneous of degree 2. With Kron's full formula,
which equals \(2P_L\) only when \(\mathbf{B}_0\) and \(B_{00}\) vanish. So the check applies to the form used in this set and in most textbook problems, and must be modified when the linear and constant terms are retained.
The load on the system of Problem 9 rises to 560 MW. Dispatch it, treating the generator limits correctly, and state the value of relaxing whichever limit binds.
First attempt: assume all three units are free. Solving the coordination equations for the balance \(\sum P_i-P_L=560\) gives
Unit 2's limit is 250 MW, so this solution is inadmissible. Note that it was not obvious in advance: at 400 MW unit 2 was running at 205 MW with 45 MW of headroom, and it is the unit with the lowest \(b_i\) and the flattest cost curve that saturates first.
Fix unit 2 at its maximum and re-solve for the remaining two. With \(P_2=250\) fixed, the coordination equations for plants 1 and 3 become
Unit 2's contribution has moved to the right-hand side, where it acts as a fixed injection that both alters the balance and shifts the other units' incremental losses.
The solution:
Both free units are inside their limits (231.99 < 250 and 112.58 < 180), so no further round is needed. Losses have risen to 5.81% of generation — the quadratic loss growing faster than the load.
Check the Kuhn–Tucker conditions, which is the step that distinguishes a correct constrained dispatch from a merely feasible one:
| Plant | \(P_i\) | State | \(\mathrm{IC}_i\) | \(L_i\) | \(L_i\mathrm{IC}_i\) | Condition |
|---|---|---|---|---|---|---|
| 1 | 231.992 | free | 2076.780 | 1.106018 | 2296.956 | \(=\lambda\) ✓ |
| 2 | 250.000 | at max | 1870.000 | 1.159147 | 2167.606 | \(<\lambda\) ✓ |
| 3 | 112.580 | free | 2040.256 | 1.125818 | 2296.956 | \(=\lambda\) ✓ |
A unit held at its maximum must have a penalised incremental cost below \(\lambda\) — the system would like more from it and cannot have it. Unit 2 qualifies, by 129 Rs/MWh.
The value of the binding limit is that gap, and it is the Kuhn–Tucker multiplier:
One more megawatt of capability on unit 2 would cut the hourly fuel bill by Rs 112. If the condition held for 2000 hours a year, a 10 MW uprate would be worth Rs 22.3 lakh a year — which is the kind of number that justifies a turbine retrofit study.
Note that the multiplier must be computed with the penalty factor, not without. The raw gap is
nearly four times too large. It compares a delivered-power price with a generated-power cost, and the two are not in the same currency. Set 27's version of this calculation, \(\mu=\lambda-\mathrm{IC}\), is correct only when \(L=1\).
The cost at the two load levels:
A 40% rise in load brings a 91% rise in losses and a 14% rise in the marginal price. The loss growing as the square of the loading is what makes the price rise faster than the fuel curves alone would suggest.
A station has four units with the data below, and serves the four-period load curve shown. Explain why choosing the running set is a different problem from dispatching it, and test the load curve against a 10% spinning-reserve rule and against an \(N-1\) rule.
| Unit | Cost (Rs/h) | \(P^{\min}\) | \(P^{\max}\) | No-load | Min up | Min down |
|---|---|---|---|---|---|---|
| U1 | \(42\,000+1450P+0.90P^{2}\) | 140 | 350 | 42 000 | 8 h | 8 h |
| U2 | \(32\,000+1510P+1.20P^{2}\) | 100 | 250 | 32 000 | 6 h | 6 h |
| U3 | \(18\,000+1680P+2.10P^{2}\) | 50 | 150 | 18 000 | 6 h | 5 h |
| U4 | \(9\,000+2450P+3.20P^{2}\) | 25 | 100 | 9 000 | 2 h | 2 h |
Load: 00–06 h, 350 MW; 06–12 h, 620 MW; 12–18 h, 750 MW; 18–24 h, 480 MW.
The two problems, side by side. Dispatch takes the running set as given; commitment chooses it.
| Property | Dispatch (Set 27, and Problems 1–12) | Commitment |
|---|---|---|
| Variables | continuous \(P_i\) | binary \(u_i\in\{0,1\}\) and continuous \(P_i\) |
| No-load cost \(a_i\) | a constant; drops out on differentiation | the dominant term |
| Optimality condition | \(L_i\mathrm{IC}_i=\lambda\) | none — the feasible set is discrete |
| Coupling between periods | none | start-up cost, min up and down times |
| Method | one-dimensional search | dynamic programming or mixed-integer programming |
The second row is the substantive one. Every no-load cost in this station — Rs 42 000, 32 000, 18 000 and 9000 an hour — is invisible to the dispatch calculation, because \(d a_i/dP_i=0\). Shut a unit down and the whole of it is saved. That is why commitment is worth more than dispatch, and it is worth about ten times more on this station.
The load curve in numbers:
Spinning reserve is not the same as installed reserve. Reserve counts only capability that is synchronised and loadable within minutes:
A unit that is shut down contributes nothing, however large it is, because U1 needs hours to restart. That is the constraint that couples commitment to security.
The percentage rule requires committed capacity \(\ge1.1P_D\):
| Period | \(P_D\) | Capacity required | Cheapest set that meets it | Capacity | Reserve |
|---|---|---|---|---|---|
| 00–06 | 350 | 385 | U1+U2 | 600 | 250 MW (71%) |
| 06–12 | 620 | 682 | U1+U2+U3 | 750 | 130 MW (21%) |
| 12–18 | 750 | 825 | U1+U2+U3+U4 | 850 | 100 MW (13%) |
| 18–24 | 480 | 528 | U1+U2 | 600 | 120 MW (25%) |
Feasible throughout, but only just at the peak: 850 MW installed against a requirement of 825 MW. There is no room for a forced outage of anything, and the station is at its limit as an isolated system.
The \(N-1\) rule is far more demanding. It requires that the loss of the largest running unit still leave enough capacity:
| Period | \(P_D\) | Best case: all four on | Less U1 (350 MW) | Verdict |
|---|---|---|---|---|
| 00–06 | 350 | 850 | 500 | feasible ✓ |
| 06–12 | 620 | 850 | 500 | infeasible |
| 12–18 | 750 | 850 | 500 | infeasible |
| 18–24 | 480 | 850 | 500 | feasible ✓ |
For twelve hours of the day the rule cannot be met by any commitment whatever, because U1 alone is 41% of the installed capacity. No amount of scheduling repairs that; only interconnection, or a fifth unit, or load shedding on the loss of U1.
Which is why real systems use a hybrid, and why the two rules diverge so sharply on small systems:
On a national grid the largest unit is perhaps 2% of the peak, and \(N-1\) and a 5% rule ask for much the same thing. On this station they ask for entirely different things — and the mismatch is a property of the unit sizes, not of the scheduling.
Construct the priority list for the station of Problem 13, apply it to the day's load with and without a 10% reserve margin, and test the result against the true optimum at 350 MW.
The ranking quantity is full-load average cost, not incremental cost and not no-load cost:
It is the right ranking because a committed unit is expected to run near full load, and at full load the no-load cost is spread over the most output. Ranking by \(b_i\) alone would ignore the no-load cost entirely; ranking by \(a_i\) alone would ignore the fuel.
Evaluate it for each unit:
| Unit | \(a_i/P^{\max}\) | \(b_i\) | \(c_iP^{\max}\) | FLAC (Rs/MWh) | Priority |
|---|---|---|---|---|---|
| U1 | 120.0 | 1450 | 315.0 | 1885 | 1 |
| U2 | 128.0 | 1510 | 300.0 | 1938 | 2 |
| U3 | 120.0 | 1680 | 315.0 | 2115 | 3 |
| U4 | 90.0 | 2450 | 320.0 | 2860 | 4 |
Order U1, U2, U3, U4 — which happens here to be order of decreasing size, but that is a coincidence of the data and not a rule. U4's no-load cost per MW is the lowest of the four, and it is still last because its fuel is 69% dearer than U1's.
The commitment table, obtained by adding units in priority order until the capacity requirement is met:
| Load range (MW) | No reserve margin | Capacity | With 10% margin | Capacity |
|---|---|---|---|---|
| 140–318 | U1 | 350 | U1 | 350 |
| 318–350 | U1 | 350 | U1+U2 | 600 |
| 350–545 | U1+U2 | 600 | U1+U2 | 600 |
| 545–600 | U1+U2 | 600 | U1+U2+U3 | 750 |
| 600–682 | U1+U2+U3 | 750 | U1+U2+U3 | 750 |
| 682–750 | U1+U2+U3 | 750 | U1+U2+U3+U4 | 850 |
| 750–773 | U1+U2+U3+U4 | 850 | U1+U2+U3+U4 | 850 |
| 773–850 | U1+U2+U3+U4 | 850 | — | infeasible |
The margin shifts every breakpoint down by a factor 1.1 and makes the station's usable range 140 to 773 MW rather than 140 to 850 MW. Its peak of 750 MW is inside that, but with only 23 MW to spare.
Applied to the day:
Test the list at 350 MW, where the two columns of the table disagree. Without a margin the list commits U1 alone, at its ceiling:
Now try U1 and U2 together. Equating incremental costs, \(1450+1.8P_1=1510+2.4P_2\) with \(P_1+P_2=350\) gives \(\lambda=1835.71\), \(P_1=214.29\), \(P_2=135.71\) MW:
Because U1 at 350 MW has an incremental cost of 2080 Rs/MWh, while U2's starts at 1750 — so 135.7 MW is more cheaply made on U2 even after its no-load cost. The priority list, judging by capacity alone, missed that. The 10% margin happens to correct it.
Comparison over the whole day. Against the dynamic-programming optimum of Problem 19:
| Period | Priority list, no margin | Priority list, 10% margin | DP optimum (10% reserve) |
|---|---|---|---|
| 00–06 | U1 | U1+U2 | U1+U2 ✓ |
| 06–12 | U1+U2+U3 | U1+U2+U3 | U1+U2+U3 ✓ |
| 12–18 | U1+U2+U3 | U1+U2+U3+U4 | U1+U2+U3+U4 ✓ |
| 18–24 | U1+U2 | U1+U2 | U1+U2 ✓ |
With the margin the list reproduces the optimum exactly on this load curve. That is a happy accident of a smooth load and only four units — it is not a guarantee, and the list carries no test that would have revealed a failure.
What the priority list cannot do, and why Problems 17 to 19 are needed:
Each of these is fixed by dynamic programming, at a cost in computation that is trivial for four units and considerable for four hundred. The priority list survives as the starting schedule that a rigorous method then improves, and in that role it is still used every day.
Unit U1 of Problem 13 has a cold-start fuel cost of Rs 420 000, a thermal time constant of 5 h, and a fixed crew and maintenance charge of Rs 40 000 per start. Kept banked, it burns Rs 52 000 of fuel per hour. Obtain both start-up cost characteristics, find the down time at which the choice reverses, and evaluate the start-up costs used in the schedule of Problem 18.
Why a start-up costs anything. A boiler that has been shut down cools, and the fuel needed to bring it back to temperature depends on how far it has cooled. The metal temperature decays exponentially towards ambient with a thermal time constant \(\alpha\) of a few hours, so the fuel required rises exponentially towards a ceiling:
\(C_c\) is the fuel cost of a start from stone cold, \(t\) the down time, and \(C_f\) the fixed charge — crew, boiler-feed chemistry, and the maintenance cost that every thermal cycle imposes on the drum and the turbine rotor. \(C_f\) is incurred whether the unit is warm or cold.
The alternative is banking: keeping the boiler hot with the turbine off, burning fuel continuously to hold temperature.
Linear in the down time, because the banking rate \(C_t\) is constant. The same fixed charge applies, since the unit is still being restarted.
With the given data, \(C_c=420\,000\) Rs, \(\alpha=5\) h, \(C_f=40\,000\) Rs, \(C_t=52\,000\) Rs/h:
| Down time \(t\) (h) | \(S_{\text{cold}}\) (Rs) | \(S_{\text{bank}}\) (Rs) | Cheaper |
|---|---|---|---|
| 2 | 178 466 | 144 000 | bank |
| 4 | 271 282 | 248 000 | bank |
| 5.251 | 313 060 | 313 060 | break-even |
| 6 | 333 498 | 352 000 | cool |
| 8 | 375 203 | 456 000 | cool |
| 12 | 421 898 | 664 000 | cool |
| 24 | 456 544 | 1 288 000 | cool |
The break-even down time solves
Below 5.25 h, bank the unit; above it, let it cool. The fixed charge \(C_f\) cancels from the comparison entirely — it is paid either way — which is worth noticing, because it means the banking decision does not depend on the crew cost at all.
Why a break-even exists is a statement about the two slopes at the origin:
Cooling is initially the faster way to lose money, because the metal temperature falls fastest at the start. But cooling saturates and banking does not, so the curves must cross. Had \(C_c/\alpha\) been below \(C_t\), banking would never be worth doing at any down time — which is the case for most gas turbines, and the reason U4 has no banking option at all.
The start-up costs for the day's schedule. The periods are six hours, so a unit taken off for one period is restarted after 6 h:
| Unit | \(C_c\) (Rs) | \(\alpha\) (h) | \(C_f\) (Rs) | \(S(6\ \text{h})\) | \(S(\infty)\) |
|---|---|---|---|---|---|
| U1 | 420 000 | 5 | 40 000 | 333 498 | 460 000 |
| U2 | 240 000 | 4 | 28 000 | 214 449 | 268 000 |
| U3 | 60 000 | 3 | 12 000 | 63 880 | 72 000 |
| U4 | 0 | — | 25 000 | 25 000 | 25 000 |
U4 is an open-cycle gas turbine: it has no boiler to cool, so its start-up cost is the fixed charge alone and is independent of down time. That is precisely why such machines are used for peaking duty, and why they can be cycled daily while U1 cannot.
Is it worth shutting U3 down overnight? At 350 MW the station costs Rs 669 821 an hour with U3 running and Rs 653 071 without it:
Worth doing, and the dynamic programme of Problem 18 finds exactly this. The break-even trough length is \(63\,880/16\,750=3.81\) h, so anything shorter than about four hours is not worth cycling for.
The same test applied to U1 settles why the largest unit never comes off. Shutting it down at 350 MW is impossible anyway — the rest of the station has only 500 MW and a combined minimum of 175 MW, so it is technically feasible, but:
and that upper bound assumes the replacement energy is free, which it is not — U1 is the cheapest unit on the station. The base-load unit stays on, and the arithmetic that says so is one line. This is the general result that a unit's start-up cost, divided by its no-load cost, gives the number of hours it must be off before shutdown can possibly pay: 7.9 h for U1, 6.7 h for U2, 3.5 h for U3, 2.8 h for U4.
Explain the physical origin of minimum up and minimum down times, write them as constraints, and show by example that they can forbid a shutdown that the economics recommends.
The origin is thermal stress, not economics. Loading and unloading a large boiler and turbine imposes a temperature gradient across thick metal — the drum wall, the turbine rotor, the HP casing — and the resulting stress consumes creep-fatigue life:
Typical values scale with the thickness of the pressure parts: 8 h for a 350 MW subcritical unit, 4–6 h for a 100–250 MW unit, 1–2 h for a gas turbine. They are not adjustable by the operator and they are enforced by the plant's own protection.
As constraints. With \(u_i^{t}\in\{0,1\}\) the on/off state and \(T_i^{\text{on}}\), \(T_i^{\text{off}}\) the accumulated times:
They are the reason the dynamic-programming state in Problem 17 is not simply the set of running units. Strictly, the state must also carry how long each unit has been in its present condition — which is what makes exact unit commitment expensive.
A worked counterexample. Suppose the overnight trough at 350 MW lasted only four hours rather than six. From Problem 15, keeping U3 on costs Rs 16 750 an hour:
The economics says shut down. But U3's minimum down time is 5 h, and the trough is 4 h — the shutdown is forbidden, and the unit must be kept on at a cost of Rs 67 000. A constraint that appears nowhere in the cost data has overridden a positive net present value.
The check to perform, in the order that matters:
Reversing steps 1 and 3 — costing the decision before testing its feasibility — produces schedules that the plant will simply refuse to follow, and it is the commonest defect in a hand-built commitment.
The effect on the day of Problem 13, checked unit by unit against the optimal schedule:
| Unit | Schedule | Longest run | Longest outage | Min up | Min down | Feasible? |
|---|---|---|---|---|---|---|
| U1 | on all day | 24 h | — | 8 h | 8 h | ✓ |
| U2 | on all day | 24 h | — | 6 h | 6 h | ✓ |
| U3 | off 00–06, on 06–18, off 18–24 | 12 h | 6 h | 6 h | 5 h | ✓ |
| U4 | on 12–18 only | 6 h | 12 h | 2 h | 2 h | ✓ |
Every constraint is satisfied, with U3's 6 h outage the tightest at one hour of margin. Had the periods been four hours instead of six, U3's schedule would have been illegal and the optimum would have changed — which is the sense in which the choice of time step interacts with the physical constraints.
A related constraint worth naming is the ramp rate, which limits the change in output between consecutive periods:
For U1 at 2%/min that is 7 MW/min, or 2520 MW over a six-hour period — never binding here. On a five-minute dispatch interval it is 35 MW and binds constantly, which is why real-time dispatch, unlike the hourly commitment, is dominated by ramp constraints rather than by capacity limits.
State the dynamic-programming formulation of unit commitment: the stage, the state, the decision, the recursion and the boundary condition. Count the work it requires against exhaustive enumeration for the four-unit, four-period problem and for a realistic twenty-unit, twenty-four-hour one.
The four ingredients:
The state is a subset of the units, so with \(n\) units there are \(2^{n}-1\) non-empty states. Every state's economic dispatch cost \(C_t(x)\) is computed once and stored — that is the point at which the whole of Problems 1 to 12 is used.
The recursion. Let \(F_t(x)\) be the least cost of arriving in state \(x\) at the end of period \(t\), having served every period up to and including \(t\):
The optimal schedule is then recovered by following the stored predecessors backwards from the best final state.
Why the recursion is valid is Bellman's principle, and it needs one property of the problem: the cost of the future must depend on the past only through the present state.
That holds for a start-up cost that depends only on which units were off. It fails as soon as the start-up cost depends on how long a unit has been off, or a minimum down time must be enforced — because both need history. The remedy is to enlarge the state to carry each unit's accumulated up or down time, at the price of multiplying the state count. In practice the horizon is short enough that a handful of history classes per unit suffices.
Counting the work: four units, four periods.
Fewer than 700 additions against 50 625 full schedule evaluations, each of which is itself four dispatches. The saving is a factor of about three hundred, and it comes entirely from never re-costing a partial schedule that has already been beaten.
Counting the work: twenty units, twenty-four hours.
Dynamic programming turns an impossible problem into a merely infeasible one; truncation makes it practical. At each stage only the \(N\) cheapest states are retained — typically 30 to 100, seeded from the priority list of Problem 14 — and the result is no longer guaranteed optimal but is reliably within a fraction of a per cent.
The feasibility screen does most of the work in practice. Of the 15 states here, only those satisfying
survive. At the 750 MW peak that leaves two states out of fifteen; at 620 MW, three. The screen is cheap, it is applied before any dispatch is computed, and on a large system it eliminates the overwhelming majority of combinations before the optimisation begins.
Where dynamic programming has been superseded. Mixed-integer linear programming now solves the same problem with all the constraints — ramp rates, minimum times, fuel contracts, network limits — that the DP state cannot easily carry:
The dynamic programme keeps its place in teaching because it makes the time coupling explicit, and in practice as the method inside many a small-system scheduler. Problem 18 works one through in full.
Schedule the station of Problem 13 over the four periods by dynamic programming, using the start-up costs of Problem 15 and starting from an initial state in which U1 and U2 are running. Impose only the load-feasibility constraint. Give the stage-by-stage tables, the optimal path, and the saving over running all four units all day.
Step 1 — cost every feasible state in every period. Each entry is an economic dispatch of the committed set at that period's load, by the method of Set 27 (no losses here; they are added in Problem 20). Costs are for the whole six-hour period.
| State | Capacity | T1 · 350 MW | T2 · 620 MW | T3 · 750 MW | T4 · 480 MW |
|---|---|---|---|---|---|
| U1 | 350 | 3 958 500 | — | — | — |
| U1+U2 | 600 | 3 918 429 | — | — | 5 402 434 |
| U1+U3 | 500 | 3 986 500 | — | — | 5 589 840 |
| U1+U4 | 450 | 4 083 375 | — | — | — |
| U2+U3 | 400 | 4 148 955 | — | — | — |
| U1+U2+U3 | 750 | 4 018 929 | 7 117 446 | 8 769 000 | 5 462 370 |
| U1+U2+U4 | 700 | 4 078 500 | 7 235 880 | — | 5 542 449 |
| U1+U3+U4 | 600 | 4 128 363 | — | — | 5 697 315 |
| U2+U3+U4 | 500 | 4 269 364 | — | — | 6 163 380 |
| U1+U2+U3+U4 | 850 | 4 186 714 | 7 248 270 | 8 863 875 | 5 610 546 |
A dash means the state cannot serve that load — either its capacity is below the demand or its combined minimum is above it. At 750 MW only two of the fifteen states survive; at 350 MW, eleven do. Rupees per period throughout.
Step 2 — the start-up costs, from Problem 15, for a unit restarted after one six-hour period off:
Shutting a unit down costs nothing, and no unit is restarted more than once in this horizon, so no compounding arises.
Step 3 — the forward recursion, stage by stage. \(F_t\) is the least cumulative cost of reaching each state.
| Stage | State | Period cost | From | Start-up | \(F_t\) (Rs) |
|---|---|---|---|---|---|
| T1 | U1+U2 | 3 918 429 | U1+U2 | 0 | 3 918 429 |
| U1 | 3 958 500 | U1+U2 | 0 | 3 958 500 | |
| U1+U3 | 3 986 500 | U1+U2 | 63 880 | 4 050 380 | |
| U1+U2+U3 | 4 018 929 | U1+U2 | 63 880 | 4 082 809 | |
| T2 | U1+U2+U3 | 7 117 446 | U1+U2 | 63 880 | 11 099 754 |
| U1+U2+U4 | 7 235 880 | U1+U2 | 25 000 | 11 179 309 | |
| U1+U2+U3+U4 | 7 248 270 | U1+U2 | 88 880 | 11 255 579 | |
| T3 | U1+U2+U3 | 8 769 000 | U1+U2+U3 | 0 | 19 868 754 |
| U1+U2+U3+U4 | 8 863 875 | U1+U2+U3 | 25 000 | 19 988 629 | |
| T4 | U1+U2 | 5 402 434 | U1+U2+U3 | 0 | 25 271 188 |
| U1+U2+U3 | 5 462 370 | U1+U2+U3 | 0 | 25 331 124 | |
| U1+U2+U3+U4 | 5 610 546 | U1+U2+U3 | 25 000 | 25 504 300 |
Only the leading states are listed at each stage; the remainder are dominated by a wide margin. The T2 line is the interesting one: committing U3 costs Rs 63 880 to start against U4's Rs 25 000, yet U3 wins by Rs 79 555 because its fuel is so much cheaper over six hours. A start-up cost only decides the commitment when the running costs are close.
Step 4 — the trellis and the optimal path:
Step 5 — the optimal schedule and its dispatch:
| Period | \(P_D\) | Committed | \(\lambda\) | \(P_1\) | \(P_2\) | \(P_3\) | Fuel (Rs) | Start-up |
|---|---|---|---|---|---|---|---|---|
| 00–06 | 350 | U1+U2 | 1835.71 | 214.29 | 135.71 | — | 3 918 429 | 0 |
| 06–12 | 620 | U1+U2+U3 | 2028.16 | 321.20 | 215.90 | 82.90 | 7 117 446 | 63 880 |
| 12–18 | 750 | U1+U2+U3 | all at max | 350.00 | 250.00 | 150.00 | 8 769 000 | 0 |
| 18–24 | 480 | U1+U2 | 1969.43 | 288.57 | 191.43 | — | 5 402 434 | 0 |
| Total | 25 207 308 | 63 880 | ||||||
The 12–18 h period has no \(\lambda\): the committed set is at exactly 750 MW with every unit at its maximum, so the dispatch has no degree of freedom left. The incremental cost is undefined between the highest committed IC of 2310 Rs/MWh and whatever the next unit would offer — an interval, not a number, and exactly the situation in which a real market shows a price spike.
Step 6 — the value of the schedule. Compare with running all four units all day:
Compare Problem 10, where loss coordination on a three-plant system was worth 0.24%. Commitment is worth an order of magnitude more than dispatch refinement, and for one reason: it removes whole no-load costs rather than shifting megawatts between cost curves.
Where the saving comes from, period by period:
Of that Rs 727 097, avoided no-load cost accounts for Rs 432 000 — six hours of U3 and U4 in each of T1 and T4 at Rs 27 000 an hour, and six hours of U4 in each of T2 and T3 at Rs 9000. That is 59% of the saving, and it is the term that the dispatch calculation of Set 27 and of Problems 1 to 12 cannot see at all. The remaining 41% is the fuel-curve effect of concentrating output on the cheaper units, less the restart of U3.
Repeat the schedule of Problem 18 with a 10% spinning-reserve requirement imposed in every period. Identify what changes, price the requirement, and determine the reserve level at which the schedule would change again.
Apply the screen before the recursion. A state survives period \(t\) only if
Only T3 is genuinely constrained. The 750 MW capacity of U1+U2+U3 was exactly equal to the load, so it carried no reserve at all and is now excluded — the fourth unit must run.
The recursion with the screen applied changes one stage:
| Stage | State | Period cost | From | Start-up | \(F_t\) (Rs) |
|---|---|---|---|---|---|
| T1 | U1+U2 | 3 918 429 | U1+U2 | 0 | 3 918 429 |
| T2 | U1+U2+U3 | 7 117 446 | U1+U2 | 63 880 | 11 099 754 |
| T3 | U1+U2+U3+U4 | 8 863 875 | U1+U2+U3 | 25 000 | 19 988 629 |
| T4 | U1+U2 | 5 402 434 | U1+U2+U3+U4 | 0 | 25 391 063 |
T3 is now a single-state stage, so the path through it is forced. Note that T1 is unaffected: U1+U2 already carried 250 MW of reserve, far more than the 35 MW the rule asks for. Overnight reserve is free on this station; peak reserve is not.
The price of the requirement:
And the reserve it buys is 100 MW at the peak, for six hours — Rs 200 per MW-hour of reserve. That number is the station's own reserve price, and it is exactly what a reserve market would be expected to clear at if this were the marginal provider.
What the extra unit actually does. Comparing the T3 dispatch with and without U4:
| T3 dispatch, 750 MW | \(P_1\) | \(P_2\) | \(P_3\) | \(P_4\) | \(\lambda\) | Fuel (Rs) | Reserve |
|---|---|---|---|---|---|---|---|
| U1+U2+U3 | 350 | 250 | 150 | — | undefined | 8 769 000 | 0 MW |
| U1+U2+U3+U4 | 350 | 250 | 125 | 25 | 2205.00 | 8 863 875 | 100 MW |
U4 runs at its 25 MW minimum and displaces 25 MW from U3, which was at its ceiling. The station regains a defined incremental cost of 2205 Rs/MWh — below U3's ceiling IC of 2310, because U3 has come off its limit — and it regains the ability to follow the load upwards at all. Without U4 the station is not merely unreserved; it is uncontrollable in the upward direction.
At what reserve level does the schedule change again? Working upwards from 10%:
Between 10% and 13.3% nothing changes, because the T2 requirement stays below the 750 MW of U1+U2+U3 and the T1 requirement stays below 600 MW. At 13.3% the peak requirement reaches the installed capacity and the problem becomes infeasible. So the station's reserve rule can be tightened by a third at no cost at all, and beyond that not at all.
And downwards. Below what reserve does the requirement stop binding altogether?
Any positive reserve requirement excludes it, because its capacity equals the load exactly. So the Rs 119 875 is not the price of 10% reserve specifically — it is the price of the first megawatt of reserve at the peak, and every further megawatt up to 100 is free. A step change of that kind is characteristic of commitment problems and is why reserve prices in real markets are so volatile: the marginal cost of reserve is zero almost everywhere and very large at a few discrete points.
The station of Problem 13 in fact feeds its load through a transmission system whose loss coefficients are diagonal, \(B_{ii} = 0.80,\ 1.20,\ 2.00,\ 3.00\) in units of \(10^{-4}\) MW−1 for units 1 to 4. Redo the day of Problem 19 with loss coordination, state what the losses cost, and set out the verification checks that a completed study should pass.
What changes. The four period loads are now delivered loads, so the balance in each period is \(\sum P_i-P_L=P_D\) and each unit's coordination equation carries its penalty factor. With a diagonal \(\mathbf{B}\) the equations uncouple:
An explicit formula for each unit, clipped to its limits, with one scalar search on \(\lambda\) to close the balance. This is the loss-coordinated dispatch of Problem 9 in its simplest form.
Check the commitment first. The generation now exceeds the delivered load, so a state that just fitted may no longer fit:
So U4 must be committed in T3 whether or not a reserve rule demands it. The reserve constraint of Problem 19 and the losses of Problem 9 happen to point the same way, which is common but is not something to rely on. The Problem 19 commitment stands.
The four loss-coordinated dispatches:
| Period | \(P_D\) | Committed | \(\lambda\) | \(P_1\) | \(P_2\) | \(P_3\) | \(P_4\) | \(P_L\) | Fuel (Rs/h) |
|---|---|---|---|---|---|---|---|---|---|
| 00–06 | 350 | U1+U2 | 1907.09 | 217.13 | 138.96 | — | — | 6.09 | 664 269 |
| 06–12 | 620 | U1+U2+U3 | 2146.90 | 325.12 | 218.47 | 92.30 | — | 15.89 | 1 218 671 |
| 12–18 | 750 | U1+U2+U3+U4 | 2439.81 | 350.00 | 250.00 | 146.80 | 25.00 | 21.80 | 1 526 374 |
| 18–24 | 480 | U1+U2 | 2079.49 | 295.16 | 196.44 | — | — | 11.60 | 923 321 |
Every unit is loaded a little harder than in Problem 19 — the generation must cover the losses — and \(\lambda\) is higher in every period, by 4% overnight and 11% at the peak. The peak now has a defined \(\lambda\) because U3 is off its ceiling at 146.80 MW.
The penalty factors, which are what made those dispatches differ from Problem 19's:
All close to one another, because the \(B_{ii}P_i\) products happen to be similar across the units — the electrically remote small unit and the electrically close large one are penalised almost equally. That similarity is why the loss-coordinated schedule keeps the same commitment: the penalty factors shift the dispatch but do not reorder the units.
The day's totals:
| Quantity | Problem 19 (lossless) | With losses | Difference |
|---|---|---|---|
| Energy generated (MWh) | 13 200.0 | 13 532.2 | +332.2 |
| Energy delivered (MWh) | 13 200.0 | 13 200.0 | 0 |
| Transmission loss | — | 2.455% | — |
| Fuel (Rs) | 25 302 183 | 25 995 801 | +693 618 |
| Start-up (Rs) | 88 880 | 88 880 | 0 |
| Total (Rs) | 25 391 063 | 26 084 681 | +693 618 |
| Average cost delivered | 1923.56 Rs/MWh | 1976.11 Rs/MWh | +2.73% |
The 332 MWh of losses cost Rs 2088 per MWh to supply — close to the day's average \(\lambda\), as it must be, since the losses are served by the marginal units in every period.
The energy split across the day:
| Unit | Hours run | Energy (MWh) | Share | Capacity factor | Role |
|---|---|---|---|---|---|
| U1 | 24 | 7124.5 | 52.6% | 0.848 | base load |
| U2 | 24 | 4823.2 | 35.6% | 0.804 | base load |
| U3 | 12 | 1434.6 | 10.6% | 0.398 | two-shifting |
| U4 | 6 | 150.0 | 1.1% | 0.063 | peaking and reserve |
A textbook merit-order profile emerging from the optimisation rather than being assumed: the cheapest unit runs flat out all day, the dearest runs for a quarter of one period's worth of energy and exists mainly to provide reserve. U4's capacity factor of 6% is why peaking plant is built cheap and run dear.
The verification checks, and a study is not finished until all seven pass:
| # | Check | Result |
|---|---|---|
| 1 | Power balance each period: \(\sum P_i-P_L=P_D\) | to 10−6 MW ✓ |
| 2 | Every \(P_i\) within \([P^{\min},P^{\max}]\) | ✓ |
| 3 | \(L_i\mathrm{IC}_i=\lambda\) for every free unit | ✓ to 4 figures |
| 4 | \(L_i\mathrm{IC}_i\le\lambda\) at a maximum, \(\ge\lambda\) at a minimum | U1, U2 at max in T3: 2203, 2245 \(<\) 2440 ✓; U4 at min: 2650 \(>\) 2440 ✓ |
| 5 | Euler: \(\sum P_i\,\mathrm{ITL}_i=2P_L\) | ✓ each period |
| 6 | Committed capacity \(\ge1.1P_D\) | 600, 750, 850 against 385, 682, 825 ✓ |
| 7 | Minimum up and down times | U3 off 6 h \(\ge\) 5 h, on 12 h \(\ge\) 6 h ✓ |
Check 4 is the one most often skipped and the one that most often fails. A dispatch can satisfy the balance, respect every limit, and still not be optimal — and the only way to know is to test the penalised incremental cost of every unit that is sitting on a limit.
The complete cost picture for the day, assembled from the whole set:
Seven hundred times more from getting the commitment right than from getting the penalty factors right. Both are worth doing — the second costs nothing once the first is being computed — but if only one calculation can be done properly, it is not the one this set spent its first half on. The penalty factors here span only 1.015 to 1.064, and a correction that small can never move much money; it was the 30% penalty factor of Problem 5 that was worth Rs 48 crore a year.
Practice Problems
Work each on paper before opening the answer. The answer is given so you can check yourself; the method is deliberately not.
P1. A remote plant delivering 180 MW through a radial line causes a transmission loss of 15 MW. Find \(B_{11}\) and the plant's penalty factor at that output.
Show answer
\(B_{11}=15/180^{2}=\mathbf{4.630\times10^{-4}}\) MW−1; \(\mathrm{ITL}=2(15)/180=1/6\), so \(L=1/(1-1/6)=\mathbf{1.200}\). Problems 3 and 5.P2. A plant has an incremental fuel cost of 1750 Rs/MWh and an incremental transmission loss of 0.18. What value of \(\lambda\) is it consistent with?
Show answer
\(L=1/0.82=1.21951\), so \(\lambda=1750\times1.21951=\mathbf{2134.15}\) Rs/MWh.P3. The system \(\lambda\) is 2400 Rs/MWh and a plant's penalty factor is 1.25. At what incremental cost should it be running?
Show answer
\(\mathrm{IC}=\lambda/L=2400/1.25=\mathbf{1920}\) Rs/MWh — well below \(\lambda\), which is the point.P4. Two plants have \(\mathbf{B}=\mathrm{diag}(4,\ 6)\times10^{-4}\) MW−1 and are running at 180 and 120 MW. Find the loss and both penalty factors.
Show answer
\(P_L=4\times10^{-4}(180)^{2}+6\times10^{-4}(120)^{2}=12.96+8.64=\mathbf{21.60}\) MW. Both \(\mathrm{ITL}=0.144\), so \(L_1=L_2=\mathbf{1.1682}\) — equal by coincidence of the loading, not by any rule.P5. Verify Euler's identity on P4.
Show answer
\(180(0.144)+120(0.144)=25.92+17.28=\mathbf{43.20}=2\times21.60\) ✓. Problem 11.P6. A plant embedded inside an importing load pocket has \(\partial P_L/\partial P_i=-0.05\). Give its penalty factor and say what it means.
Show answer
\(L=1/1.05=\mathbf{0.9524}\) — below one, so the plant is favoured: raising its output reduces the system loss. Problem 5.P7. A 200 MW unit costs \(30\,000+1520P+1.10P^{2}\) Rs/h. Find its full-load average cost and hence its place in a priority list against the units of Problem 13.
Show answer
\((30\,000+304\,000+44\,000)/200=\mathbf{1890}\) Rs/MWh — between U1 (1885) and U2 (1938), so it would be committed second.P8. A station has 700 MW committed and is serving 640 MW. Does it meet a 10% spinning-reserve rule?
Show answer
Reserve \(=60/640=\mathbf{9.375\%}\) — no. It needs 704 MW committed, so another unit must be synchronised for the sake of 4 MW.P9. Keeping a unit synchronised costs the station Rs 22 500 an hour more than shutting it down; restarting it costs Rs 90 000. How long must the trough be to justify the shutdown?
Show answer
\(90\,000/22\,500=\mathbf{4.0}\) h. Below that, keep it running. Problem 15.P10. A unit has \(C_c=300\,000\) Rs, \(\alpha=4\) h and \(C_f=25\,000\) Rs. What does a start cost after 8 hours down?
Show answer
\(300\,000\left(1-e^{-2}\right)+25\,000=259\,399+25\,000=\mathbf{Rs\ 284\,399}\).P11. Five units are to be committed over 24 hourly periods. How many complete schedules would exhaustive enumeration cost, and how many transition comparisons does dynamic programming need?
Show answer
\(31^{24}\approx\mathbf{6.2\times10^{35}}\) schedules against \(31+23(31)^{2}=\mathbf{22\,134}\) comparisons. Problem 17.P12. In a loss-coordinated dispatch a unit sits at its maximum with \(L\,\mathrm{IC}=2150\) Rs/MWh while \(\lambda=2300\). Is the dispatch optimal, and what is the limit worth?
Show answer
Yes — a unit at its maximum must have \(L\,\mathrm{IC}\le\lambda\). The limit is worth \(\mu=2300-2150=\mathbf{150}\) Rs/MWh. Problem 12.
Challenge Problems
Three problems that need an idea rather than a formula — the kind of question that decides where a station is built, how much reserve is carried, and why a schedule and a meter disagree.
C1 — Pit-head or load centre. A 500 MW station may be built at the coal pit head, where its incremental fuel cost would be a flat 1450 Rs/MWh but the connecting corridor would have \(B_{11}=6\times10^{-4}\) MW−1, or at the load centre, where transporting the coal raises the incremental cost to a flat 1750 Rs/MWh but \(B_{11}=0\). Determine which site delivers cheaper energy, find the output at which the answer reverses, and state what would have to change to make the pit-head site win.
Show answer
Compare delivered cost, not generated cost. The right quantity is \(L\,\mathrm{IC}\), since that is the cost of a megawatt at the load:
\[ \text{load centre: } L\,\mathrm{IC}=1\times1750=1750\ \text{Rs/MWh, at every output} \]\[ \text{pit head: } L\,\mathrm{IC}=\frac{1450}{1-2(6\times10^{-4})P} \]At full output, \(P=500\) MW gives \(\mathrm{ITL}=0.60\) and \(L=2.50\):
\[ L\,\mathrm{IC}=1450\times2.50=3625\ \text{Rs/MWh} \]More than twice the load-centre figure. The corridor is burning 60% of the marginal megawatt, and no fuel-cost advantage of 300 Rs/MWh can survive that.
The reversal point. The two are equal when
\[ \frac{1450}{1-1.2\times10^{-3}P}=1750 \quad\Rightarrow\quad 1-1.2\times10^{-3}P=0.82857 \quad\Rightarrow\quad P=\mathbf{142.9\ \text{MW}} \]So the pit-head plant is cheaper only while it is generating less than 143 MW — under 29% of its rating. A base-load station that spends its life above 143 MW is on the wrong site.
What would have to change. Three levers, and only one is usually available:
\[ \begin{array}{lll} \text{Strengthen the corridor} & B_{11}\le\dfrac{1-1450/1750}{2\times500}=1.714\times10^{-4} & \text{a 3.5-fold reduction in } R \\ \text{Raise the transmission voltage} & B_{11}\propto1/V^{2} & 220\to400\ \text{kV gives }3.3\times \\ \text{Widen the fuel-cost gap} & \text{needs } \mathrm{IC}_{\text{pit}}\le1750/2.5=700 & \text{implausible} \end{array} \]The second lever is the real answer, and it is the reason pit-head generation in India is built with 400 kV or 765 kV evacuation and not with 220 kV. Since \(B_{11}=RS_{\text{base}}/(V^{2}\cos^{2}\phi)\), going from 220 to 400 kV divides it by 3.31 — from \(6\times10^{-4}\) to \(1.81\times10^{-4}\), which is just short of the break-even and would be carried the rest of the way by bundling or by series compensation.
A caution about the calculation. This comparison used the incremental cost of delivered energy at one output. A proper site study compares present-worth costs over the station's life, weighting each output level by the hours spent there — and because the loss is quadratic, low-load hours are far less damaging than the full-load figure suggests. At 250 MW the pit-head penalty factor is only 1.4286 and its delivered cost 2071 Rs/MWh, still worse than 1750 but by 18% rather than 107%. The conclusion does not change here; on a closer case it could.
C2 — A reserve rule that hides the risk. At the 18–24 h load of 480 MW, the schedule of Problem 19 commits U1 and U2, giving 120 MW of spinning reserve — 25% of the load, comfortably inside a 10% rule. Show that the station is nevertheless one contingency from shedding load, quantify the exposure, and find the probability of losing U1 above which committing all four units is justified.
Show answer
The percentage rule and the contingency ask different questions. With U1+U2 committed:
\[ \begin{array}{lll} \text{Percentage rule} & 600-480 = 120\ \text{MW} = 25\% & \text{passes comfortably} \\ N-1\ \text{on U1} & 600-350 = 250\ \text{MW} \ <\ 480 & \text{fails by 230 MW} \end{array} \]Losing U1 leaves U2 alone with 250 MW against a 480 MW load. Even with instantaneous governor response the deficit is 230 MW — 48% of the demand — and the only remedy available in seconds is load shedding.
The percentage rule is blind to unit size, and that is its defect. It would have given the same verdict if the 600 MW had been made up of six 100 MW units, in which case the worst contingency is 100 MW and the 120 MW of reserve covers it exactly. The rule measures the reserve and not the thing the reserve is for.
The remedy and its cost. Committing all four units in T4 gives 850 MW of capacity and \(850-350=500\ge480\) ✓:
\[ C(\text{all four at }480) - C(\text{U1+U2 at }480) = 935\,091-900\,406=34\,685\ \text{Rs/h} \]\[ \text{over the six-hour period} = 208\,111\ \text{Rs} \]Now price the risk. Let \(p\) be the probability that U1 fails during the six hours, and take the value of lost load as Rs 50 000/MWh — a standard Indian planning figure. The expected unserved energy without the extra units, assuming the deficit persists for the six hours, is
\[ \text{EUE}=p\times230\ \text{MW}\times6\ \text{h}=1380p\ \text{MWh} \]\[ \text{expected cost of not committing} = 1380p\times50\,000 = 69\times10^{6}\,p\ \text{Rs} \]The break-even:
\[ 69\times10^{6}\,p = 208\,111 \quad\Rightarrow\quad p^{*}=\mathbf{0.30\%} \]A 350 MW thermal unit has a forced outage rate of 6 to 10%, which over a six-hour window is a failure probability of roughly 0.5 to 1% — comfortably above 0.30%. So committing the extra units is justified, and the 10% rule that said otherwise was wrong.
The general conclusion. The percentage rule is a proxy that works when no single unit is a large fraction of the load. Here U1 is 73% of the T4 demand and the proxy fails completely. The defensible criterion is the risk-based one: commit until the marginal cost of another unit exceeds the marginal reduction in expected unserved energy. That is what loss-of-load-probability scheduling does, and this arithmetic is its whole content in one period.
C3 — The schedule and the meter disagree. The day-ahead study of Problem 19 predicted Rs 25.39 million. The station's actual cost for the day was Rs 26.90 million — 6% higher. Identify the four most likely causes in order of the money involved, quantify each, and state how each would be confirmed.
Show answer
The gap is Rs 1.51 million, and the first move is to bound it rather than to explain it. Four candidates, in descending order of expected magnitude:
Cause 1: transmission losses omitted from the study. Problem 20 computed this exactly: serving 332.2 MWh of losses costs Rs 693 618, which is 46% of the gap on its own. A study whose load figures are delivered energy and whose generation figures are station output has this error built in. Confirm by comparing the station's own generation meters with the metered energy at the load end — the difference is the loss, and it should match the 2.455% the loss formula predicts.
Cause 2: load forecast error. A demand 2% above forecast adds 264 MWh at a marginal cost of about 2100 Rs/MWh:
\[ 264\times2100 = 554\,400\ \text{Rs} \qquad \text{a further } 37\%\ \text{of the gap} \]Confirm by the recorded demand trace against the forecast used. Note that the marginal cost, not the average, is the right multiplier — the extra energy came from whichever unit was free.
Cause 3: a unit unavailable. If U3 had failed to start for the 06–12 h period, the commitment would have fallen back on U1+U2+U4:
\[ 7\,235\,880-7\,117\,446 = 118\,434\ \text{Rs}, \ \text{less U3's avoided start-up of }63\,880 \ \Rightarrow\ 54\,554\ \text{Rs} \]Small — and that is worth knowing, because a unit outage feels like a large event and costs little when a substitute exists. Confirm by the plant availability log.
Cause 4: fuel quality. Coal delivered 3% below its contracted calorific value raises every fuel cost by 3%: Rs 762 000. This is potentially the largest single item, and it is invisible in any electrical measurement. Confirm by the coal analysis certificates and the station's own heat-rate trend, which would show a step change on the day.
The diagnosis. Causes 1 and 2 together account for Rs 1.25 million of the Rs 1.51 million, and both are systematic rather than random — losses are omitted every day, and a forecast bias persists. Cause 4 alone would also fit the gap, but it would show as a heat-rate change and causes 1 and 2 would still be present underneath it.
\[ \begin{array}{lrl} \text{Losses omitted} & 693\,618 & \text{every day, until the study is fixed} \\ \text{Load 2\% high} & 554\,400 & \text{recurring if the forecast is biased} \\ \text{Coal 3\% low CV} & 762\,000 & \text{would over-explain; check heat rate} \\ \text{U3 unavailable} & 54\,554 & \text{small; verify from the log} \end{array} \]The general lesson. Reconcile the quantities before arguing about the costs. Metered generation, metered delivery, and the difference between them settle cause 1 in ten minutes and cost nothing; the fuel analysis takes days and an argument with a supplier. On a scheduling discrepancy, always start with the energy balance.
Multiple-Choice Questions
MCQ 1. The loss coefficients \(B_{ij}\) with \(P\) in MW have units of:
(a) MW (b) MW−1 (c) dimensionless (d) Rs/MWhShow answer
(b). From \(P_L=\sum\sum P_iB_{ij}P_j\), MW = MW × [B] × MW. (c) is right only in per unit — and a coefficient quoted in per unit without its base is a factor-of-100 error waiting to happen. Problem 2.MCQ 2. The incremental transmission loss of plant \(i\) is:
(a) \(P_L/P_i\) (b) \(2\sum_jB_{ij}P_j\) (c) \(B_{ii}P_i\) (d) \(2B_{ii}P_i\)Show answer
(b). (a) is the average loss share, not the increment, and the two rank the plants differently — Problem 4. (c) drops the factor of 2. (d) is correct only for a diagonal \(\mathbf{B}\), which is the special case of Problems 3 and 20.MCQ 3. A plant sited at the load bus has a penalty factor of:
(a) 0 (b) 1 (c) \(1+B_{11}P_1\) (d) undefinedShow answer
(b). Its output crosses no branch, so \(\mathrm{ITL}=0\) and \(L=1\) — and the coordination equation reduces to Set 27's rule for that plant alone. Problems 5 and 7.MCQ 4. A penalty factor less than 1 indicates a plant that:
(a) is very cheap (b) is at its maximum (c) reduces the system loss when loaded (d) cannot existShow answer
(c). It requires \(\mathrm{ITL}<0\), which happens for embedded generation inside an importing load pocket. (d) is the natural but wrong assumption that the network can only ever penalise. Problem 5.MCQ 5. The exact coordination equation is:
(a) \(\mathrm{IC}_i=\lambda\) (b) \(\mathrm{IC}_i/L_i=\lambda\) (c) \(L_i\mathrm{IC}_i=\lambda\) (d) \(\mathrm{IC}_i=\lambda\,\partial P_L/\partial P_i\)Show answer
(c). (b) inverts the penalty factor and would reward a remote plant. (d) drops the 1 and is dimensionally a different statement altogether. Problem 6.MCQ 6. In a loss-coordinated dispatch, \(\sum_iP_i\,\partial P_L/\partial P_i\) equals:
(a) \(P_L\) (b) \(2P_L\) (c) \(P_L/2\) (d) \(\lambda P_L\)Show answer
(b), by Euler's theorem on a function homogeneous of degree 2. It is the reason the incremental losses over-recover by a factor of two and cannot be used as loss shares. Problem 11.MCQ 7. A unit held at its maximum in a loss-coordinated dispatch must satisfy:
(a) \(\mathrm{IC}_i>\lambda\) (b) \(L_i\mathrm{IC}_i\le\lambda\) (c) \(L_i\mathrm{IC}_i\ge\lambda\) (d) \(L_i=1\)Show answer
(b) — the system wants more from it and cannot have it, so its penalised incremental cost lies below \(\lambda\). (c) is the condition at a minimum. Note that the test uses \(L_i\mathrm{IC}_i\), not \(\mathrm{IC}_i\): in Problem 12 the two differ by a factor of nearly four. Problem 12.MCQ 8. The cost term that unit commitment must consider and economic dispatch need not is:
(a) the incremental fuel cost (b) the no-load cost (c) the transmission loss (d) the fuel priceShow answer
(b). The constant \(a_i\) disappears on differentiation, so dispatch cannot see it; shutting a unit down saves all of it. On the station of Problem 13 it accounts for 59% of the commitment saving. Problems 13 and 18.MCQ 9. A priority list ranks units by:
(a) no-load cost (b) incremental cost at minimum load (c) full-load average cost (d) capacityShow answer
(c), because a committed unit is expected to run near full load, where the no-load cost is spread over the most output. (a) alone ignores the fuel and (b) alone ignores the no-load cost; on the station of Problem 14, U4 has the lowest no-load cost per MW and is still last. Problem 14.MCQ 10. Minimum up and down times exist because of:
(a) fuel contracts (b) thermal stress in thick metal (c) governor droop (d) the start-up costShow answer
(b). (d) is the tempting answer and is wrong: the start-up cost is an economic penalty that can be traded off, while the minimum times are a physical prohibition that cannot. Problem 16 shows a shutdown worth Rs 10 816 that is forbidden anyway.MCQ 11. Banking a boiler is preferable to letting it cool when:
(a) the down time is short (b) the down time is long (c) the unit is a gas turbine (d) alwaysShow answer
(a). Cooling costs rise fast at first and then saturate; banking costs rise linearly for ever. They cross at 5.25 h for U1. (c) is wrong in the opposite direction — a gas turbine has no boiler to bank. Problem 15.MCQ 12. Dynamic programming makes unit commitment tractable because:
(a) it removes the integer variables (b) the number of states does not grow with the horizon (c) it ignores start-up costs (d) it linearises the cost curvesShow answer
(b). Enumeration pays for the horizon in the exponent — \(15^{4}\) for four periods — while the recursion pays for it linearly. It does not help at all with the number of units, which is why a twenty-unit DP must still be truncated. Problem 17.
Key Formulas
| Statement | Relation | Notes |
|---|---|---|
| Loss formula | \(P_L=\sum_i\sum_jP_iB_{ij}P_j=\mathbf{P}^{T}\mathbf{B}\mathbf{P}\) | \(B_{ij}\) in MW−1; symmetric, positive definite |
| Kron's full form | \(P_L=\mathbf{P}^{T}\mathbf{B}\mathbf{P}+\mathbf{B}_0^{T}\mathbf{P}+B_{00}\) | Needed when loads do not vary in fixed proportion |
| Single radial plant | \(B_{11}=RS_{\text{base}}/(V^{2}\cos^{2}\phi)\) | Falls as \(1/V^{2}\) — the case for higher voltage |
| Incremental transmission loss | \(\partial P_L/\partial P_i=2\sum_jB_{ij}P_j\) | Factor 2, and the sum includes \(j=i\) |
| Penalty factor | \(L_i=1/\left(1-\partial P_L/\partial P_i\right)\) | \(>1\) remote, \(=1\) at the load bus, \(<1\) in a load pocket |
| Exact coordination equation | \(L_i\,\mathrm{IC}_i=\lambda\) for every free unit | Reduces to \(\mathrm{IC}_i=\lambda\) when \(\mathbf{B}=0\) |
| Balance with losses | \(\sum_iP_i-P_L=P_D\) | Must be changed together with the objective |
| Solved form | \(\left[\mathrm{diag}(2c_i)+2\lambda\mathbf{B}\right]\mathbf{P}=\lambda\mathbf{1}-\mathbf{b}\) | Linear at fixed \(\lambda\); search on \(\lambda\) outside |
| Diagonal \(\mathbf{B}\) | \(P_i=(\lambda-b_i)/(2c_i+2\lambda B_{ii})\) | Explicit; no matrix solve needed |
| Kuhn–Tucker at a limit | \(L_i\mathrm{IC}_i\le\lambda\) at max, \(\ge\lambda\) at min | \(\mu_i=\lambda(1-\mathrm{ITL}_i)-\mathrm{IC}_i\) |
| Euler's loss identity | \(\sum_iP_i\,\partial P_L/\partial P_i=2P_L\) | Exact check; loss allocation is \(\tfrac12P_i\mathrm{ITL}_i\) |
| Full-load average cost | \(\mathrm{FLAC}_i=a_i/P^{\max}_i+b_i+c_iP^{\max}_i\) | The priority-list ranking |
| Spinning reserve, percentage | \(\sum_{i\in x}P_i^{\max}\ge(1+r)P_D\) | Blind to unit size |
| Spinning reserve, \(N-1\) | \(\sum_{i\in x}P_i^{\max}-\max_iP_i^{\max}\ge P_D\) | Unattainable if one unit is a large fraction |
| Cold-start cost | \(S_{\text{cold}}=C_c\left(1-e^{-t/\alpha}\right)+C_f\) | \(\alpha\) = boiler thermal time constant |
| Banking cost | \(S_{\text{bank}}=C_t\,t+C_f\) | Bank if \(t<t^{*}\); \(C_f\) cancels from the comparison |
| Shutdown worth considering if | \(t\ >\ S/\Delta C\) | \(\Delta C\) = hourly saving with the unit off |
| DP recursion | \(F_t(x)=C_t(x)+\min_y\left[F_{t-1}(y)+S(y\to x)\right]\) | \(2^{n}-1\) states per stage |
| Feasibility screen | \(\sum_{i\in x}P_i^{\min}\le P_D\le\sum_{i\in x}P_i^{\max}\) | Applied before any dispatch is computed |
Common Mistakes
Changing the objective but not the constraint. Inserting penalty factors while still writing \(\sum P_i=P_D\) gives a dispatch that does not serve the load — 381.88 MW instead of 400 — and the error shows as a frequency deviation rather than as a cost. Problem 10(b).
Writing \(\partial P_L/\partial P_i=B_{ii}P_i\). The factor of 2 is missing and so are the off-diagonal terms. For plant 2 of Problem 4 the correct value is 0.1093 and the wrong one 0.0492 — less than half. Problem 4.
Inverting the penalty factor. Writing \(\mathrm{IC}_i/L_i=\lambda\) rewards the remote plant instead of penalising it, and produces a dispatch worse than making no correction at all. Problem 6.
Reading \(P_i\,\mathrm{ITL}_i\) as plant \(i\)'s share of the loss. Those quantities sum to \(2P_L\), so the shares add to 200%. The allocation that adds up is half of them. Problem 11.
Computing a constraint multiplier as \(\lambda-\mathrm{IC}\) when losses are present. That compares a delivered-power price with a generated-power cost. In Problem 12 it gives 427 Rs/MWh against the correct 112 — an overstatement of nearly four times.
Ranking a priority list by no-load cost or by incremental cost alone. U4 of Problem 14 has the lowest no-load cost per MW of the four units and is still committed last, because its fuel is 69% dearer than U1's. The ranking quantity is full-load average cost.
Committing exactly enough capacity to meet the load. The priority list without a reserve margin commits U1 alone for the 350 MW trough of Problem 14, forgoing Rs 6679 an hour and leaving zero reserve. Capacity equal to load is never a commitment; it is a dispatch with no degrees of freedom, and Problem 18 shows that \(\lambda\) is then undefined.
Costing a shutdown before testing whether it is allowed. The four-hour trough of Problem 16 makes shutting U3 down worth Rs 10 816, and its five-hour minimum down time forbids it. Feasibility first, economics second — the reverse order produces schedules the plant will refuse.
Ignoring the restart when comparing commitment rules. The priority list's overnight choice in Problem 18 costs Rs 40 071 of extra fuel and then Rs 214 449 to restart U2 six hours later. The larger half of the penalty is in the next period, not in the one being decided.
Expecting loss coordination to be worth as much as commitment. On the station of Problem 20 the penalty factors are worth Rs 750 a day and the commitment Rs 535 420 — a factor of seven hundred. Loss coordination earns its keep only where the penalty factors genuinely differ, as in the 1.30 of Problem 7.
The station now has a schedule: which units run in each period, and how much each produces, with the transmission system's losses priced into both decisions. What it does not yet have is any means of holding to that schedule when the load moves — and the load moves continuously, while this set's periods were six hours long.
That is the subject of load-frequency control. The dispatch of this set sets the target; the governor droop characteristic decides how the units share a sudden change without being told to; and the supplementary control loop restores frequency and interchange to schedule over the following minutes. The economic quantity \(\lambda\) re-enters there as the setpoint that automatic generation control drives the units towards, so the two calculations run in the same control centre on time scales that differ by four orders of magnitude — seconds for the governor, six hours for the commitment computed here.