bug in LinearProgramming
- To: mathgroup at smc.vnet.net
- Subject: [mg95487] bug in LinearProgramming
- From: Veit Elser <ve10 at cornell.edu>
- Date: Tue, 20 Jan 2009 05:44:23 -0500 (EST)
This is a re-post because the original did not draw any comments. The data c = {1, 1}; m = {{1, 0}, {1, -2}, {-1, 1}}; b = {{1, 0}, {0, 1}, {0, 1}}; lu = {{0, 1}, {0, 1}}; d = {Reals, Reals}; used in LinearProgramming[c, m, b, lu, d] corresponds to the problem minimize x1+x2 subject to the constraints x1 == 1, x1-2*x2 >= 0, -x1+x2 >= 0 with real variables in the ranges 0 <= x1 <= 1, 0 <= x2 <= 1 It's clear that this problem has no solution, and Mathematica recognizes this fact. But when the domain of x2 is changed to Integers, Mathematica returns the "solution" x1 == 1., x2 == 1 This violates the constraint x1-2*x2 >= 0. **** earlier posting **** Here is a simple linear programming problem: c = {1, 1}; m = {{1, 0}, {1, -2}, {-1, 1}}; b = {{1, 0}, {0, 1}, {0, 1}}; lu = {{0, 1}, {0, 1}}; d = {Reals, Reals}; sol = LinearProgramming[c, m, b, lu, d] Mathematica 6 returns: LinearProgramming::"lpsnf" : "No solution can be found that satisfies the constraints." which is obviously correct. But if I change the domain of the second variable, d = {Reals, Integers}; then Mathematica gives the solution sol = {1., 1}. The problem is that m.sol = {1., -1., 0.} violates the bound vector b (second component should be greater than 0). Is there a bug, or am I getting the syntax wrong? Veit Elser
- Follow-Ups:
- Re: bug in LinearProgramming
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: bug in LinearProgramming