00001
00004 class Tuning
00005 {public :
00006 int param;
00007 int parammin;
00008 int parammax;
00009 int parambest;
00010 int paramdico1;
00011 int paramdico2;
00012 int boundmin;
00013 int boundmax;
00014 double value;
00015 double valuemin;
00016 double valuemax;
00017 double valuebest;
00018 double valuedico1;
00019 double valuedico2;
00020 int seed;
00021 int nbtries;
00022 int maxtuning;
00023 int trynumber;
00024 int stop;
00025 float referencetime;
00026 virtual int firsttry();
00027 Tuning (int pinit, int seed1, int nbessai, int maxtun, int bmin, int bmax);
00028 virtual void run (LSAlgorithm* algo, OpProblem* problem, Configuration** configuration);
00029 virtual void onerun (OpProblem* problem, LSAlgorithm* algo, Configuration** population);
00030 virtual void onerunparam (OpProblem* problem, LSAlgorithm* algo, Configuration** population, int param);
00031 void oneparameterwrite(LSAlgorithm* algo, int parameter);
00032 virtual int end();
00033 };
00034
00035
00036
00037 void autosolving (LSAlgorithm* algo, Configuration** configuration, OpProblem* problem, int npb, int graine1, int nbessais, double maxtime, int initwalklength);
00038 int autotuning(LSAlgorithm* algo, Configuration** population, OpProblem* problem, int graine1, int nbessais);
00039 int endoslve(double maxtime);
00040
00041
00042
00044 class DoubleTuning : public Tuning
00045 {public :
00046 int param2min;
00047 int param2max;
00048 int param2best;
00049 int param2dico1;
00050 int param2dico2;
00051 int bound2min;
00052 int bound2max;
00053 double value2;
00054 double value2min;
00055 double value2max;
00056 double value2best;
00057 double value2dico1;
00058 double value2dico2;
00059 int trynumber1;
00060 int maxtuning2;
00061 int firsttry();
00062 DoubleTuning (int pinit1, int pinit2, int seed1, int nbessai, int maxtun, int maxtun2, int bmin, int b2min,int bmax, int b2max);
00063 void run (LSAlgorithm* algo, OpProblem* problem, Configuration** configuration);
00064 void onerun2param (OpProblem* problem, LSAlgorithm* algo, Configuration** configuration, int parameter1, int parameter2);
00065 void simplerun (LSAlgorithm* algo, OpProblem* problem, Configuration** configuration, int parameter);
00066 void doubleparameterwrite(LSAlgorithm* algo, int parameter1, int parameter2);
00067 };
00068
00069
00070 void autosolving2 (LSAlgorithm* algo, Configuration** configuration, OpProblem* problem, int npb, int graine1, int nbessais, double maxtime, int initwalklength);
00071 void autosolving1 (LSAlgorithm* algo, Configuration** configuration, OpProblem* problem, int npb, int graine1, int nbessais, double maxtime, int initwalklength);
00072
00073 void autotuning2(LSAlgorithm* algo, Configuration** population, OpProblem* problem, int graine1, int nbessais, int&
00074 parameter1, int& parameter2 ,int tuningwalkrate, int tuningmaxtries);
00075 int endoslve(double maxtime);