297 Commits

Author SHA1 Message Date
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 97462b1a1b6f64ab10e06db331d5b6762d979aab, 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
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
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
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
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
26e4a737f7 Javadoc typo 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
e97c3288a5 Sonar fix: Cast operands to double before assigning result to double 2021-08-18 16:41:10 +01:00
Alex Herbert
21a9aa4413 Sonar fix: use equals to compare Integers 2021-08-18 11:14:58 +01:00
Alex Herbert
0a42dc86cb Remove unused imports 2021-08-18 10:45:14 +01:00
Alex Herbert
58e0efc651 Sonarfix: Rename test for equality in markers
Use explicit equals method to check equality (not assertEquals)
2021-08-18 08:26:14 +01:00
Gilles Sadowski
9be74e3abd Nit: Display debug file name. 2021-08-16 02:03:08 +02:00
Gilles Sadowski
1d1fe2acc0 Make debugging parameters optional (unit test).
First optional parameter is the prefix of the output file's name.
Second optional parameter is the list of simplex vertices to save.
2021-08-15 18:55:49 +02:00
Gilles Sadowski
a0cd950a7c Simplify null checks. 2021-08-14 16:18:36 +02:00
Gilles Sadowski
8804071ac7 Update copyright information. 2021-08-14 03:24:08 +02:00
Gilles Sadowski
070676d219 MATH-1625: Gnuplot script for visual debugging. 2021-08-14 02:42:28 +02:00
Gilles Sadowski
5f36bf970a MATH-1625: Add callback to generate debugging output (unit test).
Debugging output is activated through specifying a file prefix in the CSV input file.
2021-08-14 01:51:43 +02:00
Gilles Sadowski
310b21e4d7 MATH-1625: Enable callback in "SimplexOptimizer". 2021-08-14 01:51:43 +02:00
Gilles Sadowski
e9d811daa3 Override "toString". 2021-08-14 01:51:43 +02:00
Gilles Sadowski
e3b029d28a Javadoc. 2021-08-14 01:51:43 +02:00
Arturo Bernal
1e4662de5a
Simplify assertions with simpler equivalent. (#196) 2021-08-13 09:24:22 +01:00
Gilles Sadowski
872b655950 Javadoc. 2021-08-12 03:03:42 +02:00
Gilles Sadowski
9371883b2b Increase number of allowed failures (unit tests). 2021-08-12 02:04:15 +02:00
Gilles Sadowski
59e9604dd8 Consistency check to ensure that "TestFunction" implementations are correct.
Call is commented out (it is mostly intended for a one-time visual check).
2021-08-12 01:59:37 +02:00
Gilles Sadowski
f29ebd2e13 More test functions. 2021-08-12 01:56:44 +02:00
Gilles Sadowski
6a7b4ccbe3 Drop repeated tests inside "SimplexOptimizerTest.Task" class.
Explicitly specify the initial simplex side (as test parameter).
2021-08-11 19:58:28 +02:00
Gilles Sadowski
9b7a2c8edc Delete spurious files.
Files were committed by mistake.
2021-08-11 13:30:44 +02:00
Gilles Sadowski
aea043cffd Function optimum is rarely found: Disable (comment out) test. 2021-08-10 12:44:01 +02:00
Gilles Sadowski
59573134d8 Reduce build failure frequency. 2021-08-10 12:43:23 +02:00
Gilles Sadowski
04d1b46525 Unused "import". 2021-08-10 12:42:13 +02:00
Gilles Sadowski
1fb5411a81 Move tests for expected exceptions to "SimplexOptimizerTest" class. 2021-08-10 11:47:59 +02:00
Gilles Sadowski
9fd6725d51 MATH-1623: Add unit tests for "HedarFukushimaTransform".
Adapt input files for the "simulated annealing" option.

Class "SimplexOptimizerHedarFukushimaTest" superseded by input from CSV.
2021-08-10 11:06:14 +02:00
Gilles Sadowski
bdd6bc4d13 Unused "import". 2021-08-10 10:56:17 +02:00
Gilles Sadowski
061c6d2c30 Unused field. 2021-08-10 10:22:12 +02:00
Gilles Sadowski
858ecda80f MATH-1623: Remove duplicate unit tests.
Standard test functions are now handled by class "SimplexOptimizerTest".
2021-08-10 01:07:31 +02:00
Gilles Sadowski
fdbb8b98f5 MATH-1623: Add parameterized unit tests for simplex-based optimizers. 2021-08-09 18:27:00 +02:00