| Changes in Version 1.1 |
| ====================== |
| |
| 1) New COPYRIGHT -- the Mathematics and Computer Science Division |
| at Argonne National Laboratory has agreed to relicense PGAPACK |
| under the MPICH2 license. The COPYRIGHT file as well as all |
| source files in source/*.c have been updated accordingly. |
| |
| 2) man/manl/*.l: Set Section to 3 |
| |
| 3) source/integer.c: The off-by-one error reported by Robin Farin |
| in http://bugs.debian.org/333381 has been corrected. |
| |
| 4) source/report.c: Made two print statements conditional on |
| ctx->rep.PrintFreq > 0 to allow for complete suppression |
| |
| 5) source/mpi_stub.c: A different set of #define statements for |
| Fortran name mangling was introduced. |
| |
| 6) source/system.c: If PGAPACK was compiled with 'FAKE_MPI' defined |
| for a 'serial' debug version, print 'Sequential' instead of |
| 'Parallel' in the version number statement. |
| |
| 7) README: updated, removed two sections referring to now-defunct |
| websites and mailing lists. |
| |
| Changes in Version 1.0 |
| ====================== |
| |
| 1) Added support for parallel execution of the global model (single |
| population) using MPI (Message Passing Interface). |
| |
| 2) Added support for a restart operator. The best string is used |
| to reinitialize the population. |
| |
| 3) Added support for new native data type Character. |
| |
| 4) Added support to specify the multiplier of the worst evaluation |
| value when remapping a minimization problem. |
| |
| 5) Separated specification of mutation type from rate. |
| |
| 6) Added new integer mutation operators. |
| |
| 7) Added an option to maintain integer and real allele values within |
| the range specified on initialization after mutation. |
| |
| 8) The configure script argument -optimize has been removed and |
| replaced with the -debug switch for compiling a debug version. |
| An optimized version of PGAPack is now built by default. |
| |
| 9) The configure script argument -arch AIX has been replaced with |
| -arch rs6000. |
| |
| 10) The configure script now accepts the -cflags and -flags switchs to |
| supply supply options to the C and FORTRAN compiler, respectively. |
| |
| 11) Changed PGATRUE and PGAFALSE to PGA_TRUE and PGA_FALSE. |
| |
| 12) Renamed debug macros to begin with PGA_DEBUG instead of PGADEBUG. |
| |
| 13) Renamed report macros to begin with PGA_REPORT (instead of, for |
| example PGA_ONLINE). |
| |
| 14) Removed macro PGAERROR from pgapack.h. |
| |
| 15) Rewrote PGARandomInterval(ctx, L, U) so that it would not |
| return L-1. It now returns [L, U]. |
| |
| 16) PGADone, PGAUpdateGenertaion and PGAEvaluate all take an MPI |
| communicator as the last argument. See PGARunGM in parallel.c |
| for details on how to rewrite a user run routine. |
| |
| 17) Removed "Time" from the output. |
| |
| 18) Shortened the names of the source files as follows: |
| |
| character.c char.c |
| crossover.c cross.c |
| duplicate.c duplcate.c |
| f2c_interface.c f2c.c |
| |
| 19) Shortened the name of the examples files as follows: |
| |
| maxbit_custom.c maxbitc.c |
| maxbit_menu.c maxbitm.c |
| maxint_custom.c maxbitc.c |
| rastrigin.c rstrgnb.c |
| real_rastrigin.c rstrgnr.c |
| udt_struct.c udtstr.c |
| udt_struct_array.c udtastr.c |
| |
| 20) Replaced the function names on the left with the function |
| names on the right. The Perl script ./util/upgrade_script.pl |
| may be of use in automating part of the renaming process on |
| exisiting files. |
| |
| PGABinaryBuildIndividualDatatype() |
| -> PGABinaryBuildDatatype() |
| PGABinaryRandomize() -> PGABinaryInitString() |
| PGABinaryWrite() -> PGABinaryPrint() |
| PGABinaryWriteString() -> PGABinaryPrintString() |
| PGABuildIndividualDatatype() -> PGABuildDatatype() |
| PGACharacterBuildIndividualDatatype() |
| -> PGACharacterBuildDatatype() |
| PGACharacterRandomize() -> PGACharacterInitString() |
| PGACharacterWriteString() -> PGACharacterPrintString() |
| PGAFitnessLinNor() -> PGAFitnessLinearNormal() |
| PGAFitnessLinRank() -> PGAFitnessLinearRank() |
| PGAFitnessMinRecprl() -> PGAFitnessMinReciprocal() |
| PGAGetEvalUpToDate() -> PGAGetEvaluationUpToDateFlag() |
| PGAGetEvaluate() -> PGAGetEvaluation() |
| PGAGetFitnessRankMax() -> PGAGetMaxFitnessRank() |
| PGAGetBest() -> PGAGetBestIndex() |
| PGAGetWorst() -> PGAGetWorstIndex() |
| PGAGetInitIntegerMax() -> PGAGetMaxIntegerInitValue() |
| PGAGetInitIntegerMin() -> PGAGetMinIntegerInitValue() |
| PGAGetInitRealMax() -> PGAGetMaxRealInitValue() |
| PGAGetInitRealMin() -> PGAGetMinRealInitValue() |
| PGAGetIntegerType() -> PGAGetIntegerInitType() |
| PGAGetIter() -> PGAGetGAIterValue() |
| PGAGetMaxDouble() -> PGAGetMaxMachineDoubleValue() |
| PGAGetMaxInt() -> PGAGetMaxMachineIntValue() |
| PGAGetMaxIter() -> PGAGetMaxGAIterValue() |
| PGAGetMinDouble() -> PGAGetMinMachineDoubleValue() |
| PGAGetMinInt() -> PGAGetMinMachineIntValue() |
| PGAGetMutateIntegerVal() -> PGAGetMutationIntegerValue() |
| PGAGetMutateOnlyNoCross() -> PGAGetMutationAndCrossoverFlag() |
| -> PGAGetMutationOrCrossoverFlag() |
| PGAGetMutateRealVal() -> PGAGetMutationRealValue() |
| PGAGetNoDuplicates() -> PGAGetNoDuplicatesFlag() |
| PGAGetNprocs() -> PGAGetNumProcs() |
| PGAGetNumReplace() -> PGAGetNumReplaceValue() |
| PGAGetOptDir() -> PGAGetOptDirFlag() |
| PGAGetPID() -> PGAGetRank() |
| PGAGetPopReplace() -> PGAGetPopReplaceType() |
| PGAGetPrintFreq() -> PGAGetPrintFrequency() |
| PGAGetRandomInit() -> PGAGetRandomInitFlag() |
| PGAGetRestart() -> PGAGetRestartFlag() |
| PGAGetRestartFrequency() -> PGAGetRestartFrequencyValue() |
| PGAGetSortPop() -> PGAGetSortedPopIndex() |
| PGAGetStoppingRule() -> PGAGetStoppingRuleType() |
| PGAGetStringLen() -> PGAGetStringLength() |
| PGAGetUniformCrossProb() -> PGAGetUniformCrossoverProb() |
| PGAIntegerBuildIndividualDatatype() |
| -> PGAIntegerBuildDatatype() |
| PGAIntegerRandomize() -> PGAIntegerInitString() |
| PGAIntegerWriteString() -> PGAIntegerPrintString() |
| PGAParallelDone() -> PGADoneMS() |
| PGAParallelEvaluateMS() -> PGAEvaluateMS() |
| PGAPrintContext() -> PGAPrintContextVariable() |
| PGAPrintVersion() -> PGAPrintVersionNumber() |
| PGARealBuildIndividualDatatype()-> PGARealBuildDatatype() |
| PGARealRandomize() -> PGARealInitString() |
| PGARealWriteString() -> PGARealPrintString() |
| PGARunMutateAndCross() -> PGARunMutationAndCrossover() |
| PGARunMutateOrCross() -> PGARunMutationOrCrossover() |
| PGASelectNext() -> PGASelectNextIndex() |
| PGASetCharacterInit() -> PGASetCharacterInitType() |
| PGASetEvaluate() -> PGASetEvaluation() |
| PGASetEvalUpToDate() -> PGASetEvaluationUpToDateFlag() |
| PGASetFitnessRankMax() -> PGASetMaxFitnessRank() |
| PGASetIntegerInitLU() -> PGASetIntegerInitRange() |
| PGASetMaxIter() -> PGASetMaxGAIterValue() |
| PGASetMaxNoChange() -> PGASetMaxNoChangeValue() |
| PGASetMaxSimilarity() -> PGASetMaxSimilarityValue() |
| PGASetMutateOnlyNoCross() -> PGASetMutationOrCrossoverFlag() |
| -> PGASetMutationAndCrossoverFlag() |
| PGASetMutationIntegerVal() -> PGASetMutationIntegerValue() |
| PGASetMutationRealVal() -> PGASetMutationRealValue() |
| PGASetNoDuplicates() -> PGASetNoDuplicatesFlag() |
| PGASetNumReplace() -> PGASetNumReplaceValue() |
| PGASetPopReplacement() -> PGASetPopReplacementType() |
| PGASetPrintFreq() -> PGASetPrintFrequencyValue() |
| PGASetRandomInit() -> PGASetRandomInitFlag() |
| PGASetRealInitLU() -> PGASetRealInitRange() |
| PGASetRestart() -> PGASetRestartFlag() |
| PGASetRestartFrequency() -> PGASetRestartFrequencyValue() |
| PGASetStoppingRule() -> PGASetStoppingRuleType() |
| PGASetSupportingDebugFlags() -> PGASetDebugFlag() |
| PGASetUniformCrossProb() -> PGASetUniformCrossoverProb() |
| PGAWriteString() -> PGAPrintString() |
| |
| |
| Changes in Version 0.2b |
| ======================= |
| |
| 1) In PGABinaryTwoPointCrossover, add<ed a test before left-shifting. |
| The right operand of a shift must be strictly less than the number |
| of bits in the left operand, otherwise the result is undefined. |
| |
| 2) In udt_char.c, changed the data type to signed char since whether |
| char is signed is implementation dependent. |
| |
| 3) In real_rastrigin, made upper and lower to be dynamic arrays rather |
| than static arrays to allow variable string length. |
| |
| |
| Changes in Version 0.2a |
| ======================= |
| |
| 1) Created pgapack-0.2.a.tar.Z to replace pgapack-0.2.tar.Z |
| when we found the IRIX's do not have a ranlib (unless it |
| is in /usr/local. |
| |
| 2) Deleted a space from ./examples/c/Makefile.in |
| |
| 3) Added the -w flag to FFLAGS for the freebsd version to |
| suppress warnings. |
| |
| |
| Changes in Version 0.2 |
| ====================== |
| |
| 1) In PGASetUp, we changed the default value for the number of |
| individuals to replace each generation from 10 to 10% of the |
| population size. |
| |
| 2) Took all the parallel stuff out. |
| |
| 3) Defined PGAPrintReport and put various PGAPrint functions in |
| the new file system.c |
| |
| 5) Changed EvalUpToDate to all lower case. |
| |
| 6) Changed PGARunMutateOnlyNoCross to take PGA_OLDPOP and PGA_NEWPOP |
| as arguments |
| |
| 7) Changed the low-level ops functions to take p,pop as arguments |
| instead of a void pointer |
| |
| 8) Changed PGAMutate to a 3-argument function. It just mutates, |
| but does not copy the string to its final location. Use |
| PGACopyIndividual for that. |