You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Dietmar Wolz <dr...@yahoo.de> on 2011/07/13 23:55:11 UTC

[math] BOBYQA

During experiments with space flight trajectory optimizations I recently
observed, that the direct optimization algorithm BOBYQA
http://plato.asu.edu/ftp/other_software/bobyqa.zip
from Mike Powell is significantly better than the simple Powell algorithm
already in commons.math ­ it uses significantly lower function calls and is
more reliable for high dimensional problems. You can replace CMA-ES in many
more application cases by BOBYQA than by the simple Powell optimizer.
I would like to commit a Java port of the algorithm to commons.math.
I maintained the structure of the original FORTRAN code, so the
code is fast but not very nice.
Mike Powell offered his support:
"I would like BOBYQA to be used as much as possible. Therefore
I accept enthusiastically your suggestion that BOBYQA be made
available to the Apache user community."

What do you think?

By the way, I also contacted Anke Tröltsch regarding BC-DFO
www.cerfacs.fr/algor/reports/2010/TR_PA_10_70.pdf, which
also seems promising, but there is no decision yet whether
they will support a commons.math contribution.



AW: [math] BOBYQA

Posted by "Dr. Dietmar Wolz" <dr...@yahoo.de>.
Here is the letter from the Autor which I received yesterday. 
There seems to be no problem regarding a signed  agreement.
I will send him our conversation, so you can get directly in contact.

"Dear Dr Wolz,

     Many thanks for your e-mail. I was delighted to hear of your interest in BOBYQA and that it has supplied some "excellent results".

     I would like BOBYQA to be used as much as possible. Therefore I accept enthusiastically your suggestion that BOBYQA be made available to the Apache user community.

     All of my programming is done in Fortran and I have not studied Java. Therefore I would prefer you to go ahead with the Java code without sending it to me for review.

     By the way, I have found that a strong advantage of BOBYQA is that it can usually solve unconstrained problems to high accuracy when there are several hundred variables, but many users regard problems with only 20 variables as large. It would be good if you could help to bring them up to date.

     I hope your work will be highly successful.

     With best wishes,

                            Mike Powell."

-----Ursprüngliche Nachricht-----
Von: Luc Maisonobe [mailto:Luc.Maisonobe@free.fr] 
Gesendet: Donnerstag, 14. Juli 2011 10:43
An: Commons Developers List
Betreff: Re: [math] BOBYQA

Le 14/07/2011 00:02, Ted Dunning a écrit :
> What is the license on the original Fortran code?

There seem to be no license expressed, so we merely have to ask to the author. The PDF paper just states at the end that it is available "free of charge". I guess the author does not really care about licensing issue, at least not as much as we do.

In this case, as we would be translating existing code that has been developed as prior art before inclusion in an Apache project, we have to ask for a Software Grant from the author. Dietmar, as you are already in contact with the author, would you mind asking him ? If you prefer, just introduce me to him and I'll take care of this administrative part.

>
> On Wed, Jul 13, 2011 at 2:55 PM, Dietmar Wolz<dr...@yahoo.de>wrote:
>
>> During experiments with space flight trajectory optimizations I 
>> recently observed, that the direct optimization algorithm BOBYQA 
>> http://plato.asu.edu/ftp/other_software/bobyqa.zip
>> from Mike Powell is significantly better than the simple Powell 
>> algorithm already in commons.math ­ it uses significantly lower 
>> function calls and is more reliable for high dimensional problems. 
>> You can replace CMA-ES in many more application cases by BOBYQA than by the simple Powell optimizer.
>> I would like to commit a Java port of the algorithm to commons.math.
>> I maintained the structure of the original FORTRAN code, so the code 
>> is fast but not very nice.

I guess it could be put in [math] first as is, with the same Fortran struture, and modified later on if we feel it would be simpler to maintain.

>> Mike Powell offered his support:
>> "I would like BOBYQA to be used as much as possible. Therefore I 
>> accept enthusiastically your suggestion that BOBYQA be made available 
>> to the Apache user community."

This is great! Thanks Dietmar for making this possible.

>>
>> What do you think?
>>
>> By the way, I also contacted Anke Tröltsch regarding BC-DFO 
>> www.cerfacs.fr/algor/reports/2010/TR_PA_10_70.pdf, which also seems 
>> promising, but there is no decision yet whether they will support a 
>> commons.math contribution.

This would be great too. Maybe I could get some contacts with Serge Gratton. Cerfacs is in Toulouse and I know for sure many people who have direct contact with him. I even think he was present at the same small seminar we attended together when you and Nikolaus presented your work on CMA-ES.

thanks again Dietmar,
Luc

>>
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [math] BOBYQA

Posted by Gilles Sadowski <gi...@harfang.homelinux.org>.
Hello.

> Indeed it was not easy to get the thing converted.

I hadn't understood that the work was done already.

> I will apply all the
> tests
> I already wrote for CMA-ES (they could be refactored out in a separate
> class later). The last two bugs I detected resulted only in
> a slight performance decrease and were only detected by debugging both
> programs in parallel. I am quite confident that both the Java and the
> Fortran
> versions are functionally identical now.

Great! :-). Will you open a JIRA issue?


Best,
Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [math] BOBYQA

