main.cc
来自「PostsBayesian Optimization Algorithm wit」· CC 代码 · 共 114 行
CC
114 行
// ################################################################################//// name: main.cc //// author: Martin Pelikan//// purpose: main routine and the definition of input parameters//// last modified: February 1999//// #################################################################################include <stdio.h>#include "boa.h"#include "getFileArgs.h"#include "args.h"#include "fitness.h"#include "startUp.h"#include "header.h"BoaParams boaParams;// ==========================================================================// the definition of input parameters that can be specified in the input file ParamStruct params[] ={ {PARAM_LONG,"populationSize",&boaParams.N,"1200","Size of the population",NULL}, {PARAM_FLOAT,"parentsPercentage",&boaParams.percentParents,"50","The number of parents to select (% from population)",NULL}, {PARAM_FLOAT,"offspringPercentage",&boaParams.percentOffspring,"50","Size of offspring to create (% from population)",NULL}, {PARAM_DIVIDER,NULL,NULL,NULL,NULL,NULL}, {PARAM_INT,"fitnessFunction",&boaParams.fitnessNumber,"2","Number of fitness function to use",&getFitnessDesc}, {PARAM_INT,"problemSize",&boaParams.n,"30","Size of the problem (of one dimension)",NULL}, {PARAM_DIVIDER,NULL,NULL,NULL,NULL,NULL}, {PARAM_LONG,"maxNumberOfGenerations",&boaParams.maxGenerations,"200","Maximal Number of Generations to Perform",NULL}, {PARAM_LONG,"maxFitnessCalls",&boaParams.maxFitnessCalls,"-1","Maximal Number of Fitness Calls (-1 when unbounded)",NULL}, {PARAM_FLOAT,"epsilon",&boaParams.epsilon,"0.01","Termination threshold for the univ. freq. (-1 is ignore)",NULL}, {PARAM_CHAR,"stopWhenFoundOptimum",&boaParams.stopWhenFoundOptimum,"0","Stop if the optimum was found?", &yesNoDescriptor}, {PARAM_FLOAT,"maxOptimal",&boaParams.maxOptimal,"-1","Percentage of opt. & nonopt. ind. threshold (-1 is ignore)",NULL}, {PARAM_DIVIDER,NULL,NULL,NULL,NULL,NULL}, {PARAM_INT,"maxIncoming",&boaParams.maxIncoming,"2","Maximal number of incoming edges in dep. graph for the BOA",NULL}, {PARAM_DIVIDER,NULL,NULL,NULL,NULL,NULL}, {PARAM_CHAR,"pause",&boaParams.pause,"0","Wait for enter after printing out generation statistics?",NULL}, {PARAM_DIVIDER,NULL,NULL,NULL,NULL,NULL}, {PARAM_STRING,"outputFile",&(boaParams.outputFilename),NULL,"Output file name",NULL}, {PARAM_FLOAT,"guidanceThreshold",&boaParams.guidanceThreshold,"0.3","Threshold for guidance (closeness to 0,1)",NULL}, {PARAM_DIVIDER,NULL,NULL,NULL,NULL,NULL}, {PARAM_LONG,"randSeed",&boaParams.randSeed,"time","Random Seed",NULL}, {PARAM_END,NULL,NULL,NULL,NULL}};// ================================================================================//// name: main//// function: calls the initialization, the BOA, and the done methods, simply// the main function//// parameters: argc.........the number of arguments sent to the program// argv.........an array of arguments sent to the program (including// its name and the path)//// returns: (int) 0//// ================================================================================int main(int argc, char **argv){ // process the arguments, read the input file (if specified) startUp(argc, argv, params); // initialize the BOA initialize(&boaParams); // print the header to stdout, and most of the output files printTheHeader(stdout); printTheHeader(getLogFile()); printTheHeader(getModelFile()); // print the values of the parameters to stdout and the log file printParamValues(stdout,params); printParamValues(getLogFile(),params); // run the boa boa(&boaParams); // free the used resources done(&boaParams); // get back return 0;};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?