title: Scipy maximizing linear programming doesn't work
body: <p>I have the following:</p>
  
  <pre><code>ball = scipy.optimize.linprog(array([0,0,1]), A, b)
  </code></pre>
  
  <p>where </p>
  
  <pre><code>A = 
  array([[-1.0,  0.0,  1.0],
     [ 1.0,  0.0,  1.0],
     [ 0.0, -1.0,  1.0],
     [ 0.0,  1.0,  1.0]], dtype=float128)
  
  b = array([ 0.0,  1.0,  0.0,  1.0], dtype=float128)
  </code></pre>
  
  <p>We can maximize this by hand to get the answer <code>x = [0.5, 0.5, 0.5]</code>. Yet scipy gives me</p>
  
  <pre><code>  status: 0
     slack: array([ 0.,  1.,  0.,  1.])
   success: True
       fun: -0.0
         x: array([ 0.,  0.,  0.])
   message: 'Optimization terminated successfully.'
       nit: 0
  </code></pre>
  
  <p>Which is simply the wrong answer! Is my code wrong, or did I find a bug?</p>
  
  <p>EDIT:
  To verify that the solution given by scipy is not optimal, do </p>
  
  <pre><code>np.all(np.dot(A, np.array([0.5,0.5,0.5])) &lt;= b)
  </code></pre>
  
  <p>to see that my solution satisfies the constraints. Then note that</p>
  
  <pre><code>np.dot(np.array([0,0,1]), np.array([0.5,0.5,0.5])) &gt; np.dot(np.array([0,0,1]), np.array([0,0,0]))
  </code></pre>
  
  <p>to see it is at least a better solution. In fact, it is the optimal solution.</p>
  
  <p>EDIT 2:
  <code>scipy.__version__ = 0.16.0</code></p>