RE: [math] CMA-ES optimization algorithm

2010-11-26 Thread Dr. Dietmar Wolz
There is another topic worth mentioning: Multi-start using MultiStartMultivariateRealOptimizer. In http://www.lri.fr/~hansen/cec2005.html an algo called G-CMA-ES performed very well: A CMA evolution strategy restarted with increasing population size. Is there a general need beside CMA-ES to

Re: [math] CMA-ES optimization algorithm

2010-11-26 Thread Luc Maisonobe
Le 26/11/2010 11:58, Dr. Dietmar Wolz a écrit : There is another topic worth mentioning: Multi-start using MultiStartMultivariateRealOptimizer. In http://www.lri.fr/~hansen/cec2005.html an algo called G-CMA-ES performed very well: A CMA evolution strategy restarted with increasing

AW: [math] CMA-ES optimization algorithm

2010-11-26 Thread Dr. Dietmar Wolz
Should we simply allow user to register an instance of some optimizer reconfigurator interface in the constructor ? Something like: public MultiStartDifferentiableMultivariateVectorialOptimizer( DifferentiableMultivariateVectorialOptimizer optimizer, int starts,

Re: AW: [math] CMA-ES optimization algorithm

2010-11-26 Thread Luc Maisonobe
Le 26/11/2010 13:34, Dr. Dietmar Wolz a écrit : Should we simply allow user to register an instance of some optimizer reconfigurator interface in the constructor ? Something like: public MultiStartDifferentiableMultivariateVectorialOptimizer(

Re: [math] CMA-ES optimization algorithm

2010-11-26 Thread Gilles Sadowski
Hello. Should we simply allow user to register an instance of some optimizer reconfigurator interface in the constructor ? Something like: public MultiStartDifferentiableMultivariateVectorialOptimizer( DifferentiableMultivariateVectorialOptimizer optimizer, int starts,

Re: AW: [math] CMA-ES optimization algorithm

2010-11-26 Thread Gilles Sadowski
[...] Question is how reconfigure() is configured? It is entirely up to the user who implements it, and it depends on the algorithm he chose. If the algorithm does have some setXxx() setter, he could do: public DifferentiableMultivariateVectorialOptimizer

AW: [math] CMA-ES optimization algorithm

2010-11-26 Thread Dr. Dietmar Wolz
However, can we slow down on the new features? (Am I saying this? ;-)) [We previously agreed that the main algorithm code should be put in place before any other bells and whistles.] We didn't discuss when a possible enhancement of MultiStartMultivariateRealOptimizer will be implemented, just

Re: [math] CMA-ES optimization algorithm

2010-11-26 Thread Luc Maisonobe
Le 26/11/2010 14:14, Gilles Sadowski a écrit : Hello. Should we simply allow user to register an instance of some optimizer reconfigurator interface in the constructor ? Something like: public MultiStartDifferentiableMultivariateVectorialOptimizer(

Re: AW: [math] CMA-ES optimization algorithm

2010-11-26 Thread Luc Maisonobe
Hi, Le 26/11/2010 14:23, Gilles Sadowski a écrit : [...] Question is how reconfigure() is configured? It is entirely up to the user who implements it, and it depends on the algorithm he chose. If the algorithm does have some setXxx() setter, he could do: public

AW: [math] CMA-ES optimization algorithm

2010-11-23 Thread Dietmar Wolz
And an iterative algorithm that implements HandlerSetter will call update after each iteration. Yes, this is the way user can monitor what he wants. Perhaps with a few set of more specialized handlers, the signature of the update method could be adapted for the algorithm type (i.e a root

AW: [math] CMA-ES optimization algorithm

2010-11-23 Thread Dietmar Wolz
Yes, we can start with a bare implementation and add the bells and whistles afterwards. In this case, they could also be integrated to the other optimization algorithms if something general enough is found. +1 As soon as Nikolaus review is finished I will prepare the patch. Unit tests are

Re: [math] CMA-ES optimization algorithm

2010-11-22 Thread Nikolaus Hansen
On Mon, 22 Nov 2010 13:53:12 +0100, Gilles Sadowski gil...@harfang.homelinux.org wrote: Hello. There is something loosely similar to what you need in the ODE packages. This kind of algorithms also need some information to be provided back to users during the algorithm run. For ODE solvers,

Re: [math] CMA-ES optimization algorithm

2010-11-22 Thread Luc Maisonobe
Le 22/11/2010 19:28, Nikolaus Hansen a écrit : On Mon, 22 Nov 2010 13:53:12 +0100, Gilles Sadowski gil...@harfang.homelinux.org wrote: Hello. Hello, There is something loosely similar to what you need in the ODE packages. This kind of algorithms also need some information to be provided

Re: [math] CMA-ES optimization algorithm

2010-11-22 Thread Gilles Sadowski
Hi. There is something loosely similar to what you need in the ODE packages. This kind of algorithms also need some information to be provided back to users during the algorithm run. For ODE solvers, it is at the end of each integration step. [...] Does the this callback possibly

Re: [math] CMA-ES optimization algorithm

2010-11-22 Thread Luc Maisonobe
Hello, Le 22/11/2010 22:16, Gilles Sadowski a écrit : Hi. There is something loosely similar to what you need in the ODE packages. This kind of algorithms also need some information to be provided back to users during the algorithm run. For ODE solvers, it is at the end of each

Re: [math] CMA-ES optimization algorithm

2010-11-21 Thread Nikolaus Hansen
Oh. That is very different. So why not have either a) three getters to get the different matrices or b) one getter that returns a structure packaging these matrices? Why use a callback structure? in fact, it can and should serve both purposes: display the result of finished runs and display the

Re: [math] CMA-ES optimization algorithm

2010-11-21 Thread Luc Maisonobe
Le 21/11/2010 19:12, Nikolaus Hansen a écrit : Oh. That is very different. So why not have either a) three getters to get the different matrices or b) one getter that returns a structure packaging these matrices? Why use a callback structure? in fact, it can and should serve both

