Lehigh University Lehigh Preserve Theses and Dissertations 1994 Optimal solution of one dimension cutting stock problem Pei-Chun Lin Lehigh University Follow this and additional works at: http://preserve.lehigh.edu/etd Recommended Citation Lin, Pei-Chun, "Optimal solution of one dimension cutting stock problem" (1994). Theses and Dissertations. Paper 286. This Thesis is brought to you for free and open access by Lehigh Preserve. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of Lehigh Preserve. For more information, please contact [email protected]. AUTHOR: . Lin, Pei-Chun TITLE: Optimal Solution of One Dimension Cutting Stock Problem DATE: May 29,1994 Optimal Solution of One Dimension Cutting Stock Problem by Pei-Chun Lin A Thesis Presented to the Graduate and Research Committee "" of Lehigh University in Candidacy for the Degree of Master of Science In Industrial Engineering Lehigh University 4/26/1992 ACKNOWLEDGEMENTS I would like to express my sincere gratitude and appreciation to my advisor, Associate Professor John W. Adams for his guidance, time and patience. He gave me expert advice and valuable lessons in research methodology and these guidance are sure to stay with me for my life of career. I would also like to thank my best friend, Yi-Hui Ma for her encouragement and great help in my study. III TABLE OF CONTENTS page· CHAPTER ABSTRACT 1 1. INTRODUCTION 2 2. DEFINITION OF PROBLEM 4 3. LITERATURE REVIEW 6 4. SOLUTION OF PROBLEM 13 - Creating the output file for the data of inventory 13 - Generating the random number to represent orders 13 - Setting up the initial matrix 14 - Finding out the pivot row and entering column 14 . - Updating the matrix which shows the shadow prices 14 5. THE KNAPSACK PROBLEM 15 6. SIMULATION 18 7. FURTHER STUDY 20 REFERENCES 21 APPENDIX A. Program of simulation 22 APPENDIX B. Result of simulation for 500 periods 35 APPENDIX C. Result of simulation for 1000 periods 54 VITA 73 IV ABSTRACT The proposed research considers the problem of minimizing waste in a paper cutting operation. The operation begins with that some parent rolls of indicated widths are to be cut to fill orders for rolls of specified widths. The objective of the study is to find out the way to carry out the required cutting operation and will produce the smallest amount of waste by exploiting linear programmIng. Because in the real paper cutting problem, the number of columns in the linear programming will be very large, this problem was solved by observing that the 'pricing out' operation for the paper cutting problem was equivalent to a knapsack problem. Therefore, the entering column is found by solving a knapsack problem. A C program has been written to solve the entire problem using the ideas of linear programming combined with the knapsack solution. Some simulation result are presented at the end of this study. 1 Chapter 1 INTRODUCTION The use of operations research methods to solve problems in material cutting has been an active topic of research for many years and has been applied in a number of manufacturing areas. This paper focuses on the problem of minimizing waste in a paper cutting operation that begins with different orders of rolls of specified widths.. Those rolls are to be cut from parent rolls of particularized widths and the waste occurs when the unusable widths are left over. This study solves the problem using methods reported by Gilmore and Gomory[l] in 1961. When the variety of orders is big, there will be many different ways of cutting the parent rolls to supply the need. Gilmore and Gomory use linear programming and the number of columns in the tableau will be very large -- in some cases up to millions of columns. Gilmore and Gomory solved this problem by using the recursive method of solving a knapsack problem because they found out that the 'pricing out' operation for the paper cutting problem was equivalent to a knapsack problem. By solving a knapsack problem we can identify an entering column. This study solves the knapsack problem using a method that was described by Garfinkel and Nemhauser[2]. 2 In this paper, a C program was written for working out the entire problem by using the ideas of Gilmore and Gomory combined with the solution of knapsack problems reported b\~arfinkel and Nemhauser. This C program can be used to simulate the paper c~tting problem. Orders are random, but the widths of parent rolls are specified. Some parent rolls may be more efficient than others. It is difficult to find out an analytic solution to the problem of finding the optimal widths of parent rolls. However, it may be possible to get useful information by way of simulation. In the long run, the inventory generated by consecutive simulation can be treated as time series.. By using the ARIMA models describes by Box and Jenkins [3], we can forecast the amount offuture inventory. Chapter 6 of this thesis contains some simulation results. The idea of solving the cutting problem were not only used in the paper industry but also in many other industries[4] . Sweeney and Paternoster[5] have compiled a bibliography that contains more than 400 books, articles, dissertations, and working papers. Some of these references are about paper cutting, and many of them are about other material -- steel, glass, wood, plastic, and many others. In chapter 3 of this thesis we will review a few of these papers. The following sections represent the definition of paper cutting problem, 3 the literature review, the solution of problem, the description of a knapsack problem and how did the knapsack problem relate to the original problem that we'd like to solve, and the results of simulation. 4 Chapter 2 DEFINITION OF PROBLEM' Notation: (1) Let R=(r 1 , r 2, r 3, , r k), r i is the width of the i-th roll in order. (2) Let N=(n b n 2, n 3, that , nk), llj is the number of rolls of the i-th width Wi is the width of the i-th parent roll from have been ordered. (3) Let W=(w b w2, w 3, ... , WI), which be the orders are to be cut. (4) Let S=(Sb S2' S3' .. , , Sk), Si (5) Let X=(x1, X 2, X 3, .,. , ~), Xj is either 1 or O. is the number of times the activity i is to engaged in. In the case of the basic single-machine paper cutting problem, all parent rolls have the same length, and all of the ordered rolls also have the same length as parent rolls. Since those widths demanded are smaller or equal to the widths of parent rolls (Wi ~ r j for all i, j), the cutting problem begins with finding combinations of the ordered widths, and with which to fill out the widths of parent rolls. Usually, there will be some trim loss left over from such combinations. The paper cutting problem is to find out the trimming combinations of ordered widths and to determine that the number of which parent rolls are to be cut according to each combination -- in order to satisfy the orders most efficiently[5]. 5 The vector S is called a slitting pattern because it tells us how to cut a parent roll into rolls of narrower widths. If Sj is one, a roll of width .rj will be cut from a parent rolls. This imposes the following constraint, applying to a parent roll of width w. slr l + s Zr 2 + S3r 3 + "... + Skrk ~ w In practical cases there are a very large number of possible slitting patterns, but only a few of them will actually be used in a given case. For an offered set of orders, say (R,N), and an unlimited supply of parent rolls of widths W, there will be a set of feasible slitting patterns. To find out a feasible e slitting pattern is equivalent to create an activity, which means the cutting of a parent roll in a specified manner. Hence, the cutting paper problem can be posed as an integer linear programming problem. Those variables , ~ Xb Xz, ... must satisfy k inequalities: ~IXI + ~zX2 + ... + ~n~ ~~, (i=1. ..... k) If an order for I\ pieces of width r j is to be filled, where ~j is the number of pieces of length rj created by the j-th activity[1] . Moreover, vector X are supposed to minimize the cost function: LCjJS for i=1. ..l, j=1. ..n where <; is the cost of the parent roll from which activity j is cut. 6 ': Chapter 3 LITERATURE REVIEW In 1961, Gilmore and Gomory proposed the linear programrrung approach, which solves the one-dimensional cutting problem that materials are manufactured to be cut to various customer widths so as to meet customer demands and also niinimize waste was the first to present methods which could be practically applied to real-world problem[l]. Since then, the cutting problems have been extended from original one-dimensional problem to twodimensional, three-dimensional problems. Because the problems were extended, those related techniques which were used to solve the cutting problem by all means increased vastly. Therefore, the research of cutting problem became diverse and complicated, and a large number of articles were published on these problems. In this paper, we narrow down the cutting problem to be only one-dimension and broadly follow the techniques which were proposed by Gilmore more Gomory. Hence, we categorize the review of literature to three parts: (1) introduce the important bibliography of the cutting problem, (2) recite how was the idea oflinear programming adapted to the cutting problem by Gilmore and Gomory, and (3) compare the ways of rounding due to the restriction to integers. 7 } 1. Sweeney and Paternoster[6] published a categorized, applicationorientated research bibl~ography for cutting and packing problems. In this paper, the author listed more than 400 books, articles, dissertations and working papers which all talked about the subject -- cutting and packing problems. First of all, the author introduced fifteen references to those readers who are not familiar with the cutting and packing problems to give them a basic idea. Then, the author generated a 3x3 matrix which was formed by solution approach and problem dimension. According to the solution methodologies employed, there are three categories: • sequential assignment heuristic • single-pattern generating procedures, and • multiple-pattern generating procedures. For the other categorization, problems were divided into one-dimensional, twodimensional, or three-dimensional problems. So as to be more convenient to those who are interested in various special topics on cutting and packing problem, the paper also listed detail citations. The main part of the bibliography is arranged chronologically by year and alphabetically by author within each year. At the end of this paper, there are two supplementary lists. One contains dissertations and theses, and the other provides recent (1986 to 1990) proceedings, presentations, and working papers. In summary, the paper 8 provides a good and very detail literature review on the cutting and packing problems. 2. Gilmore and Gomory published two papers of the same topic -- A linear programming approach to the cutting-stock problem. In part one, they use dYnamic programming to solve the cutting problems, and in part two, they use knapsack method instead. In this study, we broadly follow their techniques to solve the cutting problem. We will recite these two method next. Following the definition of problem in chapter 2, we know the linear programming problem which we'd like to solve is to find out Xl' X 2, ... , ~ to satisfy k inequalities: ." .. CljIX I + Clj2X 2 + ... + 3jnXn ;::: llj, (i=1. ..k) and also minimize 2:<;4 for i=1...1, j=1...n where the notation is identical to chapter 2. For integer problems, it is required that all 4 be integers, but this constraint is dropped here. variables ~+l , ... , ~+m s.t. Next, Gilmore and Gomory introduced slack satisfying: CljIX I + ~~2 + .. , + 9 3jn~ - ~+i = llj, (i=1...m) (2) 4 ~ 0, (3) By using the simplex computational procedure, a given solution subject to (2) and (3) for which (1) is a minimum provides that any basic solution of equation (2) and (3) must make the value of (1) less than the given solution. In order to express the algorithm of solution, more notations are listed as follow. Notation: • Let X=(x ll xz, ••• , ~) is a given basic feasible solution. • Let Pj=(a Ij , aZj, ..., am) is the number of pieces of length r l , r z, created rm by the j-th activity. • Let P=(a l , a z, a stock •.. , ••• , am) is an undetermined new activity that cuts from length L having a cost c. • Let A be the matrix with Ph ... , Pm as columns. • Let C=[c l , cz, ••• , cm] is a vector with cost coefficient. Because PI' ..., Pm form a basis, there is the usual column vector U satisfying the equation: AU=P U =AIp If and only if CU> c then the new activity will be an improvement over the given solution 10 CA-Ip> c Let CA- I have coefficients b l, bz, •.. , bm. If and only if there exist nonnegative integer a h am satisfying ... , (4) and (5) then the activity cutting from L can be profitable. One method of determining whether there exists positive integers a h a z, .•• , am to satisfY equations (4) and (5) would be to determine integers -which satisfy equation (4) and make bla l + ... + bm~ be a maximum. If the maximum won't satisfY (5) then none would. Therefore, the problem becomes: max bla l + bza 2 + ... + bmam s.t. L ;: : rIal + r 2a Z + ... + rm~ Using dynamic programming method which is similar to that described by Danzig[8], the problem can be defined as max Fm(L) = bla l + b za 2 + ... + s.t. bm~ L;:::: rIal + r 2a Z + ... + rm~ then Fm+I(L) = max{nbm+l + FmeL - nrm+l)} where n is chosen such that o~ n ~ [ L / r m +l ] 11 square bracket denotes the largest integer part. Fm+1(L) is the value of the most valuable combination that can be fitted into a knapsack of length L if only the first m+ 1 lengths can be used. In the later paper published by Gilmore and Gomory, they described a faster knapsack method and changed the algorithm. First of all, the stock length L was replaced by Lj. That means it is necessary to solve a series of knapsack problem like max M = s.t. L Lbj~ ~ Lrj~ for i=1...m for i=1. ..m In chapter 5 of this paper, the knapsack algorithm will be described in detail. 3. Up to now, the linear programming is discussed for solving the paper-cutting problem. However, in a real paper-cutting problem, it is not permitted to have noninteger solution. Subject to this constraint, we can always round up or round down to the nearest integer but the results will be totally different. First, the amount of order must be filled. If we use the way of rounding down, then the insufficient part become another problem to be solved. In the other hand, rounding up creates extra rolls than it is ordered and those will be treated as inventory. Besides, there are some heuristic procedures to solve the pure-integer linear programming problem. In Sweeney and Paternoster's paper[6], they chose rounding as a special topic and listed 12 those papers related to it. In 1966, Hillier[7] wrote a paper about the algorithm for pure integer linear programming. Initially, the optimal noninteger solution by the simplex method is required. Then considering the solutions (integer or noninteger) that satisfy both the objective function constraints and the constraints that are binding on the optimal noninteger solution. Hillier's algorithm should get a set of closer integer solution than totally rounding up which is used in the solution of problem in this study. Since the following part that we'd like to study focuses on the distribution of inventory, it is not the most important thing for this study whether we can find a best way to get the integer solution or not. 13 Chapter 4 SOLUTION OF PROBLEM The solution of the problem which was described in chapter 2 is what we would like to focus on for this study. The algorithm of solution is also the main frame of the C program which is used to do the work of simulation. Next, we will go through the whole algorithm to make the C program be easily understood and finally the C program will be attached to the appendix of this study. Creating the output file for the data of inventory At the very beginning of this program, a few output file were created to store the numerical data of inventory. The reason to do this is we got rid of the limitation that the solution must be integer during the procedure of solving this problem. Therefore, those noninteger solution must be round up to fill every order and meanwhile, some extra rolls were generated. They are treated as inventory and would be spent when the next order comes in. So as to analyze the dependence of the data by exploiting the software named Statgraphic, those output file will save the data we need. Generating the random number to represent order It was mentioned before that the number of order for each different size is random. A subroutine was called when simulation was started to generate 14 the number of order from customers. Setting up the initial matrix _. There are two matrices which would be updated in the process of calculating to show what we would like to know in each step of calculation. Initially, we have to set up these two matrices by input the number of parent rolls, the parent widths, and the costs of parent rolls, etc. Finding out the pivot row and entering column Every time this subroutine was called, the most recently updated shadow prices were known. After implementing the knapsack algorithm which will be recited in chapter 5, the subroutine will do calculation to update those two matrices and make judgement to know which column is the entering column and find out the pivot row. Updating the matrix which shows the shadow prices When leaving the previous subroutine, immediately we would like to know whether the optimal solution is found or not. If not, the subroutine was called to update the matrix which shows the shadow prices except the pivot row, then go to the previous subroutine again. If it is really done, then go to the final subroutine and print out the result we need. 15 Chapter 5 THE KNAPSACK PROBLEM A well known example of a knapsack problem is the cargo problem that is to maximize the total value of cargos which are going to be taken subject to the limitation of weight or space. Let 3..i > 0 be the weight per unit and cj > 0 be the value per unit ofthej-th type. If the total limitation of weight or space is b, then the problem is max LCpS for j=1...n s.t. L3..i~ 4 where ~ ~ ::; b for j=1...n 0 integer j=1...n is the number of the j-th type included[?]. The following part is the algorithm which Garfinkel and Nemhauser developed to solve the knapsack problem and is the method used in this paper whenever we want to look for a new colunm or activity that will improve the solution. The first step of calculation is to reorder the variables aI' a 2 , ••. , C\n (represented the ratio of shadow price divided by demanded length) so that b/r l ~ b/r2 ~ .•• ~ bjrm , and reorder the stock lengths so that Ll > L2 > ... > Lk , 16 such that the array of parent widths became a decreasing array. Introduce a variable 3m+1 with coefficient bm+1 = 0 and r m+1 = 1. Let the bracket denotes the largest integer part again. Here, (a)s represents a svector of nonnegative integers ai, a 2, ... , as, where 1 ::; s ::; m. A vector (a)m is an extension of a vector (a)s, s ::; m, if the first s coefficients of (a)m are just the coefficients of (a)s' In the algorithm, a sequence of vectors (a\, for various values of s, satisfying IS generated in lexicographically descending order, where (al)sl is lexicographically larger than (a2)s2 if and only if for some i, 1 ::; i ::; min{sl' S2}, and ~ while I ~+l Let t = I =1 ~ > 2 2 a;+1 and Mj = cj , j = 1...k. The vector (a)m is then tested to determine whether for it Ibi~ for i = 1...m exceeds the current best values Mj 17 for applicable j, and if so these current best values are redefined. (1) For those j, t for i ~j ~ k, for which Lj ~ Lri~ for i = 1...m and Lbi~ > Mj = 1...m, redefine ~ to be Lbi~ for i = 1...m. (2) Let s be the largest i, 1 ~ i ~ m, such that ~ "* O. Thus (a)s has among its coefficients all the nonzero coefficients of (a)m and its last coefficient is nonzero. The lexicographically largest m-vector lexicographically smaller than (a)m necessarily has its s-th coefficient one less than ~; that is, it is an extension_of a vector (a\, which differs from (a)s only in having a s-1 as its s-th coefficient. (3) Redefine as to be as-1 and let t be the smallestj, 1 ~j Lj ;::: Lri~ for i = 1...s and (Lj - Lri~)bs+l > (Mj - Lbi~)rs+l' ~ s-1, such that ~ k, such that and go to step (5). If there is no such j then go to step (4), (4) Redefine s to be the largest i, 1 ~ i (3). ~ "* 0, and go to If there is no such i, then the current values of Mj , j = 1. ..k are the maximums to be found. (5) Let ~+1 = [(L t - Lri~) / r s + 1] 18 and go to step (1) [9] . 19 Chapter 6 SIMULATION It was mentioned in chapter 4 that a senes of data represented inventory would be generated after running the C program. Initially, we tried to figure out whether there is any relationship between the distribution of inventory and the probability distribution which was used to generate the random number for different orders. Since the extra rolls cut by each period are treated as inventory and always spent in the coming period, it seems that the data represented inventory are not independent. Hence, the data could not be fitted into any identical probability distribution. However, when data are dependent, they can be treated as time series if the periods are long enough. Therefore, we simulated at least five hundred times , sometimes up to three thousand times, and analyzed the data by the method proposed by Box and Jenkins [3]. By implementing this method, some models are derived and they can depict the nature of the system generating the time series. Besides, these models can be used for obtaining forecasts of future values of the series. In this study, we would like to know what is the attribute of the system which illustrated inventory. For instance, if the system can be represented by the model so called autoregressive model, that means the current value of the process is expressed as a finite, linear aggregate of previous values of the process. Intuitively, for our inventory system, it has the similar characteristic. The more we want to know is the next stock may be impacted 20 by the previous one, two, or three periods. The information is pretty practical for the realistic inventory control in factory. Moreover, the model can help us to predict the future inventory which also provide useful data. To illustrate the procedures described in chapter 4 and 5, consider the following case. There are three different parent widths, 72, 78, and 84 and each individual cost is 72.0, 78.0, and 84.0. Six kinds of widths are ordered-5, 7, 11, 16, 23, and 25. The mapping number of rolls are generated by the binomial probability distribution with parameters 100, 0.16. Initially, all stocks are zero. In appendix B, the results of simulation for running 500 periods are presented in the sequence of widths -- 5, 7, 11, 16,23, and 25. And in appendix C, it runs 1000 periods. For each individual width, first figure tells the amount of inventory versus time; next figure displays the forecast of the future inventory of 20 periods with 95 percent limits; and the final figure arranges the horizontal axis to amplify the shift of future inventory and ,,- makes the data clearer to read. . 21 Chapter 7 FURTHER STUDY For a lot of industries, how to reduce the cost of raw materials is an important issue. In many assembly and manufacturing factories, to buy raw materials then do some processes on the raw materials are major operations. Ifraw materials could be cut in the method which minimizes the loss, then at the same time the cost would be saved. For instance, in a window assembly factory, the raw materials need to be cut in one dimension would be like frame and sash; in two dimensions might be glass and screen, etc. It is clear to see for those assembly industries that the cost ofraw materials occupies a primary promotion of total manufacturing cost. Therefore, to make the cutting of raw materials most economic is an efficient way to cut down the cost. Since the algorithm of optimizing the cutting operations for one dimension may not be appropriate for two dimensions, the two dimensions' or even three dimensions' cutting procedure is not only a useful but also a practical field which is worth studying much more. Besides the cost of raw materials, inventory control is also a momentous topic in industries. After doing the work of simulation which is proposed in this study, it is accessible to predict a few periods of future inventory. As we know, there exists a lot of obedient algorithm for inventory control. It must be interesting if these information can be combined together to pursue better 22 inventory control. 23 REFERENCES 1 P. C. Gilmore and R. E. Gomory 1961. A Linear Programming Approach to the Cutting Stock Problem. Opns Res.(9):849-859. 2 Robert S. Garfinkel and George L. Nemhauser 1972. Integer Programming, p. 214. John Wiley & Sons, New York. 3 George E. P. Box and Gwilym M. Jenkins 1982. Time Series Analysis: forecast-ing and control, Holden-Day. 4 Hartmut Stadtler 1990. A one-dimensional cutting stock problem in the aluminum industry and its solution. European Journal of Operational Research(44):209-223. 5 J. F. Pierce 1964. Some Large Scale Production Scheduling Problems in the Paper Industry, p. 13. Prentice Hall, Englewood Cliffs, N.J. 6 Paul E. Sweeney and Elizabeth Ridenour Paternoster 1992. Cutting and Pack-ing Problems: A Categorized Application-Orientated Research Bibliography. Opl Res. Soc.(43):691-706. 7 Frederick S. Hillier 1966. Efficient Heuristic Procedures for Integer Linear Programming with an Interior. Opns. Res.(14):600-637. 8 George B. Dantzig 1957. Discrete-Variable Extremum Problems. Opns. Res.(5):266-277. 9 P. C. Gilmore and R. E. Gomory 1963. A Linear Programming Approach to the cutting Stock Problem-part 2. Opns Res.(9):849-859. 24 APPENDIX A PROGRAM OF SIMULATION 25 /******************************************************************/ /* TRIMLOSS */ /* npw is the number of parent widths */ /* pw[npw] is an integer array containing a list of parent widths */ /* pc[npw] is a real array containing the costs of the parent rolls */ /* mpw is the maximum parent width */ /* cpw is the number of different widths in order */ /* nwo is the number of different widths in order */ /* lw[nwo] is an integer array containing a list of widths ordered */ /* nr[nwo] is an integer array containing the number of rolls ordered */ /******************************************************************/ #include <time.h> #include <math.h> #include <stdio.h> #include <stdlib.h> #define nwo 6 #define npw 3 #define mpw 84 int d[mpw+1], x[nwo], ip[nwo], u[nwo], z[nwo], cpw, pr=O; int i, j, index, count; int b[nwo+1] [nwo], newh[nwo]; float sp[nwo], g[mpw+1], y[nwo], v[nwo], q[nwo], t[nwo+1], p[nwo+1]; float h[nwo+ 1] [nwo+3] ; int pw[npw] = {72, 78, 84}; int lw[nwo] = {5,7,11,16,23,25}, nr[nwo], exact[nwo], inior[nwo]; int MM[nwo] = {o,o,o,o,o,o}, stock[nwo] = {o,o,o,o,o,o}; float pc[npw] = {72.0, 78.0, 84.0}; int done=1; int in=O', float w, cost=O.O; FILE *outptrO, *outptr1, *outptr2, *outptr3, *outptr4, *outptr5; void printO; void ranO; void startO; void findpO; void rowreduceO; void knapsackO; void sortO; void sortiO; 26 /***************************/ /* This is the main program */ /***************************/ Void mainO { if« outptrO = fopen(lsto5.wkl", "w+"» == NULL) { printf("Unable to open output file"); exit(l); } if« outptrl = fopen(l sto7.wkl", "w+"» == NULL) { printf("Unable to open output file"); exit(l); } " if« outptr2 = fopen(lstol1.wkl", "W +"» == NULL) { printf("Unable to open output file"); exit(l); } if« outptr3 = fopen(l sto16.wkl", "w+"» == NULL) { printf("Unable to open output file"); exit(l); } if« outptr4 = fopen(lsto23.wkl", "w+"» == NULL) { printf("Unable to open output file "); exit(l); } if« outptr5 = fopen(l sto25.wkl", "w+"» == NULL) { printf("Unable to open output file"); exit(l); } randomizeO; for(count=O; count<500; count++) { ranO; done=O·, startO; 27 FINDP: findpO; in=in+l·, if(!done) { rowreduceO; goto FINDP; } printO; } } /* end of main */ /*****************************************/ /* This subroutine is to print out the result */ /*****************************************/ void printO { for(i=O; i<nwo+l; i++) {{ for(j=O;, j<nwo+3; j++) printf(" %6.2£1', h[i] [j] );} printf(" \n");} for(i=O; i<nwo+l; i++) {{ for(j=O; j<nwo; j++) printf(" %5d", b[i] [j]);} printf(" \n");} printf("\nThe round-up result is: "); for(i=l; i<nwo+l; i++) { newh[i-l] = ceil(h[i][nwo+l]); printf(" %5d", newh[i-l]); } printfC ' \nThe cost of integer solution is: "); cost=O.O; for(index=O; index<nwo; index++) cost = cost + pc[(b[O] [index])] * newh[index]; printf(" %0.1£\ nil,cost); for(i=O; i<nwo; i++) { 28 exact[i] = 0; for(j=O; j<nwo; j++) exact[i] = exact[i] + newh[j] * b[i+l][j]; } for(i=O; i<nwo; i++) { if( MM[i] != 0 ) stock[i] = exact[i] - MM[i]; else stock[i] = stock[i] - inior[i] + exact[i]; printf("\nExact[%2d] = %2d NewStock[%2dl=%d" , lw[i], exact[i], lw[i], stock[i]); if(i==O) fprintftoutputO, if(i==l) fprintftoutputl, if(i==2) fprintftoutput2, f(i==3) fprintftoutput3, f(i==4) fprintftoutput4, f(i==5) fprintftoutput5, "%2d \n", stock[i]); "%2d \n", stock[i]); "%2d \n", stock[i]); "%2d \n", stock[i]); "%2d \n", stock[i]); "%2d \ nil , stock[il); if(count==499) { fclose(outputO); fclose(outputl); fclose(output2); fclose(output3); fclose(output4); fclose(output5); } printf(" \n"); } /* end of subroutine print */ /***************************************************/ /* This subroutine is to get random number for order */ /***************************************************/ 29 void ranO { int i, j, k, x; double R[nwo]; signed long double nom, denl, den2; long double Prob, tl, t3, sum; /* the factorial of 100 */ nom=l', for(i=lOO; i>0; i--) nom=nom*i', prinf(" \ n------------------------------------------------------------ \ nil); for(i=O; i<6; i++) { sum=O.O; R[i] = random(lOOO)/lOOO.O; tl = pow(0.16, 0) * pow(0.84, 100) - R[i]; if(fabs(tl) <= 0.001) { nr[i] = 0; inior[i] = 0; MM[i] = 0; } else { sum = pow(0.16, 0) * pow(0.84, 100); for(x=l; x<lOO; x++) { denl=l', for(j=x; j>O; j--) denl = denl * j; den2=1; for(k=lOO-x; k>O; k--) den2 = den2 * k , - -- Prob =nom/(denl*den2) * pow(0.16,x) * pow(0.84,100-x); sum = sum + Prob; t3 = sum - R[i]; 30 if( fabs(t3)<0.08 ) { nr[i] = x; inior[i] = x; if( inior[i] > stock[i] ) MM[i] = inior[i] - stock[i]; else MM[i] = 0; nr[i] = MM[i]; goto PRINT; } }} PRINT: printf("0rder[%2d]=%2d) MustMake[%2d]=%d ,lw[i], inior[i], lw[i], MM[i]); printf(" \n"); } }/* end of subroutine random */ /************************************************/ /* This subroutine is to generate the initial matrix */ /************************************************/ void startO { int i, j; float s; for(i=O; i<nwo+1; i++) p[i] = 0.0; for(i=O; i<nwo+1; i++) for(j=O; j<nwo; j++) { if(i-j==1) b[i] [j] = 1; else b[i] [j] = 0; [or(j=O;j<nwo; j++) .. b[O] [j] = npw; for(i=O; i<nwo+ 1; i++) for(j=O; j<nwo+3; j++) 31 II { if(i-j==O) h[i]m = 1.0; else h[i] m = 0.0; for(j=1; j<nwo+1; j++) h[O] [j] = pc[npw-1]; t[O] = 0.0; for(i=1; i<nwo+1; i++) t[i] = nr[i-1]; for(i=O; i<nwo+1; j++) { s=O.O; for(j=O; j<nwo+1; j++) s=s+t[j] *h[i] h [i] [nwo+1] =s; m; } } /* end of subroutine start */ /***********************************************/ /* This subroutine is to find out the pivot column */ /***********************************************/ void findpO /* The next two instructions get the most recently updated shadow prices */ { int i, j, ffi, ip[nwo]; float s; for(j=1; j<nwo+1; j++) spU-I] = h[O] for(i=npw-I; i>=O; i--) m; { knapsack(pw[i] ); if( w > pc[i] ) { s=abs(p [0] +pc[i]); for(j=O; j<nwo; j++) s=s+abs(pU+ I]-x[j]); if(s>O.I) goto RN; 32 } CONT: RN: done=l; return; m=l; /* The next three instructions find the entering column which is p */ for(i=l; i<nwo+1; i++) p[i] = x[i-1]; p[O] = -pc[m]; /* The next five instructions compute the product of BINV and p and put it in the last column of the matrix h */ for(i=O; i<nwo+1; i++) { s=O.O; for(j=O; j<nwo+1; j++) s=s+p [j] *h[i] h[i] [nwo+2]=s; m; } /* The next eight instructions find the pivot row which is pr */ for(i=O; i<nwo; i++) { ip[i]=i; if( h[i+1][nwo+1] >= 0.000001 ) q[i] = h[i+1][nwo+1] / h[i+1][nwo+2]; else q[i] = 10.0e10; sort(nwo,q,ip); pr = ip[O]+l; /* The next three instructions uodate matrix B */ for(i=l; i<nwo+1; i++) { b[i] [pr-1] = x[i-1]; b[0][pr-1] = m; } 33 } /* end of subroutine findp */ /**********************************/ /* This subroutine is for rowreduce */ /**********************************/ void rowreduceO { int i, j; for(j=O; j<nwo+3; j++) h[pr] [j] = h[pr] [j] / h[pr] [nwo+2]; for(i=O; i<nwo+l; i++) { if( i!=pr ) { for(j=O; j<nwo+3; j++) h[i] [j] = h[i] [j] - h[pr] [j] } } /* end of subroutine rowreduce */ /*******************************************/ /* This subroutine is using knapsack method */ /*******************************************/ void knapsack(cpw) { int i, j, k; for(i=O; i<=cpw; i++) { g[i]=O.O; d[i]=nwo; } for(i=O; i<nwo; i++) { z[i]=O; ip[i]=i; if( sp[i] ==0.0 ) y[i]=lO.OelO; else 34 * h[i][nwo+2]; y[i] =lw [i] / sp[i]; } sort(nwo,y,ip); for(i=O; knwo; i++) { u[i] = lw[ip[i]]; v[i] = sp[ip[i]]; } j=O; k=l', KU: if( k-u[j] >= 0 && j<= d[k-uU]] ) goto GlVE_W; else goto CPW; GlVE_W: w=g[k-u[j]] + v[j]; if(w<=g[k]) goto CPW; else { g[k]=w; d[k]=j; } CPW: if(j<nwo-1) { j=j+1; goto KU; } K_CPW: if(k<cpw) { j=O; k=k+1', goto KU; } w=g[cpw]; 35 if(g[k] == 0.0) { for(i=O; i<nwo; i++) ip[i] = i; sorti(nwo,u,ip); for(i=O; i<nwo; i++) x[i] = z[ip[i]]; else { z[d[k]] = z[d[k]] + 1; k = k - u[d[k]]; goto G_K; } } /* end of subroutine knapsack */ /********************************/ /* This is the subroutine for float */ /********************************/ void sort(nwot,yt,ipt) int ipt[nwo]; ~ float yt[nwo]; { int i, tempi, flag; float temp; do { flag=O; for(i=O; i<nwo-1; i++) if(yt[i] > yt[i+1]) { temp=yt[i] ; tempi=ipt[i] ; yt[i]=yt[i+1]; ipt[i] =ipt[i+1] ; yt[i+1]=temp; ipt[i+1] =tempi; flag=1; } 36 } while(flag); } /**********************************/ /* This is the subroutine for integer */ /**********************************/ void sorti(nwot,yt,ipt) int ipt[nwo]; int yt[nwo]; { int i, temp, tempi, flag; do { flag=O; for(i=O; i<nwot-1; i++) if(yt[i] > yt[i+1]) { temp=yt[i] ; tempi=ipt[i] ; yt[i] =yt[i+1]; ipt[i] =ipt[i+1]; yt[i+1]=temp; ipt[i+1] =tempi; flag=1; } } while(flag); } 37 APPENDIX B RESULT OF SIMULATION FOR 500 PERIODS 38 Vertical Time Plot 213 16 ... ....... 12 I .;I I I ~ lD J . LD II I 0 l(/) L i I I· 8 IIIi~ roo II j ~ I I II .. I ~ I I l I 4 13 I I i I 13 lee 21313 31313 Time . 39 41313 51313 Plot or Forecast Function with 95 Percent Limits 2e 15 o cazo o le D DO 0 CD 00 C:O 00 o 0 0 ·0·· . ····0· .-l III :> D o a l(/) 5 o III c I e I 0 o c DODD 0 cc c cc ~c [ 00 III :0 0 ceo r L -5 a C ........... ····0· o 0: IJl J;l C DOD Ii III ,0'" D ~ CD ",000-0(] • .().•.• o ce 00:0 OIlJOCOlDmO ttl I:D o a:DCEllDOCll aD C CI 0 0000 0 a IIJO:OC 0 a:J '0 0 ···[D-O· -0 '0'··0- [ CD om DJI%] D m 0 CD 0 tD CII:lDJ 0 aDO Dalao coom DO 00 : 0 C 0 C 0 0 aDO 0 ODJ coo·· comaDo 000 DODO 0:0000 amo 0111 DC oem DC:C0 a:aD1El ·CO-CDO'D··O· ··OID··.() "CD·CII··-C] ···0··11] .. 0 ··mm·tICJ ····0··· ·······D··DD·[JJ·m·o·· I e lee 2ee 3ee time index 40 4ee 5ee see Plot of Forecast Function with 95 Percent Limits I 20 c 15 c c c c c .. 10 - .-t l III ; . :> IJ) o I- c c 00 ?~G&GG&GG&~GGGG&GGC 5 • c 1I l c c c c o c c c c c c c c c c • ~ I -5 -- - - ------ '1 I . , I j -------- _. 520 470 time index 41 o Vertical Time Plot 15 12 9 .-i 1III . :> ['- 0 ~ (I) t I 6 I 3 e ~ l ! I e 2ee 3ee Time 42 I 4ee Plot or Forecast Function with 95 Percent Limits IS "'0 ......• : 13 00 o CD [IJ DC :COaJOCDO: 0 CDC ri C an mo I] 0 D Ca:cr:::J;Ja:JD o : lID aD 0). a :DaD lIlooae C ODal DC 00 CDC ····.QO-Q-··-a ·······0-=0·0··-0 C '" 0 co • OD 0 ~ 0 C o : ODD CD 7 [[D CO C ·········00 ···Q··OoQ.Q·· . . . . ~: ····0···1]·1] ..... O .. CO'" I] 0 amo I] 00 I] OJ 0 DO 0 0 I] I] . m :0:11 co: 00 c C III CD~ OeD O<D 0 OlD. ··Q··GlIr!-·DQ:l D ··~·oo·· I] I] .<J).-m,," 4 1 DODD D ...... "'ID:-O 0 C CJ I:Il _0 III CD ···aJD···· DO aoo D ID 0 CD: DC 0: CO 0 1]: CQ:aJOD '0'. ····Q]··m·o··Q·QJWm·DD·DOD ··D··O'··,································ '--1 -2 e lee 2ee 3ee time index 43 4ee 5ee see Plot of Forecast Function with 95 Percent Limits 16 13 10 .-l l.. III . :> t- 7 O c c f- (I') 4 c 1 ··0·· l -2 l- I 520 470 time index 44 Vertical Time Plot 12 H" 8 .-l L III ::> . .-l .-l 6 .... ··11 0 f- 1 (J) I 4 2 e e lee 2ee 3ee Time 45 4ee 5ee Plot of Forecast Function with 9S Percent Limits 13 1e DC 7 .. ~. CD·· ... (JJ co C -0. . . . . '-0' "·0·· cae .-l .-l alOD o an cc ·········-mO·Q ···0 ... ··0···-0·· txlamo 0 0 o:om OlD 0 0:0 00 IXDO 0 ... ···{)·m,D··mO··C-III,: -eD·-(l·o-o 0 Il;Ill m lD 0 DCDO 0 alP aJ[JJ 0 .: a:cm o-a ··0·0···.·· 00 0 00 CDC I- - (I) 4 -0·0··00 ·1)···Q·mIDD -OD·-o···[IJ·Q·· m·D··Q·D··iI)Q aD ·0" ··0"'0'0- om OOlDa: o 1 0 ma CI:l tDDDtIIDDII CD oc.m ac 1D0l::IIDCJa:: lIIeD ;e e e e lIla Domo: QI:IDIlIl::D:lI:IIOCDOOaJmc c ··[D··QOaDDCJm,DCJD··DDO-=tJ.:J ····ID:l,DIlQ;H:ZlaII··Q)··OtD·-m ee tIl e ee ··ao-.-· tII: 0 0 c·o 11I0 DC: Dcm az::::D alO DC ·[D~oan'O«ID·m· . <JlIlllDl 0 0 0 j . OQ:l[D -2 e lee 2ee 3ee time index 46 4ee see see Plot of Forecast Function with 95 Percent Limits 13 18 ..; 7 '-0··0·· l- In J ..; ..; 0 flfl 4 o 1 .. 0 ··0··0· -2 r- 528 478 time index 47 ( Vertical Time Plot 8 , , ............................. . 'l ~ i 6 f- .. , , .•................... , ., .-l Ql :> (l) 1 , j .111J II I j 1- 4 .. ·'1' .. r" .-l o ן- T I m I ~ l.., I I J ~ :I ~ I ~ I 2 :l , , ., . B B lBB 2BB 3BB Time 48 4BB SBB Plot o~ Forecast Function with 95 Percent Limits 9 7 o ..; l.. 5 .." ··.()·o ····0· ··········0 III :> om (D 0 IIIJ 00 aJDaItD 0 It 0000 c~cmoo 00 c~ ..; o lll) 3 f ~ - t 1 -1 L lXDI "1::lI!EO -fD:]ll:Ic:a:otI:J:ll:lZ:lll(m. -DO o· -(0,0 ·0· .~ ..a=[D c:.DtDtD:IO c·· OOJ·· -a..[D Im-' -cD -Da:m'.a:D 1IlO· 0 -m·m .aJ:IXD. l~ D:mlDODDI:D CO_m:lOOa:J 0 QDOJJ ED lD aJ~ mo: DCa::: 0000 oo:mc IDJO DDI:II.c r I e lee 2ee 3ee time index 49 4ee see see Plot or Forecast Function with 95 Percent Limit5 9 .-l 7 ..- 5 .- s.. . lD :> Ul .-l 0 I(f) 3 o 0 · I ·1 j 1 o j 0 ------- -1 -1 I 470 528 time index 50 Vertical Time Plot 6 5 4 I ~ L. III . ) l') 1 f I I I 3 r T. t N 0 I- (f) 2 1 e e lee 2ee 3ee Time 51 4ee 5ee Plot of Forecast Function with 95 Percent Limits 7.7 5.7 a a a ~ 0 lila 0 0; o 0 ..-I s.. IU :IID ttl :> (') 0 IlIlO DC aD DC I:D CD 0 0=0 OJ 0 [DODD aDO 0 0 _CD 3.7 l\J o lf/) · · : · .. . . , ' : : :. : .: : .. . cr:::z)O _mamD Oa:mD lamll 0 lDDO QCl:JJI:CllID 0 ~ OCttllll""D'XJ'TITJD!"D'W!rClI:IDDDDICJ CD CaDO aDCl::DIIll - 1 CD I l 1.7 I -e.3 1 e lee 2ee 3ee time index 52 4ee see see Plot of Forecast Function with 95 Percent Limits 7.7 5.7 .-l l. III . :> M 3.7 ru o I(f) c c 1.7 -8.3 528 478 time index 53 Vertical Time Plot 5 ···r 4 3 · lJ) (lJ o I(f) 2 1 e e lee 2ee 3ee Time 54 4ee 5ee Plot of Forecast Function with 95 Percent Limits 5.S 4.S 3.S .-l coo L 0 c em o IIIaIIODIIJ tI ceo o aDO ID 000 III :> to 2.S OJ 0 I00 loS . IDII:l 1ID::t%IIa::a~~ . ~c:o::m::JllItDDD[I]]~.:amllltIJI:DI l:IIJIItDtIIDl:I:D m:c:D 0 Il:IIDWClIaID e.s m:rcoDc 0 o aD 0 0 o 0 C IllC Oal 0 aJ C co -e.4 3ee e time index 55 4ee see see Plot of Forecast Function with 95 Percent Limits i 5.6 4.6 I - : : 3.6 .',~,---------- .-l L III . ::> lJ) 2.6 : : CU 0 I(J) o 0 1.6 1--.: Q ~.~ o ,., .. .. i!' ····tr·g.· ·&·G-· ·g,·D-·~·g,·g.· ·a·g.·t·: 0 0.6 ,- .... ...:.- .- -0.4 I j 470 520 time index 56 APPENDIX'C RESULT OF SIMULATION FOR 1000 PERIODS 57 Vertical Time Plot 24 2e ... 1 16 .. .... ... . . . .. ... t- ID . ::> IID 0 12 j ן- m I a 4 e e 2ee 4ee see Time 58 aee ieee Plot or Forecast Function with 95 Percent Limits 24 19 o 0 o o o o :c 00'" 0: COD <JOO 14 0011I 0 ..; l. .. 0 0 0 0 0 00 0: DOOO III ODC 0 0 a: ao '" o 0 9 ··0·· ao o o !lID ' " o (J) :C 0 D 00 c ···0 a CD 0 0 o -= ac o··-coa tDO_ : ED:El -=0 ~ o DOD CDO'C lJJ:I:IJ IIJ Dam IIJ 0 0 lD DOC: :0 DOlIla ~ ... ... -m. o Dill 0 om -(Za1KJ~'" IDDOC:aID:Jll:JDmIDOc:m~ ~ Cl 0 0 IIB]-[). 0 olll:Dlinm.a. :OaD 0 oa ~ DtIl ..... :"'0'0-0 .... "-0>" ODD o DC CDCIDII aD 0 an_a: ·0 aa ·00·· D 00_0 ..... I- 4 :0 0; 0 ··0··0·· ODD ··:m 0 aa 0:000 a D mllXJ :> ..... Cal"'" D 0 DO ~ ID IID DOD 0 ····.-a.·(D·QO··:O .. -o· -00'0'" .. 0 0 o 0 0 c 0 a:nc1:lD Q. moo CJKDl]GO .• m:. CD.:Jl:llCXD tmo-m .. ·om 0 _a:I:D~O trIDaDC 0 0 azIIIJlIIIIJ KlIIDtDJ 0 aJDIlIIO r::a aDD:IatIJJ I:KD C . . . . ; •• e ~ DIll. -1 -s e 2ee 4ee see time index 59 see leee Plot of Forecast Function with 95 Percent Limits 24 19 14 1- .. ; · · 0.· j . - - ..- ······.. 0 · · · · · .. ···· - - - - - - - - - - - - - - - .-l L III . :> lID 0 I- 9 (J) 4 o 0 0 o 0 o 0 0 0 -1 I' _ - - - - - - - - - - - - - - - - . l-I I -6 1020 970 time index 60 I Vertical Time Plot .-l ,. ~ III l- I'- o I(f) e 2ee 4ee see Time 61 aee leee Plot of Forecast Function with 95 Percent Limits .......• 16 ........ ········0 .. o 13 o co 00 o lCCD . til 0 ~~DOm m DO DODD o OJ. o aD 0 :tEl 0110 ID 0_ 0 ~ m DO CeDOa DIm DO DODD _ e-o: 0 DO ····· .. ··.o .. -e-OOQ ····-aD··go.D···-a·O .. ·-o-a··~ mm:I:DCDDDDCDI:DD:a:IJ.~ 0 am. CIP a:I:D III .:0 00 ":"00' .... (D . • . . ..,. "'''''0'00·«) ···ססoo·:'· DaXXlOD .; L. 0 0 D~DDmla:a:J~OI:DD COlD 0 00 [XI] a DO o 0 DO I:D aD I:J::lOoDtDJ a::..O D .000 • ODD 0 CIX1I:lD D 0 ODD tm tmCZJCXIDJC 0 aJaDe CJ aI :::> lI-- . .. . ( 1 ) . ··am··-oo·~ "'0(11"0"0'" 7 .. o am atIJo. :0 I- .. OJ; 0 DO '-0': ··.-m··"" '~~-().'[IJ 'D"IXDO- 0 OCD [D tD tIXl ···an~oa·D • a aJ DODO Call 0 me lDIID80 DC. - ··a·iiI··.· .. ~~ ... (I) o 4 0 0 • [II] CD. : DlIXJ 0 aa-ml a o DlJI] ··.···0···. ·.(II)··DOO-o:·OQ·Q.[DDIJ"···· :OZJ aD 0 0 00 tc C P axED CD ···m Gl-il.(x:nQ]· .... c.o- .. -GO ···~DO· : :00 I:I::IDXJJXJ I::IJODO; 1 DOD aD-=:J"O.oa:IJ c.lCIIJ :c ~ DID 0 Q .••••• -(IDDDQ. 00:0 om o D -aD' • . a:J 0 : D[IJC tJ:I]I3[J..-J.OODO ·· · ... ·: · .: DO • aDO. 0 CDtDCtD l::. ····-ttD.G)··DD-&D· ·._a···m·OO·~D···.fI·D,.o·a.aCU···Q -'0-0-& . OODOD.m e • ...... c 2ee C DCDaDD CIaDDa::caaz: ··..,·OO-··o··«>.·um·o-m·· . D D 0 KD [D:ce D DC D 4ee Il:IJ [D 6ee time index 62 EIHDD see O D D Dat o leee 12ee Plot of Forecast Function with 95 Percent Limits I I 16 13 10 _.;. c c .-l ~ III . :> lt- . 7 o .&&.&~.&&.&~.~&.&~. . I- (I) ........................................................................................ c 1 c c f - ....... .,. - - .;.- 2 " : I 970 1020 time index 63 Vertical Time Plot 12 le a .-l L lD . :> I- .-l .-l S o IUl 4 2 e e 2ee see 4ee Time 64 aee leee Plot of Forecast Function with 95 Percent Limits 13 a a 10 a :0 DO COD ..-l 7 DC a 0000 00 a"" Doom :m a .. ~ ... a·o iIID' ·.OO::J·IIO .a:JlDa:J . . . • ·om .... Oa:J~'DJ-0- •.• JZm Q- CDlDIIC:DQl' -CX:CO '000 -{)- .• 0 00 -0··.Q)··;·· L. III . :> JJ . . 0 ~tmJ l:DIIO a:::JD Daltx1l amo CD :0 ~ ~ . mlJO. mIllO 0 _-a::D aJ DCXXDD 00 a I..-l ..-l o Im cmlUJ 'DDaJO 4 .. m:J OlD· ~ 0 me m::io ·.··ID -[D' _ CD " O l D IDS [IDeo D:a::J .~-(lammo···.cmCIID·. 0 -0' -DO'O ODD-'OD'D ·tIII·, ·-(J·O 'a:D-O" - ··CIJCJc.J··a· ·accooQ·· . 1 aa a -2 .:I D aa:OaD c. o DaD C IDO o CO _0 :. . . Dec DO j II 0 200 400 S0e time index 65 S0e 10ee 1200 Plot of Forecast Function with 95 Percent Limits I 13 10 : 7 o 4 o 0 ........... ,.- o -2 I I 970 1020 time index 66 Vertical Time Plot le s .-l r S s... III . 1 :::> I(D .-l 0 I(f) 4 2 e e 2ee 4ee see Time 67 see ieee Plot of Foreca~t Function with 95 Percent Limits 9 7 o ..-l 0 c: o om 0 •.... ····0······ "'-0-" c c C o aJ 5 ~ III . :> f- Ul ..-l o fm :3 ~r __·._•• _ · ~ ._0_.__._-_ • am~_ ___.._._ _.....,,_>11...."'..-."'....... 1 B 2BB __~~ ..._ _ ....._0.-.-.-"'__.....,..-..:.. 4BB SBB timll index 68 BBB lBBB 12BB Plot of Forecast Function with 95 Percent Limits ! I 9 7 ~ 5 L .- . III . ~ I- 0 0 lD ~ 0 I- (J) 3 r-"; 1 r- .. i>·o· .......... ......••••••.• -0 .... '·0·· ·<1"0· . ",0·· - • I 970 1020 time index 69 Vertical Time Plot 5 4 .... L ID . :> IM 3 OJ 0 I- III J 1 B a 2aB 4aa SBB Time 70 aBa Plot or Forecast Function with 95 Percent Limits • 5.7 o DD p m oj:] 000 CD: a moo en • 000 L- '. .-l l. q . :> ן M CII . , a-lDOta:mDC Da:xDJ 0_;_ ~ mlD'XltD D _IDQ moo m:OOEXIa:JJDC DOalO 3.7 o I- 0lIIl DIDIIl ~ If) 1.7 -_...--_....._..."_.. :.0 _tKJ~tDIJIl[I~~... ...,..,. . . . . . ._ ..-- ... DOD 0 ca:I:l ".,, ...... -.,., DOD DO ...._ . . .. . . , _..... , ... -..."." DODO 0 ., IllD _0 D 00 o 0Jl.. '. -e.3 e 2ee 4ee see tim. index 71 see ieee 12ee Plot or Forecast Function with 95 Percent Limits I I 7.7 _. ..................................... - . ..... - 5.7 .-l 1ID o ::> ן M C\J 0 3.7 o I(I) o 0 1.7 f - . I 970 1020 time index 72 Vertical Time Plot s 5 ... .......... . 4 ..-f I.. ,. III IID 3 ru 0 I(f) 2 1 e e 2ee 4ee see Timlt 73 see leee Plot or Forecast Function with 95 Percent Limits 7.5 o 5.5 o c: 00 o 1Il0 0 .-l ~ C ID . DOC • OCJ DO D:aJJ C D_ :> lID 3.5 (\J o l(J) _=-._.. am"""......... ...._ _""'......._ _........_ _........_ ... 1.5 -e.5 e 2ee 4ee see timR index 74 see leee 12ee Plot or Forecast Function with 95 Percent Limits I 7.5 5.5 .-I l.. III . :> IID OJ 3.5 ~ - . ..... ; ... .. o I(I) D D D D D D D D 1.5 D D D D D D I 979 1929 time index 75 VITA Ms. Pei-chun Lin who is the daughter ofChun-Jeng Lin and Hsu-Chien Lin was born in Taiwan in 1970. She received a B.S. degree in Industrial Engineering from National Tsing-Hua Dill,versity in 1992. After her graduation from the college, she entered the I.E. graduate program at Lehigh University. 76
© Copyright 2026 Paperzz