-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathCHANGES
239 lines (187 loc) · 9.54 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
Changes after Version 1.1
=========================
See the git repository and for noteable changes the README.rst.
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.