The NETFLOW Procedure

Example 5.5: Using an Unconstrained Solution Warm Start

This example examines the effect of changing some of the arc costs. The backorder penalty costs are increased by twenty percent. The sales profit of 25-inch TVs sent to the shops in May is increased by thirty units. The backorder penalty costs of 25-inch TVs manufactured in May for April consumption is decreased by thirty units. The production cost of 19- and 25-inch TVs made in May are decreased by five units and twenty units, respectively. How does the optimal solution of the network after these arc cost alterations compare with the optimum of the original network? If you want to use the warm start facilities of PROC NETFLOW to solve this undefined problem, specify the WARM option. Notice that the FUTURE1 option was specified in the last PROC NETFLOW run.

The following SAS statements produce the new NODEOUT= and ARCOUT= data sets.

  
   title 'Minimum Cost Flow problem- Unconstrained Warm Start'; 
   title2 'Production Planning/Inventory/Distribution'; 
   data arc2; 
      set arc1; 
      oldcost=_cost_; 
      oldfc=_fcost_; 
      oldflow=_flow_; 
      if key_id='backorder' 
         then _cost_=_cost_*1.2; 
         else if _tail_='f2_may_2' then _cost_=_cost_-30; 
      if key_id='production' & mth_made='May' then 
         if diagonal=19 then _cost_=_cost_-5; 
                        else _cost_=_cost_-20; 
  
   proc netflow 
      warm future1 
      nodedata=node2 
      arcdata=arc2 
      nodeout=node3 
      arcout=arc3; 
  
   proc print data=arc3 (drop = _status_ _rcost_); 
      var _tail_ _head_ _capac_ _lo_ _supply_ _demand_ _name_ 
          _cost_ _flow_ _fcost_ oldcost oldflow oldfc 
          diagonal factory key_id mth_made _anumb_ _tnumb_; 
          /* to get this variable order */ 
              sum oldfc _fcost_; 
   proc print data=node3; 
      run;
 
The following notes appear on the SAS log:
  
   NOTE: Number of nodes= 21 . 
   NOTE: Number of supply nodes= 4 . 
   NOTE: Number of demand nodes= 5 . 
   NOTE: The greater of total supply and total 
         demand= 4350 . 
   NOTE: Number of iterations performed (neglecting any 
         constraints)= 8 . 
   NOTE: Of these, 0 were degenerate. 
   NOTE: Optimum (neglecting any constraints) found. 
   NOTE: Minimal total cost= -1285086.45 . 
   NOTE: The data set WORK.ARC3 has 68 observations and 
         21 variables. 
   NOTE: The data set WORK.NODE3 has 22 observations and 
         10 variables.
 

The solution is displayed in Output 5.5.1. The associated NODEOUT data set is in Output 5.5.3.

Output 5.5.1: ARCOUT=ARC3
Minimum Cost Flow problem- Unconstrained Warm Start
Production Planning/Inventory/Distribution