AW: [math] CMA-ES optimization algorithm

2010-11-19 Thread Dr. Dietmar Wolz
I really don't think that a general progress listener framework implies this clutter and for long running algorithms is a very nice thing. CM does not actually have all that many long running algorithms. On the other hand, the proposed interface is not a general progress listener and is not a

Re: [math] CMA-ES optimization algorithm

2010-11-19 Thread Ted Dunning
Oh. That is very different. So why not have either a) three getters to get the different matrices or b) one getter that returns a structure packaging these matrices? Why use a callback structure? On Fri, Nov 19, 2010 at 1:55 AM, Dr. Dietmar Wolz drdietmarw...@yahoo.dewrote: And it was not

Re: [math] CMA-ES optimization algorithm

2010-11-19 Thread Gilles Sadowski
Hi. But seriously, the long running programs in Mahout are almost all map-reduce jobs and there is a fairly good framework for progress reporting in Hadoop. This includes normal logging as well as a counter framework that allows code to drive status counters in parallel out to a standard

Re: [math] CMA-ES optimization algorithm

2010-11-19 Thread Ted Dunning
On Fri, Nov 19, 2010 at 10:10 AM, Gilles Sadowski gil...@harfang.homelinux.org wrote: But seriously, the long running programs in Mahout are almost all map-reduce jobs and there is a fairly good framework for progress reporting in Hadoop. This includes normal logging as well as a

[math] CMA-ES optimization algorithm

2010-11-18 Thread Dietmar Wolz
A new Jira issue was recently created https://issues.apache.org/jira/browse/MATH-442 regarding the contribution of a new optimization algorithm CMA-ES. Recently I implemented the optimization algorithm CMA-ES based on org.apache.commons.math.linear and used it for

Re: [math] CMA-ES optimization algorithm

2010-11-18 Thread Gilles Sadowski
Hello. A new Jira issue was recently created https://issues.apache.org/jira/browse/MATH-442 regarding the contribution of a new optimization algorithm CMA-ES. [...] The implementation is already ported to commons.math, it is mainly dependent on the linear package. Did you use the

RE: [math] CMA-ES optimization algorithm

2010-11-18 Thread Dietmar Wolz
Did you use the MATH_2_X or the trunk repository? I think MATH_2_X, but will test with trunk. I think the patch should be against trunk? modifiable. Should we create an additional interface extending MultivariateRealOptimizer which covers this aspect? No. All the parameters must be passed as

Re: [math] CMA-ES optimization algorithm

2010-11-18 Thread Gilles Sadowski
Hello. Did you use the MATH_2_X or the trunk repository? I think MATH_2_X, but will test with trunk. I think the patch should be against trunk? Yes. There were some changes introduced in the 3.0 development version. Namely, please have a look at the BaseAbstractScalarOptimizer class in

Re: [math] CMA-ES optimization algorithm

2010-11-18 Thread Bruce A Johnson
One thing that will make plotting possible is a project I'm working on. Not ready for use, but here's a summary. The amath4jtcl project provides an extension for the JTcl project that allows one to use Commons Math Vectors and Matrices within Tcl Expressions. In combination with my

AW: [math] CMA-ES optimization algorithm

2010-11-18 Thread Dr. Dietmar Wolz
The problem is that we would again be re-inventing some wheel which IMHO doesn't belong to a low-level math library such as CM. A basic logging interface already exists: It's slf4j. slf4j and the interface I had in mind are completely different things. slf4j is a generic logging interface meant

Re: [math] CMA-ES optimization algorithm

2010-11-18 Thread Gilles Sadowski
Hello. The problem is that we would again be re-inventing some wheel which IMHO doesn't belong to a low-level math library such as CM. A basic logging interface already exists: It's slf4j. slf4j and the interface I had in mind are completely different things. slf4j is a generic logging

Re: [math] CMA-ES optimization algorithm

2010-11-18 Thread Ted Dunning
I really don't think that a general progress listener framework implies this clutter and for long running algorithms is a very nice thing. CM does not actually have all that many long running algorithms. On the other hand, the proposed interface is not a general progress listener and is not a

Re: [math] CMA-ES optimization algorithm

2010-11-18 Thread Ted Dunning
Mostly we complain that we don't have enough reporting just yet. But seriously, the long running programs in Mahout are almost all map-reduce jobs and there is a fairly good framework for progress reporting in Hadoop. This includes normal logging as well as a counter framework that allows code