toulbar2
|
#include <incop.h>
Public Member Functions | |
virtual void | populationrandomwalk (OpProblem *problem, Configuration **population) |
virtual int | nb_threshold_population (Configuration **population) |
void | randomwalk (OpProblem *problem, Configuration *configuration) |
void | initthreshold (Configuration **population, int popsize) |
virtual void | thresholdupdate () |
virtual void | thresholdcomputedelta (Configuration **population) |
void | run (OpProblem *problem, Configuration **population) |
virtual void | regrouping (Configuration **population) |
void | populationkeepbest (OpProblem *problem, Configuration **population) |
virtual void | thresholdchangesupdate () |
virtual void | randomwalk (OpProblem *problem, Configuration *configuration) |
virtual void | run (OpProblem *problem, Configuration **population) |
Public Attributes | |
int | populationsize |
int | regrouptest |
int | lastmovedescent |
int | elitism |
int | nomovestop |
Long | thresholddelta |
int | nbiteration |
int | thresholdchanges |
int | total_nhtries |
int | total_nbmoves |
LSAlgorithm * | walkalgorithm |
![]() | |
Long | threshold |
the GWW (Go with the winners) algorithms : the different subclasses differ by the way a threshold is managed and the particles are regrouped
|
virtual |
intialization of the threshold
Reimplemented from IncompleteAlgorithm.
References IncompleteAlgorithm::threshold, and walkalgorithm.
|
virtual |
the number of particles at the threshold (for statistics) , the population being yet sorted at the function call
Referenced by run().
void GWWAlgorithm::populationkeepbest | ( | OpProblem * | problem, |
Configuration ** | population | ||
) |
in case of elitism, the best particle is put into the population
References OpProblem::best_config, Configuration::copy_element(), populationsize, and Configuration::valuation.
Referenced by run().
|
virtual |
local search on the whole population
References OpProblem::lower_bound, LSAlgorithm::nbmoves, LSAlgorithm::nhtries, populationsize, randomwalk(), total_nbmoves, total_nhtries, and walkalgorithm.
Referenced by run().
|
virtual |
a local search for a particle
Reimplemented from IncompleteAlgorithm.
References LSAlgorithm::configurationmove(), lastmovedescent, OpProblem::lower_bound, nomovestop, Configuration::regrouped, IncompleteAlgorithm::threshold, thresholdupdate(), Configuration::valuation, walkalgorithm, and LSAlgorithm::walklength.
Referenced by populationrandomwalk().
|
virtual |
regrouping of the best particles on the good ones
Referenced by run().
|
virtual |
main function for running the algorithm
Reimplemented from IncompleteAlgorithm.
References elitism, OpProblem::lower_bound, nb_threshold_population(), nbiteration, populationkeepbest(), populationrandomwalk(), populationsize, Configuration::regrouped, regrouping(), regrouptest, IncompleteAlgorithm::threshold, thresholdchanges, thresholdchangesupdate(), thresholdcomputedelta(), thresholddelta, thresholdupdate(), total_nbmoves, total_nhtries, Configuration::valuation, and walkalgorithm.
|
virtual |
incrementing the threshold updates counter (for the statistics)
Referenced by run().
|
virtual |
method for computing the threshold decrement
Referenced by run().
|
virtual |
method for lowering the threshold( the delta has already been computed)
Referenced by randomwalk(), and run().
int GWWAlgorithm::elitism |
elitism parameter : is the best particle put again in the population at each regroupment ( 1 yes, 0 no)
Referenced by run().
int GWWAlgorithm::lastmovedescent |
parameter if the threshold is lowered at the last move of the walk (for trying to avoid the particle to be redistributed (1 yes, 0 no)
Referenced by randomwalk().
int GWWAlgorithm::nbiteration |
the maximum number of iterations : useful when no threshold is managed (NothresholdGWWAlgorithm)
Referenced by run().
int GWWAlgorithm::nomovestop |
parameter for stopping the walk in case of stagnation (1 yes, 0 no)
Referenced by randomwalk().
int GWWAlgorithm::populationsize |
number of particles
Referenced by populationkeepbest(), populationrandomwalk(), and run().
int GWWAlgorithm::regrouptest |
walk indicator : a walk is performed only is the particle has been regrouped : (1 yes, 0 no) (useful for a standard GWW with random walk (and no local search))
Referenced by run().
int GWWAlgorithm::thresholdchanges |
number of threshold changes (for the statistics)
Referenced by run().
Long GWWAlgorithm::thresholddelta |
the threshold decrement (compted by thresholdcomputedelta)
Referenced by run().
int GWWAlgorithm::total_nbmoves |
total number of moves between 2 regroupments (for the statistics)
Referenced by populationrandomwalk(), and run().
int GWWAlgorithm::total_nhtries |
total number of move tries between 2 regroupments (for the statistics)
Referenced by populationrandomwalk(), and run().
LSAlgorithm* GWWAlgorithm::walkalgorithm |
the local search algorithm used
Referenced by initthreshold(), populationrandomwalk(), randomwalk(), and run().