5.2: Linear Optimization for Infrastructure Management
Problems with continuous decision variables and linear constraints and objective functions are very common and have attracted considerable research attention. These problems are solved with linear programming algorithms such as the Simplex method. Typical software can accommodate thousands of decision variables and constraints.
Formally, a linear program is represented as:
\[ \text{Maximize c} * \text{x subject to A x} =\text{y and x} \geq 0 \]
Where c is a vector of parameters, x is a vector of continuous decision variables, A is a matrix of parameters and y is a vector of constraint parameters. This formulation can accommodate inequality constraints with the addition of decision variables representing slack in the constraints. For example, the constraint \(x1 + x2 ≤ 5\) (shown in Figure 5.2.1) would be re-written as \(x1 + x2 + x3 = 5 \) and a positive value of x3 in the optimal solution would indicate that the constraint is not binding. Similarly, decision variables can take on any value (both negative and positive) with the addition of decision variables. In practice, linear programming software can take as input inequalities and unconstrained decision variables and convert the problem into the standard form of Eq. 5.2.1.
A linear program has three types of solution possibilities:
- No solution is possible. An example would be: Maximize decision variable x subject to the constraints x < 1 and x > 5. No value of x will satisfy both constraints. For infrastructure management, an example would be if a budget is inadequate to achieve the required functional conditions.
- A single optimal solution exists. For example, a roadway management problem might be to maximize the average condition of roadway segments subject to a budget constraint. Typically, a set of maintenance actions (such as repaving or patching) for a subset of roadway segments will be identified that completely uses the budget. A more extensive example of this problem appears below.
Multiple optimal solutions exist. In Figure 5.2.1, the line segment between A and B includes an infinite number of optimal solutions which are combinations of the two decision variables x1 and x2 for the linear program Maximize \( 2 * x1 + x2 \text { subject to } 2 * x1+x 2 \leq 4 \text {and } x 1, x 2 \text { both} \geq 0\). The feasible region is the triangular area ABO.
Linear programs possess the useful property that the set of feasible solutions form a convex region. ‘Feasible’ in this context means a combination of decision variables that satisfy the problem constraints. The shaded area in Figure 5.2.1 is the feasible region for x1 and x2. The shaded area is convex because the line segment between any two feasible combinations of x1 and x2 would still be in the feasible region. This convexity has two useful implications. First, any optimal solution will not be a local optimum but would be a global optimum. That is, if you find a combination of x1 and x2 for which no improvement is possible from small changes, then no other combination of x1 and x2 with be better. Second, optimum values of the decision variables for a linear program problem will lie on the boundary of the feasible region, such as the line segment in Figure 5.2.1. This property is used by the Simplex solution algorithm for linear programs.
The Simplex method is a common solution method for linear programming problems. It begins with a ‘basic feasible solution.’ With m constraints and n decision variables, a basic feasible solution consists of n-m decision variables set to zero and the remaining m decision variables the solution to the m linear constraint equations. The simplex method checks to see if improvement is possible by exchanging one of the n-m decision variables set to zero with a decision variable in the basic feasible solution. If improvement is possible, the algorithm makes this switch, which is equivalent to ‘pivoting’ from one extreme point on the convex feasible region to another. Pivots continue until no such improvement is possible. An initial basic feasible solution can be obtained simply by adding ‘artificial decision variables’ equal to the value of constraint parameters and then pivoting away from these artificial variables.
Roadway maintenance and rehabilitation is a good example of linear programming applied to infrastructure management. In this application, a roadway network is divided into numerous short sections which might vary from a few kilometers down to individual blocks in an urban network (with index I ranging from 1 to n segments). Possible maintenance actions are defined for the roadway sections, such as filling potholes (j = 1), repaving (j = 2) or do-nothing (j = 3). Costs of each action for each pavement section are then estimated, usually based upon the area of the pavement section (\(p_{ij}\)). The condition of each pavement section is forecast assuming that one action is performed (filling potholes, repaving or doing nothing in this example) (\(c_{ij}\) where lower values of \(c_{ij}\) are more desirable). Then a budget constraint for actions and an objective function (such as maximizing average system condition) is defined. The result is a linear programming problem:
\[ \text {Minimize } \sum i \sum j \frac{x_{i j^{*}} c_{i j}}{n} \]
\[ \text {subject to } \sum j x_{i j}=1 \text { for all } i\]
\[ \sum i \sum j \quad x_{i j} * p_{i j} \leq B\]
\[ x_{i j} \leq 0 \text { for all } i, j \]
Where \(x_{ij}\) is action \(j\) on section I, \(c_{ij}\) is forecast condition with action \(j\) on section I, n is the number of roadway segments, \(p_{ij}\) is the cost of action \(j\) on segment I and B is the overall budget constraint.
In theory, the \(x_{ij}\) might take on non-integer values between 0 and 1 in this formulation, but in practice, nearly all the optimal \(x_{ij}\) would be zero or one.
A variety of modifications could be made to the basic formulation of Eq. 5.2.2 to 5.2.6. For the objective function (Eq. 5.2.2), the condition of each segment might be weighted by the amount of traffic and the segment area. These weights would lead the optimal solution to favor work on heavily traveled roadways and to minimize average roadway area conditions rather than average segment conditions as in Eq. 5.2.2. Additional roadway maintenance actions could be defined to extend the constraint Eq. 5.2.3. The problem could be altered by defining maximum allowable conditions as a constraint on each section and then minimizing the cost of achieving this constraint. Even without changing the objective function in this fashion, maximum allowable condition constraints can be added if desired.
This strategy of defining actions on infrastructure components is not restricted to roadway segments. For a manager of a military base or a campus, the problem formulation in Equations 5.2.2 - 5.2.5 might be used for roofs (with replacement or maintenance as actions), storm water components, building components or a range of other infrastructure systems.
In formulating linear programming problems, it is useful to address a series of questions:
- What are my possible decisions? How can they be represented as decision variables?
- What is my objective? Can it be represented as a linear function of my decision variables?
- What are the constraints on the chosen values of my decision variables? Can they be represented as linear functions of the decision variables?
Problem formulation is challenging but is an essential step in any optimization. Indeed, the formulation is more challenging than solution since there are many good software programs available for the solution.
The following example illustrates the use of the formulation questions.
Problem: Suppose you wish to minimize the cost of delivering ethanol from a set of production facilities with a maximum production supply Si where i goes from 1 to n, to a set of metropolitan petroleum mixing facilities (as ethanol is mixed with gasoline) with required amounts \(P_j\) where j goes from 1 to m. Assume the cost of transportation from a production facility to a mixing facility is \(C_{ij}\). Formulate a linear program problem to serve the required demand with the least cost.
- What are my possible decisions? How can they be represented as decision variables? The amount of ethanol shipped from each supply facility to each metropolitan area would be my decision variables. Let us define \(x_{ij}\) as the amount of ethanol shipped from production facility.
- What is my objective? Can it be represented as a linear function of my decision variables? The problem statement gives the objective to minimize transportation costs. The objective function would be: \(\sum i \sum j c_{i j} * x_{i j}\) which is total transportation cost and is linear with regard to decision variables.
- What are the constraints on the chosen values of my decision variables? Can they be represented as linear functions of the decision variables? One set of constraints is to ensure that ethanol shipped from each production facility does not exceed the available supply: \(\sum i x_{i j} \leq S_{i}\) for each \(i\). A second set of constraints is to ensure demand is met at each metropolitan area:\(\sum i x_{i j} \geq P_{j}\) for each j metropolitan area. Finally, the flows must all be positive: \(x_{i j} \geq 0\).
There are a variety of software packages that can be used for linear programming. For example, the spreadsheet program EXCEL has a routine for optimization called Solver. Frontline Systems (2016) has a tutorial available for the use of Solver. Readers interested in more in-depth treatment of linear programming might consult a relevant textbook (Boyd and Vandenberghe, 2004).