Obs _tail_ _head_ _capac_ _lo_ _SUPPLY_ _DEMAND_ _name_ _cost_ _FLOW_ _FCOST_ oldcost oldflow oldfc diagonal factory key_id mth_made _ANUMB_ _TNUMB_
1 fact1_1 _EXCESS_ 99999999 0 1000 200   0.00 5 0.00 0.00 5 0.00 . .     65 1
2 fact2_1 _EXCESS_ 99999999 0 850 200   0.00 45 0.00 0.00 45 0.00 . .     66 10
3 fact1_2 _EXCESS_ 99999999 0 1000 200   0.00 0 0.00 0.00 10 0.00 . .     67 11
4 fact2_2 _EXCESS_ 99999999 0 1500 200   0.00 150 0.00 0.00 140 0.00 . .     68 20
5 fact1_1 f1_apr_1 600 50 1000 . prod f1 19 apl 78.60 540 42444.00 78.60 600 47160.00 19 1 production April 4 1
6 f1_mar_1 f1_apr_1 50 0 . .   15.00 0 0.00 15.00 0 0.00 19 1 storage March 5 2
7 f1_may_1 f1_apr_1 20 0 . . back f1 19 may 33.60 0 0.00 28.00 0 0.00 19 1 backorder May 6 4
8 f2_apr_1 f1_apr_1 40 0 . .   11.00 0 0.00 11.00 0 0.00 19 . f2_to_1 April 7 6
9 fact1_2 f1_apr_2 550 50 1000 . prod f1 25 apl 174.50 250 43625.00 174.50 550 95975.00 25 1 production April 36 11
10 f1_mar_2 f1_apr_2 40 0 . .   20.00 0 0.00 20.00 0 0.00 25 1 storage March 37 12
11 f1_may_2 f1_apr_2 15 0 . . back f1 25 may 49.20 15 738.00 41.00 15 615.00 25 1 backorder May 38 14
12 f2_apr_2 f1_apr_2 25 0 . .   21.00 0 0.00 21.00 0 0.00 25 . f2_to_1 April 39 16
13 fact1_1 f1_mar_1 500 50 1000 . prod f1 19 mar 127.90 340 43486.00 127.90 345 44125.50 19 1 production March 1 1
14 f1_apr_1 f1_mar_1 20 0 . . back f1 19 apl 33.60 20 672.00 28.00 20 560.00 19 1 backorder April 2 3
15 f2_mar_1 f1_mar_1 40 0 . .   10.00 40 400.00 10.00 40 400.00 19 . f2_to_1 March 3 5
16 fact1_2 f1_mar_2 400 40 1000 . prod f1 25 mar 217.90 400 87160.00 217.90 400 87160.00 25 1 production March 33 11
17 f1_apr_2 f1_mar_2 30 0 . . back f1 25 apl 38.40 30 1152.00 32.00 30 960.00 25 1 backorder April 34 13
18 f2_mar_2 f1_mar_2 25 0 . .   20.00 25 500.00 20.00 25 500.00 25 . f2_to_1 March 35 15
19 fact1_1 f1_may_1 400 50 1000 .   90.10 115 10361.50 95.10 50 4755.00 19 1 production May 8 1
20 f1_apr_1 f1_may_1 50 0 . .   12.00 0 0.00 12.00 50 600.00 19 1 storage April 9 3
21 f2_may_1 f1_may_1 40 0 . .   13.00 0 0.00 13.00 0 0.00 19 . f2_to_1 May 10 7
22 fact1_2 f1_may_2 350 40 1000 .   113.30 350 39655.00 133.30 40 5332.00 25 1 production May 40 11
23 f1_apr_2 f1_may_2 40 0 . .   18.00 0 0.00 18.00 0 0.00 25 1 storage April 41 13
24 f2_may_2 f1_may_2 25 0 . .   13.00 0 0.00 43.00 0 0.00 25 . f2_to_1 May 42 17
25 f1_apr_1 f2_apr_1 99999999 0 . .   11.00 20 220.00 11.00 30 330.00 19 . f1_to_2 April 14 3
26 fact2_1 f2_apr_1 480 35 850 . prod f2 19 apl 62.40 480 29952.00 62.40 480 29952.00 19 2 production April 15 10
27 f2_mar_1 f2_apr_1 30 0 . .   18.00 0 0.00 18.00 0 0.00 19 2 storage March 16 5
28 f2_may_1 f2_apr_1 15 0 . . back f2 19 may 30.00 0 0.00 25.00 0 0.00 19 2 backorder May 17 7
29 f1_apr_2 f2_apr_2 99999999 0 . .   23.00 0 0.00 23.00 0 0.00 25 . f1_to_2 April 46 13
30 fact2_2 f2_apr_2 680 35 1500 . prod f2 25 apl 196.70 680 133756.00 196.70 680 133756.00 25 2 production April 47 20
31 f2_mar_2 f2_apr_2 50 0 . .   28.00 0 0.00 28.00 0 0.00 25 2 storage March 48 15
32 f2_may_2 f2_apr_2 15 0 . . back f2 25 may 64.80 0 0.00 54.00 15 810.00 25 2 backorder May 49 17
33 f1_mar_1 f2_mar_1 99999999 0 . .   11.00 0 0.00 11.00 0 0.00 19 . f1_to_2 March 11 2
34 fact2_1 f2_mar_1 450 35 850 . prod f2 19 mar 88.00 290 25520.00 88.00 290 25520.00 19 2 production March 12 10
35 f2_apr_1 f2_mar_1 15 0 . . back f2 19 apl 20.40 0 0.00 17.00 0 0.00 19 2 backorder April 13 6
36 f1_mar_2 f2_mar_2 99999999 0 . .   23.00 0 0.00 23.00 0 0.00 25 . f1_to_2 March 43 12
37 fact2_2 f2_mar_2 650 35 1500 . prod f2 25 mar 182.00 635 115570.00 182.00 645 117390.00 25 2 production March 44 20
38 f2_apr_2 f2_mar_2 15 0 . . back f2 25 apl 37.20 0 0.00 31.00 0 0.00 25 2 backorder April 45 16
39 f1_may_1 f2_may_1 99999999 0 . .   16.00 115 1840.00 16.00 100 1600.00 19 . f1_to_2 May 18 4
40 fact2_1 f2_may_1 250 35 850 .   128.80 35 4508.00 133.80 35 4683.00 19 2 production May 19 10
41 f2_apr_1 f2_may_1 30 0 . .   20.00 0 0.00 20.00 15 300.00 19 2 storage April 20 6
42 f1_may_2 f2_may_2 99999999 0 . .   26.00 335 8710.00 26.00 0 0.00 25 . f1_to_2 May 50 14
43 fact2_2 f2_may_2 550 35 1500 .   181.40 35 6349.00 201.40 35 7049.00 25 2 production May 51 20
44 f2_apr_2 f2_may_2 50 0 . .   38.00 0 0.00 38.00 0 0.00 25 2 storage April 52 16
45 f1_mar_1 shop1_1 250 0 . 900   -327.65 150 -49147.50 -327.65 155 -50785.75 19 1 sales March 21 2
46 f1_apr_1 shop1_1 250 0 . 900   -300.00 250 -75000.00 -300.00 250 -75000.00 19 1 sales April 22 3
47 f1_may_1 shop1_1 250 0 . 900   -285.00 0 0.00 -285.00 0 0.00 19 1 sales May 23 4
48 f2_mar_1 shop1_1 250 0 . 900   -297.40 250 -74350.00 -297.40 250 -74350.00 19 2 sales March 24 5
49 f2_apr_1 shop1_1 250 0 . 900   -290.00 250 -72500.00 -290.00 245 -71050.00 19 2 sales April 25 6
50 f2_may_1 shop1_1 250 0 . 900   -292.00 0 0.00 -292.00 0 0.00 19 2 sales May 26 7
51 f1_mar_2 shop1_2 99999999 0 . 900   -559.76 0 0.00 -559.76 0 0.00 25 1 sales March 53 12
52 f1_apr_2 shop1_2 99999999 0 . 900   -524.28 0 0.00 -524.28 0 0.00 25 1 sales April 54 13
53 f1_may_2 shop1_2 99999999 0 . 900   -475.02 0 0.00 -475.02 25 -11875.50 25 1 sales May 55 14
54 f2_mar_2 shop1_2 500 0 . 900   -567.83 500 -283915.00 -567.83 500 -283915.00 25 2 sales March 56 15
55 f2_apr_2 shop1_2 500 0 . 900   -542.19 400 -216876.00 -542.19 375 -203321.25 25 2 sales April 57 16
56 f2_may_2 shop1_2 500 0 . 900   -491.56 0 0.00 -461.56 0 0.00 25 2 sales May 58 17
57 f1_mar_1 shop2_1 250 0 . 900   -362.74 250 -90685.00 -362.74 250 -90685.00 19 1 sales March 27 2
58 f1_apr_1 shop2_1 250 0 . 900   -300.00 250 -75000.00 -300.00 250 -75000.00 19 1 sales April 28 3
59 f1_may_1 shop2_1 250 0 . 900   -245.00 0 0.00 -245.00 0 0.00 19 1 sales May 29 4
60 f2_mar_1 shop2_1 250 0 . 900   -272.70 0 0.00 -272.70 0 0.00 19 2 sales March 30 5
61 f2_apr_1 shop2_1 250 0 . 900   -312.00 250 -78000.00 -312.00 250 -78000.00 19 2 sales April 31 6
62 f2_may_1 shop2_1 250 0 . 900   -299.00 150 -44850.00 -299.00 150 -44850.00 19 2 sales May 32 7
63 f1_mar_2 shop2_2 99999999 0 . 1450   -623.89 455 -283869.95 -623.89 455 -283869.95 25 1 sales March 59 12
64 f1_apr_2 shop2_2 99999999 0 . 1450   -549.68 235 -129174.80 -549.68 535 -294078.80 25 1 sales April 60 13
65 f1_may_2 shop2_2 99999999 0 . 1450   -460.00 0 0.00 -460.00 0 0.00 25 1 sales May 61 14
66 f2_mar_2 shop2_2 500 0 . 1450   -542.83 110 -59711.30 -542.83 120 -65139.60 25 2 sales March 62 15
67 f2_apr_2 shop2_2 500 0 . 1450   -559.19 280 -156573.20 -559.19 320 -178940.80 25 2 sales April 63 16
68 f2_may_2 shop2_2 500 0 . 1450   -519.06 370 -192052.20 -489.06 20 -9781.20 25 2 sales May 64 17
                    -1285086.45     -1281110.35            




