«ff. . ‘.3r' M; 4 ‘ < waH 103 FORMAT(I2) DO 1,I=1,N READ(96,5003) (IQK(I,J),J=1,M) FORMAT(I2) CONTINUE DO 2 I=1, M READ(96,5004) (ANIT(I,J),J=1,N) FORMAT(F6.1) CONTINUE DO 3 I=1, N READ(96,5005) (CAP(I,J),J=1,M) FORMAT(F6.3) CONTINUE DO 4, I=1, N DO 4, Il=1, M DO 4, I2=1, IQK(I,I1) READ(96,5006) (IDOT(J,IZ,Il,I),J=1,4) FORMAT(12) CONTINUE DO 5, I=1, N D0 5, 11:1, N READ(96,5007) (OBJ(I,I1,J),J=1, M) FORMAT(F8.2) CONTINUE DO 6, I=1, N Do 6, Il=l, M READ(96,5008) (OBJX(J,I,Il),J=l, IQK(I,I1)) FORMAT(F8.2) CONTINUE DO 7, I=1, N DO 7, 11:1, READ(96,5009) (TRANS(I,I1,J),J=1, M) FORMAT(F7.1) CONTINUE ICNT = o ICNT = ICN READ(96,5010)IDMD(I,I1,12) FORMAT(I6) CONTINUE READ(96,5011)(MW(I),I=1,M) FORMAT(I5) CLOSE(96) RETURN LAsT CARD OF READIT END SUBROUTINE WRITIT(DAYL,IT,N,M,IIW,IQK,CAP,IDOT, OBJ,OBJX,TRANS,IDMD,ANIT,MW) DIMENSION ANIT(7,15),OBJ(15,15,7), TRANS(15,15,7),OBJX(200,15,7), IDOT(4,200,7,15), CAP(15,7),IIW(15), IQK(15,7),MW(7), IWI(15,4),IDMD(14,15,4) OPEN(96,FILE='PROB ST.FLE’) WRITE(96,5000) DAYL_ FORMAT(F7.4) WRITE(96,5001) IT,N,M FORMAT(IlO) WRITE(96,5002) (IIW(I),I=1,N) 5002 5003 5004 2 5005 3 5006 5007 5 5008 6 5009 7 5010 5011 ><><>< 104 FORMAT(I2) DO l,I=1,N WRITE(96, 5003) (IQK(I,J),J=1,M) FORMAT(I2) CONTINUE DO 2 I=1, M WRITE(96,5004) (ANIT(I,J),J=1,N) FORMAT(F6.1) CONTINUE Do 3 I=1, WRITE(96,5005) (CAP(I,J),J=1,M) FORMAT(F6.3) CONTINUE Do 4, I=1, N Do 4, I1= 1, DO 4, 12: 1, IQK(I1) WRITE(96, 5006) (IDOT(J, 12, 11, I), J= L 4) FORMAT(I2) CONTINUE DO 5, I=1, N DO 5, 11:1, N WRITE(96,5007) (OBJ(I,I1,J),J=1, M) FORMAT(F8.2) CONTINUE Do 6, I=1, N DO 6, 11=1, M WRITE(96,5008) (OBJX(J,I,Il),J=l, IQK(I,I1)) FORMAT(F8.2) CONTINUE DO 7, I=1, N DO 7, 11:1, N WRITE(96,5009) (TRANS(I,I1,J),J=1, M) FORMAT(F7.1) CONTINUE Do 8, I=1, IT Do 8, 11:1, N DO 8, I2=1, IIW(I1) WRITE(96,5010)IDMD(I,Il,I2) FORMAT I6 CONTINUE WRITE(96,5011)(MW(I),I=1,M) FORMAT 5) CLOSE(96)I RETURN LAST CARD OF WRITIT END SUBROUTINE PRO(IT,N,M,IOPT3,IX,NWMAX, DAYL,MAXO,MINR,MAXR,MAXMW,MINMW,MAXPW,MINPW, MAXTC,MINTC,CUTCST,MAXTT,MINTT, MAXPT,MINPT,IWI,NAMSTR,ALABOR,AMTCST) REAL MAXTT,MINTT,MAXPT,MINPT DOUBLE PRECISION Ix CHARACTER*12 NAMSTR DIMENSION ANIT(7,15),OBJ(15,15,7), TRANS(15,15,7),OBJX(200,15,7), IDOT(4,200,7,15), CAP(15,7),IIW(15), IQK(15,7),MW(7), IWI(15,4),IDMD(14,15,4) IXSAVE = IX CALL MACHW(M,IX,MW,MAXMW,MINMW) CALL PAPW(M,MW,IX,IIW,N,IWI,NWMAX,MAXPW,MINPW) CALL INITl(ANIT,OBJ,TRANS,IQK,IIW, 20 41 48 1 105 IDOT,IT,N,M,OBJX,IDMD) CALL DEMAND(IT,IIW,MAXO,MINR,MAXR,IX,N, NWMAX,IDMD) CALL PATRNS(N,M,IWI,MW,IDOT,IQK) CALL OBJF(OBJ,N,M,IX,MAXTC,MINTC) CALL MASSAG(OBJ,N,M) CALL OBJFX(OBJX,IDOT,MW,IQK,IWI,M,CUTCST, ALABOR,AMTCST) CALL TRANSF(TRANS,M,IX,MAXTT,MINTT) CALL CAPF(CAP,N,M,MAXPT,MINPT,IX) CALL ICOND(M,N,ANIT,IX) SCREEN(M, MW, N, IIW, IT, IDMD, IWI, fl CAL XOBJ, TRANS, OBJX, CAP, IQK, IDOT, ANIT) X X X UNH L REPORT(M, N, IIW, IT, IQK, MAXO, MINR, MAXR, MAXMW, MINMW,MAXPW, MINPW,IXSAVE,IOPT3,NAMSTR) CALL WRITIT(DAYL,IT,N,M,IIW,IQK,CAP,IDOT, OBJ,OBJX,TRANS,IDMD,ANIT,MW) RETURN END SUBROUTINE INIT1(ANIT,OBJ,TRANS,IQK,IIW, IDOT,IT,N,M,OBJX,IDMD) DIMENSION ANIT(7,15),OBJ(15,15,7), TRANS(15,15,7),OBJX(200,15,7), IDOT(4,200,7,15), CAP(15,7),IIW(15), IQK(15,7),IDMD(14,15,4) D0 1, I=1, M DO 1, Il=l,N ANIT(I,I1) = 0.0 CONTINUE Do 20, I=1, N DO 20, Il=1, N DO 20, I2=1, M OBJ(I,I1,12) = 0.0 TRANS(I,Il,I2) = 0.0 CONTINUE DO 41, I=L 4 D0 41, 11: 1, 200 Do 41, 12: L 7 DO 41, I3=1, 15 IDOT(I,I1,I2,I3) = 0 OBJX(Il,I3,I2) = 0.0 CAP(I3,I2) = 0.0 IQK(I3,I2) = o CONTINUE DO 48, I=1, IT DO 48, I1=1, N Do 48, 12:1, IIW(Il) IDMD(I,I1,I2) = 0.0 CONTINUE TURN LAST CARD OF INITl END SUBROUTINE MACHW(M,IX,MW,MAXMW,MINMW) DOUBLE PRECISION DRAND, DIMENSION MW(7) DO 5,I=1,10 R = DRAND(IX) CONTINUE DO 10, I=1, M 10 10 21 23 25 26 28 29 30 106 R = DRAND(IX) MW(I) = (MAXMW-MINMW) * R + MINMW CONTINUE RETURN LAST CARD OF MACHW END DOUBLE PRECISION FUNCTION DRAND(IX) DOUBLE PRECISION A,P,IX,BlS,816,XHI,XALO,LEFTLO,FHI,K DATA A/16807.DO/,BlS/32768.DO/, 1 Bl6/65536.D0/,P/2147483647.D0/ XHI=IX/316 XHI = XHI—DMOD(XHI,1.D0) XALO = (IX-XHI*Bl6)*A LEFTLO = XALo/Ble LEFTLO = LEFTLO - DMOD(LEFTLO,1.DO) FHI = XHI*A+LEFTLO K=FHI/BlS K = K-DMOD(K,1.DO) IX = (((XALO-LEFTLO*816)-P)+(FHI-K*Bl$)*Bl6)+K IF(IX.LT.O.D0)IX=IX+P DRAND = IX*4.656612875D—10 RETURN LAST CARD OF DRAND END SUBROUTINE PAPW(M,MW,IX,IIW,N,IWI,NWMAX,MAXPW,MINPW) DOUBLE PRECISION DRAND, Ix DIMENSION MW(7), IIW(15),IWI(15,4) DO 10,I=1,N DO 10,J=1,NWMAx IWI(I,J) = 0 CONTINUE DO 23,I=1,N R = DRAND(IX) DO 21, K=1,NWMAX IF((R.GT.(K—1.0)/(NWMAX+0.0)) X.AND.(R.LE.K/(NWMAX+0.0)))THEN IIW(I) = K GOTO 22 ENDIF CONTINUE CONTINUE CONTINUE DO 30, I=1, N DO 30, I1=1, IIW(I) CONTINUE R = DRAND(IX) IWI(I,I1) = R * (MAXPW—MINPW) + MINPW Do 26, 12:1,11—1 IF(IWI(I,12).EQ.IWI(I,Il))GOTO 25 CONTINUE Do 28, 12:1, M IF(IWI(I,Il).LE.MW(12)) GOTO 29 CONTINUE GOTO 25 CONTINUE CONTINUE RETURN LAST CARD OF PAPW END 107 SUBROUTINE SCREEN(M,MW,N,IIW,IT,IDMD,IWI, X OBJ,TRANS,OBJX,CAP,IQK,IDOT,ANIT) DIMENSION ANIT(7,15),OBJ(15,15,7), TRANS(15,15,7),OBJX(200,15,7), IDOT(4,200,7,15), CAP(15,7),IIW(15), IQK(15,7),MW(7), IWI(15,4),IDMD(14,15,4) 0PEN(44,FILE=’SCREEN.FLE’) 2 FORMAT(SX) WRITE(44,6000) 6000 FORMAT(ZOX,’ PROBLEM SPECIFICATIONS’,/) WRITE(44,6001) 6001 FORMAT(lSX,’Machine Number Machine Width') DO 200, I=1, M WRITE(44,6002) I, MW(I) 6002 FORMAT(lBX,12,20X,I3) 200 CONTINUE WRITE(44,7015) 7015 FORMAT(5X,/, X’Time Required to Produce a Reel of Papers (in hours)’,/) Do 210,I=1, M WRITE(44,7016)I 7016 FORMAT(5X, 'Machine Number’,I2,/, X12X,’paper(x)’,lOX,’Production Time’) D0 210,I1=1,N WRITE(44,7017)I1,CAP(I1,I) WNH 7017 FORMAT(13X,I2,19X,F3.1) 210 CONTINUE WRITE(44,7001) 7001 FORMAT(/,15X,'Cost of Transferring Between Papers (in $s)’) DO 230,I=1, M WRITE(44,7002)I 7002 FORMAT(5X, ’Machine Number',I2,/, X12X,’paper(x)’,5X,'paper(y)’,5X,’Transition Cost’) Do 229,I1=1,N Do 229,I2=1,N IF(Il.NE.I2)THEN WRITE(44,7003)Il,I2,0BJ(I1,12,I) 7003 FORMAT(14X,Il,12X,I2,14X,F6.1) ENDIF 229 CONTINUE WRITE(44,2) 230 CONTINUE WRITE(44,7010) 7010 FORMAT(15X,’Time to Transfer Between Papers (in hours)') 00 240,I=l, M WRITE(44,7011)I 7011 FORMAT(5X, ’Machine Number’,I2,/, X12X,’paper(x)’,5X,’paper(y)',5x,'Transition Time') Do 239,Il=1,N DO 239,I2=1,N IF(I1.NE.I2)THEN WRITE(44,7003)I1,12,TRANS(I1,I2,I) ENDIF 239 CONTINUE WRITE(44,2) 240 CONTINUE WRITE(44,6003) 6003 FORMAT(25x,'DEMAND SCHEDULE’,/) DO 300, J=1, IT WRITE(44,6007)J 6007 FORMAT(5X,’Requirements for Day ’,12,/) DO 300, I=1, N 6004 6008 289 290 6009 300 9670 9671 302 9672 9673 304 9674 9675 306 8000 8011 9000 8012 9001 350 9002 108 ITEM = 0 Do 250, I4U=1,IIW(I) ITEM = IDMD(J,I,I4U) + ITEM CONTINUE IF(ITEM.EQ.0)GOTO 299 WRITE(44, 6004) I FORMAT(10X,’Paper Type ’ ’ is needed in the following width(s):') DO 290, I1= 1, IIW(I) IF(IDMD(J,I,I1).EQ.O)GOTO 289 WRITE(44,6008)IDMD(J,I,Il),IWI(I,Il) FORMAT(lSX,I4,’ Rolls of Width ’,I3,’ Inches’) CONTINUE CONTINUE WRITE(44, 6009) FORMAT ( 5X) CONTINUE CONTINUE WRITE(44,9670) FORMAT(/,5X,’IIW = (number of widths for each paper)',/) Do 302,I=1,N WRITE(44,9671)I,IIW(I) FORMAT(lOX,’Paper type ',IZ,’ Has ',I2,’ Widths’) CONTINUE WRITE(44,9672) FORMAT(/,5X,'IWI = ',/) Do 304,I=1,N WRITE(44,9673)I,(IWI(I,Il),I1=l,IIW(I)) FORMAT(5X,'Paper ',12,' Widths ’,4(I4,4X)) CONTINUE WRITE(44,9674) FORMAT(/,5X,’INITIAL CONDITIONS') Do 306, I=1,M WRITE(44,9675)(ANIT(I,I1),Il=1,N) FORMAT(5X,’MACHINE ’,5(F5.2,3X)) CONTINUE WRITE(44,8000)M,N FORMAT(5X,'CUTTING PATTERNS: ,/, 15x, 'NUMBER OF MACHINES = M = ’,I2,/, 15x, ’NUMBER OF PRODUCTS = N = ',12,/) WRITE(44,8011) FORMAT(5X,’NUMBER FOR ROLLS OF THE FOLLOWING WIDTHS:’) DO 355, I=1,M DO 355, Il=1,N WRITE(44,9000)I,I1,MW(I) FORMAT(/,5X,’PATTERNS FOR MACHINE',I2, ' AND PAPER ',12,//, 15X,’Machine Width = ’,13,' inches',/, 15X,’With Paper Widths (in inches):’, WRITE(44,8012)(IWI(Il,12),I2=l,IIW(Il)) FORMAT(9X,I3,8X,I3, 12X,I3,12X,I3) IF(IIW(I1).EQ.4)THEN D0 350,I3=1,IQK(Il,I) WRITE(44,9001)(IDOT(I4,I3,I,Il),I4=1,4),OBJX(I3,I1,I) FORMAT(9X,I2,9X,I2,13X,I2,13X,I2,7X,’COST = ’,F7.2) CONTINUE ENDIF IF(IIW(Il).EQ.3)THEN DO 351,I3=l,IQK(I1,I) WRITE(44,9002)(IDOT(I4,I3,I,I1),I4=l,3),OBJX(I3,Il,I) FORMAT(9X,I2,9X,12,13X,I2,13X,2X,7X,’COST = ',F7.2) 9003 352 9004 353 10 21 22 31 32 46 109 CONTINUE ENDIF IF(IIW(I1).EQ.2)THEN Do 352, 13= L IQK(IL I) WRITE(44, 9003)(IDOT(I4, 13, I, I1), I4= 1, 2), OBJX(I3, I1, I) FORMAT(9x, 12, 9x, 12, 13x, 2x,13x, 2x, 7X,'COST = ',F 72) CONTINUE ENDIF IF(IIW(Il).EQ.1)THEN DO 353,I3=1,IQK(Il,I) WRITE(44,9004)(IDOT(I4,I3,I,I1),I4=1,l),OBJX(I3,I1,I) FORMAT(9X,12,9X,2X,13X,2X,13X,2X,7X,'COST = ',F7.2) CONTINUE ENDIF CONTINUE CLOSE(44) RETURN LAST CARD OF SCREEN END SUBROUTINE DEMAND(IT,IIW,MAXO,MINR, MAXR, Ix, N, NWMAx, IDMD) DOUBLE PRECISION DRAND IX DIMENSION IIW(15), IDMD(14, 15, 4) IDMD(I,I1,I2) = o CONTINUE DO 100, I=1,IT R = DRAND(IX) DO 21, K=1,MAXO + 1 IF((R.GT.(K-1.0)/(MAXO+1)).AND.(R.LE.K/(MAXO+1.0)))THEN NORDER = K-l IF((I.EQ.1).AND.(NORDER.GT.2))NORDER = 2 IF((I.EQ.2).AND.(NORDER.GT.3))N0RDER = GOTO 22 ENDIF CONTINUE CONTINUE IF(NORDER.EQ.O)GOTO 100 Do 50, Il=1, NORDER R = DRAND(IX) Do 31, K= 1, IF((R. GT. (K-l. 0)/(N)). AND. (R. LE. K/(N+O. 0)))THEN IPICK = GOTO 32 ENDIF CONTINUE CONTINUE R = DRAND(IX) IROLLS = NINT(((MAXR-MINR)/l.0)*R)+MINR IF(I.EQ.1)IROLLS = NINT(IROLLS/3.0) IF(I.EQ.2)IROLLS = NINT(IROLLS*(2.0/3.0)) R = DRAND(IX) Do 46, K=1,IIW(IPICK) IF((R.GT.(K-1.0)/(IIW(IPICK))) X.AND.(R.LE.K/(IIW(IPICK))))THEN IWIDTH — K GOTO 47 ENDIF CONTINUE 110 47 CONTINUE IDMD(I,IPICK,IWIDTH) = IDMD(I,IPICK,IWIDTH) + IROLLS so CONTINUE 100 CONTINUE RETURN C LAST CARD OF DEMAND END C SUBROUTINE OBJF(OBJ,N,M,IX,MAXTC,MINTC) DOUBLE PRECISION DRAND, DIMENSION OBJ(15,15,7) Do 100, =1,M Do 100, 11=1,N DO 100, 12=1,N IF(I1.N .I2)THEN R = DRAND(1X) OBJ(I1,I2,I) = R*(MAXTC-MINTC)+MINTC 1 END F 100 CONTINUE RETURN C LAST CARD OF OBJF END C SUBROUTINE TRANSF(TRANS,M,IX,MAXTT,MINTT) REAL MAXTT,MINTT DOUBLE PRECISION DRAND, 1x DIMENSION TRANS(15,15,7) DO 100, I=1,M DO 100, 11=1,15 DO 100, 12=1,15 IF(Il.NE.I2)THEN R = DRAND(IX) TRANS(Il,I2,I) = R*(MAXTT-MINTT)+MINTT ENDIF 100 CONTINUE RETURN C LAST CARD 0F TRANSF.FOR END SUBROUTINE OBJFX(OBJX,IDOT,MW,IQK,IWI, x M,CUTCST,ALABOR,AMTCST) DIMENSION OBJX(200,15,7),IDOT(4,200,7,15), 1 IQK(15,7),MW(7), 1w1(15,4) DO 1000, 1=1, 15 DO 1000, J=1, M DO 500, K=l, IQK(I,J) LENGTH = 0 DO 400, L=1,4 LENGTH = LENGTH + IDOT(L,K,J,I)*IWI(I,L) 400 CONTINUE OBJX(K,I,J) = (MW(J)-LENGTH)*CUTCST OBJX(K,I,J) = OBJX(K,I,J) + x (LENGTH/1.0)*(ALABOR+AMTCST) IF(OBJX(K,I,J).LT.0.0)THEN WRITE(*,SSSS) 5555 FORMAT(5X,’ERROR IN OBJFX.FOR',/, X5X,'PATTERN LONGER THAN THE WIDTH OF THE MACHINE') PAUSE ENDIF 500 CONTINUE 1000 CONTINUE RETURN 111 LAST CARD OF OBJFX END SUBROUTINE ICOND(M,N,ANIT,IX) IX DOUBLE PRECISION DRAND, D 21 100 9674 IMENSION AN1T(7,15) DO 100, J=1,M R = DRAND(IX) DO 21, x=1, N IF((R. GT. (K—l. 0)/(N)). AND. (R. LE. (K)/(N)))THEN ANIT(J, K) = 1.0 GOTo 22 ENDIF CONTINUE CONTINUE CONTINUE WRITE(44,9674) FORMAT(/,5X,'INITIAL CONDITIONS’) RETURN LAST CARD OF ICOND.FOR END SUBROUTINE CAPF(CAP,N,M,MAXPT,MINPT,IX) REAL MAXPT,MINPT D D CSINCLUDE CSINCLUDE CSINCLUDE C ><>< 555 1000 1001 1010 XX 1002 ><><>< OUBLE PRECISION DRAND, 1x IMENSION CAP(15,7) Do 100, 1=1,N Do 100, J=1,M R = DRAND(1X) CAP(I,J) = R*(MAXPT-MINPT) + MINPT CONTINUE RETURN LAST CARD OF CAPF.FOR END REPORT.FOR PATRNS.FOR MASSAG.FOR SUBROUTINE REPORT(M,N,IIW,IT, IQK,MAXO,MINR,MAXR,MAXMW,MINMW,MAXPW, MINPw,IXSAVE,10PT3,NAMSTR) CHARACTER*12 NAMSTR,UTIL DIMENSION IIW(15),IQK(15,7) WRITE(*,SSS) FORMAT(5X,’ENTERING REPORT') OPEN(43,FILE=’REPORT.FLE’) WRITE(43,1000)NAMSTR FORMAT(25X,'PROBLEM — ',A12) WRITE(43,1001)IXSAVE FORMAT(/,5X,’Random Number Seed = ’,I3,/) WRITE(43,1010)IT,M,N FORMAT(5X,’The Number of Periods is: 12, /, 5X,’The Number of Machines is: ’,Il ,/, 5X,'Number of Types of Paper: ,I2, /) WRITE(43,1002)MAXMW,MINMW,MAXPW,MINPW FORMAT(5X,’Maximum Machine Width = ',I4,/, 5X,'Minimum Machine Width = ’,I4,//, 5X,’Maximum Paper Width = ’,I4,/, X,'Minimum Paper Width = ’,I4) IF(IOPT3.EQ.1)UTIL = ’low’ 1003 1005 2000 2001 210 2002 230 2003 240 2004 2005 260 2006 112 IF(IOPT3.EQ.2)UTIL = ’medium’ 1E(IOPT3.EQ.3)UT1L = ’high’ WRITE(43,1003)UTIL,MAXO,MINR,MAXR FORMAT(/,5X,'Expected Level of Utilization = ',A12,/, 5X,'Maximum Number of Orders/Day = ',I3,/, 5X,'Minimum Number of Rolls/Order = ’,I3,/, 5X,’Maximum Number of Rolls/Order = ',I3) CALL SIZE(IT,N,M,IQK,IIW) WRITE(43,1005) FORMAT(/,35X,’Constraint Legend’) IBEG = l IEND = 0 WRITE(43,2000) FORMAT(/,5X,'Type of Constraint’,15X,’Beginning ’, 0 ’Ending ’,/) DO 200, I=1,IT D0 200, I1=1,N DO 200, 12=1,IIW(Il) IEND = IEND+1 CONTINUE WRITE(43,2001)IBEG,IEND FORMAT(5X,’Reel to Roll Conversion’,1OX,I5,14X,IS) IBEG = IEND + 1 Do 210, I=1,IT DO 210, Il=1,M IEND = IEND + 1 CONTINUE WRITE(43,2002)IBEG,IEND FORMAT(5X,'CapaCity Constraints’,13X,IS,14X,IS) IBEG = IEND + 1 Do 230, I=1,IT DO 230, 11=1,N Do 230, IZ=1,IIW(Il) IEND = IEND + 1 CONTINUE WRITE(43,2003)IBEG,IEND FORMAT(5X,’Demand Constraints’,15X,15,14X,IS) IBEG = IEND + 1 D0 240, I=1,IT Do 240, Il=1,M Do 240, 12=1,N IEND = IEND + 1 CONTINUE WRITE(43,2004)IBEG,IEND FORMAT(5X,’Required Setups',18X,I5,14X,IS) IBEG = IEND + 1 DO 250, I=1,IT D0 250, Il=1,M IEND = IEND + 1 CONTINUE WRITE(43,2005)IBEG,IEND FORMAT(5X,’Exit From the Null State ’,8X,IS,14X,IS) IBEG = IEND + 1 DO 260, I=1,IT DO 260, Il=1,M DO 260, I2=1,N IEND = IEND + 1 CONTINUE WRITE(43,2006)IBEG,IEND FORMAT(5X,'MatChed Exit to Entrance’,9X,I5,14X,I5) IBEG = IEND + 1 DO 270, I=1,IT 270 2007 280 2008 285 2208 2209 2009 6000 113 DO 270, Il=1,M CONTINUE WRITE(43,2007)IBEG,IEND FORMAT(5X,’Exit from Each State Visited’,5X,I5,l4X,IS) IBEG = IEND + 1 DO 280, I=1,IT DO 280, Il=1,M DO 280, 12=O,N D0 280, I3=1,N+1 IF(IZ.NE.I3)THEN IF((12.EQ.0).AND.(I3.EQ.N+1))GOTO 280 IEND = IEND + 1 ENDIF CONTINUE WRITE(43,2008)IBEG,IEND FORMAT(5X,’Bread Crumb Constraints’,1OX,15,14X,IS) IBEG = IEND + 1 DO 285, I=1, IT DO 285, I1=1, M D0 285, I2=1, N IEND = IEND + 1 CONTINUE WRITE(43,2208)IBEG,IEND FORMAT(5X,’Required Trans. Before Prod.’, 5x,15,14x,15) IBEG = IEND + 1 Do 345, I=1,IT DO 345,I1=1,M D0 345,I2=1,N IEND = IEND + 1 CONTINUE WRITE(43,2209)IBEG,1END FORMAT(5X,’Minimum Production’,15X,IS,14X,I5) WRITE(43,2009)IEND FORMAT(/,5X,’Total Number of Constraints’,25x,15) CLOSE(43) WRITE(*,556) FORMAT(5X,’LEAVING REPORT’) RETURN LAST CARD OF REPORT END SUBROUTINE SIZE(IT,N,M,IQK,IIW) DIMENSION IQK(15,7),IIW(15) WRITE(43,6000) FORMAT(/,SX,’For Integer Number of Reels’,/, 56X, ' Beg. End’,/) ICUT = 0 Do 200, I=1,IT DO 200, I1=1,N DO 200,I2=1,M ICUT = ICUT + IQK(Il,I2) CONTINUE IBG = 1 IED = ICUT DO 220,I=O,IT DO 220,11=1,N IF(I.GT.O) IROLLS = IROLLS + IIW(Il) 5788 X 6002 6003 6004 6005 6006 6007 720 6008 114 INV = INV + IIW(Il) CONTINUE WRITE(43,5788)ICUT,IBG,IED FORMAT(5X,’Number of Cutting Patterns: ',17X,I4, 3X,I4,3X,I4) IBG = IBG + ICUT IED = IED + IROLLS WRITE(43,6002)IROLLS,IBG,IED FORMAT(5X,’Number of Roll variables:’,18X,16, 3x,14,3x,14) IBG = IBG + IROLLS D = IED + INV WRITE(43,6003)1NV,IEG, IED FORMAT(5X,’Number of Inventory Variables:',l3X,I6, 3x,14,3x,14) IBG = IBG + INV IED = IED + IROLLS WRITE(43,6004)IROLLS,IBG, IED FORMAT(5X,'Number of Rejected Rolls variables: ',7X,I6, 3x,14,3x,14) IBG = IBG + IROLLS IED = IED + N*M WRITE(43,6005)N*M,IBG, IED FORMAT(5X,’Number of Machine Initialization Variables: ’,IS, 3x,14,3x,14) ITRAN = 0 Do 630, I=1,IT DO 630, Il=1,M D0 630, I2=O,N DO 630, I3=1, N+1 IF(I2.E .13)GOT0 630 IF((I2.EQ.O) .AND. (I3.EQ.N+1)) GOTO 630 ITRAN = ITRAN + 1 CONTINUE IBG = IBG + N*M IED = IED + ITRAN WRITE(43,6006)ITRAN,IBG,IED FORMAT(5X,'Number of Transition Variables: ’,12X,IS, 3X,I4,3X,I4) IBG = IBG + ITRAN IED = IED + IT*M ISLACK = IT*M WRITE(43,6007) ISLACK,IBG,IED FORMAT(5X,’Number of Slack Variables:’,l8X,I5, 3x,14,3x,14) ITOUR = 0 DO 720, I=1, IT D0 720, Il=1, M DO 720, 12=0, N+1 ITOUR = ITOUR + l CONTINUE IBG = IBG + ISLACK IED = IED + ITOUR WRITE(43,6008)ITOUR,IBG,IED FORMAT(5X,'Number of Bread Crumb Variables:’,l2X,IS, 3x,14,3x,14) IGCONS = 0 DO 750, 1=1, IT DO 750, Il=1, M D0 750, I2=1, N IGCONS = IGCONS + l CONTINUE 6200 X X 6009 C C X X X C C C C X X X X X 53 54 115 IBG = IBG + ITOUR IED = IED + IGCONS WRITE(43,6200)IGCONS,IBG,IED FORMAT(5X,’Number of Setups on Each Day:’,15x,15, 3x,14,3x,14) ITOTAL = ICUT+2*IROLLS+IGCONS+ INV + M*N+ITRAN+ISLACK+ITOUR WRITE(43, 6009) ITOTAL FORMAT(/, 5X,’Tota1 Number of Variables: ’,30X,I6) LA ST CARD OF SIZE END SUBROUTINE ELAPSE(1YEAR,IMONTH,IDAY, IHRS,IMINS, ELHRS,ELMINS) INTEGER*2 IYEAR,IMONTH,IDAY,IHRS, IMINS, YEAR, MONTH, DAY, HRS, MINS, SECS,HSECS INTEGER ELHRS,ELMINS CALL GETDAT(YEAR,MONTH,DAY) CALL GETT1M( HRS, MINS, SECS, HSECS ) 1F(1YEAR.EQ.YEAR)THEN IF(IMONTH.EQ.MONTH)THEN IF(IDAY.EQ.DAY)THEN MINTOT= (HRs*6o.o+M1NS) — (IHRS*60.0+IMINS) CALL MNTOHS(MINTOT,ELHRS,ELMINS) RETURN ELSE MINTOT = 24.0*60.0-(IHRS*60.0+IMINS) MINTOT = (DAY-IDAY-1)*24.0*60.0 + MINTOT MINTOT = MINTOT+HRS*60.0+MINS CALL MNTOHS(MINTOT,ELHRS,ELMINS) RETURN ENDIF PAUSE’ELAPSE...CHANGE 1N MONTH, ELAPSED TIME INVALID' ENDIF PAUSE’ELAPSE...CHANGE 1N YEAR, ELAPSED TIME INVALID' ENDIF RETURN LAST CARD 0F ELAPSE END SUBROUTINE MNTOHS(MINTOT,ELHRS,ELMINS) INTEGER ELHRS,ELMINS ELHRS = INT(MINTOT/60.0) ELMINS = INT(MINTOT-ELHRS*60.0) RETURN LAST CARD OF MNTOHS END SUBROUTINE TIMING(ELHRS,ELMINS,EDHRS,EDMINS, ETHRS,ETMINS,IYEAR,IMONTH, IDAY,IHRS, IMINS,MIPCNT) INTEGER*2 IHRS, IMINS, SECS, HSECS, LHRS, LMINS, IYEAR,IMONTH,IDAY, LYEAR,LMONTH,LDAY INTEGER ELHRS,ELMINS,EDHRS,EDMINS,ETHRS,ETMINS OPEN(86,FILE=’TIME.FLE’) WRITE(86,53) FORMAT(//,25X,’Solution Time Summary’) WRITE(86,54)1YEAR,1MONTH,1DAY,IHRS, IMINS FORMAT(///,5X,’Solution Procedure began on: ’,/, 55 56 57 58 59 10 X 5X,’Year: ',I4,/, X 5X,’Month: ’,I2,/, X 5X,’Day: ’,I2,’ at:',/, X 5X,’Hour: ’,I2,/, X 5X,'Minutes: ’,12) WRITE(86,55)ELHRS,ELMINS FORMAT(///,SX,’Time required to solve the LP: ',I3, X ’ Hours and ',12,’ Minutes’) WRITE(86,56)EDHRS,EDMINS FORMAT(/,5X,’Time required to solve dailies: ',I3, X ' Hours and ’,I2,’ Minutes’) WRITE(86,57)ETHRS,ETMINS FORMAT(//,5X,'Total time to solve the heuristic: ’,I3, X ’ Hours and ’,I2,’ Minutes') CALL GETDAT(LYEAR,LMONTH,LDAY) CALL GETTIM( LHRS, LMINS, SECS, HSECS ) WRITE(86,58)LYEAR,LMONTH,LDAY,LHRS, LMINS FORMAT(///,5X,’Solution Procedure ended on: ’,/, X 5X,'Year: ’,I4,/, X 5X,'Month: ’,12,/, x 5X,’Day: ',12,' at:’,/, x 5X,’Hour: ',12,/, X SX,’Minutes: ’,I2) WRITE(86,59)MIPCNT FORMAT(//,5X,’The large LP/MIP was solved:',I3, X ’ times') CLOSE(86) LAST CARD OF TIMING END SUBROUTINE PATRNS(N,M,Iw1,Mw,IDOT,IQK) DIMENSION IWI(15,4),MW(7), XIDOT(4,200,7,15),NROLLS(4),IQK(15,7) Do 1000, 1=1,N DO 1000, J=1,M IQ = 0 DO 5,L4=1,4 NROLLS(L4) = 0 CONTINUE 1TER1 = 0 Do 10, L=1,4 IF(IWI(I,L).EQ.0)GOT0 10 ITER = MW(J)/(IWI(I,L) - 0.000001) + 1 IF(ITER.GT.ITER1)ITER1 = ITER CONTINUE ITER = 1TER1 Do 800, K1=o,1TER Do 700, K2=0,ITER DO 600, K3=0,1TER DO 500, K4=O,ITER ITOTAL = IWI(I,1)*K1+IWI(I,2)*K2+ x IWI(I,3)*K3+IWI(I,4)*K4 IF(ITOTAL.GT.MW(J))GOTO 499 NROLLS(1) = K1 NROLLS(2) = K2 NROLLS(3) = K3 NROLLS(4) = K4 CALL PATEST(NROLLS,I,J,IDOT,1Q) CONTINUE CONTINUE CONTINUE CONTINUE 800 999 1000 20 184 185 200 220 4545 117 CONTINUE CONTINUE IQK(1,J) = IQ CONTINUE RETURN LAST CARD OF PRTRNS END SUBROUTINE PATEST(NROLLS,I,J,IDOT,IQ) INTEGER DIMENSION NROLLS(4),1D0T(4,2oo,7,15) ITEM = o = 1, 4 ITEM = NROLLS(M1) + ITEM UE IQTEM = IQ IF(ITEM.EQ.0)RETURN CONTINUE IQ =IQTEM Do 200, Q=1, IQ IF((IDOT(1,Q,J,I).GE.NROLLS(1)) AND.(IDOT(2,Q,J,1).GE.NROLLS(2)) AND.(IDOT(3,Q,J,I).GE.NROLLS(3)) AND.(IDOT(4,Q,J,I).GE.NROLLS(4)))RETURN IF((IDOT(1,Q,J,I).LE.NROLLS(1)) .AND.(IDOT(2,Q,J,I).LE.NROLLS(2)) AN AN . D.(IDOT(3,Q,J,I).LE.NROLLS(3)) D.(IDOT(4,Q,J,I).LE.NROLLS(4)))THEN Do 185,1WQ=Q,IQ—1 DO 184,L4=1,4 IDOT(L4,IWQ,J,I) = IDOT(L4,IWQ+1,J,I) CONTINUE CONTINUE IQTEM = IQTEM - 1 GOTO 20 ENDIF CONTINUE IF(IQ.GT.200)PAUSE'TOO MANY CUTTING PATTERNS' IQ = IQ + 1 D0 220, L4=1,4 IDOT(L4,IQ,J,I) = NROLLS(L4) CONTINUE RETURN LAST CARD OF PATEST END X>=X 118 D0 5,12=1,IIW(11) INV(1,11,12) = o CONTINUE Do 10, I=1,IT D0 10, Il=1,M DO 10, 12=1,N DO 10, I3=1,IQK(I2,I1) REELPR(I,I1,12,I3)=REELPR(I,I1,I2,I3)+ NINT(IPROD(13,12,11,I)) CONTINUE OPEN(44,FILE=’RESULTS.FLE') WRITE(44,4995) FORMAT(2OX,’ REEL PRODUCTION') IF(IOPT1.EQ.0)THEN WRITE(44,4994) FORMAT(19X,’(optimizing procedure)’) ENDIF IF(IOPT1.EQ.1)THEN WRITE(44,4993) FORMAT(2OX,’(heuristic procedure)’) ENDIF D0 101, I=1,IT WRITE(44,5000)1 FORMAT(/,5X,’DAY ',12) DO 100, Il=1, M WRITE(44,5001)11 FORMAT(10X,’MACHINE ',11) DO 100, 12:1, N ITEl = 1 ITEM = 0 D0 95, 15=1,1QK(12,11) IF(REELPR(I,Il,I2,IS).GT.0)ITEM=1 CONTINUE IF((ITEM.EQ.1).AND.(ITE1.EQ.1))THEN WRITE(44,5002)12,(IWI(12,16),16=1,4) FORMAT(7X,'PAPER TYPE ',12,' REELS', ’ w1= ',I3, ' W2= ’,I3,’ W3= ',I3,’ W4= ',I3) ITEl = 0 ENDIF DO 100, I3=1, IQK(12,11) IF(REELPR(I,Il,IZ,I3).GT.O)THEN WRITE(44,5003)REELPR(I,11,12,13), (IDOT(14,13,11,12),14=1,4) FORMAT(21X,I2,4(8X,I3)) ENDIF CONTINUE CONTINUE Do 150, I=1,IT DO 150,11=1,N D0 150,I2=1,IIW(I1) ROLLPR(I,11,12,1) = ROLLPR(I,11,12,2) = DO 150, J=1,IT DO 150,Jl=1,M DO 150,J2=1,N DO 150,J3=1,IQK(J2,J1) IF((I.EQ.J).AND.(Il.EQ.J2))THEN ROLLPR(I,Il,IZ,l)= ROLLPR(I,I1,I2,1)+ REELPR(J,J1,J2,J3)*IDOT(I2,J3,J1,J2) ENDIF CONTINUE 00 r" 5999 6000 6002 119 D0 160,I=1,IT DO 160,I1=1,N DO 160,I2=1,IIW(I1) IENDIv=INV(I-1,11,12)-IDMD(I,11,12)+ROLLPR(I,II,12,1) IF(IENDIV.GE.0)THEN INV(1,11,12) = IENDIv ENDIF IF(IENDIV.LT.O)THEN INV(1,11,12) = o ROLLPR(I,I1,I2,2) = -IENDIv ENDIF CONTINUE WRITE(44,5999) FORMAT(/,24X,’ROLL RECORD’,/) DO 300,I=1,IT WRITE(44,6000)I FORMAT(5X,'DAY ',12) DO 300, 12=1,N WRITE(44,6002)12 FORMAT(10X,'PAPER TYPE ',12, (in rolls)’, /, 14x, X’Width Prod. B.Inv. E. Inv. Dmd. Rej.’) XD<>< ><><><>< ><>¢ H ><>< XX XXX ><>< ><>< ><>< 122 EACTOR,LOLIM,IUPLIM, AMTCST ) DIMENSION IIW(15), IQK(15, 7), OBJ(15, 15, 7), TRANS(15,15 7), ANIT(7, 15), OBJX(200, 15, 7), IDOT(4, 200, 7, 15), CAP(15, 7), IDMD(14, 15,4), IV(0: 15, 16, 7,0: 14),m ), ININV(15, 4), RHS(14, 7L SLACK(1L 7) INTEGER REELPR(14,7,15,200),IWI(15,4),INV(O:14,15,4), ROLLPR(14,15,4,2), FACTOR,LOST(14,15,4,2),INCOMP REAL IPROD(200,15,7,14) CALL READIT(DAYL,IT,N,M,IIW,IQK, OBJ,TRANS,ANIT,OBJX,IDOT,CAP,IDMD,MW) D0 6, I=o,IT DO 6, L=1,M DO 6, J=0,N DO 6, K=1,N+1 IV(J,K,L,I) = o CONTINUE INCOMP = IT+1 CONTINUE DO 55, K=1, 14 D0 55, I=1, 15 D0 55, J=1, D0 55, L=1, ROLLPR(K, CONTINUE DO 57, I=0, IT Do 57, 11=1,N DO 57, I2=1,IIW(I1) INV(I,I1,I2) = o CONTINUE CALL READZO(IT,N,M, IIW,IQK,INV,IPROD,IV,IFLG,LOST, SLACK,INCOMP ) IF(IFLG.EQ.0)THEN CALL IP(IV,IPROD,ININV,Y,CLOST, FACTOR,IWI,LOLIM,IUPLIM, AMTCST,INCOMP) STOP ENDIF CALL FINISH(REELPR,IT,N,N,IIW, IQK,IWI,IDOT,ROLLPR,OBJ,IV, IDMD,TRANS,CAP,OBJX,IOPTl,IPROD,CLOST, SLACK,AMTCST) RETURN LAST CARD OF HETEST END ll 0 SUBROUTINE READZO(IT,N,M, IIW,IQK,INV,IPROD,IV,IFLG,LOST, SLACK,INCOMP DIMENSION IIW(15), IQK(15,7),INV(O:14,15,4), TIV(O:15,16,7,0:14),SLACK(14,7), TIVT(O:15,16,7,0:14) INTEGER IV(O:15,16,7,0:14), LOST(14,15,4,2), DELTA(14,7,15),INCOMP CHARACTER*8 FIELD1,FIELD2,FIELDlA,FIELD2A CHARACTER*1 L(93) 9090 11 500 15 1010 20 4O 50 6O 65 123 REAL IPROD(200,15,7,14),TDELTA(14,7,15) FIELDl = ' NUMBER' FIELD2 = ' .....C’ WRITE(*,9090) FORMAT(5X,'ENTERING READZO') D0 6, I=0,IT DO 6, L1=1,M DO 6, K=1,N+1 TIVT(J,K,L1,I) = 0.0 CONTINUE DO 11, 10:1, IT DO 11, I1=1, N D0 11, 12=1, M DO 11, I3=1, IQK(11,12) IPROD(I3,I1,12,IO) = 0.0 CONTINUE FORMAT(F7.2,5X,F10.2) OPEN(9S,FILE='KRUS.TXT’) ICNTT = o CONTINUE READ(95,1010)FIELD1A,FIELD2A,L FORMAT(A8,A8,93A1) IF(FIELD2A.NE.FIELD2)GOTO 15 READ(95,1010)FIELD1A,FIELD2A,L EPSILN = 1/1ooooo.o IFLGC = 0 D0 20, I=1, IT DO 20, I1=1, N Do 20, 12:1, M DO 20, 13:1, IQK(I1,I2) CALL REDLIN(B) ITEM = NINT(B) ATEM = ABS(B—ITEM/1.0) IF(ATEM.GT.EPSILN)IFLGC = 1 IPROD(I3,I1,I2,I) = B CONTINUE DO 40, I=1,IT D0 40, I1=1, N DO 40, I2=1, IIW(I1) CALL REDLIN(B) CONTINUE DO 50, I=0,IT DO 50, Il=1, N DO 50, 12:1, IIW(I1) CALL REDLIN(B) INV(I,I1,I2) = NINT(B) CONTINUE D0 60, I=1,IT DO 60, I1=1,N DO 60, I2=1,IIW(I1) CALL REDLIN(B) LOST(I,I1,I2,1) ) NINT(B) LOST(I,I1,I2,2 o CONTINUE DO 65, I=1,M D0 65,I1=1,N CALL REDLIN(B) TIVT(I1,N+1,I,0) = B TIV(I1,N+1,I,0) = B IV(I1,N+1,I,O) = NINT(B) CONTINUE IFLGT = o 4455 FORMAT(F8.5) OPEN(12,FILE='IV.TEM’) DO 70, I=1,IT Do 70, Il=1,M DO 70, 12=o, N DO 70, I3=1, N+1 IF(I2.EQ.I3)GOTO 7o IF((I2.EQ.O) .AND. (I3.EQ.N+1)) GOTO 70 CALL REDLIN(B) READ(12,4455)TEMP IF((B.GT.0.0).AND.(B.LT.1.0))IFLGT=1 TIVT(12,I3,11,I) = B IF((B.GT.0.0).OR.(TEMP.GT.O)) x TIV(I2,I3,Il,I) = 1.0 70 CONTINUE CLOSE(12) OPEN(12,FILE=’IV.TEM’) DO 71, I=1,IT D0 71, Il=1,M D0 71, 12:0, N D0 71, 13:1, N+1 IF(12.EQ.I3)GOTO 71 IF((I2.EQ.0) .AND. (I3.EQ.N+1)) GOTO 71 WRITE(12,4455)TIV(I2,I3,I1,I) 71 CONTINUE SLACK(I,Il) = B 80 CONTINUE DO 120, I=1, IT DO 120, Il=1, M DO 120, 12:0, N+1 CALL REDLIN(B) 120 CONTINUE IFGLD = o OPEN(89,FILE=’DELTAP.FLE’) DO 150, I=1, IT DO 150, I1=1, M DO 150, I2=1, N CALL REDLIN(B) IF((B.GT.0.0).AND.(B.LT.1.0))IFGLD = 1 IF((B.GT.0.0).AND.(B.LE.1.0))DELTA(I,I1,12)=1 TDELTA(I,11,12) = B READ(89,5511)INUM 5511 FORMAT(5X,I1) IF(INUM.EQ.1)DELTA(I,I1,I2)=1 150 CONTINUE CLOSE(89) CLOSE(95) OPEN(89,FILE=’DELTAP.FLE') D0 160, I=1, IT DO 160, I1=1, M DO 160, 12:1, N WRITE(89,5511)DELTA(I,11,12) 160 CONTINUE CLOSE(89) IF(IFGLD.EQ.1)THEN CALL FLAGS(TIV,IV,TIVT,IT,N,M,IPROD,IQK, x TDELTA,INCOMP) 125 IFLG = o CLOSE(12) RETURN ENDIF IF((IFLGC.EQ.O).AND.(IFLGT.EQ.O))THEN DO 171, I=1,M D0 171,I1=1,N IV(O,I1,I,0)=NINT(TIVT(0,I1,I,O)) 171 CONTINUE Do 172, I=1,IT DO 172, Il=1,M DO 172, 12=o, N DO 172, I3=1, N+1 IF(I2.NE.13)THEN IF((I2.EQ.O) .AND. (I3.EQ.N+1)) GOTO 172 IV(12,I3,11,I)=NINT(TIVT(I2,13,II,I)) ENDIF 172 CONTINUE OPEN(88,FILE=’BINARY.FLE') WRITE(88,7723) CLOSE(88) OPEN(88,FILE='INTEGER.FLE’) WRITE(88,7722) 7722 FORMAT(5X,’INTEGER.FLE’) CLOSE(88) IFLG = 1 RETURN DIF IF(IFLGT.EQ.O)THEN D0 175, I=1,M Do 175,I1=1,N IF(TIVT(0,I1,I,0).EQ.0)IV(0,I1,I,O)=3 IF(TIVT(0,I1,I,0).EQ.1)IV(O,I1,I,O)=2 175 CONTINUE D0 180, I=1,IT DO 180, Il=1,M DO 180, I2=o, N DO 180, I3=1, N+1 IF(I2.EQ.I3)GOT0 180 IF((I2.EQ.O) .AND. (I3.EQ.N+1)) GOTO 180 IF(TIVT(I2,13,I1,I).EQ.0)IV(I2,I3,I1,I)=3 IF(TIVT(I2,I3,I1,I).EQ.1)IV(I2,I3,I1,I)=2 180 CONTINUE OPEN(88,FILE='BINARY.FLE') WRITE(88,7723) 7723 FORMAT(5X,’BINARY.FLE’) CLOSE(88) 0PEN(88,FILE=’ICON.FLE') ICON = 2 WRITE(88,5511)ICON CLOSE(88) IFLG = o RETURN ENDIF CALL FLACS(TIv,Iv,TIVT,IT,N,M,IPROD,IQK, x TDELTA,INCOMP) OPEN(88,FILE=’ICON.FLE’) ICON = 1 WRITE(88,5511)ICON CLOSE(88) IFLG = o RETURN 126 C LAST CARD OF READZO END SUBROUTINE REDLIN(B CHARACTER*1 L(64),C(13),LDIGIT(15) CHARACTER*8 FIELD(4) INTEGER INTG(13),MANT(13) DATA LDIGIT /’0’,'1',’2',’3’,’4’,’5’,'6’,’7’, X I+I’I_I’l III.I’IEI/ READ(95,1010)FIELD,C,L 1010 FORMAT(4A8,13A1,64A1) IF(C(10).EQ.LDIGIT(15))THEN IF(C(11).EQ.LDIGIT(12))THEN B = 0.0 RETURN ENDIF PAUSE’PROBLEM IN REDLINE - E’ STOP ENDIF IPOINT = 0 DO 100,I=1,13 IF(C(I).EQ.LDIGIT(14))THEN I IPOINT = GOTO 101 ENDIF 100 CONTINUE 101 CONTINUE IF(IPOINT.EQ.0)THEN DO 200,I=1,13 DO 195,11=1,10 IF(C(I).EQ.LDIGIT(I1))THEN INTG(I) = I1—1 GOTO 200 ENDIF 195 CONTINUE IF(C(I).EQ.LDIGIT(13))THEN INTG(I) = o GOTO 200 DIF PAUSE’ERROR IN REDLINE - NON STANDARD INPUT’ 200 CONTINUE DO 3oo,I=1,13 B = B + INTG(I)*(10**(13—I)) 300 CONTINUE ENDIF IF(IPOINT.NE.0)THEN DO 4oo,I=1,IPOINT—1 DO 395,11=1,10 IF(C(I).EQ.LDIGIT(I1))THEN INTG(I) = I1—1 GOTO 400 ENDIF 39s CONTINUE IF(C(I).EQ.LDIGIT(13))THEN INTG(I) = o GOTO 400 ENDIF PAUSE’ERROR IN REDLINE — NON STANDARD INPUT w' 400 CONTINUE DO 500,I=IPOINT+1,13 DO 495,Il=1,1o 127 IF(C(I).EQ.LDIGIT(11))THEN MANT I = 11-1 GOTO 500 ENDIF 495 CONTINUE IF(C(I).EQ.LDIGIT(13))THEN MANT(I) = o GOTO 500 ENDIF PAUSE’ERROR IN REDLINE - NON STANDARD INPUT W’ 500 CONTINUE = 0.0 DO 600,I=1,IPOINT - 1 B = B + INTG(I)*(10**(IPOINT-1—I)) 600 CONTINUE DO 700,I=IPOINT+1,13 B = a + (MANT(I)*(o.1**(I-IPOINT)))/1.o 700 CONTINUE ENDIF RETURN C LAST CARD OF REDLIN END C CSINCLUDE FLAGS.FOR C SUBROUTINE FLAGS(TIV,IV,TIVT,IT,N,M,IPROD,IQK, X TDELTA,INCOMP) DIMENSION TIV(0:15,16,7,0:14),IV(0:15,16,7,0:14), x TIVT(O:15,16,7,0:14),IQK(15,7) INTEGER DELTA(14,7,15),MSTATUS(7) REAL IPROD(200,15,7,14),TDELTA(14,7,15) INTEGER COMPLE,STATUS,INCOMP WRITE(*,909O 9090 FORMAT(5X,’ENTERING FLAGS') DO 10, I=0,IT DO 10, Il=1,M DO 10, I2=O,N DO 10, I3=1,N+1 MSTATUS(I1) = o IV(12,I3,II,I) = o 10 CONTINUE INCOMP = 0 D0 15, I=1,IT INCOMP = INCOMP + 1 DO 15, Il=1,M DO 15, 12=o,N DO 15, I3=1,N+1 IF(I2.EQ.I3)GOTO 15 IF((I2.EQ.O).AND.(I3.EQ.N+1))GOTO 15 IE((TIVT(I2,I3,11,I).GT.o.0).AND. x (TIVT(12,I3,11,I).LT.1.0))GOTO 16 15 CONTINUE 16 CONTINUE WRITE(*,5566)INCOMP 5566 FORMAT(5X,'INCOMP = ', I3) DO 300, Il=1,M I = o 115 CONTINUE I = I + 1 IBEG = o 120 CONTINUE 128 D0 200, J1=1,N+1 IF(TIVT(IBEG,J1,I1,I).EQ.1.0)THEN IF(J1.LT.N+1)THEN IV(IBEG,J1,Il,I) = 2 IE(I.GE.INCOMP)GOTO 201 IV(IBEG,J1,I1,I) = 2 GOTO 115 ENDIF ENDIF 200 CONTINUE 201 CONTINUE D0 250, J1=1,N+1 IV(IBEG,J1,I1,I) = 1 250 CONTINUE 300 CONTINUE OPEN(88,FILE=’INSUR.FLE’) READ(88,505)IPERIOD,ITERAT CLOSE(88) 505 FORMAT(5X,I3,5X,I3) IF(IPERIOD.EQ.INCOMP)THEN ITERAT = ITERAT + 1 ELSE ITERAT = -l IPERIOD = INCOMP ENDIF OPEN(88,FILE=’INSUR.FLE’) WRITE(88,505)IPERIOD,ITERAT CLOSE(88) ITERAT = ITERAT ** 6 WRITE(*,7733)ITERAT 7733 FORMAT(5X,’ITERAT = ’,I4) DO 350, I=1,INCOMP D0 350, Il=1,M DO 350, 12=o,N DO 350, I3=1,N+1 IF(I2.EQ.I3)GOTO 350 IF((I2.EQ.0).AND.(I3.EQ.N+1))GOTO 350 IF(I.LT.INCOMP)THEN IF(IV(I2,I3,11,I).EQ.0)IV(12,I3,I1,I)= 3 ENDIF IF((I.EQ.INCOMP).AND.(ITERAT.GT.O).AND. x (IV(I2,I3,11,I).EQ.0))THEN ITERAT = ITERAT - 1 IV(12,I3,I1,I)= 1 ENDIF 350 CONTINUE IF(INCOMP.LE.IT)THEN DO 355, Il=1,M D0 354, 12=1,N IV(O,12,Il,INCOMP+l)=1 IV(I2,N+1,I1,INCOMP+1)=1 IV(I2,N+1,Il,INCOMP)=1 354 CONTINUE 355 CONTINUE ENDIF OPEN(89,FILE=’DELTA.FLE’) DO 365, I=1, IT D0 365, Il=1, M DO 365, I2=1, N 360 5511 365 8989 X><>=10,000' ENDIF IC3= IR/1ooo IC2: (IR-IC3*1000)/100 ICl= (IR-IC3*lOOO—ICZ*100)/1O ICO= (IR-IC3*1000—IC2*100-IC1*10) IRT = IC3*1000+IC2*100+IC1*10+ICO IF(IR.NE.IRT)PAUSE’CONV....IR <> IRT’ RETURN END SUBROUTINE SUSS(N,IR1,IR2,RA) DIMENSION IR1(50000),IR2(50000),RA(50000) L = N/2+1 IR = N CONTINUE IF(L.GT.1)THEN L=L—1 IRR1=IR1(L) IRR2=IR2(L) RRA=RA(L) ELSE IRR1=IR1(IR) IRR2=IR2(IR) RRA=RA(IR) IR1(IR)=IR1(1) IR2(IR)=IR2(1) RA(IR)= RA(I) IR=IR-1 IF(IR.EQ.1)THEN IR1(1)=IRR1 IR2(1)=IRR2 RA(1)= RRA RETURN ENDIF ENDIF I=L J=L+L IF(J.LE.1R)THEN 20 10 10 40 143 IF(J. LT. IR)Tn IF(IR1(J). LTN IR1(J+1))J= J+1 ENDIF IF(IRR1.LT.IR1(J))THEN IR1(I)=IR1(J) IR2(I)=IR2(J) RA(I)= RA(J) ENDIF IR1(I)=IRR1 IR2(I)=IRR2 SUBROUTINE RTRC(IR,IC3,IC2,IC1,ICO,ITRAC) DIMENSION ITRAC(15,4) IC3 = ITRAC(1R,1) IC2 = ITRAC(1R,2) 101 = ITRAC(1R,3) ICO = ITRAC(1R,4) RETURN END SUBROUTINE PNT(ITRAC) DIMENSION ITRAC(15,4) D0 10, I=1,12 WRITE(*,*) (ITRAC(I,J),J=1,4) CONTINUE RETURN LAST CARD OF PNT D SUBROUTINE INIT(IT,N,K,IIw,ITRAC,IQK) DIMENSION IIW(15), ITRAC(15,4),IQK(15,7),IC(4) DO 10, I=1,4 IC(I) = o CONTINUE IR = 1 CALL QUICK(IR,IC,1TRAC) DO 20, I=1, DO 20, Il=1, N Do 20, 12=1, K DO 20, I3=1, IQK(11,12) CALL INCR(IC(4),IC(3),IC(2),IC(1)) CONTINUE IR=2 CALL QUICK(IR,1C,ITRAC) DO 40, I=1,IT DO 40, Il=1, N D0 40, 12=1, IIW(I1) CALL INCR(IC(4),IC(3),IC(2),IC(1)) CONTINUE IR = 3 CALL QUICK(IR,IC,ITRAC) 60 80 90 100 10 144 Do 60, I=o, IT Do 60, 11: 1, DO 60, 12=1, NIIW(II ) CALL INCR(IC(4), IC(3), IC(2), IC(1)) CONTINUE IR = 4 CALL QUICK(IR,IC,ITRAC) Do 80, I=1, DO 80, Il=1, N DO 80, I2=1, IIW(Il) CALL INCR(IC(4),IC(3),IC(2),IC(1)) CONTINUE IR = 5 CALL QUICK(IR,IC,ITRAC) DO 90, 11=1,K D0 90, I2=1,N CALL INCR(IC(4),IC(3),IC(2),IC(1)) CONTINUE CALL QUICK(IR,IC,ITRAC) DO 100, I=1,IT DO 100, I1=1,K DO 100, I2=O,N DO 100, 13:1, N+1 IF(I2.NE.I3)THEN IF((IZ.EQ.O) .AND. (I3.EQ.N+1)) GOTO 100 CALL INCR(IC(4),IC(3),IC(2),IC(1)) ENDIF CONTINUE IR= 7 CALL QUICK(IR,IC,ITRAC) DO 110, I=1, IT DO 110, I1=1, K CALL INCR(IC(4),IC(3),IC(2),IC(1)) CONTINUE IR = 8 CALL QUICK(IR,IC,ITRAC) DO 120, I=1, Do 120, Il=1, K D0 120, 12:0, N+1 CALL INCR(IC(4),IC(3),IC(2),IC(1)) CONTINUE IR = 9 CALL QUICK(IR,IC,ITRAC) D0 150, I=1, CALL INCR(IC(4),IC(3),IC(2),IC(1)) CONTINUE IR = 10 CALL QUICK(IR,IC,ITRAC) RETURN LAST CARD 0F INIT END SUBROUTINE QUICK(IR,IC,ITRAC) DIMENSION ITRAC(15,4),IC(4) ITRAC(1R,1) = IC(4) ITRAC(1R,2) = IC(3) ITRAC(1R,3) = IC(2) ITRAC(1R,4) = IC(l) CONTINUE 35 225 35 145 RETURN END SUBROUTINE SUBZ(IC3,IC2,ICl,ICO,IT,N,ANUM,IR) COMMON ITRAK(15,4),IIW(15) CALL RTRK(IR, IR3, IR2, IR1, IRO) Do 225, I=1, IT Do 225, Il=1, N DO 225, 12=1, IIW(Il) CALL INCR(IC3, IC2, IC1, ICO) CALL INCR(IR3, IR2, IR1, IRO) WRITE(45,35) IC3,IC2,ICl,ICO,IR3,IR2,IRl,IRO, ANUM FORMAT(' ’,4(Il),’ ’,4(Il),’ ’,F10.1) CONTINUE RETURN END SUBROUTINE RTRK(I, IR3, IR2, IR1, IRO) COMMON ITRAK(15,4),IIW(15) IR3 - ITRAK(I,1) IR2 = ITRAK(I,2) IR1 = ITRAK(I,3) IRO = ITRAK(I,4) RETURN END SUBROUTINE WTRK(I, IR3, IR2, IR1, IRO) COMMON ITRAK(15,4),IIW(15) ITRAK(I,1) = IR3 ITRAK(I,2) = IR2 ITRAK(I,3) = IR1 ITRAK(I,4) = IRo RETURN END SUBROUTINE INCR(IR3, IR2, IR1, IRO) IRo = IRO + 1 IF(IRO .EQ. 10) THEN IRo = o IR1 = IR1 + 1 IF(IR1 .EQ. 10) THEN IR1 = o IR2 = IR2 + 1 IF(IR2 .EQ. 10) THEN IR2 o IR3 = IR3 + 1 SUBROUTINE ITBl(IR3,IR2,IR1,IRO,ITRAK, IC3,IC2,IC1,ICO,ITRAC,IT,K,N) DIMENSION ITRAK(15,4),ITRAC(15,4) FORMAT(' ’,4(Il ,' ’,4(Il),’ ’,F10.l) CALL RTRC(B,IR3,IR2,IR1,IRO,ITRAK) DO 276, J=1, IT DO 276, J1=1, K DO 276, J2=O, N DO 276, J3=1, N+1 IF((J2.EQ.O).AND.(J3.EQ.N+1)) GOTO 276 IF(J2.EQ.J3) GOTO 276 CALL RTRC(8,IC3,IC2,ICI,IC0,ITRAC) 275 276 C 146 CALL INCR(IR3,IR2,IR1,IR0) Do 275, I=1, IT Do 275, I1=1, K Do 275, 12=o, N+1 CALL INCR(IC3,IC2,IC1,ICO) IF((J.EQ.I).AND.(J1.EQ.I1).AND.(J2.EQ.I2))THEN ANUM = 1.0 WRITE(45,35) IC3,Icz,IC1,1C0,IR3,IR2,IR1,IR0,ANUM ENDIF IF((J.EQ.I).AND.(J1.EQ.I1).AND.(J3.EQ.12))THEN ANUM = - .0 WRITE(45,35) IC3,IC2,IC1,IC0,IR3,IR2,IR1,IRo,ANUM ENDIF CONTINUE CONTINUE RETURN END CSINCLUDE SOS.FOR CSINCLUDE ORD.FOR C 19 20 50 60 SUBROUTINE ORD(IT,M,N,ITRAC,IIw,IQK) INTEGER ITRAC(15,4),FLAG(15,15,14,7) DIMENSION IIW(15),IQK(15,7) DO 5,I=1,IT DO 5,Il=l,M DO 5, 12= 1, N DO 5, I3 1,N ELAG(12,I3,I,11) = o CONTINUE OPEN(78,FILE= ’KRUS.ORD’) WRITE(*,19) FORMAT(5X,’ENTERING ORD.FOR’) WRITE(78,20) FORMAT(’NAME’ FORMAT(lX,’UP x',411,17x,15) CALL RTRC(lo,IC3,IC2,IC1,ICO,ITRAC) INUM = IC3*1000+IC2*100+ICl*10+ICO + 1 CALL RTRC(9,IC3,IC2,IC1,IC0,ITRAC) Do 50, I=1, IT DO 50, I1=1, M DO 50, 12=1, N INUM = INUM — 1 CALL INCR(IC3,I02,Ic1,IC0) WRITE(78,21)IC3,IC2,IC1,ICO,INUM CONTINUE CALL RTRC(1,IC3,IC2,IC1,IC0,ITRAC) D0 60, I=1, IT DO 60, Il=1, N DO 60, 12=1, M DO 60, 13:1, IQK(I1,12) INUM = INUM - 1 CALL INCR(IC3, IC2, IC1, ICO) WRITE(78,21)IC3,IC2,IC1,ICO,INUM CONTINUE CALL RTRC(4,IC3,IC2,IC1,IC0,ITRAC) DO 100, I=1,IT INUM = INUM — 1 DO 100,I1=1,N Do 100,I2=1,IIW(I1) 100 835 0(3 147 CALL INCR(IC3, IC2, IC1, ICO) WRITE(78,21)IC3,Icz,IC1,ICo,INUM CONTINUE WRITE(78,835) FORMAT('ENDATA') CLOSE(78) WRITE(*,18) FORMAT(5X,'LEAVING 0RD.FOR’) LAST CARD OF ORD.FOR RETURN END SUBROUTINE SOS(IT,M,N,ITRAC) INTEGER ITRAC(15,4),ELAG(15,15,14,7) DO 5,I=1,IT D0 5,II=1,M DO 5,I2=1,N Do 5,I3=1,N FLAG(12,I3,I,11) = 0 CONTINUE OPEN(78,FILE='KRUS.SOS') WRITE(*,19) FORMAT(5X,’ENTERING SOS.FOR’) WRITE(78,20) FORMAT('NAME') FORMAT(lX,'Sl’,2lX,I12) FORMAT(1X,’S2’,21X,I12) FORMAT(lX,'83',21X,I12) FORMAT(4X,’X’,4I1,15X,I12) CALL RTRC(6,IC3,IC2,IC1,ICO,ITRAC) DO 100, I=1,IT IWGHT = lO*N*M*(IT—I+1) DO 100, Il=1,M WRITE(78,21)IWGHT Do 100, I2=O,N Do 100, 13:1, N+1 IF(I2.EQ.I3)GOTO 100 IF((I2.EQ.0) .AND. (I3.EQ.N+1)) GOTO 100 CALL INCR(IC3, IC2, IC1, ICO) IF((12.EQ.0).AND.(I3.NE.N+1)) WRITE(78,31) IC3,IC2,IC1,ICO CONTINUE CALL RTRC(6,IC3,IC2,IC1,ICO,ITRAC) DO 200, I=1,IT IWGHT = lO*N*M*(IT-I+l) DO 200, Il=1,M WRITE(78,21)IWGHT DO 200, 12=o,N DO 200, I3=1, N+1 IF(I2.EQ.I3)GOTO 200 IF((I2.EQ.O) .AND. (I3.EQ.N+1)) GOTO 200 CALL INCR(IC3, IC2, IC1, ICO IF((I2.NE.O).AND.(I3.EQ.N+1)) WRITE(78,31) IC3,IC2,IC1,IC0 CONTINUE WRITE(78,835) FORMAT('ENDATA') CLOSE(78) WRITE(*,18) FORMAT(5X,’LEAVING SOS.FOR’) REFERENCES 149 REFERENCES Baker, K. R. (1974). Introduction to Segpencing and Scheduling. New York: John Wiley & Sons. Baker, K. R., & Peterson, D. W. (1979). An Analytic Framework for Evaluating Rolling Schedules. Management Science, 2;, 341-351. Barnes, J. W., & Brennan, J. J. (1977). An Improved Algorithm for Scheduling Jobs on Identical Machines. AIIE Transactions, 2, 25-31. Barnes, J. W., & Vanston, L. K. (1981). Scheduling Jobs with Linear Delay Penalties and Sequence Dependent Setup Costs. Operations Research, 29, 146-160. Beale, E., & Tomlin, J. (1969). Special Facilities in a General Mathematical Program System for Non-Convex Problems Using Ordered Sets of Variables. In J. Lawrence (Ed.), Proceedings of the 5th International Conference on Operations Research. Tavistock, London. Bruvold, N. T., & Evans, J. R. (1985). Flexible Mixed- Integer Programming Formulations for Production Scheduling Problems. IIE Transactions, 11, 2-7. Burch, E. E., Oliff, M. D., & Sumichrast, R. T. (1987). Linking Level Requirements in Production Planning and Scheduling. Production and Inventory Management, gg, 123-131. CPLEX Mixed Integer Optimizer (1993). Incline Village, NV: CPLEX Optimization, Inc. Cheng, T. C. E., & Sin, C. C. S. (1990). A State-of-the-Art Review of Parallel-Machine Scheduling Research. European Journal of Operational Research, 31, 271-292. Day, J., & Hottenstein, M. (1970, March). Review of Sequencing Research. Naval Research Logistics Quarterly, 118-146. 150 Dearing, P. M., & Henderson, R. A. (1984). Assigning Looms in a Textile Weaving Operation with Changeover Limitations. Production and Inventory Management, g5, 23-31. Driscoll, W. C., & Emmons, H. (1977). Scheduling Production on One Machine with Changeover Costs. AIIE Transactions, 9(4), 388-395. Dyckhoff, H. (1990). A Typology of Cutting and Packing Problems. European Journal of Operational Research, 53, 145-159. Elmaghraby, S. E., & Park, S. H. (1974). Scheduling Jobs on a Number of Identical Machines. AIIE Transactions, p, 1-13. Frendewey, J. 0., & Sumichrast, R. T. (1988). Scheduling Parallel Processors with Setup Cost and Resource Limitations. Decision Sciences, 12, 138-146. Ferreira, S. J., Neves, A. M., & Fonseca e Castro, P. (1990). A Two-Phase Roll Cutting Problem. European Journal of Operational Research, 33, 185-196. Fisher, M. L. (1981). The Lagrangean Relaxation Method for Solving Integer Programming Problems. Management Science, 21, 1-18. Geoffrion, A. M., & Graves, G., W. (1976). Scheduling Parallel Production Lines with Changeover Costs: Practical Application of a Quadratic Assignment/LP Approach. Operations Research, 23, 595-610. Gilmore, P. C., & Gomory, R. E. (1961). A Linear Programming Approach to the Cutting Stock Problem. Operations Research, 2, 848-859. Gilmore, P. C., & Gomory, R. E. (1963). A Linear Programming Approach to the Cutting Stock Problem, Part II. Operations Research, 1;, 863-888. Gilmore, P. C., & Gomory, R. E. (1965). Multistage Cutting Stock Problems of Two and More Dimensions. Operations Research, 1;, 94-120. Glassey, C. R. (1968). Minimum Changeover Scheduling of Several Products on One Machine. 0 erations Research, 19(2), 342-352. 151 Haessler, R. W. (1975). Controlling Cutting Pattern Changes in One-Dimensional Trim Problems. Operations Research, 2;, 483-493. Haessler, R. W. (1977). Single-Machine Roll Trim Problems and Solution Procedures. Technical Association of the Pulp and Paper Industry (TAPPI), 52, 145-149. Haessler, R. W. (1988). Selection and Design of Heuristic Procedures for Solving Roll Trim Problems. Management Science, 34, 245-257. Hax, A. C., & Meal, H. C. (1975). Hierarchical Integration of Production Planning and Scheduling. In M. Geisler (Ed.), North HollanleIMS, Studies in Management Sciences, Vol. 1, Logistics (53-69). New York: North Holland/American Elsevier. Hsu, W. L. (1983). On the General Feasibility Test of Scheduling Lot Sizes for Several Products on One Machine. Management Science, 2;, 93-105. Johns, E. C. (1966). Heuristic Procedures for Solving the Paper Trim Problem. Chapter 20 in J. F. Pierce (Ed.), Operations Research and the Design of Management Information Systems, TAPPI STAP Series No. 4. Land, A., & Doig A., (1960). An Automatic Method of Solving Discrete Programming Problems. Econometrica, 2g, 497— 520. LaRobardier, L. M., & Filak, R. J., (1972, October). Dynamic Allocation of Manufacturing Inventory and Time. APICS International Conference Proceedings, 254-272. Lockett, A. G., & Muhlemann, A. P., (1972). A Scheduling Problem Involving Sequence Dependent Changeover Times. Operations Research, 29, 895-902. Mellichamp, J. M. & Love, R. M., (1978). Production Switching Heuristics for Aggregate Production Planning Problem. Management Science, 1242-1251. Mitsumori, S., (1972, September). Optimal Production Scheduling of Multicommodity in Flow Line. IEEE Transactions on Systems. Man, and Cybernetics, SMC-2. Nelson, N. S., (1983). MRP and Inventory and Production Control in Process Industries. Production and Inventory Management, Fourth Quarter, 15-22. 152 Noble, P., (1973). Marketing Guide to the Paper and Pulp Industry. Charles H. Kline & Co., Inc. Novitsky, M. P., (1983) Process Industry - Survey Results, Process Industry - Where are You? Production and Inventory Management, First Quarter, 118-120. Oliff, M. D., & Burch, E. E., (1985). Multi-Product Production Scheduling at Owens-Corning Fiberglass. Interfaces, 15, 25-34. Prabhakar, T., (1974). A Production Scheduling Problem with Sequencing Considerations. Management Science, 2;, 34- 42. Pierce, J. F., (1964). Some Large-Scale Production Scheduling Problems in the Paper Industrv. Englewood Cliffs, N.J.: Prentice-Hall, Inc. Rice, J. W., & Norback, J. P., (1987). Process Industries Planning Using Matrix Data Structures. Production and Inventory Management, Second Quarter, 15-23. Rothkopf, M. H., (1966). Scheduling Independent Tasks on Parallel Processors. Management Science, 1;, 437-446. Routledge, T. C., (1988, October). Mill Management’s Role in Millwide Automation. Paper Industry Management Association. Singh, H., & Foster, B. J., (1987, March). Production Scheduling with Sequence Dependent Setup Costs. II Transactions, 43-49. Smith—Daniels, V. L., & Smith-Daniels, D. E., (1986, September). A Mixed Integer Programming Model for Lot Sizing and Sequencing Packaging Lines in the Process Industries. IIE Transactions, 278-285. Smith-Daniels, V. L., (1988, September). A Heuristic Procedure for Scheduling Packaging Lines in the Process Industries. IIE Transactions, 2Q, 295-305. Sweeney, P. E., & Haessler, R. W., (1990). One-Dimensional Cutting Stock Decisions for Rolls with Multiple Quality Grades. European Journal of Operational Research, 43, 224-231. Taylor, S., (1979). Production and Inventory Management in the Process Industries: A State of the Art Survey. Production and Inventory Management, First Quarter, 1- 6. 153 Tucker, A., (1960). On Directed Graphs and Integer Programs. IBM Mathematical Research Project Technical Report, Princeton University. MICHIGAN STATE UN” [WW/11H H!“ H 1] HI 1' MI" l ) .. 4*“ -H. ... .n ~ "'4‘“ ".73 m " '-‘“ . .‘1\"' m‘.|.' I "-x‘." an '-1-.' 1v1:wi’"lv‘ ‘ 1‘1‘1';1:,: ”, x . . (’12, ..yr Iv!“~ . y-I‘vgv '\ H I” bum”, ‘ ." . . ...“ “VINTJ ...! ..1 ‘. . 1’_ . V'- 1 ””1“...qu mI-I ...:'."‘.’."v\ I. ”BUN: _ W w . .‘v'iy v 1 ‘1‘ . ‘n 11' 4 n... v" > ... r”. ,—..~r:' I I .~ .- 15;. -\ r v' ‘ awn-w V '9.wath '1 '13, (‘1; 4.... ru- . r-r », ’ 1 ' . Itu - fl 1 1 r, ,2 .. . I .- ~ ’ v vr'” V 1” .. r r ‘" 1 I I . . - ~!:»‘ E Y I' 1 ' ‘ ‘ ..rhl‘ " ' I rpm. .le ‘ ‘3 I ' 1:. y H r! V 1TH!“ V “- _I,.,!.‘.y . I r v LN 7 .,N-.1 1' x-‘v . m=1.” ‘ ’1‘.' ! , , am¢w¢”‘ . , .u-,.3~~>~ H ”H- , L -.’l T .i'v'w: "‘ w~_r_.:..~r--- -"'" fix. my I “'9 y '\ v',’ 1." AI- “ll 1' ‘I'r ‘ 6?. ~ :‘1'1 ‘ '1‘ ‘1 H ”1.1;" A r.- "1 .- _ ‘ ”53;... “V" Into-~- -'r*r..."'r::T "1:: '1‘." :u . rzn’lZ