Example 7.7 Using a Constrained Solution Warm Start
Suppose the 25-inch screen TVs produced at factory 1 in May can be sold at either shop with an increased profit of 40 dollars each. What is the new optimal solution? Because only arc costs have been changed, information about the present solution in DUALOUT=dual4 and CONOUT=con4 can be used as a warm start in the following PROC NETFLOW run. It is still necessary to specify CONDATA=con3 SPARSECONDATA RHSOBS='CHIP/BO LIMIT', since the CONDATA= data set is always read.
title 'Using a Constrained Solution Warm Start';
title2 'Production Planning/Inventory/Distribution';
data new_con4;
set con4;
oldcost=_cost_;
oldflow=_flow_;
oldfc=_fcost_;
if _tail_='f1_may_2'
& (_head_='shop1_2' | _head_='shop2_2')
then _cost_=_cost_-40;
run;
proc netflow
warm
arcdata=new_con4
dualin=dual4
condata=con3
sparsecondata
rhsobs='CHIP/BO LIMIT'
dualout=dual5
conout=con5;
run;
quit;
proc print data=con5 heading=h width=min;
sum _fcost_;
var _tail_ _head_ _capac_ _lo_ _supply_ _demand_ _name_ _cost_ _flow_ _fcost_;
run;
proc print data=con5 heading=h width=min;
sum oldfc;
var oldcost oldflow oldfc diagonal factory key_id mth_made _anumb_ _tnumb_;
run;
proc print data=dual5;
run;
The following messages appear on the SAS log:
|
|
NOTE: The following 1 variables in NODEDATA do not belong to any SAS variable |
list. These will be ignored. |
_VALUE_ |
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 <= side constraints= 5 . |
NOTE: Number of == side constraints= 0 . |
NOTE: Number of >= side constraints= 0 . |
NOTE: Number of arc and nonarc variable side constraint coefficients= 16 . |
NOTE: Number of iterations, optimizing with constraints= 6 . |
NOTE: Of these, 0 were degenerate. |
NOTE: Optimum reached. |
NOTE: Minimal total cost= -1295661.8 . |
NOTE: The data set WORK.CON5 has 68 observations and 21 variables. |
NOTE: The data set WORK.DUAL5 has 25 observations and 14 variables. |
|
|
|
Output 7.7.1
CONOUT=CON5
fact1_1 |
_EXCESS_ |
99999999 |
0 |
1000 |
200 |
|
0.00 |
5.000 |
0.00 |
fact2_1 |
_EXCESS_ |
99999999 |
0 |
850 |
200 |
|
0.00 |
45.000 |
0.00 |
fact1_2 |
_EXCESS_ |
99999999 |
0 |
1000 |
200 |
|
0.00 |
0.000 |
0.00 |
fact2_2 |
_EXCESS_ |
99999999 |
0 |
1500 |
200 |
|
0.00 |
150.000 |
0.00 |
fact1_1 |
f1_apr_1 |
600 |
50 |
1000 |
. |
prod f1 19 apl |
78.60 |
533.333 |
41920.00 |
f1_mar_1 |
f1_apr_1 |
50 |
0 |
. |
. |
|
15.00 |
0.000 |
0.00 |
f1_may_1 |
f1_apr_1 |
20 |
0 |
. |
. |
back f1 19 may |
33.60 |
0.000 |
0.00 |
f2_apr_1 |
f1_apr_1 |
40 |
0 |
. |
. |
|
11.00 |
0.000 |
0.00 |
fact1_2 |
f1_apr_2 |
550 |
50 |
1000 |
. |
prod f1 25 apl |
174.50 |
250.000 |
43625.00 |
f1_mar_2 |
f1_apr_2 |
40 |
0 |
. |
. |
|
20.00 |
0.000 |
0.00 |
f1_may_2 |
f1_apr_2 |
15 |
0 |
. |
. |
back f1 25 may |
49.20 |
0.000 |
0.00 |
f2_apr_2 |
f1_apr_2 |
25 |
0 |
. |
. |
|
21.00 |
0.000 |
0.00 |
fact1_1 |
f1_mar_1 |
500 |
50 |
1000 |
. |
prod f1 19 mar |
127.90 |
333.333 |
42633.33 |
f1_apr_1 |
f1_mar_1 |
20 |
0 |
. |
. |
back f1 19 apl |
33.60 |
20.000 |
672.00 |
f2_mar_1 |
f1_mar_1 |
40 |
0 |
. |
. |
|
10.00 |
40.000 |
400.00 |
fact1_2 |
f1_mar_2 |
400 |
40 |
1000 |
. |
prod f1 25 mar |
217.90 |
400.000 |
87160.00 |
f1_apr_2 |
f1_mar_2 |
30 |
0 |
. |
. |
back f1 25 apl |
38.40 |
30.000 |
1152.00 |
f2_mar_2 |
f1_mar_2 |
25 |
0 |
. |
. |
|
20.00 |
25.000 |
500.00 |
fact1_1 |
f1_may_1 |
400 |
50 |
1000 |
. |
|
90.10 |
128.333 |
11562.83 |
f1_apr_1 |
f1_may_1 |
50 |
0 |
. |
. |
|
12.00 |
0.000 |
0.00 |
f2_may_1 |
f1_may_1 |
40 |
0 |
. |
. |
|
13.00 |
0.000 |
0.00 |
fact1_2 |
f1_may_2 |
350 |
40 |
1000 |
. |
|
113.30 |
350.000 |
39655.00 |
f1_apr_2 |
f1_may_2 |
40 |
0 |
. |
. |
|
18.00 |
0.000 |
0.00 |
f2_may_2 |
f1_may_2 |
25 |
0 |
. |
. |
|
13.00 |
0.000 |
0.00 |
f1_apr_1 |
f2_apr_1 |
99999999 |
0 |
. |
. |
|
11.00 |
13.333 |
146.67 |
fact2_1 |
f2_apr_1 |
480 |
35 |
850 |
. |
prod f2 19 apl |
62.40 |
480.000 |
29952.00 |
f2_mar_1 |
f2_apr_1 |
30 |
0 |
. |
. |
|
18.00 |
0.000 |
0.00 |
f2_may_1 |
f2_apr_1 |
15 |
0 |
. |
. |
back f2 19 may |
30.00 |
0.000 |
0.00 |
f1_apr_2 |
f2_apr_2 |
99999999 |
0 |
. |
. |
|
23.00 |
0.000 |
0.00 |
fact2_2 |
f2_apr_2 |
680 |
35 |
1500 |
. |
prod f2 25 apl |
196.70 |
550.000 |
108185.00 |
f2_mar_2 |
f2_apr_2 |
50 |
0 |
. |
. |
|
28.00 |
0.000 |
0.00 |
f2_may_2 |
f2_apr_2 |
15 |
0 |
. |
. |
back f2 25 may |
64.80 |
0.000 |
0.00 |
f1_mar_1 |
f2_mar_1 |
99999999 |
0 |
. |
. |
|
11.00 |
0.000 |
0.00 |
fact2_1 |
f2_mar_1 |
450 |
35 |
850 |
. |
prod f2 19 mar |
88.00 |
290.000 |
25520.00 |
f2_apr_1 |
f2_mar_1 |
15 |
0 |
. |
. |
back f2 19 apl |
20.40 |
0.000 |
0.00 |
f1_mar_2 |
f2_mar_2 |
99999999 |
0 |
. |
. |
|
23.00 |
0.000 |
0.00 |
fact2_2 |
f2_mar_2 |
650 |
35 |
1500 |
. |
prod f2 25 mar |
182.00 |
650.000 |
118300.00 |
f2_apr_2 |
f2_mar_2 |
15 |
0 |
. |
. |
back f2 25 apl |
37.20 |
0.000 |
0.00 |
f1_may_1 |
f2_may_1 |
99999999 |
0 |
. |
. |
|
16.00 |
115.000 |
1840.00 |
fact2_1 |
f2_may_1 |
250 |
35 |
850 |
. |
|
128.80 |
35.000 |
4508.00 |
f2_apr_1 |
f2_may_1 |
30 |
0 |
. |
. |
|
20.00 |
0.000 |
0.00 |
f1_may_2 |
f2_may_2 |
99999999 |
0 |
. |
. |
|
26.00 |
0.000 |
0.00 |
fact2_2 |
f2_may_2 |
550 |
35 |
1500 |
. |
|
181.40 |
150.000 |
27210.00 |
f2_apr_2 |
f2_may_2 |
50 |
0 |
. |
. |
|
38.00 |
0.000 |
0.00 |
f1_mar_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-327.65 |
143.333 |
-46963.17 |
f1_apr_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-300.00 |
250.000 |
-75000.00 |
f1_may_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-285.00 |
13.333 |
-3800.00 |
f2_mar_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-297.40 |
250.000 |
-74350.00 |
f2_apr_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-290.00 |
243.333 |
-70566.67 |
f2_may_1 |
shop1_1 |
250 |
0 |
. |
900 |
|
-292.00 |
0.000 |
0.00 |
f1_mar_2 |
shop1_2 |
99999999 |
0 |
. |
900 |
|
-559.76 |
0.000 |
0.00 |
f1_apr_2 |
shop1_2 |
99999999 |
0 |
. |
900 |
|
-524.28 |
0.000 |
0.00 |
f1_may_2 |
shop1_2 |
99999999 |
0 |
. |
900 |
|
-515.02 |
350.000 |
-180257.00 |
f2_mar_2 |
shop1_2 |
500 |
0 |
. |
900 |
|
-567.83 |
500.000 |
-283915.00 |
f2_apr_2 |
shop1_2 |
500 |
0 |
. |
900 |
|
-542.19 |
50.000 |
-27109.50 |
f2_may_2 |
shop1_2 |
500 |
0 |
. |
900 |
|
-491.56 |
0.000 |
0.00 |
f1_mar_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-362.74 |
250.000 |
-90685.00 |
f1_apr_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-300.00 |
250.000 |
-75000.00 |
f1_may_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-245.00 |
0.000 |
0.00 |
f2_mar_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-272.70 |
0.000 |
0.00 |
f2_apr_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-312.00 |
250.000 |
-78000.00 |
f2_may_1 |
shop2_1 |
250 |
0 |
. |
900 |
|
-299.00 |
150.000 |
-44850.00 |
f1_mar_2 |
shop2_2 |
99999999 |
0 |
. |
1450 |
|
-623.89 |
455.000 |
-283869.95 |
f1_apr_2 |
shop2_2 |
99999999 |
0 |
. |
1450 |
|
-549.68 |
220.000 |
-120929.60 |
f1_may_2 |
shop2_2 |
99999999 |
0 |
. |
1450 |
|
-500.00 |
0.000 |
0.00 |
f2_mar_2 |
shop2_2 |
500 |
0 |
. |
1450 |
|
-542.83 |
125.000 |
-67853.75 |
f2_apr_2 |
shop2_2 |
500 |
0 |
. |
1450 |
|
-559.19 |
500.000 |
-279595.00 |
f2_may_2 |
shop2_2 |
500 |
0 |
. |
1450 |
|
-519.06 |
150.000 |
-77859.00 |
Output 7.7.2
CONOUT=CON5 (continued)
0.00 |
5.000 |
0.00 |
. |
. |
|
|
65 |
1 |
0.00 |
45.000 |
0.00 |
. |
. |
|
|
66 |
10 |
0.00 |
0.000 |
0.00 |
. |
. |
|
|
67 |
11 |
0.00 |
150.000 |
0.00 |
. |
. |
|
|
68 |
20 |
78.60 |
533.333 |
41920.00 |
19 |
1 |
production |
April |
4 |
1 |
15.00 |
0.000 |
0.00 |
19 |
1 |
storage |
March |
5 |
2 |
33.60 |
0.000 |
0.00 |
19 |
1 |
backorder |
May |
6 |
4 |
11.00 |
0.000 |
0.00 |
19 |
. |
f2_to_1 |
April |
7 |
6 |
174.50 |
250.000 |
43625.00 |
25 |
1 |
production |
April |
36 |
11 |
20.00 |
0.000 |
0.00 |
25 |
1 |
storage |
March |
37 |
12 |
49.20 |
0.000 |
0.00 |
25 |
1 |
backorder |
May |
38 |
14 |
21.00 |
0.000 |
0.00 |
25 |
. |
f2_to_1 |
April |
39 |
16 |
127.90 |
333.333 |
42633.33 |
19 |
1 |
production |
March |
1 |
1 |
33.60 |
20.000 |
672.00 |
19 |
1 |
backorder |
April |
2 |
3 |
10.00 |
40.000 |
400.00 |
19 |
. |
f2_to_1 |
March |
3 |
5 |
217.90 |
400.000 |
87160.00 |
25 |
1 |
production |
March |
33 |
11 |
38.40 |
30.000 |
1152.00 |
25 |
1 |
backorder |
April |
34 |
13 |
20.00 |
25.000 |
500.00 |
25 |
. |
f2_to_1 |
March |
35 |
15 |
90.10 |
128.333 |
11562.83 |
19 |
1 |
production |
May |
8 |
1 |
12.00 |
0.000 |
0.00 |
19 |
1 |
storage |
April |
9 |
3 |
13.00 |
0.000 |
0.00 |
19 |
. |
f2_to_1 |
May |
10 |
7 |
113.30 |
350.000 |
39655.00 |
25 |
1 |
production |
May |
40 |
11 |
18.00 |
0.000 |
0.00 |
25 |
1 |
storage |
April |
41 |
13 |
13.00 |
0.000 |
0.00 |
25 |
. |
f2_to_1 |
May |
42 |
17 |
11.00 |
13.333 |
146.67 |
19 |
. |
f1_to_2 |
April |
14 |
3 |
62.40 |
480.000 |
29952.00 |
19 |
2 |
production |
April |
15 |
10 |
18.00 |
0.000 |
0.00 |
19 |
2 |
storage |
March |
16 |
5 |
30.00 |
0.000 |
0.00 |
19 |
2 |
backorder |
May |
17 |
7 |
23.00 |
0.000 |
0.00 |
25 |
. |
f1_to_2 |
April |
46 |
13 |
196.70 |
577.500 |
113594.25 |
25 |
2 |
production |
April |
47 |
20 |
28.00 |
0.000 |
0.00 |
25 |
2 |
storage |
March |
48 |
15 |
64.80 |
0.000 |
0.00 |
25 |
2 |
backorder |
May |
49 |
17 |
11.00 |
0.000 |
0.00 |
19 |
. |
f1_to_2 |
March |
11 |
2 |
88.00 |
290.000 |
25520.00 |
19 |
2 |
production |
March |
12 |
10 |
20.40 |
0.000 |
0.00 |
19 |
2 |
backorder |
April |
13 |
6 |
23.00 |
0.000 |
0.00 |
25 |
. |
f1_to_2 |
March |
43 |
12 |
182.00 |
650.000 |
118300.00 |
25 |
2 |
production |
March |
44 |
20 |
37.20 |
0.000 |
0.00 |
25 |
2 |
backorder |
April |
45 |
16 |
16.00 |
115.000 |
1840.00 |
19 |
. |
f1_to_2 |
May |
18 |
4 |
128.80 |
35.000 |
4508.00 |
19 |
2 |
production |
May |
19 |
10 |
20.00 |
0.000 |
0.00 |
19 |
2 |
storage |
April |
20 |
6 |
26.00 |
350.000 |
9100.00 |
25 |
. |
f1_to_2 |
May |
50 |
14 |
181.40 |
122.500 |
22221.50 |
25 |
2 |
production |
May |
51 |
20 |
38.00 |
0.000 |
0.00 |
25 |
2 |
storage |
April |
52 |
16 |
-327.65 |
143.333 |
-46963.17 |
19 |
1 |
sales |
March |
21 |
2 |
-300.00 |
250.000 |
-75000.00 |
19 |
1 |
sales |
April |
22 |
3 |
-285.00 |
13.333 |
-3800.00 |
19 |
1 |
sales |
May |
23 |
4 |
-297.40 |
250.000 |
-74350.00 |
19 |
2 |
sales |
March |
24 |
5 |
-290.00 |
243.333 |
-70566.67 |
19 |
2 |
sales |
April |
25 |
6 |
-292.00 |
0.000 |
0.00 |
19 |
2 |
sales |
May |
26 |
7 |
-559.76 |
0.000 |
0.00 |
25 |
1 |
sales |
March |
53 |
12 |
-524.28 |
0.000 |
0.00 |
25 |
1 |
sales |
April |
54 |
13 |
-475.02 |
0.000 |
0.00 |
25 |
1 |
sales |
May |
55 |
14 |
-567.83 |
500.000 |
-283915.00 |
25 |
2 |
sales |
March |
56 |
15 |
-542.19 |
400.000 |
-216876.00 |
25 |
2 |
sales |
April |
57 |
16 |
-491.56 |
0.000 |
0.00 |
25 |
2 |
sales |
May |
58 |
17 |
-362.74 |
250.000 |
-90685.00 |
19 |
1 |
sales |
March |
27 |
2 |
-300.00 |
250.000 |
-75000.00 |
19 |
1 |
sales |
April |
28 |
3 |
-245.00 |
0.000 |
0.00 |
19 |
1 |
sales |
May |
29 |
4 |
-272.70 |
0.000 |
0.00 |
19 |
2 |
sales |
March |
30 |
5 |
-312.00 |
250.000 |
-78000.00 |
19 |
2 |
sales |
April |
31 |
6 |
-299.00 |
150.000 |
-44850.00 |
19 |
2 |
sales |
May |
32 |
7 |
-623.89 |
455.000 |
-283869.95 |
25 |
1 |
sales |
March |
59 |
12 |
-549.68 |
220.000 |
-120929.60 |
25 |
1 |
sales |
April |
60 |
13 |
-460.00 |
0.000 |
0.00 |
25 |
1 |
sales |
May |
61 |
14 |
-542.83 |
125.000 |
-67853.75 |
25 |
2 |
sales |
March |
62 |
15 |
-559.19 |
177.500 |
-99256.23 |
25 |
2 |
sales |
April |
63 |
16 |
-519.06 |
472.500 |
-245255.85 |
25 |
2 |
sales |
May |
64 |
17 |
Output 7.7.3
DUALOUT=DUAL5
f1_apr_1 |
. |
-100000278.00 |
3 |
1 |
6 |
2 |
4 |
483.333 |
4 |
. |
. |
|
|
f1_apr_2 |
. |
-100000405.92 |
13 |
19 |
11 |
2 |
-60 |
220.000 |
36 |
. |
. |
|
|
f1_mar_1 |
. |
-100000326.65 |
2 |
8 |
1 |
20 |
-21 |
143.333 |
1 |
. |
. |
|
|
f1_mar_2 |
. |
-100000480.13 |
12 |
19 |
13 |
1 |
-59 |
455.000 |
33 |
. |
. |
|
|
f1_may_1 |
. |
-100000284.00 |
4 |
1 |
7 |
3 |
8 |
78.333 |
8 |
. |
. |
|
|
f1_may_2 |
. |
-100000363.43 |
14 |
18 |
10 |
1 |
-55 |
350.000 |
40 |
. |
. |
|
|
f2_apr_1 |
. |
-100000289.00 |
6 |
3 |
4 |
1 |
14 |
13.333 |
14 |
. |
. |
|
|
f2_apr_2 |
. |
-100000390.60 |
16 |
20 |
18 |
3 |
47 |
515.000 |
46 |
. |
. |
|
|
f2_mar_1 |
. |
-100000281.90 |
5 |
10 |
3 |
1 |
12 |
255.000 |
11 |
. |
. |
|
|
f2_mar_2 |
. |
-100000399.07 |
15 |
19 |
16 |
1 |
-62 |
125.000 |
43 |
. |
. |
|
|
f2_may_1 |
. |
-100000300.00 |
7 |
4 |
9 |
2 |
18 |
115.000 |
18 |
. |
. |
|
|
f2_may_2 |
. |
-100000375.30 |
17 |
20 |
19 |
6 |
51 |
115.000 |
50 |
. |
. |
|
|
fact1_1 |
1000 |
-100000193.90 |
1 |
2 |
21 |
19 |
-1 |
283.333 |
-1 |
. |
. |
|
|
fact1_2 |
1000 |
-100000224.09 |
11 |
13 |
15 |
1 |
-36 |
200.000 |
-33 |
. |
. |
|
|
fact2_1 |
850 |
-100000193.90 |
10 |
21 |
5 |
2 |
-66 |
45.000 |
-33 |
. |
. |
|
|
fact2_2 |
1500 |
-100000193.90 |
20 |
21 |
17 |
10 |
-68 |
150.000 |
-65 |
. |
. |
|
|
shop1_1 |
-900 |
-99999999.00 |
8 |
22 |
2 |
21 |
0 |
0.000 |
21 |
. |
. |
|
|
shop1_2 |
-900 |
-99999848.41 |
18 |
16 |
14 |
2 |
57 |
50.000 |
53 |
. |
. |
|
|
shop2_1 |
-900 |
-100000001.00 |
9 |
7 |
22 |
1 |
32 |
150.000 |
27 |
. |
. |
|
|
shop2_2 |
-1450 |
-99999856.24 |
19 |
17 |
12 |
5 |
64 |
150.000 |
59 |
. |
. |
|
|
|
. |
-1.83 |
2 |
8 |
. |
. |
25 |
243.333 |
. |
2600 |
2600 |
LE |
FACT1 APL GIZMO |
|
. |
-1.62 |
0 |
8 |
. |
. |
23 |
13.333 |
. |
2600 |
2600 |
LE |
FACT1 MAR GIZMO |
|
. |
0.00 |
3 |
3 |
. |
3 |
. |
110.000 |
. |
3640 |
3750 |
LE |
FACT2 APL GIZMO |
|
. |
0.00 |
1 |
1 |
. |
1 |
. |
280.000 |
. |
3470 |
3750 |
LE |
FACT2 MAR GIZMO |
|
. |
-15.05 |
4 |
2 |
. |
. |
2 |
20.000 |
. |
50 |
50 |
LE |
TOTAL BACKORDER |
Copyright © SAS Institute, Inc. All Rights Reserved.