¶llel_optimization_setup STRING method = "simplex"; double random_factor = 1 long n_iterations = 10000; long max_no_change = 10000; long population_size = 100; STRING population_log = NULL; long print_all_individuals = 0; long output_sparsing_factor = 1; STRING crossover = "twopoint"; &end
method-- May be one of ``genetic'', ``hybridsimplex'' or ``swarm''. If the default ``simplex'' method is chosen, all the processors will do the same optimization as the serial version if there is only one particle for optimization tracking, or do optimization tracking in parallel if the number of particles is larger than the number of CPUs. All algorithms can be used for global optimization. ``swarm'' is recommended when there is sufficient computation resource available, so it can reach the optimization target fast. ``hybridsimplex'' is recommended when the initial point is close to the optimal result. ``genetic'' can be chosen for a global optimizer with a random start point (0 should be avoided for any initial coordinate).
random_factor-- The factor to scale the step size for both parallel swarm and genetic methods.
n_restarts-- For the parallel ``hybridsimplex'' method, this number should be set larger than 1, so the the best result across all processors can be used for the next restart. The parameter is not used for the swarm method.
n_iterations-- The maximal number of generations/iterations for the parallel genetic and particle swarm optimization.
population_size-- The number of individuals to be generated for each generation/iteration for the swarm and genetic method. For the hybridsimplex method, the number of individuals is equal to the number of processors used.
max_no_change-- The maximal number of generations in which no change in the best evaluation is allowed before the genetic method stops (genetic method only).
n_evaluations-- This is not used as a stop condition in the genetic optimization. The n_iterations or max_no_change can be used instead. For the hybridsimplex method, this is the number of allowed evaluations per restart.
population_log-- An SDDS file to which the best individual in a population can be written after each iteration as optimization proceeds. Recommended value: ``%s.pop''. For the parallel genetic method, user can choose to print out all the individuals (See print_all_individuals).
print_all_individuals-- If nonzero, all the strings in a population will be recorded in the population_log file. This is supported for the genetic method only.
output_sparsing_factor-- For genetic optimization, this is used to set the frequency of printing strings in the log file with the number of generations as the interval.
crossover-- For genetic optimization, it allows the user to choose a crossover type from ``onepoint'', ``twopoint'' and ``uniform''. ``twopoint'' is the default crossover type. If the dimension is 2, it will be set to onepoint crossover.