The OPTMODEL Procedure

A Transportation Problem

You can easily translate the symbolic formulation of a problem into the OPTMODEL procedure. Let's consider the transportation problem, which is mathematically modeled as the following linear programming problem:

\displaystyle\mathop\textrm{minimize}& {\displaystyle\mathop\sum_{i\in o, j \in ...   ... j \in d & ({\rm demand}) \    & x_{ij} & \geq & 0, &  \forall (i,j) \in o x d &


where o is the set of origins, d is the set of destinations, c_{ij} is the cost to transport one unit from i to j, a_i is the supply of origin i, b_j is the demand of destination j, and x_{ij} is the decision variable for the amount of shipment from i to j.

Here is a very simple example. The cities in the set o of origins are Detroit and Pittsburgh. The cities in the set d of destinations are Boston and New York. The cost matrix, supply, and demand are shown in Table 6.2.

Table 6.2: A Transportation Problem
  Boston New York Supply
Detroit3020200
Pittsburgh4010100
Demand150150 

The problem is compactly and clearly formulated and solved by using the OPTMODEL procedure with the following code:

    proc optmodel;
    
       /* specify parameters */
       set O={'Detroit','Pittsburgh'};
       set D={'Boston','New York'};
       number c{O,D}=[30 20
                      40 10];
       number a{O}=[200 100];
       number b{D}=[150 150];
 
       /* model description */
       var x{O,D} >= 0;
       min total_cost = sum{i in O, j in D}c[i,j]*x[i,j];
       constraint supply{i in O}: sum{j in D}x[i,j]=a[i];
       constraint demand{j in D}: sum{i in O}x[i,j]=b[j];
 
       /* solve and output */
       solve;
       print x;
 

The output is shown in Output 6.4.

The OPTMODEL Procedure

Problem Summary
Objective Sense Minimization
Objective Function total_cost
Objective Type Linear
   
Number of Variables 4
Bounded Above 0
Bounded Below 4
Bounded Below and Above 0
Free 0
Fixed 0
   
Number of Constraints 4
Linear LE (<=) 0
Linear EQ (=) 4
Linear GE (>=) 0
Linear Range 0



The OPTMODEL Procedure

Solution Summary
Solver Dual Simplex
Objective Function total_cost
Solution Status Optimal
Objective Value 6500
Iterations 0
   
Primal Infeasibility 0
Dual Infeasibility 0
Bound Infeasibility 0

x
  Boston New York
Detroit 150 50
Pittsburgh 0 100


Figure 6.4: Solution to the Transportation Problem


Previous Page | Next Page | Top of Page