Example 4.2: Altering Arc Data
This example examines
the effect of changing some of the arc costs.
The back-order penalty costs are increased by 20 percent.
The sales profit of 25-inch TVs sent to the shops in May is
increased by 30 units.
The backorder penalty costs of 25-inch TVs manufactured in May
for April consumption is decreased by 30 units.
The production cost of 19-inch and 25-inch TVs made in May are
decreased by 5 units and 20 units, respectively.
How does the optimal solution of the network after these arc cost
alterations
compare with the optimum of the original network?
These SAS statements produce the new NODEDATA= and ARCDATA= data sets:
title2 'Minimum Cost Flow problem- Altered Arc Data';
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 intpoint
bytes=100000
printlevel2=2
nodedata=node0
arcdata=arc2
conout=arc3;
run;
proc print data=arc3;
var _tail_ _head_ _capac_ _lo_ _supply_ _demand_ _name_
_cost_ _flow_ _fcost_ oldcost oldflow oldfc
diagonal factory key_id mth_made;
/* to get this variable order */
sum oldfc _fcost_;
run;
The following notes appear on the SAS log:
NOTE: Number of nodes= 20 .
NOTE: Number of supply nodes= 4 .
NOTE: Number of demand nodes= 4 .
NOTE: Total supply= 4350 , total demand= 4150 .
NOTE: Number of arcs= 64 .
NOTE: The following messages relate to the equivalent
Linear Program solved by the Interior Point algorithm.
NOTE: Number of <= constraints= 0 .
NOTE: Number of == constraints= 21 .
NOTE: Number of >= constraints= 0 .
NOTE: Number of constraint coefficients= 136 .
NOTE: Number of variables= 68 .
NOTE: 0 columns, 0 rows and 0 coefficients were added to the
problem to handle unrestricted variables, variables that are
split, and constraint slack or surplus variables.
NOTE: There are 54 nonzero elements in A * A transpose.
NOTE: Of the 21 rows and columns, 14 are sparse.
NOTE: There are 59 nonzero superdiagonal elements in the sparse rows of
the factored A * A transpose. This includes fill-in.
NOTE: There are 80 operations of the form u[i,j]=u[i,j]-u[q,j]*u[q,i]/u[q,q]
to factorize the sparse rows of A * A transpose.
Iter Complem_aff Complem-ity Duality_gap Tot_infeasb Tot_infeasc Tot_infeasd
0 -1.000000 167898972 0.834344 52835 26238 35092
1 35575010 17420416 0.911474 1664.001693 826.349461 0
2 1969763 739523 0.369979 0 1.267542E-12 0
3 373828 189905 0.127240 0 0 0
4 117843 45042 0.032721 0 0 0
5 26090 15668 0.011493 0 0 0
6 8608.105391 2994.589912 0.002212 0 0 0
7 1477.385197 411.268625 0.000304 0 0 0
8 103.724839 24.733676 0.000018304 0 0 0
9 2.140932 0.002805 2.0758339E-9 0 0 0
NOTE: Primal-Dual Predictor-Corrector Interior point algorithm performed 9 iterations.
NOTE: Objective = -1285086.45.
NOTE: The data set WORK.ARC3 has 64 observations and 21 variables.
NOTE: There were 64 observations read from the data set WORK.ARC2.
NOTE: There were 8 observations read from the data set WORK.NODE0.
NOTE: The data set WORK.ARC3 has 64 observations and 21 variables.
The solution is displayed in Output 4.2.1.
Output 4.2.1: CONOUT=ARC3
| Minimum Cost Flow problem- Altered arc data |
| Obs |
_tail_ |
_head_ |
_capac_ |
_lo_ |
_SUPPLY_ |
_DEMAND_ |
_name_ |
_cost_ |
_FLOW_ |
_FCOST_ |
oldcost |
oldflow |
oldfc |
diagonal |
factory |
key_id |
mth_made |
| 1 |
fact1_1 |
f1_apr_1 |
600 |
50 |
1000 |
. |
prod f1 19 apl |
78.60 |
540.000 |
42443.99 |
78.60 |
600.000 |
47160.00 |
19 |
1 |
production |
April |
| 2 |
f1_mar_1 |
f1_apr_1 |
50 |
0 |
. |
. |
|
15.00 |
0.000 |
0.00 |
15.00 |
0.000 |
0.00 |
19 |
1 |
storage |
March |
| 3 |
f1_may_1 |
f1_apr_1 |
20 |
0 |
. |
. |
back f1 19 may |
33.60 |
0.000 |
0.00 |
28.00 |
0.000 |
0.00 |
19 |
1 |
backorder |
May |
| 4 |
f2_apr_1 |
f1_apr_1 |
40 |
0 |
. |
. |
|
11.00 |
0.000 |
0.00 |
11.00 |
0.000 |
0.00 |
19 |
. |
f2_to_1 |
April |
| 5 |
fact1_2 |
f1_apr_2 |
550 |
50 |
1000 |
. |
prod f1 25 apl |
174.50 |
250.000 |
43625.00 |
174.50 |
550.000 |
95975.00 |
25 |
1 |
production |
April |
| 6 |
f1_mar_2 |
f1_apr_2 |
40 |
0 |
. |
. |
|
20.00 |
0.000 |
0.00 |
20.00 |
0.000 |
0.00 |
25 |
1 |
storage |
March |
| 7 |
f1_may_2 |
f1_apr_2 |
15 |
0 |
. |
. |
back f1 25 may |
49.20 |
15.000 |
738.00 |
41.00 |
15.000 |
615.00 |
25 |
1 |
backorder |
May |
| 8 |
f2_apr_2 |
f1_apr_2 |
25 |
0 |
. |
. |
|
21.00 |
0.000 |
0.00 |
21.00 |
0.000 |
0.00 |
25 |
. |
f2_to_1 |
April |
| 9 |
fact1_1 |
f1_mar_1 |
500 |
50 |
1000 |
. |
prod f1 19 mar |
127.90 |
340.000 |
43486.01 |
127.90 |
345.000 |
44125.49 |
19 |
1 |
production |
March |
| 10 |
f1_apr_1 |
f1_mar_1 |
20 |
0 |
. |
. |
back f1 19 apl |
33.60 |
20.000 |
672.00 |
28.00 |
20.000 |
560.00 |
19 |
1 |
backorder |
April |
| 11 |
f2_mar_1 |
f1_mar_1 |
40 |
0 |
. |
. |
|
10.00 |
40.000 |
400.00 |
10.00 |
40.000 |
400.00 |
19 |
. |
f2_to_1 |
March |
| 12 |
fact1_2 |
f1_mar_2 |
400 |
40 |
1000 |
. |
prod f1 25 mar |
217.90 |
400.000 |
87160.00 |
217.90 |
400.000 |
87160.00 |
25 |
1 |
production |
March |
| 13 |
f1_apr_2 |
f1_mar_2 |
30 |
0 |
. |
. |
back f1 25 apl |
38.40 |
30.000 |
1152.00 |
32.00 |
30.000 |
960.00 |
25 |
1 |
backorder |
April |
| 14 |
f2_mar_2 |
f1_mar_2 |
25 |
0 |
. |
. |
|
20.00 |
25.000 |
500.00 |
20.00 |
25.000 |
500.00 |
25 |
. |
f2_to_1 |
March |
| 15 |
fact1_1 |
f1_may_1 |
400 |
50 |
1000 |
. |
|
90.10 |
115.000 |
10361.50 |
95.10 |
50.000 |
4755.01 |
19 |
1 |
production |
May |
| 16 |
f1_apr_1 |
f1_may_1 |
50 |
0 |
. |
. |
|
12.00 |
0.000 |
0.00 |
12.00 |
50.000 |
600.00 |
19 |
1 |
storage |
April |
| 17 |
f2_may_1 |
f1_may_1 |
40 |
0 |
. |
. |
|
13.00 |
0.000 |
0.00 |
13.00 |
0.000 |
0.00 |
19 |
. |
f2_to_1 |
May |
| 18 |
fact1_2 |
f1_may_2 |
350 |
40 |
1000 |
. |
|
113.30 |
350.000 |
39655.00 |
133.30 |
40.000 |
5332.00 |
25 |
1 |
production |
May |
| 19 |
f1_apr_2 |
f1_may_2 |
40 |
0 |
. |
. |
|
18.00 |
0.000 |
0.00 |
18.00 |
0.000 |
0.00 |
25 |
1 |
storage |
April |
| 20 |
f2_may_2 |
f1_may_2 |
25 |
0 |
. |
. |
|
13.00 |
0.000 |
0.00 |
43.00 |
0.000 |
0.00 |
25 |
. |
f2_to_1 |
May |
| 21 |
f1_apr_1 |
f2_apr_1 |
99999999 |
0 |
. |
. |
|
11.00 |
20.000 |
220.00 |
11.00 |
30.000 |
330.00 |
19 |
. |
f1_to_2 |
April |
| 22 |
fact2_1 |
f2_apr_1 |
480 |
35 |
850 |
. |
prod f2 19 apl |
62.40 |
480.000 |
29952.00 |
62.40 |
480.000 |
29952.00 |
19 |
2 |
production |
April |
| 23 |
f2_mar_1 |
f2_apr_1 |
30 |
0 |
. |
. |
|
18.00 |
0.000 |
0.00 |
18.00 |
0.000 |
0.00 |
19 |
2 |
storage |
March |
| 24 |
f2_may_1 |
f2_apr_1 |
15 |
0 |
. |
. |
back f2 19 may |
30.00 |
0.000 |
0.00 |
25.00 |
0.000 |
0.00 |
19 |
2 |
backorder |
May |
| 25 |
f1_apr_2 |
f2_apr_2 |
99999999 |
0 |
. |
. |
|
23.00 |
0.000 |
0.00 |
23.00 |
0.000 |
0.00 |
25 |
. |
f1_to_2 |
April |
| 26 |
fact2_2 |
f2_apr_2 |
680 |
35 |
1500 |
. |
prod f2 25 apl |
196.70 |
680.000 |
133756.00 |
196.70 |
680.000 |
133756.00 |
25 |
2 |
production |
April |
| 27 |
f2_mar_2 |
f2_apr_2 |
50 |
0 |
. |
. |
|
28.00 |
0.000 |
0.00 |
28.00 |
0.000 |
0.00 |
25 |
2 |
storage |
March |
| 28 |
f2_may_2 |
f2_apr_2 |
15 |
0 |
. |
. |
back f2 25 may |
64.80 |
0.000 |
0.00 |
54.00 |
15.000 |
810.00 |
25 |
2 |
backorder |
May |
| 29 |
f1_mar_1 |
f2_mar_1 |
99999999 |
0 |
. |
. |
|
11.00 |
0.000 |
0.00 |
11.00 |
0.000 |
0.00 |
19 |
. |
f1_to_2 |
March |
| 30 |
fact2_1 |
f2_mar_1 |
450 |
35 |
850 |
. |
prod f2 19 mar |
88.00 |
290.000 |
25520.00 |
88.00 |
290.000 |
25520.00 |
19 |
2 |
production |
March |
| 31 |
f2_apr_1 |
f2_mar_1 |
15 |
0 |
. |
. |
back f2 19 apl |
20.40 |
0.000 |
0.00 |
17.00 |
0.000 |
0.00 |
19 |
2 |
backorder |
April |
| 32 |
f1_mar_2 |
f2_mar_2 |
99999999 |
0 |
. |
. |
|
23.00 |
0.000 |
0.00 |
23.00 |
0.000 |
0.00 |
25 |
. |
f1_to_2 |
March |
| 33 |
fact2_2 |
f2_mar_2 |
650 |
35 |
1500 |
. |
prod f2 25 mar |
182.00 |
635.000 |
115570.00 |
182.00 |
645.000 |
117390.00 |
25 |
2 |
production |
March |
| 34 |
f2_apr_2 |
f2_mar_2 |
15 |
0 |
. |
. |
back f2 25 apl |
37.20 |
0.000 |
0.00 |
31.00 |
0.000 |
0.00 |
25 |
2 |
backorder |
April |
| 35 |
f1_may_1 |
f2_may_1 |
99999999 |
0 |
. |
. |
|
16.00 |
115.000 |
1840.00 |
16.00 |
100.000 |
1600.00 |
19 |
. |
f1_to_2 |
May |
| 36 |
fact2_1 |
f2_may_1 |
250 |
35 |
850 |
. |
|
128.80 |
35.000 |
4508.00 |
133.80 |
35.000 |
4683.00 |
19 |
2 |
production |
May |
| 37 |
f2_apr_1 |
f2_may_1 |
30 |
0 |
. |
. |
|
20.00 |
0.000 |
0.00 |
20.00 |
15.000 |
300.00 |
19 |
2 |
storage |
April |
| 38 |
f1_may_2 |
f2_may_2 |
99999999 |
0 |
. |
. |
|
26.00 |
335.000 |
8710.00 |
26.00 |
0.000 |
0.00 |
25 |
. |
f1_to_2 |
May |
| 39 |
fact2_2 |
f2_may_2 |
550 |
35 |
1500 |
. |
|
181.40 |
35.000 |
6349.00 |
201.40 |
35.000 |
7049.00 |
25 |
2 |
production |
May |
| 40 |
f2_apr_2 |
f2_may_2 |
50 |
0 |
. |
. |
|
38.00 |
0.000 |
0.00 |
38.00 |
0.000 |
0.00 |
25 |
2 |
storage |
April |
| 41 |
f1_mar_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-327.65 |
150.000 |
-49147.54 |
-327.65 |
155.000 |
-50785.73 |
19 |
1 |
sales |
March |
| 42 |
f1_apr_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-300.00 |
250.000 |
-75000.00 |
-300.00 |
250.000 |
-75000.00 |
19 |
1 |
sales |
April |
| 43 |
f1_may_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-285.00 |
0.000 |
0.00 |
-285.00 |
0.000 |
0.00 |
19 |
1 |
sales |
May |
| 44 |
f2_mar_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-297.40 |
250.000 |
-74350.00 |
-297.40 |
250.000 |
-74350.00 |
19 |
2 |
sales |
March |
| 45 |
f2_apr_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-290.00 |
250.000 |
-72499.97 |
-290.00 |
245.000 |
-71050.02 |
19 |
2 |
sales |
April |
| 46 |
f2_may_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-292.00 |
0.000 |
0.00 |
-292.00 |
0.000 |
0.00 |
19 |
2 |
sales |
May |
| 47 |
f1_mar_2 |
shop1_2 |
99999999 |
0 |
. |
900 |
|
-559.76 |
0.000 |
0.00 |
-559.76 |
0.000 |
0.00 |
25 |
1 |
sales |
March |
| 48 |
f1_apr_2 |
shop1_2 |
99999999 |
0 |
. |
900 |
|
-524.28 |
0.000 |
0.00 |
-524.28 |
0.000 |
0.00 |
25 |
1 |
sales |
April |
| 49 |
f1_may_2 |
shop1_2 |
99999999 |
0 |
. |
900 |
|
-475.02 |
0.000 |
-0.02 |
-475.02 |
25.000 |
-11875.50 |
25 |
1 |
sales |
May |
| 50 |
f2_mar_2 |
shop1_2 |
500 |
0 |
. |
900 |
|
-567.83 |
500.000 |
-283915.00 |
-567.83 |
500.000 |
-283915.00 |
25 |
2 |
sales |
March |
| 51 |
f2_apr_2 |
shop1_2 |
500 |
0 |
. |
900 |
|
-542.19 |
400.000 |
-216875.98 |
-542.19 |
375.000 |
-203321.25 |
25 |
2 |
sales |
April |
| 52 |
f2_may_2 |
shop1_2 |
500 |
0 |
. |
900 |
|
-491.56 |
0.000 |
0.00 |
-461.56 |
0.000 |
0.00 |
25 |
2 |
sales |
May |
| 53 |
f1_mar_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-362.74 |
250.000 |
-90685.00 |
-362.74 |
250.000 |
-90685.00 |
19 |
1 |
sales |
March |
| 54 |
f1_apr_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-300.00 |
250.000 |
-75000.00 |
-300.00 |
250.000 |
-75000.00 |
19 |
1 |
sales |
April |
| 55 |
f1_may_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-245.00 |
0.000 |
0.00 |
-245.00 |
0.000 |
0.00 |
19 |
1 |
sales |
May |
| 56 |
f2_mar_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-272.70 |
0.000 |
0.00 |
-272.70 |
0.000 |
0.00 |
19 |
2 |
sales |
March |
| 57 |
f2_apr_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-312.00 |
250.000 |
-78000.00 |
-312.00 |
250.000 |
-78000.00 |
19 |
2 |
sales |
April |
| 58 |
f2_may_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-299.00 |
150.000 |
-44850.00 |
-299.00 |
150.000 |
-44850.00 |
19 |
2 |
sales |
May |
| 59 |
f1_mar_2 |
shop2_2 |
99999999 |
0 |
. |
1450 |
|
-623.89 |
455.000 |
-283869.95 |
-623.89 |
455.000 |
-283869.95 |
25 |
1 |
sales |
March |
| 60 |
f1_apr_2 |
shop2_2 |
99999999 |
0 |
. |
1450 |
|
-549.68 |
235.000 |
-129174.80 |
-549.68 |
535.000 |
-294078.80 |
25 |
1 |
sales |
April |
| 61 |
f1_may_2 |
shop2_2 |
99999999 |
0 |
. |
1450 |
|
-460.00 |
0.000 |
0.00 |
-460.00 |
0.000 |
0.00 |
25 |
1 |
sales |
May |
| 62 |
f2_mar_2 |
shop2_2 |
500 |
0 |
. |
1450 |
|
-542.83 |
110.000 |
-59711.31 |
-542.83 |
120.000 |
-65139.60 |
25 |
2 |
sales |
March |
| 63 |
f2_apr_2 |
shop2_2 |
500 |
0 |
. |
1450 |
|
-559.19 |
280.000 |
-156573.22 |
-559.19 |
320.000 |
-178940.80 |
25 |
2 |
sales |
April |
| 64 |
f2_may_2 |
shop2_2 |
500 |
0 |
. |
1450 |
|
-519.06 |
370.000 |
-192052.18 |
-489.06 |
20.000 |
-9781.20 |
25 |
2 |
sales |
May |
| |
|
|
|
|
|
|
|
|
|
-1285086.45 |
|
|
-1281110.35 |
|
|
|
|
|
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.