8 Unit Decommitment Algorithm
The standard OPF formulation described in the previous section has no mechanism for
completely shutting down generators which are very expensive to operate. Instead they are
simply dispatched at their minimum generation limits. Matpower includes the
capability to run an optimal power ﬂow combined with a unit decommitment for
a single time period, which allows it to shut down these expensive units and
ﬁnd a least cost commitment and dispatch. To run this for case30, for example,
type:
By default, runuopf is based on the AC optimal power ﬂow problem. To run a DC OPF, the
model option must be set to 'DC'. For convenience, Matpower provides a function
runduopf which is simply a wrapper that sets the model option to 'DC' before calling
runuopf.
Matpower uses an algorithm similar to dynamic programming to handle the
decommitment. It proceeds through a sequence of stages, where stage has
generators shut down, starting with , as follows:

Step 1:
 Begin at stage zero (), assuming all generators are online with all
limits in place.

Step 2:
 If the sum of the minimum generation limits for all online generators is
less than the total system demand, then go to Step 3. Otherwise, go to the
next stage, , shut down the generator whose average perMW
cost of operating at its minimum generation limit is greatest and repeat
Step 2.

Step 3:
 Solve a normal OPF. Save the solution as the current best.

Step 4:
 Go to the next stage, . Using the best solution from the
previous stage as the base case for this stage, form a candidate list
of generators with minimum generation limits binding. If there are no
candidates, skip to Step 6.

Step 5:
 For each generator on the candidate list, solve an OPF to ﬁnd the total
system cost with this generator shut down. Replace the current best solution
with this one if it has a lower cost. If any of the candidate solutions produced
an improvement, return to Step 4.

Step 6:
 Return the current best solution as the ﬁnal solution.
It should be noted that the method employed here is simply a heuristic. It does not
guarantee that the least cost commitment of generators will be found. It is also rather
computationally expensive for larger systems and was implemented as a simple way to
allow an OPFbased “smartmarket”, such as described in Appendix F, the option
to reject expensive oﬀers while respecting the minimum generation limits on
generators.