00001
00002
00003
00004
00005 #include <stdio.h>
00006 #include <string.h>
00007 #include <time.h>
00008 #include <stdlib.h>
00009
00010 #include "bbobStructures.h"
00011
00012
00013 void MY_OPTIMIZER(double(*fgeneric)(double*), unsigned int dim, double ftarget, double maxfunevals);
00014
00015 int main(void)
00016 {
00017
00018
00019 unsigned int dim[6] = {2, 3, 5, 10, 20, 40};
00020 double timings[6];
00021 unsigned int runs[6];
00022 unsigned int dims[6];
00023 unsigned int i, idx_dim, nbrun;
00024 double ftarget;
00025 clock_t t0;
00026
00027 ParamStruct params = fgeneric_getDefaultPARAMS();
00028 strcpy(params.dataPath, "tmp");
00029 params.funcId = 8;
00030 params.instanceId = 1;
00031
00032 for (idx_dim = 0; idx_dim < 6; idx_dim++)
00033 {
00034 nbrun = 0;
00035 params.DIM = dim[idx_dim];
00036 ftarget = fgeneric_initialize(params);
00037 t0 = clock();
00038 while ((double)(clock()-t0)/CLOCKS_PER_SEC < 30.)
00039 {
00040 MY_OPTIMIZER(&fgeneric_evaluate, dim[idx_dim], ftarget, 1e5);
00041 nbrun ++;
00042 }
00043 timings[idx_dim] = (double)(clock()-t0)/CLOCKS_PER_SEC / (double)fgeneric_evaluations();
00044 dims[idx_dim] = dim[idx_dim];
00045 runs[idx_dim] = nbrun;
00046 fgeneric_finalize();
00047 printf("Dimensions:");
00048 for (i = 0; i <= idx_dim; i++)
00049 printf(" %11d ", dims[i]);
00050 printf("\n runs:");
00051 for (i = 0; i <= idx_dim; i++)
00052 printf(" %11d ", runs[i]);
00053 printf("\n times [s]:");
00054 for (i = 0; i <= idx_dim; i++)
00055 printf(" %11.1e ", timings[i]);
00056 printf("\n");
00057 }
00058 return 0;
00059 }