source: trunk/optimizer/src/pgapack/gekco/pgapack/CHANGES @ 815

Last change on this file since 815 was 815, checked in by liveletlive, 16 years ago

Committing the /tmp/gekco/pgapack folder that contains the older PGAPack version and Prof. Klimecks changes to it.

File size: 8.4 KB
Line 
1Changes in Version 1.0
2======================
3
4        1)  Added support for parallel execution of the global model (single
5            population) using MPI (Message Passing Interface).
6
7        2)  Added support for a restart operator.  The best string is used
8            to reinitialize the population.
9
10        3)  Added support for new native data type Character.
11
12        4)  Added support to specify the multiplier of the worst evaluation
13            value when remapping a minimization problem.
14
15        5)  Separated specification of mutation type from rate.
16
17        6)  Added new integer mutation operators.
18
19        7)  Added an option to maintain integer and real allele values within
20            the range specified on initialization after mutation.
21
22        8)  The configure script argument -optimize has been removed and
23            replaced with the -debug switch for compiling a debug version.
24            An optimized version of PGAPack is now built by default.
25
26        9)  The configure script argument -arch AIX has been replaced with
27            -arch rs6000.
28
29        10)  The configure script now accepts the -cflags and -flags switchs to
30            supply supply options to the C and FORTRAN compiler, respectively.
31
32        11)  Changed PGATRUE and PGAFALSE to PGA_TRUE and PGA_FALSE.
33
34        12) Renamed debug macros to begin with PGA_DEBUG instead of PGADEBUG.
35
36        13) Renamed report macros to begin with PGA_REPORT (instead of, for
37            example PGA_ONLINE).
38
39        14) Removed macro PGAERROR from pgapack.h.
40
41        15) Rewrote PGARandomInterval(ctx, L, U) so that it would not
42            return L-1.  It now returns [L, U].
43
44        16) PGADone, PGAUpdateGenertaion and PGAEvaluate all take an MPI
45            communicator as the last argument.  See PGARunGM in parallel.c
46            for details on how to rewrite a user run routine.
47
48        17) Removed "Time" from the output.
49
50        18) Shortened the names of the source files as follows:
51
52                character.c                  char.c
53                crossover.c                  cross.c
54                duplicate.c                  duplcate.c
55                f2c_interface.c              f2c.c
56
57        19) Shortened the name of the examples files as follows:
58
59                maxbit_custom.c              maxbitc.c
60                maxbit_menu.c                maxbitm.c
61                maxint_custom.c              maxbitc.c
62                rastrigin.c                  rstrgnb.c
63                real_rastrigin.c             rstrgnr.c
64                udt_struct.c                 udtstr.c
65                udt_struct_array.c           udtastr.c
66
67        20) Replaced the function names on the left with the function   
68            names on the right.  The Perl script ./util/upgrade_script.pl
69            may be of use in automating part of the renaming process on
70            exisiting files.
71
72        PGABinaryBuildIndividualDatatype()
73                                        -> PGABinaryBuildDatatype()
74        PGABinaryRandomize()            -> PGABinaryInitString()
75        PGABinaryWrite()                -> PGABinaryPrint()
76        PGABinaryWriteString()          -> PGABinaryPrintString()
77        PGABuildIndividualDatatype()    -> PGABuildDatatype()
78        PGACharacterBuildIndividualDatatype()
79                                        -> PGACharacterBuildDatatype()
80        PGACharacterRandomize()         -> PGACharacterInitString()
81        PGACharacterWriteString()       -> PGACharacterPrintString()
82        PGAFitnessLinNor()              -> PGAFitnessLinearNormal()
83        PGAFitnessLinRank()             -> PGAFitnessLinearRank()
84        PGAFitnessMinRecprl()           -> PGAFitnessMinReciprocal()
85        PGAGetEvalUpToDate()            -> PGAGetEvaluationUpToDateFlag()
86        PGAGetEvaluate()                -> PGAGetEvaluation()
87        PGAGetFitnessRankMax()          -> PGAGetMaxFitnessRank()
88        PGAGetBest()                    -> PGAGetBestIndex()
89        PGAGetWorst()                   -> PGAGetWorstIndex()
90        PGAGetInitIntegerMax()          -> PGAGetMaxIntegerInitValue()
91        PGAGetInitIntegerMin()          -> PGAGetMinIntegerInitValue()
92        PGAGetInitRealMax()             -> PGAGetMaxRealInitValue()
93        PGAGetInitRealMin()             -> PGAGetMinRealInitValue()
94        PGAGetIntegerType()             -> PGAGetIntegerInitType()
95        PGAGetIter()                    -> PGAGetGAIterValue()
96        PGAGetMaxDouble()               -> PGAGetMaxMachineDoubleValue()
97        PGAGetMaxInt()                  -> PGAGetMaxMachineIntValue()
98        PGAGetMaxIter()                 -> PGAGetMaxGAIterValue()
99        PGAGetMinDouble()               -> PGAGetMinMachineDoubleValue()
100        PGAGetMinInt()                  -> PGAGetMinMachineIntValue()
101        PGAGetMutateIntegerVal()        -> PGAGetMutationIntegerValue()
102        PGAGetMutateOnlyNoCross()       -> PGAGetMutationAndCrossoverFlag()
103                                        -> PGAGetMutationOrCrossoverFlag()
104        PGAGetMutateRealVal()           -> PGAGetMutationRealValue()   
105        PGAGetNoDuplicates()            -> PGAGetNoDuplicatesFlag()
106        PGAGetNprocs()                  -> PGAGetNumProcs()
107        PGAGetNumReplace()              -> PGAGetNumReplaceValue()
108        PGAGetOptDir()                  -> PGAGetOptDirFlag()
109        PGAGetPID()                     -> PGAGetRank()
110        PGAGetPopReplace()              -> PGAGetPopReplaceType()
111        PGAGetPrintFreq()               -> PGAGetPrintFrequency()
112        PGAGetRandomInit()              -> PGAGetRandomInitFlag()
113        PGAGetRestart()                 -> PGAGetRestartFlag()
114        PGAGetRestartFrequency()        -> PGAGetRestartFrequencyValue()
115        PGAGetSortPop()                 -> PGAGetSortedPopIndex()
116        PGAGetStoppingRule()            -> PGAGetStoppingRuleType()
117        PGAGetStringLen()               -> PGAGetStringLength()
118        PGAGetUniformCrossProb()        -> PGAGetUniformCrossoverProb()
119        PGAIntegerBuildIndividualDatatype()
120                                        -> PGAIntegerBuildDatatype()   
121        PGAIntegerRandomize()           -> PGAIntegerInitString()
122        PGAIntegerWriteString()         -> PGAIntegerPrintString()
123        PGAParallelDone()               -> PGADoneMS()
124        PGAParallelEvaluateMS()         -> PGAEvaluateMS()
125        PGAPrintContext()               -> PGAPrintContextVariable()
126        PGAPrintVersion()               -> PGAPrintVersionNumber()
127        PGARealBuildIndividualDatatype()-> PGARealBuildDatatype()
128        PGARealRandomize()              -> PGARealInitString()
129        PGARealWriteString()            -> PGARealPrintString()
130        PGARunMutateAndCross()          -> PGARunMutationAndCrossover()
131        PGARunMutateOrCross()           -> PGARunMutationOrCrossover()
132        PGASelectNext()                 -> PGASelectNextIndex()
133        PGASetCharacterInit()           -> PGASetCharacterInitType()   
134        PGASetEvaluate()                -> PGASetEvaluation()
135        PGASetEvalUpToDate()            -> PGASetEvaluationUpToDateFlag()
136        PGASetFitnessRankMax()          -> PGASetMaxFitnessRank()
137        PGASetIntegerInitLU()           -> PGASetIntegerInitRange()
138        PGASetMaxIter()                 -> PGASetMaxGAIterValue()
139        PGASetMaxNoChange()             -> PGASetMaxNoChangeValue()
140        PGASetMaxSimilarity()           -> PGASetMaxSimilarityValue()
141        PGASetMutateOnlyNoCross()       -> PGASetMutationOrCrossoverFlag()
142                                        -> PGASetMutationAndCrossoverFlag()
143        PGASetMutationIntegerVal()      -> PGASetMutationIntegerValue()
144        PGASetMutationRealVal()         -> PGASetMutationRealValue()
145        PGASetNoDuplicates()            -> PGASetNoDuplicatesFlag()
146        PGASetNumReplace()              -> PGASetNumReplaceValue()
147        PGASetPopReplacement()          -> PGASetPopReplacementType()
148        PGASetPrintFreq()               -> PGASetPrintFrequencyValue()
149        PGASetRandomInit()              -> PGASetRandomInitFlag()
150        PGASetRealInitLU()              -> PGASetRealInitRange()
151        PGASetRestart()                 -> PGASetRestartFlag()
152        PGASetRestartFrequency()        -> PGASetRestartFrequencyValue()
153        PGASetStoppingRule()            -> PGASetStoppingRuleType()
154        PGASetSupportingDebugFlags()    -> PGASetDebugFlag()
155        PGASetUniformCrossProb()        -> PGASetUniformCrossoverProb()
156        PGAWriteString()                -> PGAPrintString()     
157
158
159Changes in Version 0.2b
160=======================
161
162        1) In PGABinaryTwoPointCrossover, add<ed a test before left-shifting.
163           The right operand of a shift must be strictly less than the number
164           of bits in the left operand, otherwise the result is undefined.
165
166        2) In udt_char.c, changed the data type to signed char since whether
167           char is signed is implementation dependent.
168
169        3) In real_rastrigin, made upper and lower to be dynamic arrays rather
170           than static arrays to allow variable string length.
171
172
173Changes in Version 0.2a
174=======================
175
176        1) Created pgapack-0.2.a.tar.Z to replace pgapack-0.2.tar.Z
177           when we found the IRIX's do not have a ranlib (unless it
178           is in /usr/local.
179
180        2) Deleted a space from ./examples/c/Makefile.in
181
182        3) Added the -w flag to FFLAGS for the freebsd version to
183           suppress warnings.
184
185
186Changes in Version 0.2
187======================
188
189        1) In PGASetUp, we changed the default value for the number of
190           individuals to replace each generation from 10 to 10% of the
191           population size.
192
193        2) Took all the parallel stuff out.
194
195        3) Defined PGAPrintReport and put various PGAPrint functions in
196           the new file system.c
197
198        5) Changed EvalUpToDate to all lower case.
199
200        6) Changed PGARunMutateOnlyNoCross to take PGA_OLDPOP and PGA_NEWPOP
201           as arguments
202
203        7) Changed the low-level ops functions to take p,pop as arguments
204           instead of a void pointer
205
206        8) Changed PGAMutate to a 3-argument function.  It just mutates,
207           but does not copy the string to its final location.  Use
208            PGACopyIndividual for that.
Note: See TracBrowser for help on using the repository browser.