Nonarc Variables in the Side Constraints (int5)
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: INT5 */
/* TITLE: Nonarc Variables in the Side Constraints (int5) */
/* PRODUCT: OR */
/* SYSTEM: ALL */
/* KEYS: OR */
/* PROCS: INTPOINT, APPEND */
/* DATA: */
/* */
/* SUPPORT: UPDATE: */
/* REF: */
/* MISC: Example 5 from INTPOINT chapter */
/****************************************************************/
data node0;
input _node_ $ _supdem_ ;
datalines;
fact1_1 1000
fact2_1 850
fact1_2 1000
fact2_2 1500
shop1_1 -900
shop2_1 -900
shop1_2 -900
shop2_2 -1450
;
title2 'Nonarc Variables in the Side Constraints';
data con6;
input _column_ &$17. _row_ &$15. _coef_ ;
datalines;
prod f1 19 mar FACT1 MAR GIZMO 3
prod f1 25 mar FACT1 MAR GIZMO 4
f1 unused chips FACT1 MAR GIZMO 1
_RHS_ FACT1 MAR GIZMO 2615
prod f2 19 mar FACT2 MAR GIZMO 3
prod f2 25 mar FACT2 MAR GIZMO 4
f2 unused chips FACT2 MAR GIZMO 1
_RHS_ FACT2 MAR GIZMO 3750
prod f1 19 apl FACT1 APL GIZMO 3
prod f1 25 apl FACT1 APL GIZMO 4
f1 chips from mar FACT1 APL GIZMO -1
_RHS_ FACT1 APL GIZMO 2600
prod f2 19 apl FACT2 APL GIZMO 3
prod f2 25 apl FACT2 APL GIZMO 4
f2 chips from mar FACT2 APL GIZMO -1
_RHS_ FACT2 APL GIZMO 3750
f1 unused chips CHIP LEFTOVER 1
f2 unused chips CHIP LEFTOVER 1
f1 chips from mar CHIP LEFTOVER -1
f2 chips from mar CHIP LEFTOVER -1
_TYPE_ CHIP LEFTOVER 1
back f1 19 apl TOTAL BACKORDER 1
back f1 25 apl TOTAL BACKORDER 1
back f2 19 apl TOTAL BACKORDER 1
back f2 25 apl TOTAL BACKORDER 1
back f1 19 may TOTAL BACKORDER 1
back f1 25 may TOTAL BACKORDER 1
back f2 19 may TOTAL BACKORDER 1
back f2 25 may TOTAL BACKORDER 1
_TYPE_ TOTAL BACKORDER -1
_RHS_ TOTAL BACKORDER 50
;
data arc6;
input _tail_ $ _head_ $ _cost_ _capac_ _lo_ diagonal factory
key_id $10. mth_made $ _name_&$17.;
datalines;
fact1_1 f1_apr_1 78.60 600 50 19 1 production April prod f1 19 apl
f1_mar_1 f1_apr_1 15.00 50 . 19 1 storage March .
f1_may_1 f1_apr_1 33.60 20 . 19 1 backorder May back f1 19 may
f2_apr_1 f1_apr_1 11.00 40 . 19 . f2_to_1 April .
fact1_2 f1_apr_2 174.50 550 50 25 1 production April prod f1 25 apl
f1_mar_2 f1_apr_2 20.00 40 . 25 1 storage March .
f1_may_2 f1_apr_2 49.20 15 . 25 1 backorder May back f1 25 may
f2_apr_2 f1_apr_2 21.00 25 . 25 . f2_to_1 April .
fact1_1 f1_mar_1 127.90 500 50 19 1 production March prod f1 19 mar
f1_apr_1 f1_mar_1 33.60 20 . 19 1 backorder April back f1 19 apl
f2_mar_1 f1_mar_1 10.00 40 . 19 . f2_to_1 March .
fact1_2 f1_mar_2 217.90 400 40 25 1 production March prod f1 25 mar
f1_apr_2 f1_mar_2 38.40 30 . 25 1 backorder April back f1 25 apl
f2_mar_2 f1_mar_2 20.00 25 . 25 . f2_to_1 March .
fact1_1 f1_may_1 90.10 400 50 19 1 production May .
f1_apr_1 f1_may_1 12.00 50 . 19 1 storage April .
f2_may_1 f1_may_1 13.00 40 . 19 . f2_to_1 May .
fact1_2 f1_may_2 113.30 350 40 25 1 production May .
f1_apr_2 f1_may_2 18.00 40 . 25 1 storage April .
f2_may_2 f1_may_2 13.00 25 . 25 . f2_to_1 May .
f1_apr_1 f2_apr_1 11.00 . . 19 . f1_to_2 April .
fact2_1 f2_apr_1 62.40 480 35 19 2 production April prod f2 19 apl
f2_mar_1 f2_apr_1 18.00 30 . 19 2 storage March .
f2_may_1 f2_apr_1 30.00 15 . 19 2 backorder May back f2 19 may
f1_apr_2 f2_apr_2 23.00 . . 25 . f1_to_2 April .
fact2_2 f2_apr_2 196.70 680 35 25 2 production April prod f2 25 apl
f2_mar_2 f2_apr_2 28.00 50 . 25 2 storage March .
f2_may_2 f2_apr_2 64.80 15 . 25 2 backorder May back f2 25 may
f1_mar_1 f2_mar_1 11.00 . . 19 . f1_to_2 March .
fact2_1 f2_mar_1 88.00 450 35 19 2 production March prod f2 19 mar
f2_apr_1 f2_mar_1 20.40 15 . 19 2 backorder April back f2 19 apl
f1_mar_2 f2_mar_2 23.00 . . 25 . f1_to_2 March .
fact2_2 f2_mar_2 182.00 650 35 25 2 production March prod f2 25 mar
f2_apr_2 f2_mar_2 37.20 15 . 25 2 backorder April back f2 25 apl
f1_may_1 f2_may_1 16.00 . . 19 . f1_to_2 May .
fact2_1 f2_may_1 128.80 250 35 19 2 production May .
f2_apr_1 f2_may_1 20.00 30 . 19 2 storage April .
f1_may_2 f2_may_2 26.00 . . 25 . f1_to_2 May .
fact2_2 f2_may_2 181.40 550 35 25 2 production May .
f2_apr_2 f2_may_2 38.00 50 . 25 2 storage April .
f1_mar_1 shop1_1 -327.65 250 . 19 1 sales March .
f1_apr_1 shop1_1 -300.00 250 . 19 1 sales April .
f1_may_1 shop1_1 -285.00 250 . 19 1 sales May .
f2_mar_1 shop1_1 -297.40 250 . 19 2 sales March .
f2_apr_1 shop1_1 -290.00 250 . 19 2 sales April .
f2_may_1 shop1_1 -292.00 250 . 19 2 sales May .
f1_mar_2 shop1_2 -559.76 . . 25 1 sales March .
f1_apr_2 shop1_2 -524.28 . . 25 1 sales April .
f1_may_2 shop1_2 -515.02 . . 25 1 sales May .
f2_mar_2 shop1_2 -567.83 500 . 25 2 sales March .
f2_apr_2 shop1_2 -542.19 500 . 25 2 sales April .
f2_may_2 shop1_2 -491.56 500 . 25 2 sales May .
f1_mar_1 shop2_1 -362.74 250 . 19 1 sales March .
f1_apr_1 shop2_1 -300.00 250 . 19 1 sales April .
f1_may_1 shop2_1 -245.00 250 . 19 1 sales May .
f2_mar_1 shop2_1 -272.70 250 . 19 2 sales March .
f2_apr_1 shop2_1 -312.00 250 . 19 2 sales April .
f2_may_1 shop2_1 -299.00 250 . 19 2 sales May .
f1_mar_2 shop2_2 -623.89 . . 25 1 sales March .
f1_apr_2 shop2_2 -549.68 . . 25 1 sales April .
f1_may_2 shop2_2 -500.00 . . 25 1 sales May .
f2_mar_2 shop2_2 -542.83 500 . 25 2 sales March .
f2_apr_2 shop2_2 -559.19 500 . 25 2 sales April .
f2_may_2 shop2_2 -519.06 500 . 25 2 sales May .
;
/* Not needed with provided data set:
data arc6;
set arc5;
drop oldcost oldfc oldflow _flow_ _fcost_ ;
run;
*/
data arc6_b;
input _name_ &$17. _cost_ _capac_ factory key_id $ ;
datalines;
f1 unused chips . . 1 chips
f2 unused chips . . 2 chips
f1 chips from mar 1 150 1 chips
f2 chips from mar 1 150 2 chips
;
proc append force
base=arc6 data=arc6_b;
run;
proc intpoint
bytes=1000000
printlevel2=2
nodedata=node0 arcdata=arc6
condata=con6 defcontype=eq sparsecondata
conout=arc7;
run;
proc print data=arc7;
var _tail_ _head_ _name_ _cost_ _capac_ _lo_
_flow_ _fcost_;
sum _fcost_;
run;