Lecture Note – 1

Optimization Methods: Dynamic Programming Applications – Water Allocation
1
Module – 6 Lecture Notes – 3
Water Allocation as a Sequential Process – Recursive Equations
Introduction
As discussed in previous lecture notes, in dynamic programming, a problem is handled as a
sequential process or a multistage decision making process. In this lecture, we will explain
how a water allocation problem can be represented as sequential process and can be solved
using backward recursion method of dynamic programming.
Water allocation problem
Consider a canal supplying water to three fields in which three different crops are being
cultivated. The maximum capacity of the canal is given as Q units of water. The three fields
can be denoted as i=1,2,3 and the amount of water allocated to each field as xi.
Field 3
x3
x1
Field 1
x2
Field 2
The net benefits from producing the crops in each field are given by the functions below.
NB1 ( x1 )  5 x1  0.5 x1
2
NB2 ( x2 )  8 x2  1.5 x2
NB3 ( x3 )  7 x3  x3
2
2
D Nagesh Kumar, IISc, Bangalore
M6L3
Optimization Methods: Dynamic Programming Applications – Water Allocation
2
The problem is to determine the optimal allocations xi to each field that maximizes the total
net benefits from all the three crops. This type of problem is readily solvable using dynamic
programming.
The first step in the dynamic programming is to structure this problem as a sequential
allocation process or a multistage decision making procedure. The allocation to each crop is
considered as a decision stage in a sequence of decisions. If the amount of water allocated
from the total available water Q, to crop i is xi, then the net benefit from this allocation is
NBi(xi). Let the state variable Si defines the amount of water available to the remaining (3-i)
crops. The state transformation equation can be written as Si 1  Si  xi defines the state in
the next stage. The figure below shows the allocation problem as a sequential process.
Available
Quantity,
S1 = Q
S3 = S2- x2
S2 = S1- x1
x1
Crop 1
Net Benefits,
NB1 (x1)
x2
Crop 2
Net Benefits,
NB2 (x2)
Remaining
Quantity,
S4 = S3- x3
x3
Crop 3
Net Benefits,
NB3 (x3)
Backward recursive equations
The objective function for this allocation problem is defined to maximize the net benefits,
3
i.e., max  NBi ( xi ) . The constraints can be written as
i 1
x1  x2  x3  Q
0  xi  Q
for i  1,2,3
D Nagesh Kumar, IISc, Bangalore
M6L3
Optimization Methods: Dynamic Programming Applications – Water Allocation
3
Let f1 (Q) be the maximum net benefits that can be obtained from allocating water to crops
1,2 and 3. Thus,
f1 (Q ) 
 3

max  NBi ( xi )
x1  x2  x3 Q

x1 , x2 , x3  0  i 1
Transforming this into three problems each having only one decision variable,







f1 (Q)  max NB1 ( x1 )  max  NB2 ( x2 )  max NB3 ( x3 )
x1 
x2
x3


0 x1 Q 
0 x2 Q  x1  S 2 
0 x3  S 2  x2  S3


Considering the last term of this equation, let f 3 (S3 ) be the maximum net benefits from crop
3. The state variable for this stage is S 3 which can vary from 0 to Q. Therefore,
f 3 ( S3 )  max NB3 ( x3 )
x3
0 x3  S 3
Since S3  S 2  x2 , f 3 ( S3 )  f 3 ( S 2  x2 ) . Thus f1 (Q) can be rewritten as


f1 (Q)  max  NB1 ( x1 )  max NB2 ( x2 )  f 3 ( S 2  x2 )
x1
x2

0 x1 Q 
0 x2 Q  x1  S 2

Now, let f 2 (S2 ) be the maximum benefits derived from crops 2 and 3 for a given quantity S 2
which can vary between 0 and Q. Therefore f 2 (S2 ) can be written as,
f 2 (S2 ) 
max
x2
0 x2 Q  x1  S 2
NB2 ( x2 )  f 3 (S 2  x2 )
Again, since S2  Q  x1 , f1 (Q) which is the maximum total net benefit from the allocation to
the crops 1, 2 and 3, can be rewritten as
D Nagesh Kumar, IISc, Bangalore
M6L3
Optimization Methods: Dynamic Programming Applications – Water Allocation
4
f1 (Q)  max NB1 ( x1 )  f 2 (Q  x1 )
x1
0 x1 Q
Now, once the value of f 3 (S3 ) is calculated, the value of f 2 (S2 ) can be determined, from
which f1 (Q) can be determined.
Forward recursive equations
The procedure explained above can also be solved using a forward proceeding manner. Let
the function f i ( Si ) be the total net benefit from crops 1 to i for a given input of Si which is
allocated to those crops. Considering the first stage alone,
f1 ( S1 )  max NB1 ( x1 )
x1
x1  S1
Since, the values of S1 is not known, the equation above has to be solved for a range of
values from 0 to Q. Now, considering the first two crops together, with S 2 units of water
available to these crops, f 2 (S2 ) can be written as,
f 2 ( S 2 )  max NB2 ( x2 )  f1 ( S 2  x2 )
x2
x2  S 2
This equation also should be solved for a range of values for S 2 from 0 to Q. Finally,
considering the whole system i.e., crops 1, 2 and 3, f 3 (S3 ) can be expressed as,
f 3 ( S3 )  max NB3 ( x3 )  f 2 ( S3  x3 )
x3
x3  S 3 Q
Here, if it is given that the whole Q units of water should be allocated, then the value of S 3
can be taken as equal to Q. Otherwise, f 3 (S3 ) should be solved for a range of values from 0 to
Q.
D Nagesh Kumar, IISc, Bangalore
M6L3
Optimization Methods: Dynamic Programming Applications – Water Allocation
5
The basic equations for the water allocation problem using both the approaches are discussed.
A numerical problem and its solution will be described in the next lecture.
D Nagesh Kumar, IISc, Bangalore
M6L3