Linear and Convex Optimization. Michael H. Veatch
even when these assumptions do not fully hold.
We will use matrix notation for linear programs whenever possible. Let
Here
Example 1.2 Consider the linear program
Converting the objective function and constraints to matrix form, we have
If we let
then this linear program can be written
It is important to distinguish between the structure of an optimization problem and the data that provides a specific numerical example. The structure of (1.4) is a minimization linear program with “
To write a mixture of “
and write, e.g.
1.4.2 Integer Programs
Many practical optimization problems involve making discrete quantitative choices, such as how many fire trucks of each type a fire department should purchase, or logical choices, such as whether or not each drug being developed by a pharmaceutical company should be chosen for a clinical trial. Both types of situations can be modeled by integer variables.
Consider again the linear program (1.1) with the alternative objective function (1.2). The variables represent the number of pallets of tents and food. If we restrict the variables to be integers, i.e. we can only load whole pallets, then the problem becomes an integer program and can be stated
Without the integer restriction, it is a linear program with optimal solution
Figure 1.4 Feasible integer solutions for (1.5).
Although the graphical method was fairly simple for this example, it is quite different than when solving linear programs. Note that:
There is not necessarily an optimal solution at the intersection of two constraints. In our example, lies only on the constraint line . In other examples, the optimal solution may not lie on any constraint.
The optimal solution is not necessarily obtained by rounding the linear program optimal solution. In fact, there is no limit to how far the optimal solution could be from the linear programming solution.
The integer program can be infeasible when the linear program is feasible.
These difficulties suggest that integer programs are harder to solve than linear programs, which we will see is true. Even solving a two‐variable integer program graphically can be tedious. However, we do not necessarily need to generate all integer feasible solutions. For example, if we start by generating the feasible point
The general form of an integer program is the same as a linear program with the added constraint that the variables are integers. If only some of the variables are restricted