opfunu icon indicating copy to clipboard operation
opfunu copied to clipboard

[BUG]: Something wrong in opfunu.name_based.Meyer's global optimal solution and boundary

Open cheng12456 opened this issue 1 year ago • 1 comments

Description of the bug

According to the literature and the website provided by opfunu.name_based.Meyer, the global optimal solution of this problem should be (5.6096364710E-03, 6.1813463463E+03, 3.4522363462E+02). However, the global optimal solution of Meyer function in opfunu is incorrectly written as (5.6096364710e-3, 6.1813463463e2, 3.4522363462e2), and the second dimension is incorrectly reduced by 10 times. Therefore, the boundary definition of Meyer function in opfunu is also wrong, and the real global optimal solution is not included in the boundary. Since I haven't found the specific boundaries of the problem, I hope the author can give the correct boundary definition. meyer 664e6eda8c93109d06422989f97aad4 7371cdec8a25611990611653fdca769

Steps To Reproduce

In the Mayer problem, the global optimal solution is incorrectly defined as 'self.x_global = np.array([5.6096364710e-3, 6.1813463463e2, 3.4522363462e2])' And the bounds do not contain the correct global optimal solution 'self.check_ndim_and_bounds(ndim, bounds, np.array([[0., 1.], [100., 1000.], [100., 500.]]))'

Additional Information

No response

cheng12456 avatar Jul 16 '24 08:07 cheng12456

Agree that the global solution: 6.1813463463e2 should be 6.1813463463E+03 according to the documentation linked in the function https://www.itl.nist.gov/div898/strd/nls/data/mgh10.shtml

Further agree that with the corrected global solution from the original source the second bounds need to have a larger range, something like [1000..10000.]

Feel free to make these changes and initiate a pull request.

firestrand avatar Aug 16 '24 03:08 firestrand