Minimize Traffic Congestion Model: NLTRAZ
In this model, we have a network with seven nodes. Three of the nodes are source nodes and four of the nodes are destination nodes. Each of the source nodes can ship to any of the destination nodes. The problem is the more product you send down an arc, the longer it takes for it to arrive. This might be the case if the underlying network were a railroad, for instance. We assume shipping times obey the following relationship:
Time = Rate / ( 1 - Flow / Limit)
where,
Time | time to ship one unit of product down a route, |
Rate | time required to transport one unit down a route if there is no congestion along the route, |
Flow | amount of product shipped down a route, and |
Limit | is the maximum limit of product flow down a route. |
Based on this relationship, we see shipping times go to infinity as the capacity of an arc is approached. The goal of the model is to determine how much product to ship from each source to each destination, so as to minimize total shipping times.
MODEL:
! Traffic congestion transportation problem.
Cost/unit increases to infinity as traffic on link
approaches its link capacity.
Truncated variation of an AMPL example;
SETS:
ORIG/ CHIC CINC ERIE/: SUPPLY;
DEST / HAM AKR COL DAY/ : DEMAND;
OXD( ORIG, DEST): RATE, LIMIT, TRAF;
ENDSETS
DATA:
SUPPLY = 1200 800 1400;
DEMAND = 1000 1200 700 500 ;
RATE = 39 14 11 14
27 9 12 9
24 14 17 13 ;
LIMIT = 500 1000 1000 1000
500 800 800 800
800 600 600 600 ;
ENDDATA
[TOTCOST] MIN =
@SUM( OXD: RATE * TRAF/( 1 - TRAF/ LIMIT));
@FOR( ORIG( I):
@SUM( OXD( I, J): TRAF( I, J)) = SUPPLY( I));
@FOR( DEST( J):
@SUM( OXD( I, J): TRAF( I, J)) = DEMAND( J));
@FOR( OXD: @BND( 0, TRAF, LIMIT););
END
Model: NLTRAZ