toulbar2
autotuning2.h
1#ifndef INCOP_AUTOTUNING2_HPP_
2#define INCOP_AUTOTUNING2_HPP_
3
4/* Reglage automatique d'un algorithme à un paramètre */
8class Tuning {
9public:
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
39void autosolving(LSAlgorithm* algo, Configuration** configuration, OpProblem* problem, int npb, int graine1, int nbessais, double maxtime, int initwalklength);
40int autotuning(LSAlgorithm* algo, Configuration** population, OpProblem* problem, int graine1, int nbessais);
41int endoslve(double maxtime);
42
43/* Réglage automatique d'un algorithme à deux paramètres */
45class DoubleTuning : public Tuning {
46public:
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
70void autosolving2(LSAlgorithm* algo, Configuration** configuration, OpProblem* problem, int npb, int graine1, int nbessais, double maxtime, int initwalklength);
71void autosolving1(LSAlgorithm* algo, Configuration** configuration, OpProblem* problem, int npb, int graine1, int nbessais, double maxtime, int initwalklength);
72
73void autotuning2(LSAlgorithm* algo, Configuration** population, OpProblem* problem, int graine1, int nbessais, int&
74 parameter1,
75 int& parameter2, int tuningwalkrate, int tuningmaxtries);
76int 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