Open MMAvanEnkhuizen opened 7 years ago
I implemented/ported this. I simply forgot to test the one dimensional case. Not sure what the intended behavior is. It should either throw an Exception or find the solution. Current behavior is wrong.
On vacation right now. Will check this closer when I have access to my dev environment.
The problem is that the algorithm finds two points at exactly the same distance from the minimum at x=+-0.1. y is then equal to 1.01 for both points and the (currenlty implemented) convergence criteria is fulfilled. I believe this paper describes the convergence criteria that should be used (see 1 in Wikipedia article). Anyone who has access to the paper, or another source describing the convergence criteria for NMS?
I think I found the issue: There seems to be an implementation mistake.
There seems to be some code missing after the reflection. Here there should be also checked that if there happens an shrink or expanding right after this reflection this gives a better optimum.
If this is done, the problem is solves.
Have you tried implementing the fix? If so, could you make a pull request? Unfortunately I have very limited time at the moment to work on this.
Yes I did implement it. Will make a pull request later. Thankyou
When I used the MathNet package I found that the function did not work for a simple one dimensional function as 1+x^2. Please see below example where the test OneDimensionalFunction will fail, whereas the two-dimensional version will pass.
Is this intended behaviour?