Commit Graph

6914 Commits

Author SHA1 Message Date
Gilles Sadowski b89f677c67 Relax tolerance (unit tests). 2021-09-01 13:34:56 +02:00
Gilles Sadowski 6e11126615 Spurious "throws" clauses. 2021-09-01 11:25:20 +02:00
Gilles Sadowski b222580737 Replace algorithm used in "best list" search.
Although efficient in terms of evaluations, "NelderMeadTransform" fails for
some higher-dimensional test functions.
2021-09-01 03:43:05 +02:00
Gilles Sadowski f44cae3985 Upgrade dependency. 2021-08-28 03:19:57 +02:00
Gilles Sadowski 1811eeaf37 Unused "import". 2021-08-27 20:58:27 +02:00
Gilles Sadowski bf1c2c214c Remove obsolete helper class for unit testing.
Retries are handled by the "surefire" plugin.
2021-08-27 19:16:03 +02:00
Gilles Sadowski dd0acaa9ff Relax expectations (unit test). 2021-08-27 19:15:17 +02:00
Gilles Sadowski 6f33d5f0a7 Fix incorrect usage of "ROSENBROCK" test function (unit tests). 2021-08-27 18:35:47 +02:00
Gilles Sadowski cc5ae51f98 Favouring the "expanded" simplex over the "reflected" one.
This modification decreases the number of function evaluations in several
test cases. Note however that the original description of the algorithm
uses the strict inequality...
2021-08-27 17:24:51 +02:00
Gilles Sadowski f1ad9d1b00 Simplex search in higher-dimensional cases (unit test). 2021-08-27 05:37:49 +02:00
Gilles Sadowski ca826ba76b Add (back) "POwELL" standard test function for optimizers. 2021-08-26 23:56:42 +02:00
Gilles Sadowski f58da4abf5 Use default SA setup in "SimplexOptimizerTest" (unit test).
A single additional search finds the optimum of the test functions.
2021-08-26 02:05:15 +02:00
Gilles Sadowski 06ec7ad0bc MATH-1622: Simulated annealing entails at least one additional search.
Also ensure that the "best list" contains at least two points.
2021-08-26 01:39:46 +02:00
Gilles Sadowski 677f5f7a3f Input files for "SimplexOptimizerTest" (unit tests). 2021-08-25 01:51:34 +02:00
Gilles Sadowski 2ccdf8d002 MATH-1622: Simulated annealing variant of "NelderMeadTransform". 2021-08-25 01:50:28 +02:00
Gilles Sadowski 80a7eb1832 Change how simulated annealing affects the transformed simplex (cf. MATH-1622).
Compared with commit 97462b1a1b, this commit is
more consistent with assumptions of the original (non-hybridized) algorithm.
2021-08-24 15:46:10 +02:00
Gilles Sadowski c21a810558 Useless local variable. 2021-08-24 04:09:42 +02:00
Gilles Sadowski f8d7476614 Input files for "SimplexOptimizerTest" (unit tests). 2021-08-24 01:28:43 +02:00
Gilles Sadowski 97462b1a1b MATH-1622: Simulated annealing variant of "MultiDirectionalTransform". 2021-08-24 01:18:16 +02:00
Alex Herbert 47904caeb8 Update exception fr locale to match changes to en locale 2021-08-23 07:40:55 +01:00
Alex Herbert 21f8008108 MATH-1627: Throw an exception when column or row sums are zero. 2021-08-22 21:43:52 +01:00
Alex Herbert 991314d461 Remove incorrect localization format for zero exception 2021-08-22 21:43:52 +01:00
Alex Herbert dc639967c2 Fix localization formats used by ZeroException.
The ZeroException preprends zero to the arguments. The {0} corresponds
to zero. All arguments to be formatted must start at {1}.
2021-08-22 21:43:52 +01:00
Gilles Sadowski fb314ef3df Spurious "throws" clauses. 2021-08-22 03:46:25 +02:00
Gilles Sadowski 9bb5791906 Redundant inner class. 2021-08-22 03:28:37 +02:00
Gilles Sadowski f466637d82 Merge branch 'master' of https://gitbox.apache.org/repos/asf/commons-math 2021-08-22 02:32:10 +02:00
Gilles Sadowski 78fbc5f07c Update script for visual check of "SimplexOptimizerTest" debugging output.
Allow displaying negative values of the objective function.
2021-08-22 02:30:01 +02:00
Gilles Sadowski 1e7bce134f Adapt input files for "SimplexOptimizerTest" (unit tests).
The current tests are "baseline" (2D) cases.
Further work should check degradation with increased dimensionality.
2021-08-22 02:14:53 +02:00
Gilles Sadowski 14ebd93426 Relax expected number of evaluations (unit test).
Optimization is sensitive to the change from "AccurateMath" to "Math"
for computing the "pow" function used in "TestFunction.SUM_POW".
2021-08-22 01:10:04 +02:00
Alex Herbert bdb4160b00 Add variance tests for zero weights
Update javadoc for the behaviour when input weights are zero.

