Return-Path: Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: (qmail 68088 invoked from network); 8 Sep 2009 08:53:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Sep 2009 08:53:23 -0000 Received: (qmail 50822 invoked by uid 500); 8 Sep 2009 08:53:22 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 50735 invoked by uid 500); 8 Sep 2009 08:53:22 -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 50725 invoked by uid 99); 8 Sep 2009 08:53:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Sep 2009 08:53:22 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Sep 2009 08:53:19 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 0A2A1234C498 for ; Tue, 8 Sep 2009 01:52:58 -0700 (PDT) Message-ID: <239554754.1252399978040.JavaMail.jira@brutus> Date: Tue, 8 Sep 2009 01:52:58 -0700 (PDT) From: "Andrea (JIRA)" To: issues@commons.apache.org Subject: [jira] Reopened: (MATH-286) SimplexSolver not working as expected? In-Reply-To: <166608494.1250780714807.JavaMail.jira@brutus> 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-286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrea reopened MATH-286: ------------------------- Hi all, I'm still not convinced the original problem is correct... Could you please try? I would add the original LP with 6 variables and 5 restrictions to the test cases, since I'm not completely sure the "smaller examples" address exactly the same problem I posted weeks ago. > SimplexSolver not working as expected? > -------------------------------------- > > Key: MATH-286 > URL: https://issues.apache.org/jira/browse/MATH-286 > Project: Commons Math > Issue Type: Bug > Affects Versions: 2.0 > Environment: Java 1.6.0_13 on Windows XP 32-bit > Reporter: Andrea > Fix For: 2.1 > > Attachments: simplex.txt, SimplexSolver.patch, SimplexSolverTest.patch, SimplexSolverTest.patch, SimplexTableau.patch, SimplexTableau.patch > > > I guess (but I could be wrong) that SimplexSolver does not always return the optimal solution, nor satisfies all the constraints... > Consider this LP: > max: 0.8 x0 + 0.2 x1 + 0.7 x2 + 0.3 x3 + 0.6 x4 + 0.4 x5; > r1: x0 + x2 + x4 = 23.0; > r2: x1 + x3 + x5 = 23.0; > r3: x0 >= 10.0; > r4: x2 >= 8.0; > r5: x4 >= 5.0; > LPSolve returns 25.8, with x0 = 10.0, x1 = 0.0, x2 = 8.0, x3 = 0.0, x4 = 5.0, x5 = 23.0; > The same LP expressed in Apache commons math is: > LinearObjectiveFunction f = new LinearObjectiveFunction(new double[] { 0.8, 0.2, 0.7, 0.3, 0.6, 0.4 }, 0 ); > Collection constraints = new ArrayList(); > constraints.add(new LinearConstraint(new double[] { 1, 0, 1, 0, 1, 0 }, Relationship.EQ, 23.0)); > constraints.add(new LinearConstraint(new double[] { 0, 1, 0, 1, 0, 1 }, Relationship.EQ, 23.0)); > constraints.add(new LinearConstraint(new double[] { 1, 0, 0, 0, 0, 0 }, Relationship.GEQ, 10.0)); > constraints.add(new LinearConstraint(new double[] { 0, 0, 1, 0, 0, 0 }, Relationship.GEQ, 8.0)); > constraints.add(new LinearConstraint(new double[] { 0, 0, 0, 0, 1, 0 }, Relationship.GEQ, 5.0)); > RealPointValuePair solution = new SimplexSolver().optimize(f, constraints, GoalType.MAXIMIZE, true); > that returns 22.20, with x0 = 15.0, x1 = 23.0, x2 = 8.0, x3 = 0.0, x4 = 0.0, x5 = 0.0; > Is it possible SimplexSolver is buggy that way? The returned value is 22.20 instead of 25.8, and the last constraint (x4 >= 5.0) is not satisfied... > Am I using the interface wrongly? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.