Return-Path: X-Original-To: apmail-commons-user-archive@www.apache.org Delivered-To: apmail-commons-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 62E0ADC3D for ; Thu, 23 May 2013 21:18:05 +0000 (UTC) Received: (qmail 28018 invoked by uid 500); 23 May 2013 21:18:04 -0000 Delivered-To: apmail-commons-user-archive@commons.apache.org Received: (qmail 27927 invoked by uid 500); 23 May 2013 21:18:04 -0000 Mailing-List: contact user-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Users List" Delivered-To: mailing list user@commons.apache.org Received: (qmail 27917 invoked by uid 99); 23 May 2013 21:18:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 May 2013 21:18:03 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of mmakster@gmail.com designates 209.85.212.47 as permitted sender) Received: from [209.85.212.47] (HELO mail-vb0-f47.google.com) (209.85.212.47) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 May 2013 21:17:58 +0000 Received: by mail-vb0-f47.google.com with SMTP id x13so2577868vbb.34 for ; Thu, 23 May 2013 14:17:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=pTWLHgAGWCRShJsihXshjiIYUgoVqJg4jhpbsrZeWZg=; b=QazgdlZ+De704lPU/cX1uOu5vxJF9YsFXpdFVK8F/aVCxGt51AqQCDGCK8m38IGQMs Tuzk2b55wlyRqXKYtaCawgiJI3/ERpShq64F9m5btl3SkKpXnLJx9WYx8izL6R09tK4a 6/1JBf3v5ru8SSJH0IXTuam3+8LQq/BpJm62XezCnr4tXX2swx40aYTEBxD8NhhO6GnG t9us1+onATHk0fXojmMaL5GNbr/9z4hQBHCde98bGzEb+WB8Wq3GOkrWJoqTk9/YZMQL 2JJnJgSU5fOXhWszxC4Ilg6H22xx9Zuo1pQsYW8MYtAN+J7MruyaeBhuY283MVgVkNtV lDlQ== X-Received: by 10.220.202.197 with SMTP id ff5mr6608622vcb.3.1369343857775; Thu, 23 May 2013 14:17:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.59.5.7 with HTTP; Thu, 23 May 2013 14:17:16 -0700 (PDT) From: Mister Mak Date: Thu, 23 May 2013 17:17:16 -0400 Message-ID: Subject: Re: [math] Struggling with opimization To: user@commons.apache.org Content-Type: multipart/alternative; boundary=089e0158a8883954c104dd6936e4 X-Virus-Checked: Checked by ClamAV on apache.org --089e0158a8883954c104dd6936e4 Content-Type: text/plain; charset=ISO-8859-1 Thanks to Thomas and Gilles for their tips. The univariate solution proposed works (for the record: UnivariateFunction f = new UnivariateFunction() {public double value(double x) {return -(x - 5.0) * (x - 5.0) + 2.25; }}; BrentOptimizer optimizer = new BrentOptimizer(1e-6, 1e-12); UnivariatePointValuePair solution = optimizer.optimize(new UnivariateObjectiveFunction(f), new MaxEval(100), GoalType.MAXIMIZE, new SearchInterval(-10, 10)); System.out.println("Min is: " + solution.getValue() + "\tobtained at: " + solution.getPoint()); ). I am now trying to maximize a function of two variables, and can't get the following code running: MultivariateFunction g = new MultivariateFunction() { public double value(double[] x) { return -(x[0] - 5.0) * (x[1] - 5.0) + 2.25; } }; SimplexOptimizer optimizerMult = new SimplexOptimizer(1e-6, 1e-12); PointValuePair solutionMult = optimizerMult.optimize(new ObjectiveFunction(g), GoalType.MAXIMIZE, new MultiDirectionalSimplex(100)); The last line causes the following NullPointerException: Exception in thread "main" java.lang.NullPointerException at org.apache.commons.math3.optim.nonlinear.scalar.noderiv.AbstractSimplex.build(AbstractSimplex.java:217) at org.apache.commons.math3.optim.nonlinear.scalar.noderiv.SimplexOptimizer.doOptimize(SimplexOptimizer.java:151) at org.apache.commons.math3.optim.nonlinear.scalar.noderiv.SimplexOptimizer.doOptimize(SimplexOptimizer.java:89) at org.apache.commons.math3.optim.BaseOptimizer.optimize(BaseOptimizer.java:143) at org.apache.commons.math3.optim.BaseMultivariateOptimizer.optimize(BaseMultivariateOptimizer.java:66) at org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer.optimize(MultivariateOptimizer.java:64) at org.apache.commons.math3.optim.nonlinear.scalar.noderiv.SimplexOptimizer.optimize(SimplexOptimizer.java:122) at ca.queensu.montecarlo.Test_MC.(Unknown Source) at ca.queensu.montecarlo.Test_MC.main(Unknown Source) Any suggestions? Thanks again, Philippe --089e0158a8883954c104dd6936e4--