Organizacija, Volume 38 Scientific Papers Number 9, November 2005 How to Perform a Simulation Project -An Example of Scheduling with Genetic Algorithms and Visual Event Simulation Model Uroš Breskvar, Miroljub Kljajic University of Maribor, Faculty of Organizational Sciences, Kidričeva 55a, 4000 Kranj, Slovenia uros.breskvar@fov.uni-mb.si, miroljub.kljajic@fov.uni-mb.si Kako izvesti simulacijski projekt - primer razvrščanja z genetskimi algoritmi in vizualnim dogodkovnim modelom Posedovanje koristnih informacij je vedno predstavljalo prednost pred konkurenco. Simulacijo lahko uporabimo kot orodje za napovedovanje dogodkov v prihodnosti ali za analizo in razlago preteklih dogodkov. »Kaj se bo zgodilo če naredim ali to?« je vedno bilo vprašanje mnogih ljudi. Simulacija nam lahko ponudi odgovor na to vprašanje. Z razvojem računalnikov in programske opreme je simulacija postala razširjeno in do uporabnika prijazno orodje. Simulacijo se prav tako čedalje več uporablja za optimizacijo proizvodnih sistemov. Vendar se pri uporabi simulacije v proizvodnih podjetjih pojavljajo določeni problemi. V tem članku bomo predstavili te probleme in poudarili prednosti simulacije. Prav tako bomo predstavili primer uporabe simulacije z VIM in GA za razporejanje naročil. Ključne besede: simulacija, proizvodnja, optimizacija, razporejanje, genetski algoritmi, dogodkovna simulacija, vizualizacija 1 Introduction With the appearance of globalization, causing a more fierce competition, companies have to make choices as close to optimal as possible, because every wrong decision can prove lethal to company's existence. Counselling has been widely recognized as support in decision making process and outside counsellors are usually used, because companies need counselling only occasionally. Financial counselling is used mostly, followed closely by legal counselling. Production companies neglect counselling at their primary activity - product manufacture and production process optimization respectively. Usually they have lots of reserve at cost reductions or at their whole production process organization. Production optimization does not get the necessary attention and resources (Harell & Ke-rim, 1995). Production organizers/planners have to rely on their inventiveness, experience and clumsy tools. Companies are not aware that planners and other production organizers are faced with problems that practically cannot be solved by any man. One of possible methods to improve production process is simulation (Hoover & Ronald, 1990). First simulation models were not friendly towards their users or programmers, because they used only text representation. With computer development, simulation software packages have become more progressive and cheaper. Many simulation packages known today can represent simulation in two or three dimensions and are adapted to production processes. Several successful simulation applications in production were shown (Fehnker, 1999; Saltzman, 1997). The field of simulation use is practically unlimited - scheduling, production analysis etc (Tu-may, 1993). But simulation is still a much unknown field for most companies. Most of them take simulation as a redundant cost or fear of job cuts. Instead, simulation should be taken as a decision support tool (Law, 1991). The following chapters describe where the simulation should be used, how the simulation project is executed and what the pitfalls in simulation project are. 2 Before starting a simulation project Simulation models intended for production are rarely built by experts who work inside the production company, because buying simulation building software package and employee training usually represents a big cost for the company. Models are built by people who are not familiar with the problems faced in that particular company and for that reason; a constructive dialogue has to be established between company's employees and people who will build the model. Before the actual building of the simulation model, the following questions have to be answered: 499 Organizacija, Volume 38 Scientific Papers Number 9, November 2005 ■ Why is the simulation being performed? ■ Who will be using the model? ■ To whom will the results of the simulation be presented? ■ What information is expected from the model? ■ Is this a "throw-away" model? ■ How important is the decision being made? Answers to the questions above can help in establishing the initial frames of the model. An approximate assessment of time consumption and the price for building the model can also be made. 3 Simulation project Many simulation projects are from the outset doomed to failure due to poor planning. Undefined objectives, unrealistic expectations and a general lack of understanding of requirements frequently result in frustration and disappointment. If a simulation project is to be successful, a plan must be developed that is realistic, clearly communicated and closely followed. Planning a simulation study involves the following sub tasks: 1. Plan the study 2. Define the system 3. Build the model 4. Run experiments 5. Analyze the output 6. Report results It can be noticed that building a model is only the third task. The first two tasks are usually skipped, which leads to dispersion of expectations and actual results. Planning the study and defining the system has to go along with close cooperation between people who build the model and people who will use it and/or are familiar with the objectives, that must be achieved with the model. To stress the importance of planning the study and defining the model, both these tasks are described in detail in the following chapters. 3.1 Planning the study Planning a simulation study involves the following sub tasks: ■ Defining Objectives: With a basic understanding of the system operation and an awareness of the issues of concern or interest, one or more objectives can be defined for the study. Simulation should only be used if an objective can be clearly defined and if it is determined that simulation is the most suitable tool for achieving the objective. Defining an objective does not necessarily mean that there needs to be a problem to solve. A perfectly valid objective can be to see if there are, in fact, any unforeseen problems. Common types of objectives for a simulation study include the following: □ Performance Analysis: How well does the system perform under a given set of circumstances in all measures of significance (utilization, throughput, waiting times, etc.)? □ Capacity Analysis: What is the maximum processing or production capacity of the system? □ Capability Analysis: Is the system capable of meeting specific performance requirements (throughput, waiting times, etc.) and, if not, what changes (added resources, improved methods etc.) are recommended for making it capable? □ Comparison Study: How well does one system configuration or design variation perform compared to another? □ Sensitivity Analysis: Which decision variables are the most influential on one or more performance measures, and how influential are they? □ Optimization Study: What combination of feasible values for a given set of decision variables best achieves desired performance objectives? □ Decision/Response Analysis: What are the relationships between the values of one or more decision variables and the system response to those changes? □ Constraint Analysis: Where are the constraints or bottlenecks in the system and what are workable solutions for either reducing or eliminating those constraints? □ Communication Effectiveness: What variables and graphic representations can be used to most effectively depict the dynamic behaviour or operation of the system? Defining the objective should take into account what the ultimate intended use of the model will be (Thesen, 1992). Some models are built as "throw-away" models to be used only once and then discarded. Other models are built to be used on an ongoing basis for continued "what-if" analyses. Some models need only to provide a quantitative answer. Others require a realistic animation to convince a sceptical customer. Some models are intended for analyst's use only. Other models are intended for use by managers with little simulation background and must be therefore easy to use. Some models are used to make decisions of minor consequence. Other models are relied upon to make major financial decisions. ■ Identifying Constraints Equally important as defining objectives is identifying the constraints under which the study must be conducted. It does little good if simulation solves a problem if the time to do the simulation extends beyond the deadline for applying the solution, or if the cost to find the solution exceeds the benefit derived. When identifying constraints for a simulation study specific questions to ask include the following: □ What is the budget for doing the study? □ What is the deadline for making the decision? □ What are the skills of those doing the study? □ How accessible is the input data? □ What computers will be used for the study? ■ Preparing a Simulation Specification With clearly defined objectives and constraints, the simulation requi- 500 Organizacija, Volume 38 Scientific Papers Number 9, November 2005 rements can be specified. Defining a specification for the simulation is essential for projecting the time and cost needed to complete the study. It also guides the study and helps set expectations by clarifying to others exactly what the simulation will include or exclude. A specification is especially important if the simulation is being performed by an outside consultant so that you will know exactly what you are getting for your money. Aspects of the simulation project to be contained in the specification include the following (Knepell & Deborah, 1993): □ Scope The scope refers to the breadth of the model or how much of the system the model will encompass (Fig. 1). Determining the scope of the model should be based on how much bearing or impact a particular activity has on achieving the objectives of the simulation. A common tendency is to model the entire system, even when the problem area and all relevant variables are actually isolated within a smaller subsystem. □ Level of Detail Unlike the model scope which affects only the size of the model, the level of detail Activity A Figure 1: Confirming the scope to impacting activities affects model complexity as well as the model size. Determining the appropriate level of detail is an important decision. Too much detail makes it difficult and time consuming to develop a valid model. Too little detail may make the model too unrealistic by excluding critical variables. The Fig. 2 below illustrates how the time to develop a model is affected by the level of detail. It also highlights the importance of including only enough detail to meet the objectives of the study. Figure 2. Effect of level of detail on model development time □ Degree of Accuracy The degree of accuracy pertains to the correctness of data being used. For some models or activities, the information need not be as accurate or exact as it does for others. The required degree of accuracy is determined by the objectives of the study. If the decision is im- portant or a comparison is close, greater accuracy may be required. Accuracy sometimes has to be sacrificed if reliable information is simply unavailable such as when modelling a completely new system. ■ Developing a Budget and Schedule Defining financial means and deadlines is the usual problem faced with building a simulation project. Time schedule of the project has to be based on realistic assumption -defining system and objectives usually takes up to 50% of the time intended to execute the simulation project. System definition phase is usually skipped, which leads to the simulation model that does not meet the expectations or does not allow the testing of desired simulation scenarios. Crucial discussions are in progress in this phase between the company's employees and people performing the simulation project. When composing time schedule, the following can be taken into consideration: □ Defining the system to be modelled can take up to 50% of the project time. □ Model building usually takes the least amount of time (10 to 20%). □ Once a base model is built, it can take several weeks to conduct all of the desired experiments, especially if alternative designs are being compared. 3.2 Defining the System With clearly defined objectives and a well organized plan for the study, the system that will be simulated can begin 501 Organizacija, Volume 38 Scientific Papers Number 9, November 2005 to be defined in detail. This can be viewed as the development of a conceptual model on which the simulation model will be based. The process of gathering and validating system information can be overwhelming when faced with the stacks of uncorrelated data to sort through (Carson, 1986). Data is crucial for good model performance. In this case we can rely on a saying: «Garbage input, garbage output!» Many data gathering efforts end up with lots of data but very little useful information. Data gathering should never be performed without a purpose. There are several guidelines to keep in mind when gathering data: ■ Identify cause-and-effect relationships It is important to correctly identify the causes or conditions under which activities are performed. In gathering downtime data, for example, it is helpful to distinguish between downtimes due to failure, planned downtimes for breaks, tool change, etc., and downtimes that are actually idle periods due to unavailability of stock. Once the causes have been established and analyzed, activities can be properly categorized. ■ Look for key impact factors Discrimination should be used when gathering data to avoid wasting time examining factors that have little or no impact on system performance. If, for example, an operator is dedicated to a particular machine and, therefore, is never a cause of production delay, there is no need to include the operator in the model. Likewise, extremely rare downtimes, negligible move times, on-the-fly inspections and other insignificant or irrelevant activities that have no appreciable effect on routine system performance may be safely ignored. ■ Distinguish between time and condition dependent activities Time-dependent activities are those that take a predictable amount of time to complete, such as inspection time. Condition-dependent activities can only be completed when certain defined conditions within the system are satisfied. Because condition-dependent activities are uncontrollable, they are unpredictable. An example of a condition-dependent activity might be filling a customer order or performing an assembly operation that requires component parts to become available. ■ Separate input variables from response variables Input variables in a model define how the system works (e.g., activity times, routing sequences, etc.). Response variables describe how the system responds to a given set of input variables (e.g., work-in-process, idle times, resource utilization, etc.). Input variables should be the focus of data gathering since they are used to define the model. Response variables, on the other hand, are the output of a simulation. Consequently, response variables should only be gathered to help validate the model once it is built and run. To help organize the process of gathering data for defining the system, the following steps are recommended: □ Determining Data Requirements The first step in gathering system data is to determine what data is required for building a model. This should be dictated primarily by the scope and level of detail required to achieve the model objectives as described earlier. It is best to go from general to specific in gathering system data. The initial focus should be on defining the overall process flow to provide a skeletal framework for attaching more detailed information. Detailed information can then be added gradually as it becomes available (e.g., resource requirements, processing times, etc.). Starting with the overall process flow not only provides an orderly approach to data gathering, but also enables the model building process to get started which reduces the amount of time to build and debug the model later. Often, missing data becomes more apparent as the model is being built. □ Making Assumptions Not long after data gathering has started, you may realize certain information is unavailable or perhaps unreliable. Complete, accurate and up-to-date data for all the information needed is rarely obtainable, especially when modelling a new system of which very little is known. For system elements of which little is known, assumptions must be made. There is nothing wrong with assumptions as long as they can be agreed upon, and it is recognized that they are only assumptions. Any design effort must utilize assumptions where complete or accurate information is lacking. □ Documenting and Approving the Data When it is felt that all relevant information has been gathered and organized into a usable form, it is advisable to document the information in the form of data tables, relational diagrams and assumption lists. Sources of data should also be noted. This document should then be reviewed by others who are in a position to evaluate the validity of the data and to approve the assumptions made. This document will later be helpful if you need to make modifications to the model or look for why the actual system ends up working differently from what was modelled. Experience in gathering data shows a big difference between companies. It is shown quickly if companies invest in data gathering and data analysis about the behaviour of their systems. They can be roughly divided in two major groups: companies with huge amount of detailed data and companies without any data. The latter need to gather all data before proceeding to the next phase. Model building can be started only now. It needs to be stressed that during the construction of the model, there is always a possibility that the project plan needs to be corrected and system redefined. In the phases mentioned above, it is crucial to notice that people constructing the model need to cooperate with people working in the actual system. Management's full support is needed and the rest of the employees have to realize that simulation can give them support in decision making process. 502 Organizacija, Volume 38 Scientific Papers Number 9, November 2005 4 Pitfalls in Simulation As any other project, project of building and using simulation is frequently met with several risks which can lead to project failure. Typical reasons why simulation projects fail include the following (Law & David, 1991): □ Failure to state clear objectives at the outset □ Failure to involve individuals affected by outcome □ Being to technical and detailed in presenting the results to management □ Basing decision on a single run observation □ Failure to verify and validate the model □ Including more detail than is needed □ Failure to document and get a consensus on input data □ Overrunning budget and time constraints If the steps that have been outlined are followed, the chances of performing a successful simulation project are very good. 5 The case of production scheduling applying VIM and GA In order to demonstrate described procedure of above described methodology of how to design problem solving with simulation, we will demonstrate it on the concrete example. Although technically problem was perfectly solved, model validated, last steps of transferring it in praxis weren't realized due to the lack of proper communication between the methodology and users team and because of unfinished process of transition in ownership. Scheduling problem is a very important practical problem (Fang, Ross & Corne, 1993). Good scheduling method is crucial for assuring quality and profit (Gary & Johnson, 1979). In general is the scheduling problem in order industry is well known as NP-hard problem. NP is a set or a property of problems which can be solved by the known polynomial-time algorithm. In other words, problem can be solved with classical linear methods, but with large time consumption. A lot of effort has already been put into solving this problem, but there is still room for further improvement of presently existent methods. Good scheduling technique must find the optimum solution in reasonable time (Caseau & Laburthe, 1995). Hugh M. Cartwight says that genetic algorithms are made for solving scheduling problems (Cartwright, 1994). In 1963 Muth and Thompson were the first to tried solving the scheduling problem. They tried to solve a simple problem, composed of 6 different machines and 6 orders (6X6).This model is still used today - like benchmark problem to test scheduling method quality (Fang, Ross & Corne, 1993). Their goal was to make schedule order that would take as little production time as to make. Total time was used for fitness function. There are other ways for measuring scheduling quality, like optimal warehouse space usage, respecting due dates for product delivery. The mentioned method of measuring total time is simple and most common (Vaessens, Aarts & Lenstra, 1992). Three main steps in actual scheduling orders case: □ First step: the orders are arranged by confirmed date (the first column in table) and by status (second column in table). Orders with higher status and lower confirmation date are first in scheduling. Individual logical orders are marked with different colors. □ Step two: with GA help and simulation event model scheduling is created, to best satisfy chosen criteria - criteria is idle time on machines. Making order is registered in the last colon of the table. □ Step Three: The final part of scheduling order is shown. Orders which are lagging behind confirmed date will be created first, then the entire remaining order on established schedule. Detailed description of actual procedure of scheduling process by GA could be found in Breskvar (2002). Ordering companies are also more and more encountering the need to change already made up work orders -rescheduling. The cause for rescheduling lies in noticing, new orders arrival, urgent orders or machine brake downs. In this cases presents methods do not give us the luxury of simply making a new schedule from scratch. It would take to much time. It is for this reason that a new schedule must be done as quickly as possible from the existing one (Nakano, 1991; Fortemps, 2000). Beside checking gutted scheduling feasibility visual model is also used for users interactive presentation. With described scheduling method, we wanted to use existing planner knowledge about manufacturing and scheduling processes and supplemented it with a computer, which uses its power of fast computing for sourcing a good solution. Conventional and computer gathered results are also compared. The main advantage of the presented system lies in decomposing the scheduling problem, which presents extending of the article (Kljajic, Breskvar & Bernik, 2002), where the mode of using GA for planning production and visual presentation of production process with discrete event simulation (DES) model. 6 Production scheduling In building a system for scheduling order the existing way of scheduling work in examined firm was taken into consideration. The system itself imitates the work of planers and at the same time uses its ability of fast result sourcing in large space. Described scheduling system order is divided into two parts: □ grave schedule with criteria and □ final schedule with GA and visual event simulation model. 503 Organizacija, Volume 38 6. 1 Final scheduling with GA and visual simulation model After grave schedule is made it is necessary to make a working manufacture schedule. With the help of GA the separate schedule for each logical unit is made. Initial work order is just order of received orders. Scheduling quality is tested on discrete simulation model, which is on data based considered all main system function and limi- Number 9, November 2005 tations. New work schedules are developed from the initial population. By using GA we get from initial population new work schedule to new developed schedule. With GA we search for good schedule, the schedule which is good enough and close to the optimum solution (Nakano, 1991). GA process for necessity scheduling is shown on the Fig. 3. First generation is composed from random possible work orders. With discrete event simulation system it is as regards to system limitations, each order placed in sche- Scientific Papers Figure 3: Genetic algorithms and simulation evaluation in the scheduling process (Bernik, 2001) dule and for each working schedule in generation is calculated its quality regarding to fitness function. Fitness function represents minimal idle time on working locations. Selection between work orders is made by calculated fitness function value on individual schedule. New work orders are made with linear crossovers and gene mutation. They are placed into new generation by supplementing work orders with lower fitness function. Cycle of making a new generation is so closed. In described system is the criterion for GA stopping used fitness function. If there is no progress in ten progressive cycles, the stopping criterion is achieved. When GA is must be consider, that the- re is often a better solution from received (from optimal solution), but bye searching this optimal solution we would consume too much time. Simulation model is used for fitness function and for work order verification regarding to scheduling order (Fig. 4). On gathered data from firm data base, simulation model was considered individual operation work order, which is necessary for defining setup start time and work time for each work operation. Schedule is made separately for each logical unit with occupied precedent locations consideration. As a result we get as many work orders as different due dates. Work Figure 4: Comparison of the times needed and result quality of the two rescheduling methods 504 Organizacija, Volume 38 Scientific Papers Number 9, November 2005 orders are dependent on each other: if one work order in logic unit is changed, all work orders behind them are changed. 7 Comparison between manual and GA scheduling results The experiment was conducted in the case company with real world data for the duration of four workdays, where a new schedule was made each day. Using order data, we used the GA and DES model to obtain the final GA generation of possible schedules. A simulation model was used to verify and evaluate the historical schedules. The new schedules with GA were made for the same order data. With conventional method the idle time in manufacture is bigger than with GA and simulation event model method. We can summarize that using GA and simulation yields 5-15% production timesaving (Fig. 5), which translates into higher production utilization 1-6% (Fig. 6) and larger production throughput of the existing production system. Waiting time 30000 "c I 20000 o E 10000 1= □ Manual □ GA Day1 Day2 Day3 Day4 Figure 5: Comparison of conventional schedule with GA and sim. model idle time Resource utilization comparison 80 75 70 65 60 □ Manual □ GA Day1 Day 2 Day 3 Day 4 Figure 6: Comparison of conventional schedule with GA and sim. model production utilization If there were important changes in the production process, the orders were rescheduled with new data. Changes that warrant rescheduling are: ■ order cancellations, ■ new orders, ■ machine breakdown, and ■ unexpected obstruction in the production process. If an order is cancelled or a new order arrives, the scheduling can be performed from scratch or from the existing schedule (with new orders appended and cancelled orders erased). The time needed for re-scheduling is much shorter than for scheduling from scratch, as has been confirmed through experiments. A similar problem was the subject of research by Fang et al. (1993), with similar findings. Figure 7 shows the difference between the two rescheduling methods. At first, the GA took about 25 seconds to prepare schedules for the four days. Before the production start, another three orders arrived and rescheduling was necessary. Starting from scratch with three new orders, approximately another 25 seconds were needed to produce the new schedule. However, when the GA started using the existing schedule, the new orders were simply appended and the new schedule was ready in only seven seconds. Both methods produced the same final schedule. Final benefits of the presented system are: ■ On line review of production utilization ■ Aid in quality schedule development. ■ Greater flexibility (from weekly changes to daily changes), ■ Reduced impact of human factor on schedule, ■ Fast rescheduling in case of order changes, seasonal deviations and machine downtime. ■ Easier production tracking. ■ Real-time production resource utilization overview, ■ Successful usage of work and experience knowledge and ■ Using computer for fast computing Each company has a goal to manufacture more products with lowest costs and to satisfy market need (Dean, Greenwald & Kaelbing, 1994). As it is shown in results, with the use of described procedure production capacities are increased which results in higher production capacity, without additional production input. 8 Conclusion Simulation has become accessible to a wider range of users with evolution of simulation software packages. Packages allow easier model construction and easier understanding of simulation principles of people who are not experts in simulation. Unexploited simulation possibilities are above all in the production companies. These companies are faced with problems of long term production development and with daily production planning-op-timization problems. Simulation model can provide help with these problems as a decision support tool for example as in described case. It has to be admitted that simulation is rarely used in production companies. To ilustrate methodology a case of production scheduling system using genetic algorithms (GA) and a visual 0 505 Organizacija, Volume 38 Scientific Papers Number 9, November 2005 Picture 7: Comparison of the times needed and result quality of the two rescheduling methods discrete event simulation (DES) model is described. The main advantage of the presented system is logical problem decomposition. In our case planner is acting as a work order planner and he has the knowledge based on experience. Machine in a computer form is practically using man's knowledge. Knowledge is the main reason for reducing solution searching space, which is good scheduling work order. Computer is using its ability for fast computing and fine tuning man's scheduling work orders. We are talking about two scheduling stages - grave, which is made by man scheduling and computer fine scheduling. With scheduling problem separation in two stages the search space is significaly smaller, which results in excellent solution searching speed. For searching for ultimate solution in reduced but still big space we use GA method. GA method was proven to be very successful in solving numerous NP-hard problems. In our case it was proven that ultimate solution and problem must be appropriately presented to the final users. For this reason the visual simulation event model was used Increased use of simulation can be expected in production companies in the future. Companies which will decide for a new method of production optimization/management sooner will have significant advantage against their competition. 9 Acknowledgment The Ministry of Education, Science and Sport of the Republic of Slovenia supported this research program no. PP-0586-501. 10 References Bernik, I. (2001). Veckriterijsko razporejanje z genetskimi algoritmi in vizualno simulacijo s Petri mre ami, Doctoral dissertation. University of Maribor, Faculty of Organizational Sciences. Breskvar U. (2002). The dynamic production system scheduling problem with use of Genetic algorithms, Master thesis, Faculty for Organizational Sciences, Kranj. Carson, J.S. (1986). Convincing User's of Model's Validity is Challenging Aspect of Modeler's Job, Industrial Engineering, 18(6), 74-85. Cartwright, H. (1994). Getting the Time Right - The Use of Ge-netig Algorithms in Scheduling, Proceedings of Adaptive computing and Information Processing Conf., UNISYS, pp. 393-411, Brunel, London. Caseau, Y. & Laburthe, F. (1995). Disjunctive scheduling with task intervals, Tehnical report, LIES, Ecole Normale Superieure de Paris, France. Dean,T.L., Greenwald, L. & Kaelbling, L.P. (1994).Time-Critical Planning and Scheduling Research at Brown University, Tehnical Report CS 94-41, Dept. of Computer Science, Brown University. Fang, H.L., Ross, P. & Corne, D. (1993). A promising genetic algorithm approach to job-shop scheduling, rescheduling, and open-shop scheduling programs, Proceedings of the Fifth International Conference on Genetic Algorithms, pp. 375-382, Morgan - Kaufman, Urbana-Campaign, IL. Fehnker, A. (1999). Scheduling a steel plant with timed automata, Proceedings of the Sixth International Conference on Real-Time Computing System and Applications, (RTCSA 1999), IEEE Computer Society Press. Fortemps, P. (2000). Introducing Flexibility in Scheduling: the Preference Approach. Advances in Scheduling and Sequencing under Fuzziness, (R. Slowinski & M. Hapke, Eds.), pp. 61-79, Springer-Verlag, Heidelberg. Gary, M. R. & Johnson, D. S. (1979). Computers and Interactabi-lity. A Guide to the Theory of NP-Completeness, Freeman, New York. Harell, Charles R. & Kerim T. (1995). Simulation Made Easy, Industrial Engineering Press, Norcross, Georgia. Hoover, Stewart V. & Ronald F. Perry (1990). Simulation: A Problem Solving Approach, Addison-Wesley, Reading Massachusetts. Kljajic, M., Breskvar & U., Bernik, I. (2002). Production planning using a simulation model and genetic algorithms, Modelling and simulation : Proceedings of the IASTED International Conference, (Hamza, M. Ed.), Marina del Rey, CA, 506 Organizacija, Volume 38 Scientific Papers Number 9, November 2005 May 13-15, 2002, pp. 54-58, Acta Press, Anaheim ; Calgary; Zürich. Knepell, Peter L. & Deborah C. Arangno (1993). Simulation Validation, IEEE Computer Society Press, Los Alamitos, CA. Law, Averill M. & David W. Kelton (1991). Simulation Modeling Analysis, McGraw-Hill, Boston IL. Law, A. M. (1991). Designing and Analyzing Simulation Experiments, Industrial Engineering, pp. 20-23. Nakano, R. (1991). Conventional Genetic Algorithms for JobShop Problems, Proceedings of the Fourth International Conference on Genetic Algorithms, (R.K. Belew & L.B. Booker, Ed.), San Mateo, pp. 474-479, Morgan Kaufmann. Saltzman, R. (1997). An animated simulation model for analyzing on-street parking issues, Simulation, 69(2), pp. 79-89. Thesen, A, & Travis L. E., (1992). Simulation for Decision Making, West Publishing Company. Vaessens, R.J.M., Aarts, E.H.L., & Lenstra, J.K. (1992). Job Shop Scheduling by Local Search, INFORMS J. on Computing, 8 (1996), 302-317. Uroš Breskvar has received his Ph.D. in the field of organizational sciences in 2005. His major research interest covers the fields of parallel genetic algorithm for optimization of production systems and decision support systems. He has been awarded by the Trimo industrial research award for his masters and doctoral thesis. Miroljub Kljajic - rec biography on page 518. 507