Select Your Region
Americas
Europe
Middle East & Africa
Asia Pacific
/***************************************************************/ /* S A S S A M P L E L I B R A R Y */ /* */ /* NAME: INT0A */ /* TITLE: Getting Started: NPSC Problems (int0a) */ /* PRODUCT: OR */ /* SYSTEM: ALL */ /* KEYS: OR */ /* PROCS: INTPOINT */ /* DATA: */ /* */ /* SUPPORT: UPDATE: */ /* REF: */ /* MISC: 'Getting Started: NPSC Problems' example from */ /* Introduction to INTPOINT chapter */ /***************************************************************/ title 'Oil Industry Example'; title3 'Setting Up Nodedata = Noded For PROC INTPOINT'; data noded; input _node_&$15. _sd_; datalines; middle east 100 u.s.a. 80 servstn1 gas -95 servstn1 diesel -30 servstn2 gas -40 servstn2 diesel -15 ; title3 'Setting Up Arcdata = Arcd1 For PROC INTPOINT'; data arcd1; input _from_&$11. _to_&$15. _cost_ _capac_ _lo_ _name_ $; datalines; middle east refinery 1 63 95 20 m_e_ref1 middle east refinery 2 81 80 10 m_e_ref2 u.s.a. refinery 1 55 . . . u.s.a. refinery 2 49 . . . refinery 1 r1 200 175 50 thruput1 refinery 2 r2 220 100 35 thruput2 r1 ref1 gas . 140 . r1_gas r1 ref1 diesel . 75 . . r2 ref2 gas . 100 . r2_gas r2 ref2 diesel . 75 . . ref1 gas servstn1 gas 15 70 . . ref1 gas servstn2 gas 22 60 . . ref1 diesel servstn1 diesel 18 . . . ref1 diesel servstn2 diesel 17 . . . ref2 gas servstn1 gas 17 35 5 . ref2 gas servstn2 gas 31 . . . ref2 diesel servstn1 diesel 36 . . . ref2 diesel servstn2 diesel 23 . . . ; title3 'Setting Up Condata = Cond1 For PROC INTPOINT'; data cond1; input m_e_ref1 m_e_ref2 thruput1 r1_gas thruput2 r2_gas _type_ $ _rhs_; datalines; -2 . 1 . . . >= -15 . -2 . . 1 . GE -15 . . -3 4 . . EQ 0 . . . . -3 4 = 0 ; proc intpoint bytes=1000000 nodedata=noded /* the supply and demand data */ arcdata=arcd1 /* the arc descriptions */ condata=cond1 /* the side constraints */ conout=solution; /* the solution data set */ run; title3 'Optimum'; proc print data=solution; var _from_ _to_ _cost_ _capac_ _lo_ _name_ _supply_ _demand_ _flow_ _fcost_; sum _fcost_; run;