• No results found

The SA optimisation technique is based on the physical processes involved in the annealing of metals. In metallurgy, metals are heated up to a high temperature to make them molten and then are cooled in a controlled manner to minimise the energy of the system [232]. During the cooling process, the atoms will start to align to achieve the minimum energy state. However, if the metal is cooled too quickly or ‘quenched’, then the atoms will not have aligned to achieve the minimum energy state. Depending on the cooling rate, either large or small crystals will be formed.

SA was originally proposed as a global optimisation methodology by Kirkpatrick et. al. [233] and Cerny [234] independently in 1983 and 1985, respectively. Originally, the technique was proposed to perform the travelling salesman problem, and to optimise partitioning, component placement and wiring for electronic circuits [233]. Since the 1980’s the technique has found a multitude of applications in very diverse areas including solving the unit commitment problem [235], blind deconvolution [236], image recovery [237] and economic dispatch [238]. Additionally, the technique has been applied in several renewable energy optimisation cases [239–248]. The sizing of components in a Small Autonomous Power System is optimised by a SA algorithm combined with Tabu Search in [239]. The optimum installation angle for fixed-angle PV systems is evaluated using SA in [240]. Optimal expansion of the distribution system is considered in [241], while optimal distributed generation placement and sizing is considered in [242, 243], and energy storage placement in [244]. In [245], the optimal controller parameters for a wind turbine are found using SA. The performance of a genetic algorithm has been enhanced by applying SA to the best individual of each population in the optimisation of an energy generation island based on renewable energy sources [246]. The energy management system in an Electric Vehicle is optimised using the SA algorithm in [248].

In the SA optimisation technique, an initial temperature and cooling schedule control the searching process as the minimum energy state of the system is pur- sued. At each sample time, a random perturbation in the solution is applied and the corresponding solution energy measured. This energy is then compared with

the current reference energy of the current reference solution and the candidate solution is either accepted or rejected. If the candidate solution has a lower en- ergy than the current reference solution then it will be accepted automatically and the algorithm progresses to the next step. If the candidate solution has a higher energy than the current reference solution, it may still be accepted based on some acceptance probability. This acceptance probability relates the difference in energy between the candidate and current reference solution and the current temperature to decide if the candidate solution should become the reference solu- tion. Initially, the technique starts with a high temperature and is more likely to accept solutions which increase the overall energy of the system slightly. As the cooling schedule progresses and the temperature reduces, the probability that a solution with larger energy will be accepted is also reduced. The probability of accepting a solution with greater energy is given by [234, 249]

P r= exp −E(k)−E(k−1) T(k) (5.1)

where, E(k) is the energy of the candidate solution, E(k −1) is the energy of the current reference solution and T(k) is the temperature.

The acceptance probability is based on the Boltzmann distribution where at a high temperature all the states have an equal probability. As the temperature reduces, the lowest energy state has non-zero probability. At lower temperatures more time is expended improving the performance of the system in reaching equilibrium [250].

The probability of accepting a worse solution not only depends on the tem- perature, but also on the difference in energy between the candidate and reference solutions [251]. The higher energy solutions which are accepted by the algorithm at high temperatures generally only result in a small increase in the energy rather than a significant increase [252]. This means that small reduc- tions in solution quality are more likely to be accepted than large reductions [251].

The temperature in the algorithm is reduced by using a cooling schedule. Cool- ing schedules can be static or adaptive depending on the application [251]. If a constant temperature is used in the algorithm, it becomes the Metropolis algo- rithm [253], originally proposed by Metropolis et. al. [254] in 1953. Selecting a

suitable cooling schedule is of great importance in ensuring the successful con- vergence of the algorithm. The geometric cooling schedule is a commonly imple- mented cooling schedule, which reduces the temperature based on some constant,

α2 <1. The geometric law is given in (5.2), where T(k) is the new temperature

and T(k−1) is the previous temperature. While a variety of different ranges for

α2 are suggested in the literature [240,242], typically the constantα2 takes a value

between 0.8 to 0.99 [233, 236–238, 246, 255–257]. An analytical tuning schedule in [258] is defined to determine the initial and final temperatures required on the basis of the maximum and minimum deterioration of the objective function.

T(k) = α2T(k−1) (5.2)

While the geometric cooling schedule is frequently used, a variety of other cooling schedules are also available. These include the logarithmic cooling schedule given in (5.3) which can be shown to enable optimal annealing as long as the constant

cis appropriately chosen [259]. The value d∗ indicates the maximum depth of all states which are local but not global minima [260].

T(k) = c

log(k+ 1), c >=d

(5.3)

Other cooling schedules include the linear cooling schedule given by (5.4) [249], and Lundy cooling schedule (5.5) [261].

T(k) = T(0)−clk (5.4)

T(k) = T(k−1) 1 +βlT(k−1)

(5.5)

Another important consideration in the optimisation of the SA algorithm is the stopping criterion. Generally, the algorithm will be stopped once the temperature reaches a pre-defined level, or after a pre-defined number of steps have been completed. Other stopping criteria include stopping when the algorithm has not improved the solution after a certain number of temperature steps [253]. This last criterion can limit the execution time required by the algorithm to converge to the neighbourhood of the global minimum.

Some key advantages of the SA algorithm for global optimisation are described in [235]. These include the independence of the final solution from the initial

solution selected, that the process does not require any knowledge of the system model and that it has been theoretically proven to converge to the global minimum with an appropriately selected cooling schedule [253, 262]. Even if the SA algorithm does not converge directly to the global minimum, it is still very efficient at converging to the neighbourhood of the global minimum [253]. The main limitation of the technique is the trade-off in selecting an appropriate cooling schedule. If the temperature is reduced too quickly, the method may converge to a local minimum, and a slow decrease in temperature may result in the algorithm taking a long time to converge.

Searching within a large neighbourhood can result in a long search time being required [262], yet conversely if the neighbourhood selected is not diverse enough, it may not be possible to locate the global minima [235]. To improve the performance in a large solution space the neighbourhood can also be reduced as the temperature cools, improving the likelihood that the solution will converge to the global maxima [232].

Traditionally, when annealing metals, an equilibrium state is required at each step before the temperature is reduced. For SA this is often not practical as it would lead to the process taking a long time to converge [251]. Most implementations of SA, including those considered in this chapter, are inhomogeneous implemen- tations, as equilibrium is not required before the next temperature step is applied.

SA can be proven to converge to a global minima (or maxima) with a probability of 1 [263]. However, in converging exactly to the global point of interest a substantial amount of time may be required. The analysis of the convergence is done by modelling the process as a sequence of homogeneous Markov chains for each temperature [264, 265]. The transitions in the Markov chain are defined by an accept function and a generate configuration function [265] depending on if the algorithm needs to stay in the current state or generate a new state.

Research has shown that with an appropriately designed cooling function the technique can improve the performance in converging quickly to the optimum point [249, 250, 266, 267].

The first instance of the SA algorithm being applied to PV module MPPT can be found in [247]. The results in [247] are limited to simple uniform environmental conditions and little optimisation of the key parameters of the technique are provided. This chapter fully develops a MPPT algorithm based on the SA optimisation technique which is designed specifically to operate well under both uniform and non-uniform environmental conditions.

The technique is considered in the context of a residential scale PV system and is designed primarily to provide effective GMPPT for slow moving shadow characteristics which arise due to objects in the environment. This slow moving shadow characteristic could also be due to dust or dirt on the surface of the modules.