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 84A64999B for ; Sat, 13 Oct 2012 01:15:03 +0000 (UTC) Received: (qmail 41491 invoked by uid 500); 13 Oct 2012 01:15:03 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 41429 invoked by uid 500); 13 Oct 2012 01:15:03 -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 41420 invoked by uid 99); 13 Oct 2012 01:15:03 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 13 Oct 2012 01:15:03 +0000 Date: Sat, 13 Oct 2012 01:15:03 +0000 (UTC) From: "Gilles (JIRA)" To: issues@commons.apache.org Message-ID: <993384543.40584.1350090903137.JavaMail.jiratomcat@arcas> In-Reply-To: <623444440.6729.1349632562849.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (MATH-874) New API for optimizers MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/MATH-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475483#comment-13475483 ] Gilles commented on MATH-874: ----------------------------- Revision 1397759: New API applied to "SimplexOptimizer". > New API for optimizers > ---------------------- > > Key: MATH-874 > URL: https://issues.apache.org/jira/browse/MATH-874 > Project: Commons Math > Issue Type: Improvement > Affects Versions: 3.0 > Reporter: Gilles > Assignee: Gilles > Priority: Minor > Labels: api-change > Fix For: 3.1, 4.0 > > Attachments: optimizers.patch > > > I suggest to change the signatures of the "optimize" methods in > * {{UnivariateOptimizer}} > * {{MultivariateOptimizer}} > * {{MultivariateDifferentiableOptimizer}} > * {{MultivariateDifferentiableVectorOptimizer}} > * {{BaseMultivariateSimpleBoundsOptimizer}} > Currently, the arguments are > * the allowed number of evaluations of the objective function > * the objective function > * the type of optimization (minimize or maximize) > * the initial guess > * optionally, the lower and upper bounds > A marker interface: > {code} > public interface OptimizationData {} > {code} > would in effect be implemented by all input data so that the signature would become (for {{MultivariateOptimizer}}): > {code} > public PointValuePair optimize(MultivariateFunction f, > OptimizationData... optData); > {code} > A [thread|http://markmail.org/message/fbmqrbf2t5pb5br5] was started on the "dev" ML. > Initially, this proposal aimed at avoiding to call some optimizer-specific methods. An example is the "setSimplex" method in "o.a.c.m.optimization.direct.SimplexOptimizer": it must be called before the call to "optimize". Not only this departs form the common API, but the definition of the simplex also fixes the dimension of the problem; hence it would be more natural to pass it together with the other parameters (i.e. in "optimize") that are also dimension-dependent (initial guess, bounds). > Eventually, the API will be simpler: users will > # construct an optimizer (passing dimension-independent parameters at construction), > # call "optimize" (passing any dimension-dependent parameters). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira