Example 5.4: Using Constraints and More Alteration to Arc Data
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?
title2 'Using Constraints and Altering arc data';
data new_arc4;
set arc4;
oldcost=_cost_;
oldflow=_flow_;
oldfc=_fcost_;
if _tail_='f1_may_2'
& (_head_='shop1_2' | _head_='shop2_2')
then _cost_=_cost_-40;
proc intpoint
bytes=1000000
printlevel2=2
arcdata=new_arc4 nodedata=node0
condata=con3 sparsecondata rhsobs='CHIP/BO LIMIT'
conout=arc5;
run;
proc print data=arc5 (drop = _status_ _rcost_);
var _tail_ _head_ _cost_ _capac_ _lo_
_supply_ _demand_ _name_
_flow_ _fcost_ oldflow oldfc;
/* to get this variable order */
sum oldfc _fcost_;
run;
The following messages 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: Number of <= side constraints= 5 .
NOTE: Number of == side constraints= 0 .
NOTE: Number of >= side constraints= 0 .
NOTE: Number of side constraint coefficients= 16 .
NOTE: The following messages relate to the equivalent
Linear Program solved by the Interior Point algorithm.
NOTE: Number of <= constraints= 5 .
NOTE: Number of == constraints= 21 .
NOTE: Number of >= constraints= 0 .
NOTE: Number of constraint coefficients= 152 .
NOTE: Number of variables= 68 .
NOTE: 5 columns, 0 rows and 5 coefficients were added to the problem to
handle unrestricted variables, variables that are
split, and constraint slack or surplus variables.
NOTE: There are 82 nonzero elements in A * A transpose.
NOTE: Of the 26 rows and columns, 14 are sparse.
NOTE: There are 80 nonzero superdiagonal elements in the sparse rows of the
factored A * A transpose. This includes fill-in.
NOTE: There are 68 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 176072547 0.833846 52835 40217 46430
1 49323199 21763015 0.910646 2971.887954 2262.182150 2506.228441
2 4256602 1419262 0.526045 0 6.291145E-11 51.536868
3 371793 247491 0.159553 0 0 8.939364
4 119362 60394 0.043112 0 0 1.565229
5 27925 21537 0.015622 0 0 0.576834
6 10494 6617.424035 0.004839 0 0 0.124639
7 3367.128699 1357.529806 0.000996 0 0 0.001406
8 498.362201 156.077166 0.000115 0 0 0.000163
9 28.159576 1.000647 0.000000735 0 0 0
10 0.000549 0.000050153 -8.10256E-11 0 0 0
NOTE: Primal-Dual Predictor-Corrector Interior point algorithm performed 10 iterations.
NOTE: Objective = -1295661.8.
NOTE: The data set WORK.ARC5 has 64 observations and 17 variables.
NOTE: There were 64 observations read from the data set WORK.NEW_ARC4.
NOTE: There were 8 observations read from the data set WORK.NODE0.
NOTE: There were 21 observations read from the data set WORK.CON3.
NOTE: The data set WORK.ARC5 has 64 observations and 17 variables.
Output 5.4.1: CONOUT=ARC5
| Using Constraints and Altering arc data |
| Obs |
_tail_ |
_head_ |
_cost_ |
_capac_ |
_lo_ |
_SUPPLY_ |
_DEMAND_ |
_name_ |
_FLOW_ |
_FCOST_ |
oldflow |
oldfc |
| 1 |
fact1_1 |
f1_apr_1 |
78.60 |
600 |
50 |
1000 |
. |
prod f1 19 apl |
533.333 |
41920.00 |
533.333 |
41920.00 |
| 2 |
f1_mar_1 |
f1_apr_1 |
15.00 |
50 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 3 |
f1_may_1 |
f1_apr_1 |
33.60 |
20 |
0 |
. |
. |
back f1 19 may |
0.000 |
0.00 |
0.000 |
0.00 |
| 4 |
f2_apr_1 |
f1_apr_1 |
11.00 |
40 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 5 |
fact1_2 |
f1_apr_2 |
174.50 |
550 |
50 |
1000 |
. |
prod f1 25 apl |
250.000 |
43625.00 |
250.000 |
43625.00 |
| 6 |
f1_mar_2 |
f1_apr_2 |
20.00 |
40 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 7 |
f1_may_2 |
f1_apr_2 |
49.20 |
15 |
0 |
. |
. |
back f1 25 may |
0.000 |
0.00 |
0.000 |
0.00 |
| 8 |
f2_apr_2 |
f1_apr_2 |
21.00 |
25 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 9 |
fact1_1 |
f1_mar_1 |
127.90 |
500 |
50 |
1000 |
. |
prod f1 19 mar |
333.333 |
42633.33 |
333.333 |
42633.33 |
| 10 |
f1_apr_1 |
f1_mar_1 |
33.60 |
20 |
0 |
. |
. |
back f1 19 apl |
20.000 |
672.00 |
20.000 |
672.00 |
| 11 |
f2_mar_1 |
f1_mar_1 |
10.00 |
40 |
0 |
. |
. |
|
40.000 |
400.00 |
40.000 |
400.00 |
| 12 |
fact1_2 |
f1_mar_2 |
217.90 |
400 |
40 |
1000 |
. |
prod f1 25 mar |
400.000 |
87160.00 |
400.000 |
87160.00 |
| 13 |
f1_apr_2 |
f1_mar_2 |
38.40 |
30 |
0 |
. |
. |
back f1 25 apl |
30.000 |
1152.00 |
30.000 |
1152.00 |
| 14 |
f2_mar_2 |
f1_mar_2 |
20.00 |
25 |
0 |
. |
. |
|
25.000 |
500.00 |
25.000 |
500.00 |
| 15 |
fact1_1 |
f1_may_1 |
90.10 |
400 |
50 |
1000 |
. |
|
128.333 |
11562.83 |
128.333 |
11562.83 |
| 16 |
f1_apr_1 |
f1_may_1 |
12.00 |
50 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 17 |
f2_may_1 |
f1_may_1 |
13.00 |
40 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 18 |
fact1_2 |
f1_may_2 |
113.30 |
350 |
40 |
1000 |
. |
|
350.000 |
39655.00 |
350.000 |
39655.00 |
| 19 |
f1_apr_2 |
f1_may_2 |
18.00 |
40 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 20 |
f2_may_2 |
f1_may_2 |
13.00 |
25 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 21 |
f1_apr_1 |
f2_apr_1 |
11.00 |
99999999 |
0 |
. |
. |
|
13.333 |
146.67 |
13.333 |
146.67 |
| 22 |
fact2_1 |
f2_apr_1 |
62.40 |
480 |
35 |
850 |
. |
prod f2 19 apl |
480.000 |
29952.00 |
480.000 |
29952.00 |
| 23 |
f2_mar_1 |
f2_apr_1 |
18.00 |
30 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 24 |
f2_may_1 |
f2_apr_1 |
30.00 |
15 |
0 |
. |
. |
back f2 19 may |
0.000 |
0.00 |
0.000 |
0.00 |
| 25 |
f1_apr_2 |
f2_apr_2 |
23.00 |
99999999 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 26 |
fact2_2 |
f2_apr_2 |
196.70 |
680 |
35 |
1500 |
. |
prod f2 25 apl |
550.000 |
108185.00 |
577.500 |
113594.25 |
| 27 |
f2_mar_2 |
f2_apr_2 |
28.00 |
50 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 28 |
f2_may_2 |
f2_apr_2 |
64.80 |
15 |
0 |
. |
. |
back f2 25 may |
0.000 |
0.00 |
0.000 |
0.00 |
| 29 |
f1_mar_1 |
f2_mar_1 |
11.00 |
99999999 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 30 |
fact2_1 |
f2_mar_1 |
88.00 |
450 |
35 |
850 |
. |
prod f2 19 mar |
290.000 |
25520.00 |
290.000 |
25520.00 |
| 31 |
f2_apr_1 |
f2_mar_1 |
20.40 |
15 |
0 |
. |
. |
back f2 19 apl |
0.000 |
0.00 |
0.000 |
0.00 |
| 32 |
f1_mar_2 |
f2_mar_2 |
23.00 |
99999999 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 33 |
fact2_2 |
f2_mar_2 |
182.00 |
650 |
35 |
1500 |
. |
prod f2 25 mar |
650.000 |
118300.00 |
650.000 |
118300.00 |
| 34 |
f2_apr_2 |
f2_mar_2 |
37.20 |
15 |
0 |
. |
. |
back f2 25 apl |
0.000 |
0.00 |
0.000 |
0.00 |
| 35 |
f1_may_1 |
f2_may_1 |
16.00 |
99999999 |
0 |
. |
. |
|
115.000 |
1840.00 |
115.000 |
1840.00 |
| 36 |
fact2_1 |
f2_may_1 |
128.80 |
250 |
35 |
850 |
. |
|
35.000 |
4508.00 |
35.000 |
4508.00 |
| 37 |
f2_apr_1 |
f2_may_1 |
20.00 |
30 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 38 |
f1_may_2 |
f2_may_2 |
26.00 |
99999999 |
0 |
. |
. |
|
0.000 |
0.00 |
350.000 |
9100.00 |
| 39 |
fact2_2 |
f2_may_2 |
181.40 |
550 |
35 |
1500 |
. |
|
150.000 |
27210.00 |
122.500 |
22221.50 |
| 40 |
f2_apr_2 |
f2_may_2 |
38.00 |
50 |
0 |
. |
. |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 41 |
f1_mar_1 |
shop1_1 |
-327.65 |
250 |
0 |
. |
900 |
|
143.333 |
-46963.17 |
143.333 |
-46963.17 |
| 42 |
f1_apr_1 |
shop1_1 |
-300.00 |
250 |
0 |
. |
900 |
|
250.000 |
-75000.00 |
250.000 |
-75000.00 |
| 43 |
f1_may_1 |
shop1_1 |
-285.00 |
250 |
0 |
. |
900 |
|
13.333 |
-3800.00 |
13.333 |
-3800.00 |
| 44 |
f2_mar_1 |
shop1_1 |
-297.40 |
250 |
0 |
. |
900 |
|
250.000 |
-74350.00 |
250.000 |
-74350.00 |
| 45 |
f2_apr_1 |
shop1_1 |
-290.00 |
250 |
0 |
. |
900 |
|
243.333 |
-70566.67 |
243.333 |
-70566.67 |
| 46 |
f2_may_1 |
shop1_1 |
-292.00 |
250 |
0 |
. |
900 |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 47 |
f1_mar_2 |
shop1_2 |
-559.76 |
99999999 |
0 |
. |
900 |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 48 |
f1_apr_2 |
shop1_2 |
-524.28 |
99999999 |
0 |
. |
900 |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 49 |
f1_may_2 |
shop1_2 |
-515.02 |
99999999 |
0 |
. |
900 |
|
350.000 |
-180257.00 |
0.000 |
0.00 |
| 50 |
f2_mar_2 |
shop1_2 |
-567.83 |
500 |
0 |
. |
900 |
|
500.000 |
-283915.00 |
500.000 |
-283915.00 |
| 51 |
f2_apr_2 |
shop1_2 |
-542.19 |
500 |
0 |
. |
900 |
|
50.000 |
-27109.50 |
400.000 |
-216876.00 |
| 52 |
f2_may_2 |
shop1_2 |
-491.56 |
500 |
0 |
. |
900 |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 53 |
f1_mar_1 |
shop2_1 |
-362.74 |
250 |
0 |
. |
900 |
|
250.000 |
-90685.00 |
250.000 |
-90685.00 |
| 54 |
f1_apr_1 |
shop2_1 |
-300.00 |
250 |
0 |
. |
900 |
|
250.000 |
-75000.00 |
250.000 |
-75000.00 |
| 55 |
f1_may_1 |
shop2_1 |
-245.00 |
250 |
0 |
. |
900 |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 56 |
f2_mar_1 |
shop2_1 |
-272.70 |
250 |
0 |
. |
900 |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 57 |
f2_apr_1 |
shop2_1 |
-312.00 |
250 |
0 |
. |
900 |
|
250.000 |
-78000.00 |
250.000 |
-78000.00 |
| 58 |
f2_may_1 |
shop2_1 |
-299.00 |
250 |
0 |
. |
900 |
|
150.000 |
-44850.00 |
150.000 |
-44850.00 |
| 59 |
f1_mar_2 |
shop2_2 |
-623.89 |
99999999 |
0 |
. |
1450 |
|
455.000 |
-283869.95 |
455.000 |
-283869.95 |
| 60 |
f1_apr_2 |
shop2_2 |
-549.68 |
99999999 |
0 |
. |
1450 |
|
220.000 |
-120929.60 |
220.000 |
-120929.60 |
| 61 |
f1_may_2 |
shop2_2 |
-500.00 |
99999999 |
0 |
. |
1450 |
|
0.000 |
0.00 |
0.000 |
0.00 |
| 62 |
f2_mar_2 |
shop2_2 |
-542.83 |
500 |
0 |
. |
1450 |
|
125.000 |
-67853.75 |
125.000 |
-67853.75 |
| 63 |
f2_apr_2 |
shop2_2 |
-559.19 |
500 |
0 |
. |
1450 |
|
500.000 |
-279595.00 |
177.500 |
-99256.23 |
| 64 |
f2_may_2 |
shop2_2 |
-519.06 |
500 |
0 |
. |
1450 |
|
150.000 |
-77859.00 |
472.500 |
-245255.85 |
| |
|
|
|
|
|
|
|
|
|
-1295661.80 |
|
-1282708.63 |
|
Copyright © 2000 by SAS Institute Inc., Cary, NC, USA. All rights reserved.