4 Algorithms
drawing pairs of trees randomly from the current population with a probability related to their fitness and producing two new offspring by choosing a random node in each and swapping the sub-trees that are rooted at these nodes (this is called tree-crossover) or,
randomly choosing trees with fitness-related probabilities for propagation to the new population.
In our case the tree-structure covered possible CDAP models. A gene was an instance of the following specification:
geneThe fitness function was the RMSE error of the predicted market shares compared to the actual shares over a sample period for the competitive set with a small discount to bias the algorithm in favour of models with fewer CDAP states.:=
IP list,
weight list,
CDAP list,
IP list:= price intensity parameter, strength intensity parameter, differentiation parameter
weight list:= list of non-negative numbers (of same length as list of CDAP states)
CDAP list= list of
CDAP specifications, one for each CDAP state
CDAP specification:= list of
preference specifications, one for each property
preference specification:= a triple of numbers: the ideal value, its importance and the tolerance to variation
Our crossover operator was constrained to produce only well-formed genes, i.e. if one chosen sub-tree was a preference specification the other would be also. Also if the domain expert had previously entered any trial CDAP models, these would be seeded into the initial population, so that variations of these would be tried along side the randomly generated ones.
Generated with CERN WebMaker