### 8 Unit De-commitment 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 de-commitment 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:

>> runuopf('case30')

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 de-commitment. 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 on-line with all limits in place.
Step 2:
If the sum of the minimum generation limits for all on-line 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 per-MW 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 OPF-based “smart-market”, such as described in Appendix F, the option to reject expensive oﬀers while respecting the minimum generation limits on generators.