Posted by Dietmar Wolz <dr...@yahoo.de>.
Indeed it was not easy to get the thing converted. I will apply all the
tests
I already wrote for CMA-ES (they could be refactored out in a separate
class later). The last two bugs I detected resulted only in
a slight performance decrease and were only detected by debugging both
programs in parallel. I am quite confident that both the Java and the
Fortran
versions are functionally identical now.

>
>The first thing should be to have some unit tests with the expected result
>obtained from running the FORTRAN code, in order to thwart possible errors
>in the converted code.
>
>> [...]
>
>
>Best,
>Gilles
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>For additional commands, e-mail: dev-help@commons.apache.org
>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [math] BOBYQA

Posted by Gilles Sadowski <gi...@harfang.homelinux.org>.
Hello.

> [...]
> >>I would like to commit a Java port of the algorithm to commons.math.
> >>I maintained the structure of the original FORTRAN code, so the
> >>code is fast but not very nice.
> 
> I guess it could be put in [math] first as is, with the same Fortran
> struture,

-1

I could help with the translation/adaptation.

The first thing should be to have some unit tests with the expected result
obtained from running the FORTRAN code, in order to thwart possible errors
in the converted code.

> [...]


Best,
Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [math] BOBYQA

Posted by Dietmar Wolz <dr...@yahoo.de>.
>
>This would be great too. Maybe I could get some contacts with Serge
>Gratton. Cerfacs is in Toulouse and I know for sure many people who have
>direct contact with him. I even think he was present at the same small
>seminar we attended together when you and Nikolaus presented your work
>on CMA-ES.

Hallo Luc,
Anke Tröltsch also thinks it could help if you could contact Serge Gratton.
Maybe this way we find an alternative to BOBYQA without the Fortran
problem.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [math] BOBYQA

Posted by Luc Maisonobe <Lu...@free.fr>.
Le 14/07/2011 00:02, Ted Dunning a écrit :
> What is the license on the original Fortran code?

There seem to be no license expressed, so we merely have to ask to the 
author. The PDF paper just states at the end that it is available "free 
of charge". I guess the author does not really care about licensing 
issue, at least not as much as we do.

In this case, as we would be translating existing code that has been 
developed as prior art before inclusion in an Apache project, we have to 
ask for a Software Grant from the author. Dietmar, as you are already in 
contact with the author, would you mind asking him ? If you prefer, just 
introduce me to him and I'll take care of this administrative part.

>
> On Wed, Jul 13, 2011 at 2:55 PM, Dietmar Wolz<dr...@yahoo.de>wrote:
>
>> During experiments with space flight trajectory optimizations I recently
>> observed, that the direct optimization algorithm BOBYQA
>> http://plato.asu.edu/ftp/other_software/bobyqa.zip
>> from Mike Powell is significantly better than the simple Powell algorithm
>> already in commons.math ­ it uses significantly lower function calls and is
>> more reliable for high dimensional problems. You can replace CMA-ES in many
>> more application cases by BOBYQA than by the simple Powell optimizer.
>> I would like to commit a Java port of the algorithm to commons.math.
>> I maintained the structure of the original FORTRAN code, so the
>> code is fast but not very nice.

I guess it could be put in [math] first as is, with the same Fortran 
struture, and modified later on if we feel it would be simpler to maintain.

>> Mike Powell offered his support:
>> "I would like BOBYQA to be used as much as possible. Therefore
>> I accept enthusiastically your suggestion that BOBYQA be made
>> available to the Apache user community."

This is great! Thanks Dietmar for making this possible.

>>
>> What do you think?
>>
>> By the way, I also contacted Anke Tröltsch regarding BC-DFO
>> www.cerfacs.fr/algor/reports/2010/TR_PA_10_70.pdf, which
>> also seems promising, but there is no decision yet whether
>> they will support a commons.math contribution.

This would be great too. Maybe I could get some contacts with Serge 
Gratton. Cerfacs is in Toulouse and I know for sure many people who have 
direct contact with him. I even think he was present at the same small 
seminar we attended together when you and Nikolaus presented your work 
on CMA-ES.

thanks again Dietmar,
Luc

>>
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [math] BOBYQA

Posted by Ted Dunning <te...@gmail.com>.
What is the license on the original Fortran code?

On Wed, Jul 13, 2011 at 2:55 PM, Dietmar Wolz <dr...@yahoo.de>wrote:

> During experiments with space flight trajectory optimizations I recently
> observed, that the direct optimization algorithm BOBYQA
> http://plato.asu.edu/ftp/other_software/bobyqa.zip
> from Mike Powell is significantly better than the simple Powell algorithm
> already in commons.math ­ it uses significantly lower function calls and is
> more reliable for high dimensional problems. You can replace CMA-ES in many
> more application cases by BOBYQA than by the simple Powell optimizer.
> I would like to commit a Java port of the algorithm to commons.math.
> I maintained the structure of the original FORTRAN code, so the
> code is fast but not very nice.
> Mike Powell offered his support:
> "I would like BOBYQA to be used as much as possible. Therefore
> I accept enthusiastically your suggestion that BOBYQA be made
> available to the Apache user community."
>
> What do you think?
>
> By the way, I also contacted Anke Tröltsch regarding BC-DFO
> www.cerfacs.fr/algor/reports/2010/TR_PA_10_70.pdf, which
> also seems promising, but there is no decision yet whether
> they will support a commons.math contribution.
>
>
>