HUNGARIAN JOURNAL OF INDUSTRIAL CHEMISTRY VESZPRÉM Vol. 33(1-2). pp. 105-111. (2005) OPTIMIZATION OF FOOD LOGISTIC PROCESSES BY SIMULATION TECHNIQUE É. HAJNAL and G. KOLLÁR1 1Bp. Corvinus University, Postharvest Department H-1118. Budapest, Ménesi út 45, HUNGARY e-mail: hajnal.eva@axing.hu Existing warehouse operations can be audited, reviewed and benchmarked for productivity. The effects of different operational and racking configurations can then be tested in a safe environment before any capital expenditure is made. Modelling is based on computer programs, which are able to mimic the warehouse operations and allow many different scenarios to be tested quickly and easily. Series of experiments carried out on the constructed model is simulation. In our paper we discuss what process approach means in logistics, why important to model and optimize the members of the warehouse process network, how a process simulation looks like in a distribution centre, how can we measure changes during simulation runs and finally what results can we achieve. Keywords: Food logistics, optimizing, modelling, core process, discrete event model, Key Performance Indicators, intake process, simulation technique, queuing Introduction Distribution centres are important elements of the food supply chain. In a DC there are core- and additional processes and they all together form process network. To identify these processes, the first step is process mapping the second is modelling. In business a common goal is to optimize a system such that it processes the most things using the least amount of resources and time. This time of system is often modelled using discrete event queue/server concepts. Process approach Every company is a network of processes, which are describable, documentable, monitorable and improvable. To find the processes to be optimized, we should do process mapping ranging over the whole organization to define and document all processes necessary for the normal operation. Connections of processes only after this mapping can be defined, and the process network described. In the network there are basic –so called core- processes, which are essential for the success of an organization. To define core processes we need goals determined by the company management. [1] After process network is known, the whole process can be decomposed into subprocesses, where the output of one subprocess is the input of one or more other subprocesses. It is important, that every subprocess’ contribution to the whole service should be measurable. This forms a distribution chain, where time-based approach is dominating. Delivery time of subprocesses are summing considering the whole process. Why is it worth to optimize? There are several reasons, basically to reach more efficiency in operation using the least amount of resources and time. Some additional reasons are listed below: Changes in connection with customers new customer arrival, change in customer needs (e.g. control degree), change in product assortment, change in packaging units, change in frequency of intake/delivery. Internal reasons economic rationalization (cost and resource efficiency), need of continuous improvement, change in size of the company (increase/decrease storing capacity), change in human resources (newcomers, discharges, trainings), change in number of docks, change in other resources (IT system development, equipment capacity change etc.), change in resources shared with other warehouse operations/processes. External reasons improve food safety, change in laws and legal regulations, change in authority demands (e.g. tight control because of epidemic hazard). Environmental reasons Decrease integrated contamination level, Primary task of environment protection is to decrease economic origin environment pollution. The goal to achieve more ecology- effective company operation, which uses fewer raw materials and emits less poisonous and waste material. The economical expansion should not accompany by the increase of causeless environmental burdens and occurrence of preventable damages. Decrease traffic origin contaminant outputs, Hungary’s carbon dioxide quota is 93 million tons, from which 97.5% is distributable between companies responsible most of all for the environment pollution (stokers, oil- refineries, coking plants, iron industry, steel industry, paper industry, and cement-, glass- or building material producers). This does not mean that traffic origin carbon dioxide emission is negligible. Everyone in this country can feel the burden of the crescive traffic on the roads day by day. Improve noise protection (first of all traffic origin, but industrial and commercial noise is also significant), EU initiation that Hungary should prepare noise-maps until 2007 about the capital, some other cities, 400km heavy-traffic roads, 20km railways and the national airport. This map will point out the problematic places, where there will be lot of tasks to do within short time period to decrease noise contamination. [3] Modelling Processes - collected during process mapping - should be recorded and modelled. In a qualified sense we can call modelling the mathematical model building. Models are simplified versions of real life processes or systems, which enhance relevant features of them. This definition shows that models never can entirely substitute the real life processes. Their essence is that they can give rather exact answer to our previously asked questions, but in the case further questions they need refinement or we should build another model. Fig 1 shows the modelling process in the case of discrete events. It is generally true that all models proceed from the reality and always come back to it. They work with empirical data, and fill the remaining gaps with hypotheses. Goodness of a model is verified only by compare against reality. Series of experiments carried out on the constructed model is simulation. During simulation we mimic/simulate real life events by experimental methods. We examine the effect of different inputs and disturbing signs upon the formed state variables and outputs while generally we are seeking optimal solutions (optimization). [7] The object of the simulation generally is to determine where there are bottlenecks in the process and to see which parts of the process might be improved. In many models, you are interested in the time required for an item to move from one end of the model to the other. Data collection Results analysis Experiment Initial tests (Incremental) Built Modification/Refinement Fig 1 Modelling process in the case of discrete event simulation [Sommerville, 1992] Benefits of simulation modelling basic description of the process is enough to start simulation, the model can be refined step by step as we understand the process better, we can give exact estimation within short time period, applicable even in the case of the most complicated problems, this method is applicable as a part of both BPR and TQM, analysis can be done with the help of existing data before organizational or operational changes, 107 not necessary useless expenditure of time, energy or money to realize interim -sometimes wrong- solutions, the result is applicable to verify current method or proposing new method, appropriate to perform unrealisable or very expensive experiments. Some of the application areas of simulation models queuing, routing, Activity Based Costing, resource planning etc. Computer modelling, simulation There are several modelling methods. Advisable to choose from them the one that can be most effectively used in description of the examined processes. Continuous time models describe a smooth flow of homogenous values; time changes in equal increments and values change based directly on changes in time. Values reflect the state of the modelled system at any particular time, and simulated time advances evenly from one time step to the next. Discrete event models (Fig 2) track individual and unique entities, known as items. These items change state as event occurs in the simulation. The state of the model changes only when those events occur; the mere passing of time has no direct effect. For a discrete event model, simulated time advances from one event to the next and it is unlikely that the time between events will be equal. [2] Start event Load machine Time Activity UnloadRun Process Stop event Fig 2 Discrete event simulation scheme [Pidd, 1992] It is important that a system can be modelled in any number of different ways, depending on what is you want to accomplish. In general, how you model the system depends on the purpose of the model: what type, level, and accuracy of the information you want to gather. Table 1 shows the differences and the some fields of application of continuous time and discrete event models. Table 1 Summary of continuous and discrete event differences [Diamond, 2002] Factor Continuous time modelling Discrete event modelling What is modelled Flows („stuff”) Discrete items („things”) Charac- teristics Random number „simulates” characteristics of flows. Attributes and unique characteristics are assigned to items. Time steps Constant. Model recalculations are sequential and time dependent. Dependent. Model only recalculates when events occur. Ordering FIFO order. FIFO, LIFO, Priority, or customized order. Routing Flows can go to multiple places at the same time. Items can only be in one place at a time. Statistical detail General statistics: amount efficiency, transit time etc. General statistics+ individual tracking: count utilization, cycle time etc. Common uses Scientific, Engineering, Bulk processes, System thinking, Economics, System dynamics. Manufacturing, Service industries, Business processes, Strategic thinking, Networks, System engineering. There are 3 basic methods to handle dynamic simulation: 1. event driven, 2. acivity driven, and 3. process driven method. Compared to each other, most effective is the event driven programming. On the other hand the structure of the original modelled system and the simulation modell is more similar in case of the process driven method. It has the benefit that people is not experienced in simulation techniques but familiar with operation problems of the modelled system can easily overview the simulation program. [8] Advisable to use such simulation tool which model- descriptive language can be fitted to the modeler’s needs, while model running is managed by an executive system which fits to computer representation. [8] Optimization of food logistic processes Defining core processes in logistics We can simplify and define the core process in a distribution centre as follows: Intake Delivery Checking Marshalling Product handling Fig 3 Core process in a distribution centre Naturally we can add to this process line other blocks, like ordering, routing etc., but here in details we do not take them into consideration. The effectivity (efficiency) of the processes can be measured with the process specific Key Performance Indicators. Watching the course of events with KPIs is monitoring. These indicators are very important in the case of initial state examination and during process change monitoring (optimization). Examining processes as a whole unit, one of the most important performance indicator is cycle time, which necessary to transform inputs to outputs. [4] Some additional KPIs in logistics: Intake: intake time parking place utilization time of unload lorries Product handling: stock turning speed average stock level (warehouse occupancy) inventory records (stock- loss, pallet-loss) Marshalling: picking rate picking speed picking accuracy Checking: checking ratio % Delivery: delivery time time of load lorries wait at the customer on-time delivery case-fill rate All parts of the process: workforce efficiency (piece rates) material handling equipments utilization. Optimization by simulation technique Main objectives to achieve Shorten the intake time, decrease air-contaminants released by the lorries, and also decrease noise contamination. Process for optimization Intake process; ambient operation. Model type Discrete event model. Method used for optimization Queuing. Building discrete event model After collecting empirical data, building the model itself with the help of simulation software is the next step in the optimization process. We used message-based discrete event simulation software (Extend). This system eases the model building process by allowing the modeller to put the model together in an intuitive manner. The architecture based on a messaging system. Instead of a centrally located simulation program executing subroutines based on simulation data, this architecture sends messages from one simulation block to another. The central simulation engine performs only event scheduling and selection. The bulk of the simulation execution is performed by blocks sending messages to one another. [9] In the model items are passed from block to block through item connectors, which passes not just the items, but also all the related information. In the software the typical blocks of the chosen model type are already predefined. Output connectors can be connected to more than one input connector. You cannot, however, connect more than one output to a single input. This difference makes sense because the information flowing out of an output connector can be useful in many places, but each input connector can only have one source of information. [2] Fig 4 shows the model of intake process set up from blocks. It shows items standing in the queue and waiting for their turn at the docks. Items in the queue are the lorries, which are waiting for unload. Servers are the mechanisms by which the members of the line are processed, and then sent on their way. Servers here are the warehouse personnel (warehouse keeper, reach truck driver etc.), the machines and the computers. It takes some time to process the members of the line. 109 count event 3V 1 2 Item generator Dock 1 Exit # 80 Exit 1 Dock 2 Exit # 79 Exit 2 Dock 3 Exit # 78 Exit 3 F L W 39 FIFO queue Fig 4 Intake process model [Extend simulation software] In our model the Executive block at the upper left corner of the model window has two tasks: first, it maintains a data structure of information about the items; second, it takes control of the time clock from the application, scheduling events, sending messages to the blocks that scheduled the event, and moving the clock forward to the appropriate time for the next event. [2] The Item generator block generates items with an interarrival time according to an exponential distribution. Analysing the arriving lorries, this distribution seems to fit the real values. We can see the items’ distribution plot on Fig 5. 1,132019e-05 0,2310821 0,4621528 0,6932236 0,9242943 0 3,75 7,5 11,25 15 Interarriv al Time Percent Items Items' Distribution % Items 1 Fig 5 Incoming lorries’ distribution plot We work with one queue, and will choose FIFO queuing discipline for the ambient operation, and do not use any other priorities. We also do not use balking (when the lorry does not enter the line, because its length), reneging (when the lorry leaves before being served because too much time has passed), or blocking (when an empty lorry stick in the dock) etc. Our FIFO queue block holds items until their turn. This block calculates the average queue length, average wait time, and utilization of the queue. Exit blocks count lorries leaving the docks. The processing itself goes on at docks. Fig 6 shows the details of the main model’s Central dock blocks, which are hierarchic blocks in the system. Number of the docks can be varied; the service time per unit (time of unload a single unit) is now a constant value and same for all the docks. Of course this is ideal assumption, but the first model can work with this. Eqn Equation demand # Condition block Exit # 61 Exit block F L W 17 FIFO queue D T U Activity delay use # change u0 Stockroom demand a b c Unbatch items Con1InCon1In Con2OutCon2Out Fig 6 Intake process: dock unloading [Extend simulation software] The Condition block serves as a conditional wait. It accumulates demand based on the values at the demand connector. It passes the next item only when a certain condition exist. In our case when the calculation of the Equation block results that there are no more pallets waiting at the marshalling place, the condition block will release the next lorry. Unbatch block separates an incoming item into multiple quantities of output items. In this case one incoming lorry carries pallets (full lorry=pallets+empty lorry). Exit block counts empty lorries, pallets go to FIFO queue block. They should wait until being carried to their final location in the warehouse, and the dock will be empty. Activity delay block holds an item for a specified amount of time. Stockroom block provides and stores stockroom items. The next figure shows on a flow chart the algorithm of the general intake process, represented on Fig 4, including the subprocess of dock unloading, represented on Fig 6. Start Lorry coming in generated by exp. dist. Registration of lorry parameters Is a free dock available? Call LWP using WCost OFunc Stop Docking Read actual parameters and call ULP Is the MA free? Call DWP using DUse OFunc DB Subprocess of Fig. 6 Yes Yes No No Fig 7 The flow chart of intake process Running simulation, choosing optimal solution During running this first model, we can check the following KPIs: time of unloading lorries, average and maximal queue length, average and maximal wait before intake, dock and parking place utilization, whole cycle time etc. The model runs much faster than the real operation, so performance over hours, weeks, months or years of production can quickly be simulated. Our simulation time was 24 hours. Optimization is a useful technique to automatically find the best answer to a problem. The problem is usually stated as an objective function. Most optimization algorithms that can solve stochastic models use an initial population of possible solutions. Each solution is tried by running the model several times, averaging the samples, and sorting the solutions. The best solution sets of parameters are used to derive slightly different solutions that might be better. The problem with all optimization algorithms stem from the inability to tell when the best solution has been found. A good approach is to allow the optimization to continue for a “long enough” time and check to see if the population of solutions converge. After that, the user could try the optimization procedure several times to make sure that the answer agree and that the first answer is not a false or sub-optimal one. [2] Models have parameters that are specified by the modeller and shouldn’t vary, and some parameters could vary and change the efficiency of the model. Though we have not just constant variables, but distributions, we have to take it into consideration. Optimization can be carried out by simple building an Optimizer block into our model. In most cases optimizer would like to minimize the cost or maximize the profit to get a benefit from optimization. In our case we would like to maximize our profit while decrease wait of lorries before intake. The waiting cost in logistics is high, and our original problem was air pollution and noise. Because none of the parameters can be varied except the number of docks in our simplified model, our objective function can be: MaxProfit = ExitNum*LProf-AveWait*WCost-DockNum*DUse where LProf, WCost and DUse are objective functions too, which results multiple objective function optimization. In the original model we had 3 docks, and we found it not enough, because during simulation the queue length increased continuously and the average waiting time of the lorries was more than 5 hours. (Fig 8) 0 6 12 18 24 0 22,5 45 67,5 90 Time Value Plotter, Discrete Event NumberExited NumberExited NumberExited QueueLength 1 Fig 8 Simulation result [Extend simulation software] 0 6 12 18 24 0 50 100 150 200 Time Value Plotter, Discrete Event NumberExited NumberExited NumberExited QueueLength 1 Fig 9 Simulation result after optimization [Extend simulation software] During optimization we varied the number of docks between 1 and 10. We found the optimum at DockNum=5. Running the simulation with this new parameter by the end of the simulation only 3 lorries remained unprocessed, the average wait was approximately half an hour, though the parking place utilisation decreased. (Fig 9) Model refinement Generally true: the more accurate input data we have, the more accurate results we can get. The input data can also be refined upon the empirical data (curves can be fitted to empirical data points to find the correct distribution). We can refine the interarrival time (mean etc.), with lot of more empirical data, we can find seasonality examining daily, weekly, monthly or yearly distribution. In our model queuing discipline is FIFO, but in the real life there are priorities. For example chilled or frozen products have priority over ambient products, or also products being out of stock. There can be differentiation in service times between clients, sometimes authority require priority because of food safety reason or any other consideration. Extreme cold weather can explain the priority of not freezing- resistant ambient products etc. The number of the docks can vary, depending on queue length, technical problem, priority of other internal 111 operational process, limited resource capacity, or any other reason maybe some of them is not working. Happens, that not all of the lorries can use all of the docks, because of size problems (too large or small vehicles compared to dock sizes), or simply because the product itself carried by the lorry (e.g. chilled or frozen products are stored separately, they can not be stored in at the same docks as ambient products). In an advanced model we can get service time per lorry by multiplying service time per unit with the number of units per lorry. To get this result we should know in advance, how many units are there in the following cargo. This requires good prediction from the product owner. In the real life even service time per unit is not constant, as we assumed in the first model. This value depends on the product itself, the processing personnel or the processing method (paper based operation or radio frequency IT system). Discussion Building model allows us to optimise logistics processes by using computer experiments rather than costly plant time. Modelling is a tool for understanding why problems are occurring in a process when direct measurement is too difficult. The basis of process simulation is a very detailed process mapping. Processes should be well defined, documented, up to date and the KPIs, which describe the process, also should be known. First step is the core process description. During simulation the KPIs will show the differences of each setup. All changes should be documented, though the optimization will be reproducible. In this paper we introduced how process building, simulation run and optimization can be carried out with simulation software. Although optimization of our extremely simplified model was successful, we can see that in the real life this is still not a liveable model. Before optimization we should refine our model until it perfectly simulates the real process. Above all, while the question concerned only the intake process, we cannot give correct and exact answer without knowing in details the other elements of the whole operational network in the distribution centre. Resource planning, marshalling, outbound deliveries, or other processes bear importantly upon the answer to the original question. The interactions between this process and the other ones are so tight, that the estimation would be inaccurate taking not into consideration them. ACKNOWLEDGEMENTS The authors wish to express their gratitude to Gábor Tóth (Axing Ltd) and Klára Kollár-Hunek (BME) ACRONYMS DC Distribution Centre BPR Business Process Reengineering TQM Total Quality Management KPI Key Performance Indicator FIFO First In First Out LIFO Last In First Out IT Information Technology ExitNum Number of lorries leaving docks LProf Income per lorry AveWait Average wait of lorries before intake WCost Cost of one hour waiting DockNum Number of docks DUse Cost of dock using LWA Lorry Waiting Procedure ULP Unloading Procedure MA Marshalling Area DWP Dock Waiting Procedure OFunc Objective Function DB DataBase REFERENCES 1. A. R. Tenner, I. J. DeToro L.: BPR (in Hungarian), Műszaki Könyvkiadó, Budapest, 1998 2. Diamond, B.: Simulation overview, Imagine That Inc, 2002, www.imaginethatinc.com 3. Hajnal É.: Application of EU environmental regulations in logistics (in Hungarian), Logisztikai Évkönyv, Vol 2004, p. 61-66, 2004 4. Hajnal É., Kollár G.: Process optimalisation and monitoring in logistics (in Hungarian), Proc. of conf. MKN 2004, Veszprém, Hungary 5. Pidd, M.: 'Computer Simulation in Management Science', John Wiley & Sons, Inc., 1992 6. Sommerville, I.: 'Software Engineering, Fourth Edition', Addison-Wesley Publishing Company, Inc., 1992 7. Dr. Benyó Z., Szűcs B.: Folyamatszabályozás, BME-SOTE-ÁOTE Orvosbiológiai Mérnöki Szak Egyetemi Jegyzet, Budapest, 1995 8. Dr. Jávor A.: Diszkrét szimuláció, SZIF- UNIVERSITAS Kft., Győr, 2000 9. Krahl D., Lamperti J. S.: A message-based discrete event simulation architecture, Proceedings of the 1997 Winter Simulation Conference ed. S. Andradóttir, K.J. Healy, D.H. Withers and B.L. Nelson http://www.imaginethatinc.com/