Alpha level optimisation
The intention of alpha level optimisation is to find the global maxima and global minima of a deterministic objective function, after applying limits to the input variables. (explanation assumes reader has little knowledge of statistics)
Imagine the objective function will return the elevation of bigature mountain range. The dimensions of this mountain range are X and Y, with X and Y being between 0 and 10.
Once the global maxima and minima have been found (using a modified evolutionary/decending/ascending algorythm) the inputs are limited, eg X and Y can now only be between 1 and 9 (although of course normally, the new limitions are based on a specific alpha level).
If the inputs which achieved this maxima and minima are within these new limits, the input range will be limited again (up to a maximum of 4 - 21 times). each reduction in the limits is known as an alpha cut.
If the inputs (which acheived the maxima and/or minima) are not within the new limits, then the input(s) which do not conform have to be calculated again using the evolutionary algorythm.
(Of course, if for example the inputs for the maxima are acceptable, but the inputs for the minima are not, then only the inputs for the minima have to be recalculated.)
It is possible for the re-calculation to be simpler than calculating the initial value, as the following example will hopefully explain. Image of contoured map with 2 limits The link above shows a map, with 2 sets of limits, and a peak to the left. You can clearly see that the peak is not in the inner set of limits.
However it is possible to imagine that the new peak will be to the very left of the new limits, with the horizontal value being similar to the peaks horizontal value.
In order to find the maxima and the minima within the given range/limits, a modified evolutionary algorythm is used. instead of having a large population, and a 2: parent => 2: child cross over function, this version applies a mutation to the best performing set of inputs. If the mutated inputs are an improvement, then this newly generated set of inputs becomes the best performing that mutations are applied to. if there is no improvement, the best performing values are mutated and tested again.
For each input parameter, there is a permisable range of values that the parameter has to fall between. This range will shrink as alpha levels are applied to it. When applying the mutation to the parameters, note that each parameter has a minimum and a maximum distance coordinatewise that it can move.
For example, if in the example above, imagine that X had a maximum displacement of 1, and a minimum displacement of 0.5, and its current value is 5. This would mean that the possible results post mutation for x are 5.5 - 6 and 3 - 4.5.
If there is no improvement after a certain number of mutations, a maxima/minima will be assumed to have been found. I am currently unsure how to tell whether this is local or a global.
Things to work out/questions to ask
- how does one tell if a minima / maxima is local or global?
- is it acceptable to use partial differentiation to working the direction of a mutation?