-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathChangeLog
executable file
·442 lines (399 loc) · 39.8 KB
/
ChangeLog
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
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
0.2-0 29-Nov-2012
o 'hydroPSO' : -) SPSO 2011 capable, which includes: (check the latest \url{clerc.maurice.free.fr/pso/SPSO_descriptions.pdf})
* new default value for swarm size (npart=40),
* new equation for updating the velocity ( V[t+1] = w*V + Gr -x + alea_sphere(Gr, ||Gr-x||) ),
* new initialization of the velocity ( Vini = U(lower-Xini, upper-Xini) )
* new confinement of the velocity ( V[t+1] = -0.5 * V[t], when x[t+1] > x_max | x[t+1] < x_min )
* optional normalisation of parameter values
-) improved performance: ~ 33% faster for 32-bit machines and 38% faster for 64-bit machines.
Tested on 10-, 20- and 30-D benchmark functions with 'write2disk=FALSE'.
-) new 'normalise' parameter for the 'control' variable, in order to improve the performance when the search space is not
a hypercube
-) 'fn' argument now can be any R function or a character. In the latter case, it can be "hydromod" or the name of a
valid R function. In previous versions of 'hydroPSO' only a character type was accepted.
-) now it handles models with sub-daily time step and with sub-daily observations (thanks to O. Rakovec !).
Suggested dependence on hydroGOF >= 0.3-5 and hydroTSM >= 0.3-6
-) new output file 'BestModel_out.txt', with the model outputs corresponding to the best parameter set.
Only available when 'fn.name=="hydromod"'
-) normalised swarm radius now it is computed using the median distance of all the particles the global best, instead of
using the maximum distance (as proposed in Evers and Ghalia 2009). This was done in order to make easier the
identification of the stagnation point for activating regrouping
-) when 'use.RG=TRUE', the default values for 'RG.thr', 'RG.r', and 'RG.miniter' were changed (related to the change in the
computation of swarm radius), from 1.1E-4, 0.8 and 5 to 1E-5, 2 and 100, respectively
-) argument 'method' now allows the following 3 new values: 'spso2007', 'spso2011' and 'canonical', which set the values of the PSO
engine to the ones of the SPSO 2007, SPSO 2011 and the canonical one, respectively.
-) argument 'method'. The old (default) value 'pso' was replaced by the new (default) value 'spso2011'
-) argument 'Vini.type' now allows 2 new values for setting the initial velocity of the particles according to the equation
specified in the SPSO 2011: 'random2011' and 'lhs2011', which use a uniform distribution or with a Latin-hypercube
sampling, respectively.
-) argument 'Vini.type'. The old values 'random' and 'lhs' were replaced by 'random2007' and 'lhs2007', in order to make
clear that it follows the equation described in SPSO 2007.
-) argument 'Vini.type', when missing its value depends on the value of the 'method' argument:
method == 'spso2007' => Vini.type='random2007'
method != 'spso2007' => Vini.type='random2011'
-) argument 'Xini.type', now its default value is 'random' instead of 'lhs', in order to make it compatible with the default
value for 'method' (method='spso2011')
-) argument 'npart', when missing its value depends on the value of the 'method' argument:
method == 'spso2007' => npart=10+2*[sqrt(n)]
method != 'spso2007' => npart=40
-) argument 'boundary.wall' now allows the following new values: 'absorbing2011', which set 'boundary.wall' to the
absorbing condition specified in the SPSO 2011
-) argument 'boundary.wall'. The old value 'absorbing' was replaced by 'absorbing2007', in order to make clear that is
follows the equation described in SPSO 2007.
-) argument 'boundary.wall', when missing its value depends on the value of the 'method' argument:
method == 'spso2007' => boundary.wall='absorbing2007'
method != 'spso2007' => boundary.wall='absorbing2011'
-) in the documentation, default values are now mentioned for each argument of 'control'.
-) the 'PSO_logfile.txt' output file now contains information about: 'best.update', 'random.update', 'Xini.type', 'Vini.type'
In addition, information about 'IW.type' and 'IW.exp' is now written only when 'length(IW.w) > 1'
-) output file 'BestParamPerParticle.txt' now has the GoF as first column (previously it was the last one)
-) fixed velocity equation for 'boundary.wall="reflecting"' :
ver <= 0.1-58 -> ver >= 0.2-0
v[t+1] : v[t] -> -v[t] (when x[t+1] > x_max | x[t+1] < x_min )
-) changed velocity equation for 'boundary.wall="damping"' :
ver <= 0.1-58 -> ver >= 0.2-0
v[t+1] : v[t] -> -v[t] (when x[t+1] > x_max | x[t+1] < x_min )
-) when the control argument 'out.with.fit.iter' (not used so far) is set to TRUE, the number of iterations returned
correspond to the effective number of iterations carried out, not the maximum defined by 'maxit'
-) observed values are now correctly written to disk for sub-daily models
-) the package now depends on R >= 2.13.0, not 2.10.0 as in previous releases, in order to be consistent with the
byte-compiler setting of the package
-) fixed some (very unlikely) error when 'IW.type="aiwf"'
o Running 'hydroPSO' >= 0.2-0 with default settings will produce DIFFERENT RESULTS from those obtained with 'hydroPSO' <= 0.1-58, due to the
following changes in default values:
ver <= 0.1-58 -> ver >= 0.2-0
-) npart : 10+2*[sqrt(n)] -> 40
-) Xini.type : 'lhs' -> 'random'
-) Vini.type : 'lhs2007' -> 'random2011'
-) boundary.wall: 'reflecting' -> 'absorbing2011'
-) TVc1.type : 'non-linear' -> 'linear' (no effect, because 'use.TVc1=FALSE' by default)
-) TVc2.type : 'non-linear' -> 'linear' (no effect, because 'use.TVc2=FALSE' by default)
-) TVlambda.type: 'non-linear' -> 'linear' (no effect, because 'use.TVlambda=FALSE' by default)
-) boundary.wall: 'reflecting' in hydroPSO ver <= 0.1-58 is not longer equivalent to 'reflecting' in
hydroPSO ver >= 0.1-58
o 'hydromod' : -) now it is able to handle sub-daily models
-) if the 'hydroGOF' package is not available, a simple correlation plot is produced between observations and
the best simulation
-) improved documentation
-) removed default value for 'exe.name' (previously './swat.out')
o 'test_functions' : -) new benchmark functions:
'schwefel' : Schwefel function
'ssphere' : shifted Sphere (CEC 2005),
'srosenbrock' : shifted Rosenbrock (CEC 2005),
'srastrigin' : shifted Rastrigin (CEC 2005),
'sgriewank' : shifted Griewank (CEC 2005),
'sackley' : shifted Ackley (CEC 2005),
'sschwefel1_2': shifted Schwefel's Problem 1.2 (CEC 2005)
-) added equations, description and references for each test function.
o 'plot_convergence': -) the label 'Gbest' was replaced by "Global Optimum' in the title of the plot and in the label of the 'y' axis, in
order to make it more intuitive to people non-familiar with PSO
o 'read_particles' : -) new argument 'do.pairs' (by default 'do.pairs=FALSE'), to control if the correlation matrix among parameters has to be plotted or not
(up to hydroPSO <=0.1.58 it was always plotted)
o 'plot_particles' : -) new argument 'do.pairs' (by default 'do.pairs=FALSE'), to control if the correlation matrix among parameters has to be plotted or not
(up to hydroPSO <=0.1.58 it was always plotted)
-) arguments 'MinMax' and 'beh.thr' are now passed to 'plot_NparOF'
-) arguments 'gofs', 'MinMax' and 'beh.thr' are now passed to 'params2ecdf'
o 'plot_results' : -) new argument 'do.pairs' (by default 'do.pairs=FALSE'), to control if the correlation matrix among parameters has to be plotted or not
(up to hydroPSO <=0.1.58 it was always plotted)
-) default value for 'alpha' argument was changed from 1 to 0.65
o 'plot_out' : -) argument 'MinMax' is not required any more!
-) argument 'sim' may also be 'integer' (before it had to be 'numeric', which does not allow 'integer' objects !)
o 'plot_NparOF' : -) new argument 'beh.thr' to allow selecting only behavioral parameter sets
-) argument 'MinMax' now accepts a NULL value (default)
-) default value for 'alpha' argument was changed from 1 to 0.65
o 'plot_2parOF' : -) default value for 'alpha' argument was changed from 1 to 0.65
o 'params2ecdf' : -) new arguments 'gofs', 'MinMax' and 'beh.thr'
o new function 'pest2hydroPSO' for importing PEST input files into hydroPSO
o new function 'hydroPSO2pest' for exporting hydroPSO input files to PEST
0.1-58 14-Sep-2012
o 'hydroPSO' : -) 'random.update' is now ONLY used when 'best.update="async". In hydroPSO 0.1-57 'random.update' was set to TRUE
by default, independent of the 'best.update="sync" value.
-) argument values are now effectively checked for: 'MinMax', 'Xini.type', 'Vini.type', 'best.update', 'boundary.wall',
'topology', 'IW.type', 'TVc1.type', 'TVc2.type', 'TVlambda.type'.
-) more and better examples
o 'test_functions': -) name of the "rastrigrin" function was changed to its correct name of "rastrigin", and modified in all the examples.
The old (and wrong) name 'rastrigrin' is kept only for backwards compatibility.
-) The definition of the 'schafferF6' function was corrected (changed) from:
0.5 + ( ( sin( sqrt( sum( x^2 ) ) ) )^2 - 0.5) / ( ( 1 + 0.01*sum(x^2) )^2 )
to:
0.5 + ( ( sin( sqrt( sum( x^2 ) ) ) )^2 - 0.5) / ( ( 1 + 0.001*sum(x^2) )^2 )
0.1-57 29-Jun-2012
o 'hydroPSO' : -) added '...' parameter. It is only used when 'fn' is different from "hydromod". This is only done for 'optim' compatibility.
-) fixed small bug related to improper PSO evolution when 'best.update'=="async" (NOT the default option !)
AND (topology!="gbest" | method!="pso")
-) new 'random.update' parameter for the 'control' variable, in order to allow random update of personal/global best
-) default value of the inertia weight 'IW' was changed from (linearly decreasing) IW.w= c(1.2, 0.4) to 'IW.w=1/(2*log(2))'
-) default value for the time-varying c1 was changed from (non-linearly decreasing) 'TVc1.rng= c(2.2, 1.8)' to
'TVc1.rng= c(1.28, 1.05)'. However, by default 'use.TVc1= FALSE' still.
-) default value for the time-varying c2 was changed from (non-linearly increasing) 'TVc1.rng= c(1.8, 2.2)' to
'TVc2.rng= c(1.05, 1.28)'. However, by default 'use.TVc2= FALSE' still.
-) default value for the time-varying lambda was changed from (non-linearly decreasing) 'TVlambda.rng= c(0.9, 0.1)' to
'TVlambda.rng= c(1, 0.25)'. However, by default 'use.TVlambda= FALSE' still.
-) default value for the exponent of the time-varying lambda was changed from 'TVlambda.exp= 1.7' to 'TVlambda.exp= 1'.
However, by default 'use.TVlambda= FALSE' still.
-) source code was tidy up
o 'plot_out' : -) Fixed error that appeared when the 'plot_out' function was called from an R script running directly on the OS console
(not within the R editor), with the following error message:
"Error in plot2(x = sim, y = obs, plot.type = "single", main = paste("Daily", :
could not find function "hasArg"
Calls: plot_results -> plot_out -> ggof -> plot2"
o 'plot_results': -) Same as immediately above (because 'plot_results' internally calls 'plot_out')
0.1-56 14-Jun-2012
o 'hydroPSO' : -) much less memory consumption for large values of 'maxit' and/or 'npart' (thanks to P. Smith for reporting it !)
The files 'BestParamPerIter.txt', 'PbestPerIter.txt', 'LocalBestPerIter.txt', 'Velocities.txt' are now written at the end of
each iteration, and not at the end of the main algorithm (so the corresponding local variables were removed)
-) the convergence of the algorithm controlled by 'reltol' is now defined by :
abs(reltol) <= abs(best.pbest[iter] - best.pbest[iter-1]),
instead of:
reltol <= [ gbest(iter) / ( gbest(iter-1) +reltol ) ]
-) 'PbestPerIter.txt' output file: now it has an additional first column labelled "Iter", with the iteration number
-) 'LocalBestPartPerIter.txt' output file: now it has an additional first column labelled "Iter", with the iteration number
-) 'BestParamPerIter.txt' output file: now it has an additional first column labelled "Iter", with the iteration number.
The column with the goodness-of-fit measure ('GoF') was changed from the last position to the second one
(just after the new 'Iter' column)
-) minor change: 'gbest.fit.prior' is now initialized in 'gbest.fit' instead of 'gbest.fit + 10*reltol'
o 'plot_results': -) 'drty.out' is now checked for existence before reading the results.
o Specific version numbers were added for the following suggested packages:
hydroGOF(>=0.3-3), hydroTSM(>= 0.3-0), zoo(>=1.7-2), xts(>=0.8-2)
0.1-55 11-May-2012
o 'hydromod' : -) 'sim' and 'obs' are now checked for time attributes when 'gof.Ini' and/or 'gof.Fin' is/are used
(thanks to M. Leh for reporting !)
o 'hydroPSO' : -) fixed bug originated when 'gof.Ini' and/or 'gof.Fin' was/were not given as parameters for .model.FUN.args.
(thanks to M. Leh for reporting !)
This bug originated the following error during the run of the model with the best parameter set:
"Error in as.Date.default(model.FUN.args[["gof.Ini"]]) : do not know how to convert 'model.FUN.args[["gof.Ini"]]' to class "Date" "
o 'plot_results' : the default value for 'ftype' was changed from "dm" to "o", to avoid problems with time series with a resolution
coarser than daily
o 'plot_out' : the default value for 'ftype' was changed from "dm" to "o", to avoid problems with time series with a resolution
coarser than daily
*) 01-Apr-2012 : 0.1-54
-) 'params2ecdf' : minor bugfix for png generation ('file' argument changed by 'filename')
-) 'plot_GofPerParticle' : minor bugfix for png generation ('file' argument changed by 'filename')
-) 'plot_ParamsPerIter' : minor bugfix for png generation ('file' argument changed by 'filename')
-) 'plot_convergence' : minor bugfix for png generation ('file' argument changed by 'filename')
-) 'plot_params' : minor bugfix for png generation ('file' argument changed by 'filename')
-) 'plot_particles' : minor bugfix for png generation ('file' argument changed by 'filename')
*) 23-Mar-2012 : 0.1-53
-) 'plot_2parOF' : -) new argument 'MinMax', to allow plotting the "best" points over the rest
-) new argument 'axis.rot', to allow rotation of axis labels
-) 'plot_NparOF' : -) new argument 'MinMax', to allow plotting the "best" points over the rest
-) new argument 'axis.rot', to allow rotation of axis labels
-) 'plot_out' : -) when 'ptype=="corr"', a lattice grid is added, to make easier the identification of values
-) when 'ptype=="corr"', the line type for the correlation line between obs and best sim was changed from 1 to 3.
-) 'plot_params' : -) title for individual figures was removed (with repeating the parameter name presented in the axis) for dottyplots, histograms and boxplots
-) nicer axis labels
-) 'plot_ParamsPerIter': -) title for individual figures was removed (with repeating the parameter name presented in the axis)
-) nicer axis labels
-) new argument 'verbose'
-) 'plot_2parOF' : -) less black margins and bold axis labels
-) 'plot_NparOF' : -) less black margins among figures and bold axis labels
-) 'hydroPSO' : -) 'of_out.txt' name was changed to 'Model_out.txt'
-) 'read_out' : -) 'of_out.txt' name was changed to 'Model_out.txt'
-) contact e-mails were updated
*) 09-Mar-2012 : 0.1-52
-) 'plot_params' : -) default value for 'breaks' argument was changed from "FD" to "Scott" (computation of histograms bins)
-) default value for 'freq' argument was changed from "FALSE" to "TRUE" (histograms plots)
-) 'read_params' : -) default value for 'breaks' argument was changed from "FD" to "Scott" (computation of histograms bins)
-) default value for 'freq' argument was changed from "FALSE" to "TRUE" (histograms plots)
-) 'plot_particles': -) default value for 'breaks' argument was changed from "FD" to "Scott" (computation of histograms bins)
-) default value for 'freq' argument was changed from "FALSE" to "TRUE" (histograms plots)
-) new argument 'alpha' (for allowing transparency of points in 3D-dotty plots)
-) 'read_particles': -) default value for 'breaks' argument was changed from "FD" to "Scott" (computation of histograms bins)
-) default value for 'freq' argument was changed from "FALSE" to "TRUE" (histograms plots)
-) new argument 'alpha' (for allowing transparency of points in 3D-dotty plots)
-) 'plot_results' : -) default value for 'breaks' argument was changed from "FD" to "Scott" (computation of histograms bins)
-) default value for 'freq' argument was changed from "FALSE" to "TRUE" (histograms plots)
-) new argument 'alpha' (for allowing transparency of points in 3D-dotty plots)
-) 'plot_2parOF' : -) new argument 'alpha' (for allowing transparency of points)
-) 'plot_NparOF' : -) new argument 'alpha' (for allowing transparency of points)
-) now the legend is drawn in a window different from the one of the last pair of parameters (much nicer than before !)
*) 24-Feb-2012 : 0.1-51
-) Start-up message was added, to show the authors of the package and how to cite it
-) 'hydroPSO' : -) arguments 'model.FUN' and 'model.FUN.args' were moved back from within the 'control' argument up to the main function.
-) not used message was removed from hydroPSO (showed after each regrouping)
-) 'lhoat' : -) arguments 'model.FUN' and 'model.FUN.args' were moved back from within the 'control' argument up to the main function.
-) 'verification' : -) arguments 'model.FUN' and 'model.FUN.args' were moved back from within the 'control' argument up to the main function.
-) 'read_out' : -) fixed buf when reading results of test functions (introduced in version 0.1-50)
*) 23-Feb-2012 : 0.1-50
-) improved examples in most of the functions
-) 'lhoat' : -) now it is (partially) able to manage models/objective functions that may return non-finite values as goodness-of-fit values (e.g., MODFLOW when the solver doesn't converge or some cells got dry)
-) 'verification' : -) arguments were modified in order to allow the analysis of any R function and not only of environmental models ('optim' compatibility)
-) improved format of output files (digits, GoF before parameter values, etc., ...)
-) 'read_out' : -) fixed bug that appeared when reading results created by running 'hydroPSO' with some of the test functions
-) fixed bug that appeared when reading observations that were not zoo objects
-) name of the argument 'plot.type' was changed to 'ptype'
-) new argument: 'modelout.cols', to be able to extract only some columns of the model output file.
-) 'plot_out' : -) new plot.type:' "quant2ecdf"
-) new argument: leg.pos
-) name of the argument 'plot.type' was changed to 'ptype'
-) 'q2ecdf' : -) its name was changed to 'quant2ecdf', in order to make clearer its purpose
-) its argument 'Qbeh' was changed by 'sim', in order to make avoid explicit reference to streamflows
-) its argument 'qobs' was changed by 'obs', in order to make avoid explicit reference to streamflows
-) default value for 'byrow' was changed form FALSE to TRUE, in order to make shorter its call within hydroPSO
-) new argument: leg.pos
-) 'params2ecdf' : -) new argument: 'obs'
-) new argument: leg.pos
-) now it produces more than 1 plot/PNG of the amount of parameters is larger than 21, in order to avoid figures that be too small
-) 'plot_results' : -) name of the argument 'modelout.png.fname' was changed by 'modelout.best.png.fname'
-) new argument: 'GOFcuts'
-) new argument: 'param.names', in order to plot only some of the calibrated parameters
-) Default values for params 'cex.main' and 'cex.lab' were slightly increased up to 1.7 and 1.5, respectively
-) 'plot2parOF' : -) its name was changed to 'plot_2parOF'
-) new argument: gofs
-) modified argumet: 'params', which now only includes parameter values, and NOT the goodness-of-fit of each one of them
-) 'plotNparOF' : -) new argument: gofs
-) modified argumet: 'params', which now only includes parameter values, and NOT the goodness-of-fit of each one of them
-) argument 'GOFcuts': default value was changed from missing to "auto"
-) 'plot_particles' : -) new argument: 'GOFcuts'
-) now it produces boxplots as well.
-) new argument: 'bxp.png.fname'
-) 'read_particles' : -) new argument: 'GOFcuts'
-) new argument: 'legend.pos' (not used yet, but required...)
-) new PNG arguments: do.png, png.width, png.height, png.res, dotty.png.fname, hist.png.fname, ecdf.png.fname, runs.png.fname, dp3d.png.fname, pairs.png.fname, 'bxp.png.fname'
-) 'hydroPSO' : -) minor bugfix in the generation of the 'Observations.txt' files
-) removed "effective reduction" message after each regrouping
-) 'plotIterParams' : -) its name was changed to 'plot_ParamsPerIter'
-) 'read_params' : -) argument 'plot.type' was renamed to 'ptype' (hydroTSM compatibility)
-) default value for argument 'param.cols' was changed form 'missing' to 'NULL'
-) default value for argument 'param.names' was changed form 'missing' to 'NULL'
-) it was transformed into a generic function, with method: default
-) 'plot_params' : -) argument 'plot.type' was renamed to 'ptype' (hydroTSM compatibility)
-) it was transformed into a generic function, with methods: default, matrix, data.frame
-) 'read_GofPerParticle': -) argument 'plot.type' was renamed to 'ptype' (hydroTSM compatibility)
-) 'read_results' : -) new argument: 'modelout.cols', to be able to extract only some columns of the model output file.
-) 'hydromod' : -) name of the output object 'sim.values' was changed to 'sim' (for simplicity)
*) 13-Feb-2012 : 0.1-49
-) 'hydromod' : -) call to 'system' was changed by a call to 'system2', in order to have a proper management of 'stdout' and 'stderr' in Windows OS.
-) 'ignore.stdout' argument was changed by 'stdout' ('system2' compatibility)
-) new argument 'stderr' ('system2' compatibility)
-) 'lhoat' : -) arguments were modified in order to allow the analysis of any R function and not only of environmental models ('optim' compatibility)
-) improved format of output files (digits, GoF before parameter values, etc., ...)
-) now it is able to manage models/objective functions that may return non-finite values as goodness-of-fit values (e.g., MODFLOW when the solver doesn't converge or some cells got dry)
-) parameters with RelativeImportance equal to zero now geta Ranking equal to the number of parameter, according to the description in Griensven et al.,2006
-) 'read_params': -) default plotting colour was changed from 'black' to '#00000030' (semi-transparent black), i order to better distinguish the density of the points in the region close to the "optimum"
'plot_params' -) the colour used to plot a vertical and horizontal line on the optimum point found by hydroPSO was changed from 'grey' to 'coral'
-) new 'plot.type': "pairs" (require the hydroTSM package)
-) 'hydroPSO' : -) user-defined 'control' parameters are now shown when the algorithm starts
-) fixed bug in asynchronous update of personal and global best (when some personal bests were NA)
-) default value for 'control[["npart"]]' was changed from 30 to NA. If the user do not specify a value for that argument, the SPSO-2007 value is used then: 'ceiling(10+2*sqrt(n))'
-) default value for 'control[["maxit"]]' was changed from 300 to 1000.
-) default value for 'control[["topology"]]' was changed from 'gbest' to 'random'.
-) default value for 'control[["use.TVc1"]]' was changed from 'FALSE' to 'TRUE'.
-) default value for 'control[["TVc1.type"]]' was changed from 'linear' to 'non-linear'.
-) default value for 'control[["TVc1.exp"]]' was changed from 1 to 1.5
-) default value for 'control[["TVc2.type"]]' was changed from 'linear' to 'non-linear' (by default 'use.TVc2=FALSE')
-) default value for 'control[["c1"]]' was changed from 2.05 to 0.5+log(2) (for SPSO-2007 compatibility)
-) default value for 'control[["c2"]]' was changed from 2.05 to 0.5+log(2) (for SPSO-2007 compatibility)
-) default value for 'control[["lambda"]]' was changed from 0.5 to 1 (for SPSO-2007 compatibility)
-) name of the argument 'control[["psoin.drty"]]' was changed to 'control[["drty.in"]]'
-) name of the argument 'control[["psoout.drty"]]' was changed to 'control[["drty.out"]]'
-) name of the argument 'control[["useTVvmax"]]' was changed to 'control[["useTVlambda"]]'
-) name of the argument 'control[["TVvmax.type"]]' was changed to 'control[["TVlambda.type"]]'
-) name of the argument 'control[["TVvmax.rng"]]' was changed to 'control[["TVlambda.rng"]]'
-) name of the argument 'control[["TVvmax.exp"]]' was changed to 'control[["TVlambda.exp"]]'
-) the option 'na.rm=TRUE' was added to the computation of min/max values in the following functions: 'sync.update.pgbests', 'UpdateLocalBest', 'compute.w.aiwf', 'hydroPSO'. This change was necessary in order to allow the correct computation of the best fit per iteration when the fitness of one or more particles was NA.
-) now the observed values provided provided in 'model.FUN.args' are saved to the output file 'Observations.txt'
-) 'read_out' : -) improved management of input files with different amount of columns in different rows of the file.
-) new arguments: 'beh.thr', 'MinMax'
-) 'read_particles' : -) fixed error produced when 'beh.thr' is lower than the minimum gof of all the parameter sets
-) 'read_params' : -) fixed error produced when 'beh.thr' is lower than the minimum gof of all the parameter sets
-) 'read_convergence': -) improved management of 'beh.thr' when this function is called from 'red_results' or 'plot_results'
-) 'plot_particles' : -) new argument 'png.drty'
-) new argument 'pairs.png.fname'
-) 'read_results' : -) name of the argument 'psoout.drty' was changed to 'drty.out'
-) 'plot_results' : -) name of the argument 'psoout.drty' was changed to 'drty.out'
-) new argument 'pairs.png.fname'
-) new function: 'plot_out'
*) 22-Ene-2012 : 0.1-48
-) fixed bug in regrouping for minimisation cases
-) fixed bug in methods 'fips' and 'wfips' for 'topology==random'
-) default value for control[["REPORT"]] was changed from 10 to 100
-) 'read_results': now -when the function is finished- leaves the user in the same directory of the initial call
-) improved .Rd files
-) added checkings for 'maxit < REPORT' and 'lambda' out of [0,1]
-) 'read_params': -) the argument 'beh.thr' is now used for discarding non behavioural parameter sets
-) improved management of the parameter names
-) the output of the function is not a single data.frame with parameter sets and goodness-of-fit measures, but a list of two elements: i) a data.frame with the parameter sets, and ii) anumeric vector with the goodness-of-fit measures separated
-) 'plot_params': -) the argument 'beh.thr' is now used for discarding non behavioural parameter sets
-) improved management of the parameter names
-) the argument 'of.col' was removed.
-) new argument 'gofs' which is used instead of 'of.col'
-) 'cex.main', 'cex.lab' and 'cex.axis' were changed, in all the plotting functions, from 1.2 to 1.5 in order to have font size better suited for "final" plots
*) 16-Ene-2012 : 0.1-47
-) name of the main function ('PSO') was changed to 'hydroPSO'
-) name of the 'n.particles' parameter was changed to 'npart'
-) name of the 'n.gbest' parameter was changed to 'ngbest'
-) in the 'fn' argument of the 'hydroPSO' function, 'hydromod' was changed as valid character for the argument by the character 'model', in order to avoid confusion with the 'hydromod' function
-) all the arguments but c(par, fn, method, lower, upper) where removed form the call to the function and they were replaced by the new argument 'control' (towards 'optim' compatibility)
-) new 'dumping' boundary condition
-) fixed bug in LHS introduced in v0.1-46 (formula restored to the one of v0.1-45)
-) fixed bug in the 'reflecting' boundary condition introduced in v0.1-46 (formula restored to the one of v0.1-45)
-) parameter 'par' is not longer required (different to 'optim'). If provided, the dimension of the solution space is taken from it, and if not it is taken from 'lower' and 'upper'.
-) 'lower' & 'upper' must be vectors with the dimension of the solution space (different to 'optim').
-) the name of the 'read.convergence' function was changed to 'read_convergence'
-) the name of the 'plot.convergence' function was changed to 'plot_convergence'
-) the name of the 'read.results' function was changed to 'read_results'
-) the name of the 'plot.best' function was changed to 'plot_results'
-) the name of the 'read.particles' function was changed to 'read_particles'
-) the name of the 'plot.particles' function was changed to 'plot_particles'
-) the name of the 'read.best' function was changed to 'read_best'
-) the name of the 'read.out' function was changed to 'read_out'
-) the name of the 'read.param' function was changed to 'read_params'
-) the name of the 'plotparam' function was changed to 'plot_params'
-) improved documentation
-) added 'ByteCompile' option to the package DESCRIPTION (by default set it to TRUE)
*) 29-Nov-2011 : 0.1-46
-) 'UpdateLocalBest': added 'LocalBest.pos' variable
-) fixed bug in 'compute.veloc' function for 'lbest' topology
-) fixed bugs in some test functions
-) parameter 'of.name' was changed to 'fn' (towards 'optim' compatibility), and now it can accept any R function
-) parameter 'n.iter' was changed to 'maxit' (towards 'optim' compatibility)
-) parameter 'stop.tol' was changed to 'reltol' (towards 'optim' compatibility)
-) parameter 'X.Boundaries' was changed by 'lower' & 'upper' (towards 'optim' compatibility)
-) parameter 'Xini' was changed to 'par' (towards 'optim' compatibility)
-) new parameter 'abstol' (towards 'optim' compatibility)
-) new parameter 'algorithm', which can be in c("canonical", "ipso", "fips"), in order to clearly separate topologies from improved PSO algorithms
-) new parameter 'maxfn' with the maximum number of function evaluations (towards 'psoptim' compatibility)
-) the following test functions are now exported and can be used as any R function: rosenbrock, sphere, rastrigrin, griewank, schafferF6, ackley.
-) arguments 'MinMax', 'topology', 'algorithm', 'best.update', 'boundary.wall', 'Xini.type', 'Vini.type', 'IW.type', 'TVc1.type', 'TVc2.type', 'TVvmax.type' are now get by using 'match.arg' function
-) clear distinction between "topology" (gbest, lbest) and "method" (canonical pso, ipso)
-) new topology 'vonNeumann' (particular case of lbest with 4 neighbours)
-) new topology 'random', based on SPSO 2007, described in Clerc 2005
-) new methods 'fips' & 'wfips'
-) new 'convergence', 'message' and 'counts' ( function.calls, iterations, regrouping ) fields added to the output of hydroPSO
-) name of the output element 'Best.Parameter.Values' was changed to 'par' (towards 'optim' compatibility)
-) name of the output element 'Global.Best.Value' was changed to 'value' (towards 'optim' compatibility)
-) name of the output element 'Global.Best.Position' was changed to 'best.particle' (towards 'optim' compatibility)
-) Velocity is now initialized as in SPSO 2007 (Vini= [ U(lower, upper) - Xini] / 2 )
*) 11-Nov-2011 : 0.1-45
-) Added scientific notation for simulated values in 'of_out.txt"
-) New read.convergence & plot.convergence functions
-) New read.particles & plot.particles functions
-) New read.velocities
-) New read.sim function for reading the output model simulated values
-) New read.best function
-) New read_results function, a wrapper to several reading functions for reading all the results produced by hydroPSO
-) New plot_results function, a wrapper to several plotting functions for reading all the results produced by hydroPSO
-) New 'read_convergence' and 'plot_convergence' functions
-) 'plotparam': thanks to Rodrigo Rojas'collaboration, this function was greatly improved, in order to get (almost) journal quality by default
-) 'of-out.txt' changed to 'of_out.txt', in order to avoid problems with the symbol '-'
-) 'PSO-logfile.txt' changed to 'PSO_logfile.txt', in order to avoid problems with the symbol '-'
-) Particles.txt : GoF is now writen as third column instead of as the last one
-) Velocities.txt : GoF is now writen as third column instead of as the last one
-) 'XtFitness.txt' was renamed to 'Particles_GofPerIter.txt'
-) 'plotParticlesGof' was renamed to 'read.GofPerParticle'
-) 28-Oct-2011 : 0.1-44. Added scientific notation for output files
-) 17-Oct-2011 : 0.1-43. Improved documentation to the PSO algorithm and small changes in the name of some control variables
-) 08-Oct-2011 : 0.1-42. Added documentation to the PSO algorithm
-) 05-Sep-2011 : 0.1-41. Added main title for 'plotparam', 'plotNparLines'
-) 01-Sep-2011 : 0.1-40.'plotparam': changed default columns and names for parameters
-) 24-Jun-2011 : parallel implementation with multi-core running with PSO and a hydrological model
-) May-2011 : Shuffling Evolution PSO working with generic hydromodel and generic goodness-of-fit function calls ('model.FUN' and 'model.FUN.args')
-) Apr-2011 : PSO
-) 29-Dec-2010 : new method: IPSO
-) ~ 23-Dec-2010: Shuffling Evolution PSO working with test functions
-) Dec-2010 : Shuffling Evolution PSO idea
-) Nov-2010 : PSO working with hydrological models
-) 2009-Oct2010: hydroPSO hibernation :(
-) Jul-2008 : canonical PSO working with some test functions
-) its name was changed to 'plot_NparOF'