Re: Swiss Ephemeris / Nelder-Mead simplex
very nice post.. waleeed
Re: Swiss Ephemeris / Nelder-Mead simplex
On Monday, 22 December 2014 at 21:39:08 UTC, Marc Schütz wrote: On Monday, 22 December 2014 at 20:46:23 UTC, bachmeier wrote: It's been ages since I read the paper, but there is a parallel version of Nelder-Mead that is supposed to give very large performance improvements, even when used on a single processor: http://www.cs.ucsb.edu/~kyleklein/publications/neldermead.pdf It is not difficult to implement. I may look into modifying your code to implement it when I get some time. It will certainly also be advantageous to pass the functions as aliases, so that they can get inlined. Thanks, Marc. I appreciate the pointer, and if you do have time to look at the code. I confess that it can't really be called my own implementation as I simply ported it to D. There is some more clever stuff within quantlib (c++ project), but I quite liked the idea of starting with this one as it is simple, and speed is not yet vital at this stage. Laeeth.
Re: Swiss Ephemeris / Nelder-Mead simplex
On Monday, 22 December 2014 at 20:46:23 UTC, bachmeier wrote: It's been ages since I read the paper, but there is a parallel version of Nelder-Mead that is supposed to give very large performance improvements, even when used on a single processor: http://www.cs.ucsb.edu/~kyleklein/publications/neldermead.pdf It is not difficult to implement. I may look into modifying your code to implement it when I get some time. It will certainly also be advantageous to pass the functions as aliases, so that they can get inlined.
Re: Swiss Ephemeris / Nelder-Mead simplex
On Monday, 22 December 2014 at 08:43:56 UTC, Laeeth Isharc wrote: Last one for a while, I think. I wish you all a very peaceful Christmas and New Year, and let's hope 2015 brings some more positive energy to the world. Links here: https://github.com/Laeeth/d_simplex https://github.com/Laeeth/d_swisseph 1. D bindings/wrappers for the swiss ephemeris http://www.astro.com/swisseph/swephinfo_e.htm "The SWISS EPHEMERIS is the high precision ephemeris developed by Astrodienst, largely based upon the DExxx ephemerides from NASA's JPL . The original release in 1997 was based on the DE405/406 ephemeris. Since release 2.00 in February 2014, it is based on the DE431 ephemeris released by JPL in September 2013". NB - Swiss Ephemeris is not free for commercial use. 2. D port of simple Nelder-Mead simplex minimisation (written by Michael F. Hutt in original C version) here. With constraints. From Wiki: https://en.wikipedia.org/wiki/Nelder-Mead_method "The Nelder–Mead method or downhill simplex method or amoeba method is a commonly used nonlinear optimization technique, which is a well-defined numerical method for problems for which derivatives may not be known. However, the Nelder–Mead technique is a heuristic search method that can converge to non-stationary points[1] on problems that can be solved by alternative methods". Links here: https://github.com/Laeeth/d_simplex https://github.com/Laeeth/d_swisseph It's been ages since I read the paper, but there is a parallel version of Nelder-Mead that is supposed to give very large performance improvements, even when used on a single processor: http://www.cs.ucsb.edu/~kyleklein/publications/neldermead.pdf It is not difficult to implement. I may look into modifying your code to implement it when I get some time.
Swiss Ephemeris / Nelder-Mead simplex
Last one for a while, I think. I wish you all a very peaceful Christmas and New Year, and let's hope 2015 brings some more positive energy to the world. Links here: https://github.com/Laeeth/d_simplex https://github.com/Laeeth/d_swisseph 1. D bindings/wrappers for the swiss ephemeris http://www.astro.com/swisseph/swephinfo_e.htm "The SWISS EPHEMERIS is the high precision ephemeris developed by Astrodienst, largely based upon the DExxx ephemerides from NASA's JPL . The original release in 1997 was based on the DE405/406 ephemeris. Since release 2.00 in February 2014, it is based on the DE431 ephemeris released by JPL in September 2013". NB - Swiss Ephemeris is not free for commercial use. 2. D port of simple Nelder-Mead simplex minimisation (written by Michael F. Hutt in original C version) here. With constraints. From Wiki: https://en.wikipedia.org/wiki/Nelder-Mead_method "The Nelder–Mead method or downhill simplex method or amoeba method is a commonly used nonlinear optimization technique, which is a well-defined numerical method for problems for which derivatives may not be known. However, the Nelder–Mead technique is a heuristic search method that can converge to non-stationary points[1] on problems that can be solved by alternative methods". Links here: https://github.com/Laeeth/d_simplex https://github.com/Laeeth/d_swisseph