toulbar2
autotuning2.h
1 #ifndef INCOP_AUTOTUNING2_HPP_
2 #define INCOP_AUTOTUNING2_HPP_
3 
4 /* Reglage automatique d'un algorithme à un paramètre */
8 class Tuning {
9 public:
10  int param;
11  int parammin;
12  int parammax;
13  int parambest;
14  int paramdico1;
15  int paramdico2;
16  int boundmin;
17  int boundmax;
18  double value;
19  double valuemin;
20  double valuemax;
21  double valuebest;
22  double valuedico1;
23  double valuedico2;
24  int seed;
25  int nbtries;
26  int maxtuning;
27  int trynumber;
28  int stop;
29  float referencetime;
30  virtual int firsttry();
31  Tuning(int pinit, int seed1, int nbessai, int maxtun, int bmin, int bmax);
32  virtual void run(LSAlgorithm* algo, OpProblem* problem, Configuration** configuration);
33  virtual void onerun(OpProblem* problem, LSAlgorithm* algo, Configuration** population);
34  virtual void onerunparam(OpProblem* problem, LSAlgorithm* algo, Configuration** population, int param);
35  void oneparameterwrite(LSAlgorithm* algo, int parameter);
36  virtual int end();
37 };
38 
39 void autosolving(LSAlgorithm* algo, Configuration** configuration, OpProblem* problem, int npb, int graine1, int nbessais, double maxtime, int initwalklength);
40 int autotuning(LSAlgorithm* algo, Configuration** population, OpProblem* problem, int graine1, int nbessais);
41 int endoslve(double maxtime);
42 
43 /* Réglage automatique d'un algorithme à deux paramètres */
45 class DoubleTuning : public Tuning {
46 public:
47  int param2min;
48  int param2max;
49  int param2best;
50  int param2dico1;
51  int param2dico2;
52  int bound2min;
53  int bound2max;
54  double value2;
55  double value2min;
56  double value2max;
57  double value2best;
58  double value2dico1;
59  double value2dico2;
60  int trynumber1;
61  int maxtuning2;
62  int firsttry();
63  DoubleTuning(int pinit1, int pinit2, int seed1, int nbessai, int maxtun, int maxtun2, int bmin, int b2min, int bmax, int b2max);
64  void run(LSAlgorithm* algo, OpProblem* problem, Configuration** configuration);
65  void onerun2param(OpProblem* problem, LSAlgorithm* algo, Configuration** configuration, int parameter1, int parameter2);
66  void simplerun(LSAlgorithm* algo, OpProblem* problem, Configuration** configuration, int parameter);
67  void doubleparameterwrite(LSAlgorithm* algo, int parameter1, int parameter2);
68 };
69 
70 void autosolving2(LSAlgorithm* algo, Configuration** configuration, OpProblem* problem, int npb, int graine1, int nbessais, double maxtime, int initwalklength);
71 void autosolving1(LSAlgorithm* algo, Configuration** configuration, OpProblem* problem, int npb, int graine1, int nbessais, double maxtime, int initwalklength);
72 
73 void autotuning2(LSAlgorithm* algo, Configuration** population, OpProblem* problem, int graine1, int nbessais, int&
74  parameter1,
75  int& parameter2, int tuningwalkrate, int tuningmaxtries);
76 int endoslve(double maxtime);
77 
78 #endif /* INCOP_AUTOTUNING2_HPP_ */
Definition: incop.h:87
Definition: autotuning2.h:45
Definition: incop.h:397
Definition: incop.h:222
Definition: autotuning2.h:8