Linear Programming and Applications (v) LP Applications: Water Resources Problems
Objectives To formulate LP problems To discuss the applications of LP in Deciding the optimal pattern of irrigation Water quality management 2
Introduction LP has been applied to formulate and solve several types of problems in engineering field LP finds many applications in the field of water resources which include Planning of urban water distribution Reservoir operation Crop water allocation 3
Example - Irrigation Allocation Consider two crops and 2. One unit of crop brings four units of profit and one unit of crop 2 brings five units of profit. The demand of production of crop is A units and that of crop 2 is B units. Let x be the amount of water required for A units of crop and y be the same for B units of crop 2. The linear relations between the amounts of crop produced (i.e., demands A and B) and the available water (i.e., x and y) for two crops are shown below A = 0.5(x - 2) + 2 B = 0.6(y - 3) + 3 4
Example - Irrigation Allocation Solution: Objective: Maximize the profit from crop and 2 Maximize f = 4A + 5B; Expressing as a function of the amount of water, Maximize f = 4[0.5(x - 2) + 2] + 5[0.6(y - 3) + 3] f = 2x + 3y + 0 5
Example - Irrigation Allocation subject to x y 0 ; Maximum availability of water x 2 ; Minimum amount of water required for crop y 3 ; Minimum amount of water required for crop 2 The above problem is same as maximizing f = 2x + 3y subject to same constraints. 6
Example - Irrigation Allocation Changing the problem into standard form by introducing slack variables S, S 2, S 3 Maximize f = 2x + 3y subject to x + y + S =0 -x + S 2 = -2 -y + S 3 = -3 This model is solved using simplex method 7
Example - Irrigation Allocation The final tableau is as shown The solution is x = 2; y = 8; f = 28 Therefore, f = 28+0 = 38 Water allocated to crop A is 2 units and to crop B is 8 units and total profit yielded is 38 units. 8
Example Water Quality Management Waste load allocation for water quality management in a river system can be defined as Determination of optimal treatment level of waste, which is discharged to a river By maintaining the water quality standards set by Pollution Control Agency (PCA), through out the river Conventional waste load allocation involves minimization of treatment cost subject to the constraint that the water quality standards are not violated 9
Example - Water Quality Management Consider a simple problem of M dischargers, who discharge waste into the river, and I checkpoints, where the water quality is measured by PCA Let x j be the treatment level and a j be the unit treatment cost for j th discharger (j=,2,,m) c i be the dissolved oxygen (DO) concentration at checkpoint i (i=,2,,i), which is to be controlled Decision variables for the waste load allocation model are x j (j=,2,,m). 0
Example - Water Quality Management Objective function can be expressed as Relationship between the water quality indicator, c i (DO) at a checkpoint and the treatment level upstream to that checkpoint is linear (based on Streeter-Phelps Equation) Let g(x) denotes the linear relationship between c i and x j. M Minimize f a jx j j Then, c g( x ) i, j i j
Example - Water Quality Management Let c P be the permissible DO level set by PCA, which is to be maintained through out the river Therefore, c c i i P Model can be solved using simplex algorithm which will give the optimal fractional removal levels required to maintain the water quality of the river 2
LINEAR PROGRAMMING SOFTWARES MMO Software (Dennis and Dennis, 993) An MS-Dos based software to solve various types of problems Opening Screen of MMO 3
MMO Software Press any key to see Main menu screen of MMO 4 Use arrow keys from keyboard to select different models. Select Linear Programming and press enter. Two options will appear as follows: SOLUTION METHOD: GRAPHIC/ SIMPLEX Main Menu Screen of MMO
MMO Software SIMPLEX Method using MMO Select SIMPLEX in Linear Programming option of MMO software. Screen for data entry method will appear Screen for Data Entry Method 5
SIMPLEX Method using MMO Data entry may be done by either of two different ways. Free Form Entry: Write the equation when prompted for input. Tabular Entry: Data can be input in spreadsheet style. Only the coefficients are to be entered, not the variables. Consider the problem Maximize Z Subject to 2x x x x 3x 5, 2x x, x x 2 2 2 2 6 0 5, Screen after Entering the Problem 6
SIMPLEX Method using MMO Once the problem is run, it will show the list of slack, surplus and artificial variables There are three additional slack variables in the above problem. Press any key to continue List of slack, surplus and artificial variables 7
SIMPLEX Method using MMO It will show three different options. No Tableau: Shows direct solutions 2. All Tableau: Shows all simplex tableau one by one 3. Final Tableau: Shows only the final simplex tableau directly Final solution is Z 5.667 ; ; x 2.333 x 2 3. 667 Different Options for Simplex Solution Final Simplex Tableau 8
MATLAB Toolbox for Linear Programming Very popular and efficient Includes different types of optimization techniques To use the simplex method set the option as options = optimset ('LargeScale', 'off', 'Simplex', 'on') then a function called linprog is to be used 9
MATLAB Toolbox for Linear Programming MATLAB Documentation for Linear Programming 20
MATLAB Toolbox for Linear Programming MATLAB Documentation for Linear Programming 2
MATLAB Toolbox for Linear Programming - Example Let us consider the same problem as before Maximize Subject to Z 2x x x x x 5,, x 3x 2x x 2 2 2 2 6 0 5, Note: The maximization problem should be converted to minimization problem in MATLAB 22
Example Thus, f 2 3 % Cost coefficien ts A b lb 0 2 % Coefficien ts of constraints 5 5 6 % Right hand side of constraint s 0 0 % Lowerbounds of decision variables 23
Example MATLAB code clear all f=[-2-3]; %Converted to minimization problem A=[ 0;- 2; ]; b=[5 5 6]; lb=[0 0]; options = optimset ('LargeScale', 'off', 'Simplex', 'on'); [x, fval]=linprog (f, A, b, [ ], [ ], lb ); Z = -fval %Multiplied by - x Solution Z = 5.667 with x = 2.333 and x 2 = 3.667 24
LINGO Tool to solve linear, nonlinear, quadratic, stochastic and integer optimization models Can be downloaded from http://www.lindo.com Key benefits of LINGO are: Easy model expression Convenient data options Powerful solvers Extensive documentation and help. 25
LINGO Consider the same problem Maximize Subject to LINGO formulation is: Z 2x x x x x 5, 2x, x 3x x 2 2 2 2 6 0 5, Max = 2*x+ 3*y; x<=5; x-2*y>=-5; x+y<=6; x>=0; y>=0; 26
LINGO Solution report from LINGO Solution: Z = 5.667 x = 2.333 and x 2 = 3.667 27
Thank You