Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Optimization with three variables

  1. Dec 6, 2011 #1
    1. The problem statement, all variables and given/known data

    You are a lab technician and must create 250 ml of a 17% solution. You have availible three stock solutions. You have a one liter container of a 5% salt, a 500 l contained of a 28% salt solution, and a 400 ml container of a 40% salt solution. Show the work necessary to calculate the cheapest ethod of preparing the 17% salt solution ifthe 5% solution costs $28 per liter, the 28% soltution costs $38 per liter, and the 40% solution costs $50 per liter.

    So far I have this

    2. Relavant equations


    3. The attempt at a solution

    I think I need a fourth equation so I can find the dervative and solve for 1 of the variables to optimize the solution,or I need to set derivative of the third equation = to 0, but I wouldn't know what to do from there.
  2. jcsd
  3. Dec 6, 2011 #2

    Ray Vickson

    User Avatar
    Science Advisor
    Homework Helper

    What about upper and lower bounds on X, Y and Z? (Can you use a negative amount of 5% solution? Can you use more than 1 L of 5% solution?)

    Forget about setting derivatives to zero. In problems like this, the optimal solution occurs at a boundary, where some derivatives are non-zero. Your problem is called a LINEAR PROGRAMMING problem, and is not solvable by calculus methods. See, eg., http://www.purplemath.com/modules/linprog5.htm .

  4. Dec 6, 2011 #3
    Are any derivatives needed at all? Or is it just using systems of equations to slove for one of the variables and then using that to solve for the others?
  5. Dec 6, 2011 #4

    Ray Vickson

    User Avatar
    Science Advisor
    Homework Helper

    Well, the problem involves both equalities and inequallities. Let me explain what I mean in an extended example. For example, suppose we have the problem
    maximize 5x + 3y
    subject to
    2x + y <= 50
    3x + 5y <= 200
    y <=10
    x >=2, and
    x,y >= 0.
    We must first convert to equalities and pure sign constraints; in other words, re-write the problem so that all inequalities have the form 'variable >= 0'. We do this by adding a so-called slack variable to the left-hand-side (LHS) of a <= constraint, to bring the LHS up to the right-hand-side (RHS), and by subtracting a so-called surplus variable from the LHS of a >= constraint (excluding non-negativity), to bring the LHS down to the RHS. So, we have slack variables s1,s2 and s3 for constraints (1)-(3) and a surplus variable s4 for constraint (4). Now the problem becomes:
    max Z1 = 5x + 3y
    subject to
    2x + y + s1 = 50
    3x + 5y + s2 = 200
    y + s3 = 10
    x - s4 = 2,
    x,y,s1,s2,s3,s4 >= 0.

    Now the only inequalities are of the form "var >= 0"; all other restrictions are *equations*.
    We have 4 equations in the 6 unknowns (x,y,s1,s2,s3,s4).

    There are algorithms available to solve such problems efficiently, but none of them involve calculus---just linear algebra. Essentially, we can pick 4 of the 6 variables to regard as "dependent" and solve for them as functions of the other 2 "independent" variables. If we pick the right independent variables then the solution of the problem will become "obvious" (when written the right way), and there are systematic algorithms to move from in a finite number of steps from one choice of independent variables to a better choice, until we have found the optimal choice. I won't say more about this now. Be assured, however, that some industrial-scale linear programming problems can involve hundreds of thousands to a few million constraints and several million variables, and these are solved by companies quite often in model-aided decision-making.

  6. Dec 7, 2011 #5


    User Avatar
    Science Advisor

    No, no derivatives are needed. This is a "linear programming" problem. With two or three variables, it can be done geometrically. The basic result of linear programming is that a linear function, with linear constraints, so that the set of points satisying those constraints (the "feasible" region) forms a convex polytope, has its maximum and minimum values at one of the vertices.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook