Return-Path: X-Original-To: apmail-commons-issues-archive@minotaur.apache.org Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9F32D6EED for ; Tue, 2 Aug 2011 16:15:53 +0000 (UTC) Received: (qmail 87666 invoked by uid 500); 2 Aug 2011 16:15:53 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 87560 invoked by uid 500); 2 Aug 2011 16:15:52 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 87547 invoked by uid 99); 2 Aug 2011 16:15:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2011 16:15:52 +0000 X-ASF-Spam-Status: No, hits=-2000.7 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Aug 2011 16:15:49 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 8911A99510 for ; Tue, 2 Aug 2011 16:15:27 +0000 (UTC) Date: Tue, 2 Aug 2011 16:15:27 +0000 (UTC) From: "Phil Steitz (JIRA)" To: issues@commons.apache.org Message-ID: <1839798521.1908.1312301727558.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1918570961.16865.1310726280129.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (MATH-621) BOBYQA is missing in optimization MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/MATH-621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13076292#comment-13076292 ] Phil Steitz commented on MATH-621: ---------------------------------- Dietmar, Thanks for working on this. Here are answers to your questions about "black box" solutions. {quote} What would the jar-solution mean for the users? How will a user find the jar, who will host these kind of black box extensions to CM? {quote} One solution is Apache Extras[1]. GitHub or SourceForge are others. We do not host code not maintained by the ASF on ASF infrastructure, so it would have to be external. {quote} Instead of providing a jar you could also provide a dll/shared libraries together with a JNI interface. It is also a black box - but up to six times faster according to my tests. But I agree - performance is not essentially here because you usually have expensive evaluation functions. {quote} Again, this is possible, but would have to be hosted externally to Apache. {quote} Having the code published could inspire others to work and improve on it. {quote} +1 for this and that we could do here. The key is to get the code to the point where others can follow it so they get "inspired" rather than confused and frustrated. [1] http://code.google.com/a/apache-extras.org/hosting/ > BOBYQA is missing in optimization > --------------------------------- > > Key: MATH-621 > URL: https://issues.apache.org/jira/browse/MATH-621 > Project: Commons Math > Issue Type: New Feature > Affects Versions: 3.0 > Reporter: Dr. Dietmar Wolz > Fix For: 3.0 > > Attachments: BOBYQA.math.patch, BOBYQA.v02.math.patch, bobyqa.zip, bobyqaoptimizer0.4.zip, bobyqav0.3.zip > > Original Estimate: 8h > Remaining Estimate: 8h > > 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 contribute a Java port of the algorithm. > I maintained the structure of the original FORTRAN code, so the > code is fast but not very nice. > License status: Michael Powell has sent the agreement via snail mail > - it hasn't arrived yet. > Progress: The attached patch relative to the trunk contains both the > optimizer and the related unit tests - which are all green now. > Performance: > Performance difference (number of function evaluations) > PowellOptimizer / BOBYQA for different test functions (taken from > the unit test of BOBYQA, dimension=13 for most of the > tests. > Rosen = 9350 / 1283 > MinusElli = 118 / 59 > Elli = 223 / 58 > ElliRotated = 8626 / 1379 > Cigar = 353 / 60 > TwoAxes = 223 / 66 > CigTab = 362 / 60 > Sphere = 223 / 58 > Tablet = 223 / 58 > DiffPow = 421 / 928 > SsDiffPow = 614 / 219 > Ackley = 757 / 97 > Rastrigin = 340 / 64 > The number for DiffPow should be dicussed with Michael Powell, > I will send him the details. > Open Problems: > Some checkstyle violations because of the original Fortran source: > - Original method comments were copied - doesn't follow javadoc standard > - Multiple variable declarations in one line as in the original source > - Problems related to "goto" conversions: > "gotos" not convertible in loops were transated into a finite automata (switch statement) > "no default in switch" > "fall through from previos case in switch" > which usually are bad style make no sense here. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira