"Fossies" - the Fresh Open Source Software Archive
Member "relax-5.0.0/minfx/CHANGES" (25 Aug 2020, 12762 Bytes) of package /linux/privat/relax-5.0.0.src.tar.bz2:
As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard
) with prefixed line numbers.
Alternatively you can here view
the uninterpreted source code file.
1 Version 1.0.12
2 (20 October 2015, from /trunk)
6 * N/A
10 * Updated minfx to protect against future changes occurring in the numpy Python package. From numpy version 1.9, the FutureWarning "__main__:1: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future." is seen in a number of minfx's optimisation algorithms, and in all of the constraint algorithms. The issue is that the behaviour of the comparison operators '==' and '!=' will change with future numpy versions. These have been replaced with 'is' and 'is not' throughout.
14 * N/A
17 Version 1.0.11
18 (23 September 2014, from /trunk)
22 * Added a check for an infinite target function value to the main optimisation loop. This is to prevent the problem that certain optimisation algorithms will continue indefinitely when infinite target function values are encountered.
23 * Added a check for an infinite target function value to the Method of Multiplers main loop. The check in the optimisation main loop for infinite values is not sufficient for stopping the constraint algorithms. The Augmented Lagrangian or Method of Multiplers algorithm will continue forever even if the optimisation sub loop terminates.
24 * Added a check for an infinite target function value to the logarithmic barrier main loop. The check in the optimisation main loop for infinite values is not sufficient for stopping the constraint algorithms. The log-barrier constraint algorithm will continue forever even if the optimisation sub loop terminates.
28 * N/A
32 * N/A
36 Version 1.0.10
37 (01 September 2014, from /trunk)
41 * Implemented the log-barrier constraint algorithm gradient and Hessian. This implements equations 17.25 and 17.26 of Nocedal J. and Wright S. J. (1999), Numerical Optimisation, Springer Series in Operations Research. Springer-Verlag, New York.
45 * N/A
49 * Fixes for grid search printouts when the verbosity level is >= 2. The parameter values for each grid point was being printed out as the minimum parameter values rather than the current parameter values.
53 Version 1.0.9
54 (23 July 2014, from /trunk)
58 * N/A
62 * Removed all details about Freecode from the release checklist. The old minfx links are still there (http://freecode.com/projects/minfx), but Freecode is dead (http://freecode.com/about).
66 * Bug fix for the minfx grid.grid_split() function for when only one grid point exists. This was previously only yielding a single subdivision consisting of NaN values. The situation is now caught and the single grid point is set to the half way point between the upper and lower bounds.
70 Version 1.0.8
71 (14 July 2014, from /trunk)
75 * Created the minfx.grid.grid_split_array() function. This is similar to the minfx.grid.grid_split() but it instead works with the output of the minfx.grid.grid_point_array() function, i.e. it accepts a list of grid points instead of generating the points itself. The function is used to split up a grid search into equal parts for use in parallelisation.
79 * Turned down the verbosity level to zero in the new minfx.grid.grid_split_array() function. This was accidentally left on a debugging level of 10.
80 * The grid module grid_split() and grid_split_array() are now more verbose. If the verbosity flag is set, these functions now report that the grid points are being split up and also the statistics of the total number of points, number of divisions, and the size of each subdivision.
81 * Better spacing for the printouts from the minfx.grid.grid_split*() functions.
82 * Modified the printouts from the minfx.grid.grid_search*() functions. These are only activated when the number of divisions is greater than 1. This allows the functions to be called by code which performs a grid search on either a single processor or multiple processor system.
83 * Formatting improvements for the printouts from the minfx.grid.grid_search*() functions.
87 * Big bug fix for the minfx.grid.grid_split() function. This function is used to split a grid search up into equal sized blocks, taking constraints into account, specifically for the purpose of running each block on a slave in a cluster or thread on a multi-core system. However the blocks returned were not from the grid points trimmed after checking constraints, but rather the original non-constrained points. Hence if constraints eliminated points, those points might be used but points at the end of the grid would be dropped instead.
88 * More fixes for fatal problems with the minfx.grid.grid_split() function. The verbosity and print_prefix variables were not included in the keyword arguments, hence if constraints were supplied this function would raise an error. These have now been added.
92 Version 1.0.7
93 (17 June 2014, from /trunk)
97 * N/A
101 * Changed the default initial epsilon0 value for the log barrier constraint algorithm. The original value of 0.01 was too large, causing the optimisation space to be too severely perturbed, so the value has been decreased to 1e-5.
105 * N/A
109 Version 1.0.6
110 (24 April 2014, from /trunk)
114 * Constraints are now implemented for the point array grid search. This is to simplify life for the user by removing the need to pre-filter out points in the array
115 which violate the constraints.
119 * N/A
123 * N/A
127 Version 1.0.5
128 (27 May 2013, from /trunk)
132 * Added the sparseness argument to the grid search. This allows parameters to be decoupled in the grid search, skipping large parts of the grid. This can be used if two parameters do not influence each other and hence that subset of the full grid can be skipped.
136 * Improved the grid search printouts for verbosity levels greater than 2.
137 * Removed the name 'relax' from the minfx API documentation creation script, this is a remnant from the project relax (http://www.nmr-relax.com).
138 * Added the API documentation creation to the release checklist document.
139 * Eypdoc markup for some docstring links.
140 * Improvements to the Epydoc markup of the website in all module docstrings. This changes the link text from the URL https://gna.org/projects/minfx to "minfx optimisation library".
141 * Updated the release checklist to include information about updating the FSF directory.
142 * Created the minfx.__Version__ constant for better identification of the minfx version.
143 * Updated the out of date Release_Checklist document.
147 * N/A
151 Version 1.0.4
152 (9 March 2013, from /trunk)
156 * An implementation of the logarithmic barrier augmented function constraint algorithm.
157 * Regularised the printout of iteration information across the whole of minfx.
161 * Prepared minfx for Python 3 using the 2to3 command.
162 * Updated all of the docstrings to the epydoc format (http://epydoc.sourceforge.net).
163 * A few more epydoc fixes, mainly for lists in the docstrings.
164 * Modified the test module so that it only executes when run directly from Python.
165 * Python 3.0 preparatory fixes, replacing all `x` instances with repr(x).
166 * Python 3 preparations - converted all raise and print statements to functions.
167 * Python 3 preparations - all minfx modules are now using the relative module path import.
168 * Python 3 preparations - the except statements have been modified to handle all Python 2.4+ versions.
169 * Python 3 - more relative import changes.
170 * Python 3 - converted all print statements to function calls in the method_of_multipliers module.
171 * Python 3 - fix for a broken print() function call in the scipy anneal module.
172 * Python 3 - Used absolute module paths for the imports in the grid module.
173 * Python 3 - class inheritance problems. These changes fix the error "TypeError: Cannot create a consistent method resolution order (MRO) for bases..."
174 * Python 3 preparations - mass replacement of all xrange() calls with range().
175 * Python 3 import fix - the relative module path is needed.
176 * Added module and package docstrings throughout the minfx sources. The URL https://gna.org/projects/minfx/ has also been added to all copyright notices and module/package docstrings using Epydoc formatting.
177 * Added a script for creating API documentation using Epydoc.
181 * A grid search of 1 increment in one of the dimensions is now properly supported, this problem was reported by Tiago Pais as a relax (http://nmr-relax.com) bug at https://gna.org/bugs/index.php?18019.
182 * Missing import of the sys module in the base class.
183 * The function convergence test now no longer requires a gradient value.
187 Version 1.0.3
188 (27 August 2011, from /trunk)
192 * Addition of the scipy anneal.py module for an initial and temporary implementation of simulated annealing.
193 * The grid search accepts an arbitrary list of points to allow a completely non-linear search.
194 * Addition of a minfx specific error system.
197 * Added support for constraints into grid_split(), points which violate the constraints are now eliminated prior to the grid subdivision.
198 * Added the grid_split() generator function. This takes a linear grid, converts it to a linear array of points, and then splits these returning each grid subdivision.
199 * The optimisation output is more consistent, the numpy array has been even better formatted.
200 * Modified the grid search to return a warning and to handle models with zero parameters.
201 * The output of generic_minimise() has been cleaned up - the numpy parameter is printed as a list.
202 * The optimisation output has been prettified - the numpy array has been better formatted.
203 * Modified the grid search print out to be prettier.
204 * Redesigned the grid search function. The grid_ops arg has been replaced by the more intuitive num_incs, lower and upper args from the number of increments, lower bound, and upper bound value lists respectively. The new incs argument has been added to allow custom non-linear grid searches. The new MinfxError system is now being used, and many arguments are being checked. The docstring has been converted to epydoc format.
205 * A MinfxError is now raised if the supplied minimisation algorithm cannot be identified.
206 * Removed the grid search option from the generic_minimise() function. The minimisation options are too messy and inflexible. The grid search should be preformed by direct calls to grid.grid().
207 * Modified the grid search print out to indicated the number of grid points used.
210 * Print out fix for the grid search when the verbosity level was set great than 2.
211 * Fix for grid_split() for when the number of divisions is more than the total number of points.
212 * Bug fix for the catching of models with zero parameters.
216 Version 1.0.2
217 (30 August 2009, from /trunk)
221 * Added support for Python 2.6 - the variable 'as' can no longer be used as it is now a Python statement!
224 * N/A
227 * Fixed a rare bug in the backtracking line search sub-algorithm affecting very distorted spaces (see bug #12501).
230 Version 1.0.1
231 (28 September 2008, from /trunk)
235 * Full conversion from Numeric python to numpy.
236 * Improved testing for the Hessian being positive definite in the Cholesky Hessian modification.
237 * Models of zero size can now be handled.
238 * More graceful failure for when the gradient is not supplied when needed.
241 * Switch from GPLv2 to GPLv3.
244 * Module name clash in the Cholesky Hessian modification.