Output 5.5.2: NODEOUT=NODE3
Minimum Cost Flow problem- Unconstrained Warm Start
Production Planning/Inventory/Distribution

Obs _node_ _supdem_ _DUAL_ _NNUMB_ _PRED_ _TRAV_ _SCESS_ _ARCID_ _FLOW_ _FBQ_
1 _ROOT_ 238 0.00 22 0 8 0 3 166 -69
2 _EXCESS_ -200 -100000198.75 21 1 20 13 65 5 65
3 f1_apr_1 . -100000277.35 3 1 6 2 4 490 4
4 f1_apr_2 . -100000387.60 13 19 11 2 -60 235 36
5 f1_mar_1 . -100000326.65 2 8 1 20 -21 150 1
6 f1_mar_2 . -100000461.81 12 19 13 1 -59 455 33
7 f1_may_1 . -100000288.85 4 1 7 3 8 65 8
8 f1_may_2 . -100000330.98 14 17 10 1 -50 335 40
9 f2_apr_1 . -100000288.35 6 3 4 1 14 20 14
10 f2_apr_2 . -100000397.11 16 19 18 2 -63 280 46
11 f2_mar_1 . -100000286.75 5 10 22 1 12 255 11
12 f2_mar_2 . -100000380.75 15 20 19 9 44 600 43
13 f2_may_1 . -100000304.85 7 4 9 2 18 115 18
14 f2_may_2 . -100000356.98 17 19 14 2 -64 370 50
15 fact1_1 1000 -100000198.75 1 2 3 19 -1 290 -1
16 fact1_2 1000 -100000213.10 11 13 17 1 -36 200 -33
17 fact2_1 850 -100000198.75 10 21 5 2 -66 45 -33
18 fact2_2 1500 -100000198.75 20 21 15 10 -68 150 -65
19 shop1_1 -900 -99999999.00 8 22 2 21 0 0 21
20 shop1_2 -900 -99999854.92 18 16 12 1 57 400 53
21 shop2_1 -900 -100000005.85 9 7 21 1 32 150 27
22 shop2_2 -1450 -99999837.92 19 15 16 8 62 110 59



Previous Page | Next Page | Top of Page