mirror of
https://github.com/apache/commons-math.git
synced 2025-02-10 03:56:19 +00:00
Class "SimulatedAnnealing" provides user-defined input ("OptimizationData"). Behaviour of "SimplexOptimizer" depends on whether SA is activated (if yes, each "iteration" is further split in "epoch" stages). The "Simplex.TransformFactory" interface is changed to allow passing the SA acceptance test ("Metropolis" rule). The "SimplexOptimizer" is furter refactored (cf. MATH-1614) so that the steps (in method "doOptimize") clearly stand out as 1. Setup and iteration (optionally with simulated annealing). 2. Simplex transformation rule. 3. Convergence check. 4. "Best list" search. This commit also contains the following modifications: * "TestFunction": Override "toString" (for display in unit tests). * "Simplex" - Self-documenting names for factories. - Utility methods: "centroid", "asList", "replaceLast". - Unit tests. * "MultiDirectionalTransform": - Use common utility methods. - Fix missing sort in "transform" method. - Check validity of constructor parameters. - Parameter names to match the equivalent in "NelderMeadMeadTransform". * Adapt unit test classes to the updated API of class "Simplex". * "PointValuePair": - "final". - Implements "hashCode".