• No results found

Heuristic Search Applications 1) Primary unit de-commitment

UNIT COMMITMENT *

B. Heuristic Search Applications 1) Primary unit de-commitment

The primary unit schedule obtained by ALAHN may not be optimal in terms of spinning reserve in some cases due to the random initial values. That means some units may be redundant in the obtained unit schedule. Therefore, these units are de-committed to reduce excessive spinning reserve based on their merit order defi ned in (2.164) of Chapter 2.

The algorithm for primary de-commitment of excessive units is as follows:

Step 1: Set t = 1.

Step 2: Calculate excessive spinning reserve at period t.

Step 3: Find a list of committed units with the maximum capacity of each smaller than the excessive spinning reserve.

Step 4: If the list is not empty, choose a unit having the highest value Mi as defi ned in (2.164). Otherwise, go to Step 7.

Step 5: If the excessive spinning reserve is larger than the maximum capacity of the chosen unit, de-commit this unit and reduce the excessive spinning reserve by the maximum capacity of this unit.

Step 6: Delete the unit from the list and return to Step 4.

Step 7: If t < T, t = t + 1 and return to Step 2. Otherwise, stop.

2) Minimum up and down time repairing

Since the obtained primary UC schedule may not satisfy the minimum up and down time constraints, a heuristic search based algorithm is required to repair the violations.

To check for violations, on and off times of units are determined in advance.

The continuous on/off times of unit i up to period t are calculated as follows:

, ,

, ,

t t

i on i

t

i on t

i

T if U T

if U

Ï - + =

= ÌÔ ÔÓ =

1 1 1

0 0

if

if (3.59)

, ,

, ,

t t

i off i

t

i off t

i

T if U T

if U

Ï - + =

= ÌÔ ÔÓ =

1 1 0

0 1

if

if (3.60)

Minimum up and down time constraints may be violated by the obtained unit schedule since they are neglected in the previous procedures. Therefore, they will be checked and the schedule repaired in case of violations.

Minimum up time of units is usually violated at peak load where the peak load hours are shorter than minimum up time, “hills” exist. The algorithm will check for banking these “hills”. An example is shown in Fig. 3.12. Based on the obtained unit scheduling, unit i is on for only 2 consecutive hours but let’s suppose that this unit has a minimum up time of 3 hours. Therefore, the minimum up time of this unit is violated. To repair this violation, this unit will be further committed in the appending hours so that its total committed hours are not less than its minimum up time. At hour t, this unit is committed and the total committed time of this unit is 3 hours. Consequently, the minimum up time is satisfi ed. The violation can be also repaired by committing the unit in advance the fi rst committed hour, e.g., at hour t–3. However, this way is not convenient for the repairing due to the reverse counting of committed hours.

Minimum down time of units is usually violated at low load levels when low load level hours are shorter than minimum down times of units, and “valleys” exist.

The algorithm will check to fi ll the “valleys”. An example of minimum down time repairing is shown in Fig. 3.13. Suppose that unit i has a minimum down time of 3 hours. Based on the obtained unit scheduling, the total off time of this unit is only 2 hours. Therefore, the minimum down time of this unit is violated. To repair this violation, this unit remains committed during the off hours t–1 and t. Consequently, the violation is relieved. This procedure does not check the possibility to prolong the number of de-committed hours of the violated units to satisfy their minimum down time constraint since new units with higher average production costs will be committed to satisfy spinning reserve constraint, leading to a higher operation cost.

Moreover, this procedure does not cause further violations of minimum down time constraints by committing units at the violated hours since the units to be committed are the existing committed units violating minimum down time. Therefore, fi lling the “valleys” is repairing the infeasible solution.

Unit/Time t -3 t -2 t -1 t t +1

i 0 0 1 1 0 0 0 M in. up time unsatisifed

i 0 0 1 1 1 0 0 Min. up time satisifed

Fig. 3.12 Repairing of minimum up time.

Unit/Time t -1 t t +1

i 1 1 0 0 1 1 1 M in. down time unsatisfied

i 1 1 1 1 1 1 1 M in. down time violation repaired.

Fig. 3.13 Repairing of minimum down time.

The procedure for minimum up/down time repairing is as follows:

Step 1: Calculate on and off times of all units for the whole schedule time horizon by using (3.56) and (3.57).

Step 2: Set t = 1.

Step 3: Set i = 1.

Step 4: If Uit 0 and Uit1 1 and Ti on,t-1<Ti up, , then Uit 1.

Step 5: If Uit 0 and Uit1 1 and tTi,down 1dT and idown T

t off

i T

T,i,down1  , , thenUit 1.

Step 6: If Uit 0 and Uit1 1 and tTi,down 1!T and

¦

T !0

t j

j

Ui , then t 1

Ui .

Step 7: Update the on/off status for unit i by (3.56) and (3.57).

Step 8: If i < N, i = i + 1 and return to Step 4.

Step 9: If t < T, t = t + 1 and return to Step 3. Otherwise, stop.

3) De-commitment of excessive units

The further excessive spinning reserve is the consequence of repairing minimum up and down time constraints. To de-commit the excessive units, the algorithm is based on a priority list of units.

Starting from the units with the highest values of Mi, the algorithm determines the units that can be de-committed without violating minimum up and down times and spin ning reserve constraints until no more unit can be de-committed. An example is shown in Fig. 3.14. The minimum up time violation of unit i is repaired by committing this unit at hour t which leads to excessive spinning reserve at this hour. Therefore, unit j is checked for de-committing to reduce excessive spinning reserve at this hour.

Unit\Time t -1 t t +1

i 1 1 1 1 1 0 0

j 0 0 1 1 0 0 0 M in. up time violated

i 1 1 1 1 1 0 0

j 0 0 1 1 1 0 0 The violated repaired.

i 1 1 1 1 0 0 0 Exceesive unit decommitted

j 0 0 1 1 1 0 0

Fig. 3.14 De-commitment of excessive units due to minimum up time repairing.

In this procedure, spinning reserve and minimum up and down time constraints must be checked before de-committing a unit. Therefore, the de-commitment process of an excessive unit may not result in a feasible schedule. In other words, this procedure is to de-commit the redundant units due to the repair of minimum up and down time, thereby reducing the operating cost.

The procedure for de-commitment of excessive units is as follows:

Step 1: Set t = 1.

Step 2: Set i = 1.

Step 3: If unit i can be de-committed without violating minimum up/down time and spinning reserve constraints, put the unit into an excessive list.

Step 4: If i < N, i = i + 1 return to Step 3.

Step 5: If the excessive list is empty go to Step 9.

Step 6: De-commit the unit with the highest Mi in the excessive list and eliminate it from the list.

Step 7: If the list is not empty and the unit with the highest Mi in the list can be de-committed without violating spinning reserve, return to Step 6.

Step 8: If the list is not empty and the unit with the highest Mi in the list can not be de-committed, delete the unit from the list and return to Step 7.

Step 9: If t < T, t = t + 1 return to Step 2. Otherwise, stop.