8 #include "core/tb2types.hpp"
97 int var_conflict_size;
101 set<int> set_var_conflict;
116 virtual void incr_conflicts(
int var,
int val,
int index, Long incr);
120 virtual void set_conflicts(
int var,
int val,
int index, Long nbconf);
154 void init_conflicts();
155 void incr_conflicts(
int var,
int val,
int index, Long incr);
156 void set_conflicts(
int var,
int val,
int index, Long nbconf);
157 Long get_conflicts(
int var,
int val,
int index);
158 Long get_conflicts_problem(
OpProblem* problem,
int var,
int val);
159 virtual void set_variableconflicts(
int var,
int nbconf);
176 void init_conflicts();
177 void incr_conflicts(
int var,
int val,
int index, Long incr);
178 void set_conflicts(
int var,
int val,
int index, Long nbconf);
182 Long get_conflicts_problem(
OpProblem* problem,
int var,
int val);
192 virtual ~
Move() { ; };
212 int eqmove(
Move* move);
213 void copymove(
Move* move);
307 virtual int tabuinverseindex(
Move* move,
Configuration* configuration) {
return 0; };
308 virtual int nbtabuindex() {
return 0; };
335 NeighborhoodSearch(
int maxneigh,
int minneigh,
int finish,
int var_conf,
int val_conf,
double nbbr);
336 int returnbestmove();
337 void adjust_neighborhood(
Configuration* configuration,
OpProblem* problem,
int& maxneigh,
int& minneigh,
int nbmoves);
338 virtual void dynamicmaxneighbors(
int& maxneigh,
int& minneigh,
int nbmoves);
339 virtual void initsearch();
366 DynamicSpareneighbor(
int maxneigh,
int minneigh,
int finish,
int var_conf,
int val_conf,
double nbbr);
386 virtual void initthreshold(
Configuration** population,
int popsize) { ; };
436 LSAlgorithmGWW(
int nbmov);
454 virtual void adjustparameter(
int parameter) { ; };
482 void adjustparameter(
int length);
487 TabuGreedySearch(
int tabul);
493 IncrTabuSearch(
int tabul);
495 vector<int> tabutime;
502 class IncrTabuGreedySearch :
public IncrTabuSearch {
504 IncrTabuGreedySearch(
int tabul);
518 void adjustparameter(
int parameter);
582 void adjustparameter(
int parameter);
705 void thresholdupdate();
706 void thresholdchangesupdate();
722 StandardGWWAlgorithm(
int population_size,
int grtest,
int lastmove,
int elitisme,
int stop,
double thresdescent, Long threshmin);
731 FastStandardGWWAlgorithm(
int population_size,
int grtest,
int lastmove,
int elitisme,
int stop,
double thresdescent, Long threshmin);
788 int killed,
int nbiter);
int nbkilled
Definition: incop.h:740
double bestdescent
Definition: incop.h:778
Move * computetabumove(Configuration *config)
Definition: incopalgo.cpp:1149
virtual void incr_conflicts(int var, int val, int index, Long incr)
Definition: incopalgo.cpp:222
virtual Long get_conflicts_problem(OpProblem *problem, int var, int val)
Definition: incopalgo.cpp:225
int * config
Definition: incop.h:93
virtual void copy_element(Configuration *config2)
Definition: incopalgo.cpp:321
virtual void init_conflicts()
Definition: incopalgo.cpp:221
virtual void update_conflicts(OpProblem *problem, Move *move)
Definition: incopalgo.cpp:230
virtual Long get_conflicts(int var, int val, int index)
Definition: incopalgo.cpp:224
virtual void set_conflicts(int var, int val, int index, Long nbconf)
Definition: incopalgo.cpp:223
vector< int > var_conflict
Definition: incop.h:100
Long valuation
Definition: incop.h:96
int regrouped
Definition: incop.h:104
int initmaxneighbors
Definition: incop.h:351
int adjustperiod
Definition: incop.h:357
void dynamicmaxneighbors(int &maxneigh, int &minneigh, int nbmoves)
Definition: incopalgo.cpp:438
int initminneighbors
Definition: incop.h:354
double thresholddescent
Definition: incop.h:754
Long get_conflicts(int var, int val, int index)
Definition: incopalgo.cpp:299
virtual void thresholdcomputedelta(Configuration **population)
Definition: incopalgo.cpp:778
void initthreshold(Configuration **population, int popsize)
Definition: incopalgo.cpp:852
int lastmovedescent
Definition: incop.h:642
void run(OpProblem *problem, Configuration **population)
Definition: incopalgo.cpp:722
int total_nbmoves
Definition: incop.h:663
Long thresholddelta
Definition: incop.h:651
int regrouptest
Definition: incop.h:638
int elitism
Definition: incop.h:645
int populationsize
Definition: incop.h:633
virtual void thresholdchangesupdate()
Definition: incopalgo.cpp:863
void randomwalk(OpProblem *problem, Configuration *configuration)
Definition: incopalgo.cpp:679
LSAlgorithm * walkalgorithm
Definition: incop.h:666
virtual int nb_threshold_population(Configuration **population)
Definition: incopalgo.cpp:708
int nomovestop
Definition: incop.h:648
virtual void thresholdupdate()
Definition: incopalgo.cpp:837
int total_nhtries
Definition: incop.h:660
int thresholdchanges
Definition: incop.h:657
virtual void populationrandomwalk(OpProblem *problem, Configuration **population)
Definition: incopalgo.cpp:874
void populationkeepbest(OpProblem *problem, Configuration **population)
Definition: incopalgo.cpp:766
int nbiteration
Definition: incop.h:654
virtual void regrouping(Configuration **population)
Definition: incopalgo.cpp:890
Long threshold
Definition: incop.h:381
virtual void run(OpProblem *problem, Configuration **population)
Definition: incopalgo.cpp:356
virtual void randomwalk(OpProblem *problem, Configuration *configuration)
Definition: incopalgo.cpp:351
virtual int configurationmove(OpProblem *problem, Configuration *configuration)
Definition: incopalgo.cpp:525
int test_bestfound(Move *move)
Definition: incopalgo.cpp:372
int walklength
Definition: incop.h:401
Metaheuristic * mheur
Definition: incop.h:407
int nhtries
Definition: incop.h:410
int nbmoves
Definition: incop.h:415
NeighborhoodSearch * nbhsearch
Definition: incop.h:404
virtual int isfeasible(Move *move)
Definition: incopalgo.cpp:628
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:992
virtual void copymove(Move *move)
Definition: incopalgo.cpp:1136
virtual Move * computetabumove(Configuration *config)
Definition: incop.h:201
virtual int eqmove(Move *move1)
Definition: incopalgo.cpp:1158
int finished
Definition: incop.h:327
int maxneighbors
Definition: incop.h:322
int minneighbors
Definition: incop.h:319
int var_conflict
Definition: incop.h:330
int val_conflict
Definition: incop.h:333
int nbkilled
Definition: incop.h:792
int nbvar
Definition: incop.h:229
virtual void best_config_write()
Definition: incop.h:277
virtual void move_execution(Configuration *configuration, Move *move)
Definition: csproblem.cpp:197
virtual void init_population(Configuration **population, int populationsize)
Definition: incop.h:284
virtual void compute_var_conflict(Configuration *configuration)
Definition: incop.h:305
virtual void fullincr_update_conflicts(FullincrCSPConfiguration *configuration, Move *move)
Definition: incop.h:255
Move * currentmove
Definition: incop.h:238
virtual void next_move(Configuration *configuration, Move *move, NeighborhoodSearch *nbhs)
Definition: incop.h:268
virtual void adjust_parameters(Configuration *configuration, int &maxneighbors, int &minneighbors)
Definition: incop.h:265
int domainsize
Definition: incop.h:232
virtual void random_configuration(Configuration *configuration)
Definition: incop.h:271
Move * firstmove
Definition: incop.h:241
Move * bestmove
Definition: incop.h:244
virtual Long config_evaluation(Configuration *configuration)
Definition: incop.h:293
virtual Long compute_conflict(Configuration *configuration, int var, int val)
Definition: incop.h:290
virtual void best_config_verification()
Definition: csproblem.cpp:257
virtual Move * create_move()
Definition: incop.h:262
virtual Configuration * create_configuration()
Definition: incop.h:287
virtual void allocate_moves()
Definition: csproblem.cpp:249
virtual int value2index(int value, int var)
Definition: incop.h:302
virtual void best_config_analysis()
Definition: incop.h:274
virtual Long move_evaluation(Configuration *configuration, Move *move)
Definition: incop.h:296
Long lower_bound
Definition: incop.h:235
virtual int index2value(int index, int var)
Definition: incop.h:299
virtual void incr_update_conflicts(IncrCSPConfiguration *configuration, Move *move)
Definition: incop.h:252
Configuration * best_config
Definition: incop.h:226
double temperature
Definition: incop.h:565
double inittemperature
Definition: incop.h:559
double delta
Definition: incop.h:562
void executebeforemove(Move *move, Configuration *configuration, OpProblem *problem)
Definition: incopalgo.cpp:1114
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:1103
SimulatedAnnealing(double initialtemperature, int walklength)
Definition: incopalgo.cpp:89
Long thresholdmin
Definition: incop.h:720
double thresholddescent
Definition: incop.h:717
float P0
Definition: incop.h:597
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:1185
float Pd
Definition: incop.h:594
int nontabumove(Move *move)
Definition: incopalgo.cpp:1050
list< Move * > move_list
Definition: incop.h:468
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:1028
int tabulength
Definition: incop.h:465
void reinit(OpProblem *problem)
Definition: incopalgo.cpp:1010
void executebeforemove(Move *move, Configuration *configuration, OpProblem *problem)
Definition: incopalgo.cpp:1059
void reinit(OpProblem *problem)
Definition: incopalgo.cpp:1095
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:1084
ThresholdAccepting(double maxthreshold, int walklength)
Definition: incopalgo.cpp:82
double thresholdinit
Definition: incop.h:530
double thresholdaccept
Definition: incop.h:536
void executebeforemove(Move *move, Configuration *configuration, OpProblem *problem)
Definition: incopalgo.cpp:1089
double delta
Definition: incop.h:533