I have an objective function
z = 4 x + 2 y
with constraints of
x + 2 y >= 4 && 3 x + y >= 7 && -x + 2 y <= 7 && x >= 0 && y >= 0
(Answer for this particular set of constraints should show a minimum of 10 and no maximum value or that the max is a function z = 4 x
, either are fine.)
I tried using Solve
:
Solve[z == 4 x + 2 y && x + 2 y >= 4 && 3 x + y >= 7 && -x + 2 y <= 7 && x >= 0 && y >= 0, Reals]
which outputs:
Out[2]= {{x -> ConditionalExpression[1/4 (-2 y + z),
(10 < z <= 12 && 28 + 2 y - 3 z <= 0 && -16 + 6 y + z >= 0) ||
(12 < z <= 16 && -16 + 6 y + z >= 0 && -28 + 10 y - z <= 0) ||
(z > 16 && -28 + 10 y - z <= 0 && y >= 0)]},
{x -> 2, y -> 1, z -> 10}}
This is fine and dandy for the particular example since the second part has the minimum value I was looking for, but for my application, the coefficients will be able to be changed by the user. While testing it, sometimes Solve
only had the ConditionalExpression
when I expected it to show the z minimum value similar to the above output.
So my question is this. Am I using Solve
incorrectly and I'm just missing something, or is there a different function that would be more suitable for me to use to get a minimum and/or maximum value for z?