This issue was found when checking the sonar report for the variance
class which has a potential divide by zero if the weights sum to zero.
2021-08-21 14:37:13 +02:00
Alex Herbert 033c7e2c39 Correct verification of zero length values and weights
This bug was found when checking the sonar report for the variance class
which uses MathArrays.verifyValues.
2021-08-21 14:37:13 +02:00
Alex Herbert 5245a685a0 sonar fix: Handle variance=0 in skewness computation for input array 2021-08-21 14:37:13 +02:00
Alex Herbert 30aa597f1e sonar fix: Ensure checkFeasableCount is not negative.
Change loop condition to 'i <= checkFeasableCount' from 'i <
checkFeasableCount + 1'

This ensures the loop to identify a new feasible column (RealMatrix
arxk) always executes at least once even with checkFeasibleCount at the
limit of 0 or Integer.MAX_VALUE.
2021-08-21 14:37:13 +02:00
Alex Herbert 228a832532 Javadoc typo 2021-08-21 14:37:13 +02:00
Alex Herbert 75c7377e47 Only restore interrupted state if necessary 2021-08-21 14:37:13 +02:00
Alex Herbert 26e4a737f7 Javadoc typo 2021-08-21 14:37:13 +02:00
Alex Herbert 1bdb310ffa Sonar fix: restore thread interrupted state 2021-08-21 14:37:13 +02:00
Gilles Sadowski 3ba0221c26 Simplify data format for "SimplexOptimizerTest" (randomized) input.
This commit also makes the following changes (unit tests):
 * Add/remove/rename/rewrite test functions.
2021-08-21 14:33:30 +02:00
Alex Herbert 569e35ddbe Add variance tests for zero weights
Update javadoc for the behaviour when input weights are zero.

This issue was found when checking the sonar report for the variance
class which has a potential divide by zero if the weights sum to zero.
2021-08-21 10:04:49 +01:00
Alex Herbert a2efd4fad5 Correct verification of zero length values and weights
This bug was found when checking the sonar report for the variance class
which uses MathArrays.verifyValues.
2021-08-21 09:58:13 +01:00
Alex Herbert 3f7de0eb1e sonar fix: Handle variance=0 in skewness computation for input array 2021-08-21 09:11:05 +01:00
Alex Herbert 1fdd55981d sonar fix: Ensure checkFeasableCount is not negative.
Change loop condition to 'i <= checkFeasableCount' from 'i <
checkFeasableCount + 1'

This ensures the loop to identify a new feasible column (RealMatrix
arxk) always executes at least once even with checkFeasibleCount at the
limit of 0 or Integer.MAX_VALUE.
2021-08-21 08:16:20 +01:00
Alex Herbert 69bab476a5 Javadoc typo 2021-08-20 22:23:58 +01:00
Alex Herbert 5201f2c5fa Only restore interrupted state if necessary 2021-08-20 21:19:23 +01:00
Alex Herbert 7ee70ef474 Javadoc typo 2021-08-20 13:44:15 +01:00
Alex Herbert 09dd29e56d Sonar fix: restore thread interrupted state 2021-08-20 13:38:10 +01:00
Alex Herbert 7813ecb115 Update plugin order in pom
checkstyle
spotbugs
pmd
2021-08-19 00:35:58 +01:00
Alex Herbert 86624912ff Update distribution source archive specification
Copy from commons-rng multi-module project
2021-08-19 00:29:56 +01:00
Alex Herbert b6acad285d Remove checksum from installed artifacts
This creates md5 and sha1 checksums for the dist-archive pom in the
local maven repository. It is not required.
2021-08-19 00:19:54 +01:00
Alex Herbert c8b45d43fa Add jars to dist archive 2021-08-19 00:19:54 +01:00