1 | Changes 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 | |
---|
159 | Changes 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 | |
---|
173 | Changes 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 | |
---|
186 | Changes 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. |
---|