Presentation on theme: "Nonlinear Programming"— Presentation transcript:
1Nonlinear Programming Consider the following math program:Max Z = K*Lst K + L <= 8K,L >= 0place Winston Fig 2 hereWhere does the optimal solution fall within the feasibleregion?
2Nonlinear Programming Consider the following math program:Max Z = f(x)st <= x <= 1where f(x) is pictured at right.place Winston Fig 3 hereWhere does the optimal solution fall within the feasibleregion?
3Nonlinear Programming Consider the following math program:Max Z = f(x)st <= x <= 10where f(x) is pictured at right.place Winston Fig 4 hereNote there are three local optima, but only one optimal solution at point C.
4Nonlinear Programming Formulate the following problem as an NLP.Truckco is trying to determine where they should locate a single warehouse. The positions in the x-y plane (in miles) of their four customers and the number of shipments made annually to each customer is given below. Locate the warehouse to minimze the total distance trucks must travel annually from the ware house to the four customers.Customer X Coord Y Coord Number of Shipments
5Nonlinear Programming Truckco formulation:Let X,Y be the coordinates of the warehouse.Min Z = 200 * D * D * D * D4s.t. D1 = ( ( X- 5)2 + (Y-10 )2 ) .5D2 = ( ( X- 10)2 + (Y-5 )2 ) .5D3 = ( ( X- 0)2 + (Y-12 )2 ) .5D4 = ( ( X- 12)2 + (Y-0 )2 ) .5D1, D2, D3, D4, X, Y >= 0
6Nonlinear Programming One-Variable UnconstrainedExample: Max Z = f(x)s.t. nothingOr Max Z = x - (2x2 + x4)First determine if the concave (or convex for Min problem).f(x) is concave if the second derivative is <= 0 for all values of x.f’(x) = 3 – 4x – 4x3f’’(x) = – 4 – 12x2Where does optimum occur? 3 – 4x – 4x3 = 0
7Nonlinear Programming One-Variable UnconstrainedAn approximate graph of x and Z is as follows: Z = x - (2x2 + x4)Zx
8Nonlinear Programming One-Variable UnconstrainedHow do you solve for x? 3 – 4x – 4x3 = 0
9Nonlinear Programming Multi-Variable UnconstrainedExample: Max Z = f(x)s.t. nothingOr Max Z = 2x1x2 + 2x2 – x12 – 2x22For a concave function (convex when minimizing), use an approach whereby you move in a direction of steepest ascent. In other words, if f(x) is the surface area of a 3 dimensional graph then move in a direction that has the steepest angle. Move as far in the steepest direction until you are no longer ascending. Then re-evaluate the steepest ascent at that point.This procedure is called the gradient search procedure.
10Nonlinear Programming Multi-Variable UnconstrainedGradient Search procedure:Initialization: select some initial point x’, and some e. Go to the stopping rule.Set xj = x’j + t(df / dxj)x=x’ for all values of jthen substitute these expressions into the expression f(x).This expression of f(x) is in terms of t.Find the value of t* that maximizes f(x) over t >= 0.ReSet x’ = x’ + t* (df / dxj)x=x’ . Go to stopping rule.Stopping rule: evaluate if | (df / dxj)x=x’ | <= e for each j. If so, stop. Else, go to step 1.