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
Alex Herbert
6e1e402ed6
Remove plugin checks from default goal
...
These plugins already run using executions:
apache-rat:check (validate)
checkstyle:check (verify)
Added to verify using executions:
pmd:check
spotbugs:check
2021-08-19 00:09:46 +01:00
Alex Herbert
e693b4d264
Use JUnit 5 Assertions for exact double equality
...
Fix checkstyle
2021-08-18 23:33:00 +01:00
Alex Herbert
56b7b12c2a
Simplify atan2 expressions when y is non-zero
2021-08-18 23:16:01 +01:00
Alex Herbert
7cb883c54b
sonar fix: avoid division by zero in atan2 when y=0
2021-08-18 23:02:55 +01:00
Alex Herbert
f06bb2aa3f
Update atan2 special cases test
...
Enumerate all combinations of 0, infinity and another value (0.1) with
+/- for each. Results are the same with java.lang.Math.
2021-08-18 23:02:55 +01:00
Alex Herbert
f6fe96b23f
Sonar fix: Replace x != x with Double.isNaN
2021-08-18 18:30:53 +01:00
Alex Herbert
e97c3288a5
Sonar fix: Cast operands to double before assigning result to double
2021-08-18 16:41:10 +01:00