1 c****************************************************************************** 2 c FILE: pgapackf.h 3 c 4 c Authors: David M. Levine, Philip L. Hallstrom, David M. Noelle, 5 c Brian P. Walenz 6 c*****************************************************************************/ 7 c *** I/O FLAGS 8 CBARF !! is NULL ok? 9 integer STDIN, STDOUT, STDERR, NULL 10 parameter(STDIN=5, STDOUT=6, STDERR=6, NULL=0) 11 12 13 c *** ABSTRACT DATA TYPES 14 integer PGA_DATATYPE_BINARY 15 parameter( PGA_DATATYPE_BINARY = 1) 16 integer PGA_DATATYPE_INTEGER 17 parameter( PGA_DATATYPE_INTEGER = 2) 18 integer PGA_DATATYPE_REAL 19 parameter( PGA_DATATYPE_REAL = 3) 20 integer PGA_DATATYPE_CHARACTER 21 parameter( PGA_DATATYPE_CHARACTER = 4) 22 integer PGA_DATATYPE_USER 23 parameter( PGA_DATATYPE_USER = 5) 24 25 integer PGA_INT 26 parameter( PGA_INT = 1) 27 integer PGA_DOUBLE 28 parameter( PGA_DOUBLE = 2) 29 integer PGA_CHAR 30 parameter( PGA_CHAR = 3) 31 integer PGA_VOID 32 parameter( PGA_VOID = 4) 33 34 35 c *** BOOLEANS & FLAGS 36 integer PGA_TRUE 37 parameter ( PGA_TRUE = 1) 38 integer PGA_FALSE 39 parameter ( PGA_FALSE = 0) 40 41 integer PGA_FATAL 42 parameter ( PGA_FATAL = 1) 43 integer PGA_WARNING 44 parameter ( PGA_WARNING = 2) 45 46 47 integer PGA_UNINITIALIZED_INT 48 parameter ( PGA_UNINITIALIZED_INT = -3827) 49 double precision PGA_UNINITIALIZED_DOUBLE 50 parameter ( PGA_UNINITIALIZED_DOUBLE = -968.3827) 51 52 c *** TEMP & POP REFERENT CONSTANTS 53 integer PGA_TEMP1 54 parameter ( PGA_TEMP1 = -1138) 55 integer PGA_TEMP2 56 parameter ( PGA_TEMP2 = -4239) 57 58 integer PGA_OLDPOP 59 parameter ( PGA_OLDPOP = -6728) 60 integer PGA_NEWPOP 61 parameter ( PGA_NEWPOP = -8376) 62 63 c *** DEBUG LEVELS 64 integer PGA_DEBUG_ENTERED 65 parameter ( PGA_DEBUG_ENTERED = 12) 66 integer PGA_DEBUG_EXIT 67 parameter ( PGA_DEBUG_EXIT = 13) 68 integer PGA_DEBUG_MALLOC 69 parameter ( PGA_DEBUG_MALLOC = 80) 70 integer PGA_DEBUG_PRINTVAR 71 parameter ( PGA_DEBUG_PRINTVAR = 82) 72 integer PGA_DEBUG_SEND 73 parameter ( PGA_DEBUG_SEND = 22) 74 integer PGA_DEBUG_RECV 75 parameter ( PGA_DEBUG_RECV = 23) 76 integer PGA_DEBUG_MAXPGAPACKFUNCTIONS 77 parameter ( PGA_DEBUG_MAXPGAPACKFUNCTIONS = 300) 78 integer PGA_DEBUG_MAXFLAGS 79 parameter ( PGA_DEBUG_MAXFLAGS = 1000) 80 81 c *** DIRECTION 82 integer PGA_MAXIMIZE 83 parameter ( PGA_MAXIMIZE = 1) 84 integer PGA_MINIMIZE 85 parameter ( PGA_MINIMIZE = 2) 86 87 c *** STOPPING CRITERIA 88 integer PGA_STOP_MAXITER 89 parameter ( PGA_STOP_MAXITER = 1) 90 integer PGA_STOP_NOCHANGE 91 parameter ( PGA_STOP_NOCHANGE = 2) 92 integer PGA_STOP_TOOSIMILAR 93 parameter ( PGA_STOP_TOOSIMILAR = 4) 94 95 c *** CROSSOVER 96 integer PGA_CROSSOVER_ONEPT 97 parameter ( PGA_CROSSOVER_ONEPT = 1) 98 integer PGA_CROSSOVER_TWOPT 99 parameter ( PGA_CROSSOVER_TWOPT = 2) 100 integer PGA_CROSSOVER_UNIFORM 101 parameter ( PGA_CROSSOVER_UNIFORM = 3) 102 103 c *** SELECTION 104 integer PGA_SELECT_PROPORTIONAL 105 parameter ( PGA_SELECT_PROPORTIONAL = 1) 106 integer PGA_SELECT_SUS 107 parameter ( PGA_SELECT_SUS = 2) 108 integer PGA_SELECT_TOURNAMENT 109 parameter ( PGA_SELECT_TOURNAMENT = 3) 110 integer PGA_SELECT_PTOURNAMENT 111 parameter ( PGA_SELECT_PTOURNAMENT = 4) 112 113 c *** FITNESS 114 integer PGA_FITNESS_RAW 115 parameter ( PGA_FITNESS_RAW = 1) 116 integer PGA_FITNESS_NORMAL 117 parameter ( PGA_FITNESS_NORMAL = 2) 118 integer PGA_FITNESS_RANKING 119 parameter ( PGA_FITNESS_RANKING = 3) 120 121 c *** FITNESS (MINIMIZATION) 122 integer PGA_FITNESSMIN_RECIPROCAL 123 parameter ( PGA_FITNESSMIN_RECIPROCAL = 1) 124 integer PGA_FITNESSMIN_CMAX 125 parameter ( PGA_FITNESSMIN_CMAX = 2) 126 127 c *** MUTATION 128 integer PGA_MUTATION_CONSTANT 129 parameter ( PGA_MUTATION_CONSTANT = 1) 130 integer PGA_MUTATION_RANGE 131 parameter ( PGA_MUTATION_RANGE = 2) 132 integer PGA_MUTATION_UNIFORM 133 parameter ( PGA_MUTATION_UNIFORM = 3) 134 integer PGA_MUTATION_GAUSSIAN 135 parameter ( PGA_MUTATION_GAUSSIAN = 4) 136 integer PGA_MUTATION_PERMUTE 137 parameter ( PGA_MUTATION_PERMUTE = 5) 138 139 c *** POPULATION REPLACEMENT 140 integer PGA_POPREPL_BEST 141 parameter ( PGA_POPREPL_BEST = 1) 142 integer PGA_POPREPL_RANDOM_NOREP 143 parameter ( PGA_POPREPL_RANDOM_NOREP = 2) 144 integer PGA_POPREPL_RANDOM_REP 145 parameter ( PGA_POPREPL_RANDOM_REP = 3) 146 147 c *** REPORT OPTIONS 148 integer PGA_REPORT_ONLINE 149 parameter ( PGA_REPORT_ONLINE = 1 ) 150 integer PGA_REPORT_OFFLINE 151 parameter ( PGA_REPORT_OFFLINE = 2 ) 152 integer PGA_REPORT_HAMMING 153 parameter ( PGA_REPORT_HAMMING = 4 ) 154 integer PGA_REPORT_STRING 155 parameter ( PGA_REPORT_STRING = 8 ) 156 integer PGA_REPORT_WORST 157 parameter ( PGA_REPORT_WORST = 16 ) 158 integer PGA_REPORT_AVERAGE 159 parameter ( PGA_REPORT_AVERAGE = 32 ) 160 161 c *** RANDOMIZER 162 integer PGA_IINIT_PERMUTE 163 parameter ( PGA_IINIT_PERMUTE = 1) 164 integer PGA_IINIT_RANGE 165 parameter ( PGA_IINIT_RANGE = 2) 166 integer PGA_CINIT_LOWER 167 parameter ( PGA_CINIT_LOWER = 1) 168 integer PGA_CINIT_UPPER 169 parameter ( PGA_CINIT_UPPER = 2) 170 integer PGA_CINIT_MIXED 171 parameter ( PGA_CINIT_MIXED = 3) 172 173 c *** SET USER FUNCTION 174 integer PGA_USERFUNCTION_CREATESTRING 175 parameter ( PGA_USERFUNCTION_CREATESTRING = 1) 176 integer PGA_USERFUNCTION_MUTATION 177 parameter ( PGA_USERFUNCTION_MUTATION = 2) 178 integer PGA_USERFUNCTION_CROSSOVER 179 parameter ( PGA_USERFUNCTION_CROSSOVER = 3) 180 integer PGA_USERFUNCTION_PRINTSTRING 181 parameter ( PGA_USERFUNCTION_PRINTSTRING = 4) 182 integer PGA_USERFUNCTION_COPYSTRING 183 parameter ( PGA_USERFUNCTION_COPYSTRING = 5) 184 integer PGA_USERFUNCTION_DUPLICATE 185 parameter ( PGA_USERFUNCTION_DUPLICATE = 6) 186 integer PGA_USERFUNCTION_INITSTRING 187 parameter ( PGA_USERFUNCTION_INITSTRING = 7) 188 integer PGA_USERFUNCTION_BUILDDATATYPE 189 parameter ( PGA_USERFUNCTION_BUILDDATATYPE = 8) 190 integer PGA_USERFUNCTION_STOPCOND 191 parameter ( PGA_USERFUNCTION_STOPCOND = 9) 192 integer PGA_USERFUNCTION_ENDOFGEN 193 parameter ( PGA_USERFUNCTION_ENDOFGEN = 10) 194 195 c *** TAGS 196 integer PGA_COMM_STRINGTOEVAL 197 parameter ( PGA_COMM_STRINGTOEVAL = 1) 198 integer PGA_COMM_EVALOFSTRING 199 parameter ( PGA_COMM_EVALOFSTRING = 2) 200 integer PGA_COMM_DONEWITHEVALS 201 parameter ( PGA_COMM_DONEWITHEVALS = 3) 202 integer PGAGetBinaryAllele 203 double precision PGAGetBinaryInitProb 204 character PGAGetCharacterAllele 205 integer PGACreate 206 integer PGAGetRandomInitFlag 207 integer PGAGetCrossoverType 208 double precision PGAGetCrossoverProb 209 double precision PGAGetUniformCrossoverProb 210 integer PGADuplicate 211 integer PGAGetNoDuplicatesFlag 212 double precision PGAGetEvaluation 213 integer PGAGetEvaluationUpToDateFlag 214 double precision PGAGetRealFromBinary 215 double precision PGAGetRealFromGrayCode 216 integer PGAGetIntegerFromBinary 217 integer PGAGetIntegerFromGrayCode 218 integer PGARank 219 double precision PGAGetFitness 220 integer PGAGetFitnessType 221 integer PGAGetFitnessMinType 222 double precision PGAGetMaxFitnessRank 223 double precision PGAGetFitnessCmaxValue 224 double precision PGAHammingDistance 225 integer PGAGetIntegerAllele 226 integer PGAGetIntegerInitType 227 integer PGAGetMinIntegerInitValue 228 integer PGAGetMaxIntegerInitValue 229 integer PGAMutate 230 integer PGAGetMutationType 231 double precision PGAGetMutationRealValue 232 integer PGAGetMutationIntegerValue 233 integer PGAGetMutationBoundedFlag 234 double precision PGAGetMutationProb 235 integer PGABuildDatatype 236 integer PGAGetRank 237 integer PGAGetNumProcs 238 integer PGAGetCommunicator 239 integer PGAGetDataType 240 integer PGAGetOptDirFlag 241 integer PGAGetStringLength 242 integer PGAGetGAIterValue 243 integer PGAGetMutationOrCrossoverFlag 244 integer PGAGetMutationAndCrossoverFlag 245 integer PGAGetPopSize 246 integer PGAGetNumReplaceValue 247 integer PGAGetPopReplaceType 248 integer PGAGetSortedPopIndex 249 integer PGARandomFlip 250 integer PGARandomInterval 251 double precision PGARandom01 252 double precision PGARandomUniform 253 double precision PGARandomGaussian 254 integer PGAGetRandomSeed 255 double precision PGAGetRealAllele 256 double precision PGAGetMinRealInitValue 257 double precision PGAGetMaxRealInitValue 258 integer PGAGetRealInitType 259 integer PGAGetPrintFrequencyValue 260 integer PGAGetRestartFlag 261 integer PGAGetRestartFrequencyValue 262 double precision PGAGetRestartAlleleChangeProb 263 integer PGASelectNextIndex 264 integer PGAGetSelectType 265 double precision PGAGetPTournamentProb 266 integer PGADone 267 integer PGACheckStoppingConditions 268 integer PGAGetStoppingRuleType 269 integer PGAGetMaxGAIterValue 270 integer PGAGetMaxMachineIntValue 271 integer PGAGetMinMachineIntValue 272 double precision PGAGetMaxMachineDoubleValue 273 double precision PGAGetMinMachineDoubleValue 274 double precision PGAMean 275 double precision PGAStddev 276 integer PGARound 277 integer PGACheckSum 278 integer PGAGetWorstIndex 279 integer PGAGetBestIndex 280 281 external PGAGetBinaryAllele 282 external PGAGetBinaryInitProb 283 external PGAGetCharacterAllele 284 external PGACreate 285 external PGAGetRandomInitFlag 286 external PGAGetCrossoverType 287 external PGAGetCrossoverProb 288 external PGAGetUniformCrossoverProb 289 external PGADuplicate 290 external PGAGetNoDuplicatesFlag 291 external PGAGetEvaluation 292 external PGAGetEvaluationUpToDateFlag 293 external PGAGetRealFromBinary 294 external PGAGetRealFromGrayCode 295 external PGAGetIntegerFromBinary 296 external PGAGetIntegerFromGrayCode 297 external PGARank 298 external PGAGetFitness 299 external PGAGetFitnessType 300 external PGAGetFitnessMinType 301 external PGAGetMaxFitnessRank 302 external PGAGetFitnessCmaxValue 303 external PGAHammingDistance 304 external PGAGetIntegerAllele 305 external PGAGetIntegerInitType 306 external PGAGetMinIntegerInitValue 307 external PGAGetMaxIntegerInitValue 308 external PGAMutate 309 external PGAGetMutationType 310 external PGAGetMutationRealValue 311 external PGAGetMutationIntegerValue 312 external PGAGetMutationBoundedFlag 313 external PGAGetMutationProb 314 external PGABuildDatatype 315 external PGAGetRank 316 external PGAGetNumProcs 317 external PGAGetCommunicator 318 external PGAGetDataType 319 external PGAGetOptDirFlag 320 external PGAGetStringLength 321 external PGAGetGAIterValue 322 external PGAGetMutationOrCrossoverFlag 323 external PGAGetMutationAndCrossoverFlag 324 external PGAGetPopSize 325 external PGAGetNumReplaceValue 326 external PGAGetPopReplaceType 327 external PGAGetSortedPopIndex 328 external PGARandomFlip 329 external PGARandomInterval 330 external PGARandom01 331 external PGARandomUniform 332 external PGARandomGaussian 333 external PGAGetRandomSeed 334 external PGAGetRealAllele 335 external PGAGetMinRealInitValue 336 external PGAGetMaxRealInitValue 337 external PGAGetRealInitType 338 external PGAGetPrintFrequencyValue 339 external PGAGetRestartFlag 340 external PGAGetRestartFrequencyValue 341 external PGAGetRestartAlleleChangeProb 342 external PGASelectNextIndex 343 external PGAGetSelectType 344 external PGAGetPTournamentProb 345 external PGADone 346 external PGACheckStoppingConditions 347 external PGAGetStoppingRuleType 348 external PGAGetMaxGAIterValue 349 external PGAGetMaxMachineIntValue 350 external PGAGetMinMachineIntValue 351 external PGAGetMaxMachineDoubleValue 352 external PGAGetMinMachineDoubleValue 353 external PGAMean 354 external PGAStddev 355 external PGARound 356 external PGACheckSum 357 external PGAGetWorstIndex 358 external PGAGetBestIndex 359 360