DOi: 10.2478/V10051-012-0022-4 The Need for Simulation in Complex Industrial Systems Khalid Aboura1, Miroljub Kljajič2, Ali Eskandarian3 2 1University of Technology Sydney, School of Civil and Environmental Engineering,15 Broadway, Ultimo, NSW 2007, Australia, kaboura@eng.uts.edu.au university of Maribor, Faculty of organizational sciences, Kidričeva 55a, Kranj, slovenia; miroljub.kljajic@fov.uni-mb.si the George Washington university, department of physics, 805 21st street, NW, suite 301, Washington, Dc 20052, u.s.A.; ea1102@gwu.edu We discuss the concept of simulation and its application in the resolution of problems in complex industrial systems. Most problems of serious scale, be it an inventory problem, a production and distribution problem, a management of resources or process improvement, all real world problems require a mix of generic, data algorithmic and ad-hoc solutions making the best of available information. We describe two projects in which analytical solutions were applied or contemplated. the first case study uses linear programming in the optimal allocation of advertising resources by a major internet service provider. the second study, in a series of projects, analyses options for the expansion of the production and distribution network of mining products, as part of a sensitive strategic business review. using the examples, we make the case for the need of simulation in complex industrial problems where analytical solutions may be attempted but where the size and complexity of the problem forces a Monte carlo approach. Keywords: simulation, linear programming, multi-echelon inventory, production process. 1 Introduction Physical sciences attempt to put into equations the world surrounding us. Even when those equations are known, it is hard to predict the outcome of events subject to a combination of rules. When designing an airplane, engineers test a model in wind tunnels. The turbulence and the aerodynamic forces are too complex to allow an analytical prediction. Simulating in a wind tunnel is the alternative. The act of reenacting a behavior many times in a simulation allows estimation and inference. When looking into complex industrial systems, the difficulty is due to the fact that many components interact and some have stochastic components. Often simulation is the only resort to predicting the behavior of the system. Time is taken to be discrete, in small intervals, to allow the modeling of the system in what is called discrete-event simulation. In discrete-event simulation, the operation of a system is represented as a chronological sequence of events. A large body of literature exists on carrying out discrete-event simulation in systems that lead themselves to the approach. In essence, there are three parts; (1) the construction of a conceptual framework or model that describes the system, (2) the simulation, that is perform experiments using computer implementation of the model and (3) the analysis and drawing of conclusions from the computer model output. A number of books have been written, a classic being Ross (2006). There is a large number of open source and commercial software. Many researchers and entire firms specialize in simulation. We describe two projects in which analytical solutions were applied or contemplated. The first case study uses linear programming in the optimal allocation of advertising resources by a major internet service provider. The second study, in a series of projects, analyses options for the expansion of the production and distribution network of mining products, as part of a sensitive strategic business review. Using the examples, we make the case for the need of simulation in complex industrial problems where analytical solutions may be attempted but where the size and complexity of the problems force a Monte Carlo approach. 1.1 Dynamic allocation of web advertising resources America Online (AOL) was the largest internet services provider in the late 1990's. It was a leading company in times of the Dot-com bubble. The internet boom created a steady commercial use of the internet and AOL was selling a lot of advertising on its web pages. Clients contracted for advertising Received: 31th January 2012; revised 14th March 2012; accepted 29th June 2012 time and their respective contract sizes were constantly changing. The ensuing dynamic process of bookings and reservations created a serious planning problem. The problem was further complicated by the clients' choices. Each client chose a designated advertising area, a class of web pages in which to advertise. The policy of AOL for accepting all orders, in a highly dynamic reservation process, created difficult situations and bottlenecks. To bring improvement, Theoretica Inc. was contracted for the development of solutions (Aboura et al., 2001). Linear programming models were developed capturing the decision rules favored for allocating and re-allocating the advertising resources. Linear programming is a powerful tool used successfully in many complex problems. It proved useful again in this situation. However, when the size of the problem grows in such planning problems, the computing becomes difficult and brings about the consideration of simulation. 1.2 Facilities planning for production and distribution Three studies were conducted for an Australian chemical company that produces, stores and sells ammonium nitrate to mining companies in Australia and overseas (Aboura et al., 1994; Aboura et al., 1995a; Aboura et al., 1995b). The chemical company is one of the world's leading suppliers of commercial products to the mining industry. The ammonium nitrate is a white inorganic salt with a melting point of 169.6 Celsius. It is an oxidizer which can make fuel substances burn more intensely than with air only. Air contains 21% Oxygen while ammonium nitrate contains 60%. Many forms of ammonium nitrate can be used to make a blasting agent. The company's product is in the form of small porous spherical prills. The porous prill form is preferred for several reasons. It has good chemical properties, good physical properties and is easy to handle, distribute and store. The company also produces a gel form of the product for an easier use by the mining clients. For the products distribution to the mining industry, the company set up on-site plants near the mines. The on-site plants receive the ammonium nitrate products from regional distribution centers by trucks. The regional centers receive the ammonium nitrate prill and the ammonium nitrate liquor from the manufacturing plant by rail and road. There is also an onsite delivery system where the products are delivered directly to the customers from the plant. The goals of the research projects were to; (1) compare different configurations to the existing production/distribution system, (2) simulate the operations of the plant and (3) develop an inventory/distribution model for the production facility. In the first problem, alternative configurations of a Table 1: Definitions and terminology AdSpace Advertising entity where a client's ad can be placed. It is an entity to which an order's demand or part of that demand can be assigned. Differently phrased, an AdSpace allocates advertising resources to a customer's order. Group A set of AdSpaces. Such sets are formed to organize the AdSpaces under a common marketing theme. An AdSpace can be placed in one, two or more groups. Client A client is a customer that contracts for advertising. A client may have one or more contracts over a specified period of time. Contract An agreement that specifies a customer's order to place an ad in one or several groups of choice. Order A contract creates an order for placing an ad for a certain amount of advertising resources. Group(s) of Choice A group or groups preferred by a client's contract. The group(s) of choice is part of the order along with the magnitude of that order. AdSpace Id A number that identifies an AdSpace. Group Id A number to identify a group. Group Intersection The intersection of two groups is the set of AdSpaces that belong to both groups. Adjacent Groups Two groups are said to be adjacent if they intersect. Impressions One unit of advertising resource is an impression unit. AdSpace Availability The number of impressions available for allocation from an AdSpace. AdSpace Capacity The maximum availability of an AdSpace is the capacity of the AdSpace. multi-echelon production and distribution system were evaluated. The relevant differences in the configurations considered were the setup, inventory and transportation costs and the availability of product (costs vs stockouts). The mining customers do not plan their demand. The company has to deliver upon demand, the next day the command is made. The on-site-plants located near the customers had limited storage capacity and needed some time to replenish from the regional center. Even more time was needed to deliver from the plant to the regional centers. To store the liquid form at the on-site plants required special and expensive storage tanks. All of this made for a production/distribution system that had a Just-in-Time operating mode. In addition, the demand was expected to increase substantially over the next years and the company was looking at expanding its distribution network in the most efficient way. 2 Research Methodology for Dynamic Group Reservation In this section we present the research methodology applied in the analytical study phase of the Dynamic Group Reservation project (Aboura et al., 2001). The analytical study phase consisted of determining solution approaches and methodology for the optimal allocation of web advertising resources for America Online (Section 1.1). 2.1 Definitions and terminology The service provided to customers is the placing of the customers' ads in web advertising spaces. The advertising spaces are referred to as Ad Spaces, or AdSpaces for ease of terminology. The AdSpaces are limited in number and their number varies over time due to the creation and elimination of some of these AdSpaces. The AdSpaces are entities with advertising resources measured in number of impressions. At a point in time, an AdSpace may be used to a certain percentage of its capacity. The remaining resources make up that AdSpace's availability. In Table 1, we introduce some definitions and terminology. An AdSpace allocates resources to an order by providing a number of impressions to satisfy the order's demand or part of it. When an AdSpace allocates resources towards the demand of an order, we define that part of the demand that has been satisfied by the AdSpace as having been assigned to that AdSpace. The two operations, allocation and assignment are the same. The former applies to the resources going out of the AdSpace while the later refers to the ad (in a number of impressions demanded) going into the AdSpace. The groups are labeled G1, Gj, G3 ^ . They may also be referred to as A, B, C ^ . AdSpaces are labeled MN1, MNj, MN3 or simply 1,2,3 as understood from the context of the situation being described. The orders from different contracts are referred to as O1, O2, O3 ^ The AdSpaces capacities are labeled c1, c2, c3 ^ . AdSpace utilization is the percentage of impressions already allocated, that is (capacity - availability) x 100 / capacity. The AdSpaces utilizations are labeled u1, uj, u3 ^ . 2.2 The Basic Allocation/Assignment Problem We first considered the problem of how to re-allocate resources so that a set of arriving demands can be satisfied. This problem is called the Basic Allocation/Assignment Problem. The solution to the basic problem provides the solution to the more general problem of optimally allocating advertising resources over large periods of time. In the basic problem, the new order is labeled an arriving order with an arriving demand. The problem is how to allocate resources to this new demand from its group(:s) of choice when some of the resources of the AdSpaces of those group have already been allocated. A customer order's demand may be divided so that its parts can be assigned to different AdSpaces. Suppose that an arriving order O is of magnitude d0. Suppose that the corresponding contract states the group A as its group of choice. That is, the corresponding customer prefers that the ad appears in group A for a number d0 of impressions. In this basic case, the contract targets only one group. In general, the contract may specify additional groups of choice. If there is enough availability in group A, that is the sum of unused advertising resources in the AdSpaces of group A are greater than or equal to d0, then the order O is satisfied. d0 is divided among some or all the AdSpaces in group A. The availabilities of the AdSpaces providing resources to satisfy the demand are reduced by the amount they provide. If one AdSpace in A can accommodate the whole of d0 then there is no need to divide d0. This situation is ideal as the problem is solved easily. Most often it is not the case. The interest is on solving the problem when the arriving order does not find enough availability in that group. To be able to assign the demand d0 in A when the total availability in A is less than d0, previously assigned demands in AdSpaces of A (or parts of previously assigned demands) are reassigned to other AdSpaces in groups other than A. Preferably, this reassignment is done in adjacent groups of A so that demands moved are not 'too far' from their group of choice. That is, by reconsidering previously made assignments, enough resources in group A are freed to accommodate the arriving demand d0. This re-allocation is done so that the new order is satisfied while all previous demands also remain satisfied. The problem is to find the best way to do a reallocation and create a minimal displacement of previously assigned demands from their current AdSpaces. We present two solutions. We first discuss an Ad-hoc solution favored by the planning department. We then present the optimal linear programming solution. 2.3 Groups-AdSpaces structure The AdSpaces are numerous and their large number creates the complexity of the problem. For the sake of the analytical study, we considered the number of AdSpaces to be constant over time. The solutions can be extended to the case where new AdSpaces are created and some existing ones eliminated. Groups are sets of AdSpaces. An AdSpace can belong to many groups. This creates a topology that is important to the resolution of the problem. Upon analysis, the Groups-AdSpaces structure revealed a clustered form. Some sets of groups form clusters, as symbolically shown in Figure 1 where a Venn diagram set represents a group. The result allowed us to focus attention to a cluster of groups therefore reducing the size of the problem. This was done through some mathematical modelling techniques such as dummy variables to artificially divide the set of groups into clusters. For the reminder of the work, we assume that our world is a cluster. We define a cluster of groups as being a set of groups that can be connected to each other through a series of intersections. Figure 1: Cluster structure of groups We then introduced the notion of a distance between groups. This measure is essential to the construction of a solution. Let A be a group. We first define the distance of A to itself as being zero. We use the notation Dist(A,A) = 0. Let B be another group. A and B are not the same group but they do intersect. We define the distance of B to A, and by symmetry the distance of A to B, as being Dist(A,B) = Dist(B,A) = 1, if A n B ^ 0. Let C be another group. Assume that C does not intersect with A but C does intersect with B. We define the distance of C to A to be 2; Dist(A,C) = 2, if A n C = 0, A n B ^ 0 and B n C ^ 0. The group distance is defined as the Figure 2: Two groups linked through two series of intersecting groups minimum number of groups needed to link the two groups. In Figure 2, we illustrate the case where two groups are linked through a series of intersecting groups. However, it is the minimum number of groups in one series that provides the value of the distance from one group to the other. The solution to the problem is the specification of assignment made to AdSpaces. In order to construct a solution algorithm, we must define the distance between two AdSpaces. Let two AdSpaces be MNi and MNj. We define the distance of these two AdSpaces to be zero if they are the same AdSpace; Da(MNi,MNj) = 0, if i = j. If the AdSpaces belong to the same group, then similarly Da(MNi,MNj) = 0. Otherwise, let Da(MNi,MNj) = minimum Dist(A,B), the minimum taken over all the groups A and B such that MNi e A and MNj e B. The distance of two AdSpaces that do not belong to the same group is the minimum distance between the groups to which these AdSpaces belong. Figure 3 shows an example. Figure 3: Distance between AdSpaces 2.4 Ad-hoc Solution: The Top-Down Approach Consider an arriving order O that carries a demand d0 for its group of choice A. Suppose that group A intersects with groups B, C and D. Suppose that groups B and C intersect with group E and group D intersects with group F. Furthermore, in this example, groups A, E and F do not intersect. F does not intersect with either B or C nor does E intersect with D. Figure 4 shows a representation of these groups. If the availability of group A, that is the sum of the availabilities of its AdSpaces, is greater than or equal to d0, then the order is satisfied. If d0 is greater than the availability of group A, let e = d0 - Availability(A). e is the part of the arriving order that could not be assigned to group A. To satisfy the order, we must free resources in A. Based on the premise that we allow moving orders (or parts of) already assigned to neighboring AdSpaces and groups, we reassign some of the content of the AdSpaces of A into AdSpaces of groups B, C and D. If it is possible to do so for at least e impressions, we have solved the problem, at least until the next order. However, the availabilities of groups B, C and D may not add up to e. In which case we must move some of the content of the AdSpaces of Figure 4: Groups A, B, C, D, E and F B and C into AdSpaces that belong to group E. If still necessary, we also do the same to AdSpaces in D and move some of their content into group F. In this manner, we free enough resources in B, C and D, which in turn free enough for the remaining unsatisfied amount e in A. We prefer that all assignments are made as close as possible to their groups of choice. In assigning a quantity from an order, or reassigning a number of impressions from an AdSpace, we choose an AdSpace that is either in the group of choice or the same group for an already assigned quantity. The next preferred AdSpace would be in an adjacent group, then in a group that is adjacent to an adjacent group and so on. We can see that a hierarchical notion would organize the cluster. We use the notion of distance. With the measure of distance between groups of a cluster, we can formally describe the Top-Down approach. Dist(A,B) = Dist(A,C) = Dist(A,D) = 1, Dist(B,E) = Dist(C,E) = Dist(D,F) = 1 and Dist(A,E) = Dist(A,F) = 2. Dist(B,C) = 1, Dist(D,E) = Dist(B,F) = Dist(C,F) = 3 and Dist(E,F) = 4. We organize Figure 5: Hierarchical Structure these 6 groups into a hierarchical structure according to their distances to group A, as shown in Figure 5. To proceed with order O, we go from one hierarchical level to the next lower one to free resources so that they can be allocated to the higher hierarchical level. This is the Top-Down Approach. In applying the Top-Down Approach, we add up the distances traveled by quantities of impressions from one group to another. The algorithm reassigns quantities but keeps track of the total distance traveled. The goal is to determine the minimal total sum of distances traveled to satisfy the arriving demand. Suppose that a unit of impression is moved to the lower level, incurring a cost of 1 since the traveled distance is 1. But to do so we need to move another unit of impression from that lower level to its next lower level to make space for the first unit. The total cost becomes 2. In the Top-Down Approach, the solution prohibits that first unit from jumping down two levels unless it has to. However, if we use the algorithm basing ourselves only on the notion of distance, we may be overlooking the case where a unit jumps two levels down when it can be avoided. To make sure the algorithm performs according to the solution concept, we introduced a function to weight the distances. Let W(.) be a real function that applies to a distance between two groups. W(.) is such that W(Dist(A,B)) < Dist(A,B) for all distinct groups A and B except the most distant ones, W(0)=0 and W(Dmax)=Dmax, where Dmax is the maximum distance found in the cluster. It is a function that rescales the distances. For example, a simple function W(.) would be W(x) = x2/Dmax. If we now instruct the algorithm to keep track of not the distances, but of the weighted distances W(Dist(.,.)), then we will assure that the jump cited above does not occur. The proof of this is simple and will be omitted here. By introducing the notion of weighted distances among groups, we force the algorithm to perform precisely as desired by the Top-Down Approach. The same weight function needs to apply to distances between AdSpaces. 2.5 Linear Programming Solution The Top-Down Approach provides a sensible answer to the Basic Allocation/Assignment Problem. However, as we will show in this section, one can do better in terms of minimizing the total displacement. We revisit the example used in the previous section. We add to the 6 groups considered a seventh group G. We make group G the second group of choice. Figure 6 shows how G relates to the other 6 groups. We assume that d0 = 15; A is full and has capacity 10. The availabilities of groups B, C, D, and E are zero. The availability of F is 10. G has a capacity of 20 but is being utilized at 50%. Availability of G is 10. Let us assume further that no other group is relevant to this example. Solution one may start by considering first how to allocate as much as possible from group A to the new order, then if remaining, it would then turn to group G. In this case, the cost incurred is 10(.2) + 10 (.2) + 0 = 4, since W(1) = 1/5 = .2, as we assume that Dmax = 5 in this example. We are using the weighting function described above. Since 10 units are first moved from D to F, then 10 units are moved from A to D to make room for 10 units of the new demand, and since the cost of putting the remaining 5 units in G is zero, then the total cost is 4. However, if the Figure 6: Example with a seventh group G Top-Down Approach algorithm was to start with G, then the cost would be 0 + 5(.2) = 1, since 10 units are assigned immediately to G, then 5 units previously assigned to G are moved into F therefore freeing another 5 units in G. The difference in displacement is important. One may then rank the groups of choice in order to start the solution algorithm with the most available group. Perhaps, but then consider the same example with F having an availability of 15 and G is full. In this case, the Top-Down Approach would have to fill up F as it is the only remaining availability of the sub-system we are considering. If the Top-Down Approach starts by considering group A as the first target, the incurred cost is 10(.2) + 10(.2) + 5(.2) = 5, whereas starting with G leads to a 15(.2) = 3 cost. One may now think of developing other criteria for ranking the groups of choice as sequential targets for assigning the new demand. One can probably devise such a method. However, as the number of groups of choice increase, one is forced to start looking for a global approach to the problem. To do so, we revert to a mathematical formulation of the problem that would extend the idea of the first solution and considers all the interdepend-encies of the groups, their capacities, their availabilities and their AdSpaces at the same time. The mathematical model is a linear programming problem. The solution, in concept, is to empty all the AdSpaces relevant to the problem, add the new demand d0 to the problem and refill the AdSpaces so as to minimize the total displacement. Consider a set of groups that are relevant to the problem and let their AdSpaces be MN1, MNj, MN3, _ , MN„. Next, we setup a fictitious AdSpace, call it MN0, that has capacity 0. Let c0, c1, c2, c3, cn be the capacities of the respective AdSpaces, including the dummy AdSpace. Let d0, d1, dj, d3, d„ be demands constructed as follows; d0 is itself, that is the new demand we want to assign to some groups of choice. dj, j = 1, 2, 3, n, is the content of AdSpace MNj before we just emptied it. In other words, dj is what was assigned to AdSpace MNj before we started looking at the new demand. Let vi,j, i = 1, 2, 3, n, j = 1, 2, 3, n, be the decision vari- ables of the mathematical model. Let wi,j, i = 1, 2, 3, n, j = 1, 2, 3, n, be the weighted distances of AdSpaces MNi and MNj. That is wi,j = W(Da(MNi, MNj)), i = 1, 2, 3, n, j = 1, 2, 3, n. Let w0,j = wj,0, j = 1, 2, 3, n be such that w0,j = 0 if Nj is an AdSpace that belongs to one of the groups of choice, and w0,j = minimum W(Dist(GC,G)), the minimum taken over all groups of choice and all groups to which AdSpace MNj belongs. w0,j is the minimum weighted distance from any group of choice to AdSpace MNj, that is to groups to which AdSpace MNj belongs. We now define vij to be that part of the demand dj that will be assigned to AdSpace MNi. We have emptied the AdSpaces from their contents to construct n fictitious new demands, in addition to the new demand d0. We now want all these demands to compete going back into the AdSpaces. vij represent that part of demand dj that will be going into AdSpace MNi. The mathematical formulation is: min X S w v. i=0 j=0 ' j ' Subject to ILv < c jO ' ^ ' For all i, i = 0, n, = d For all j, j = 0, n, v > 0. The AdSpaces have capacities that cannot be exceeded. We introduce this part of the problem in the form of constraints on the decision variables. We do not want to assign more than the existing demands and the new one, in this problem. We therefore add another set of constraints on the decisions variables. All the decision variables must be non-negative. This is a formulation known as the Transportation Problem, a special case of linear programming. The mathematical problem seeks the minimization of the objective function. The final value of the objective function will give a magnitude of how much the quantities in the AdSpaces got reshuffled. If the value of the objective function is 0 (zero), it means that nothing was moved from its original location (the dj s returned to the groups from which they came, and d0 found space in groups of choice), or that the only reassignments occurred within the same groups. If the final value of the objective function (that is the value returned after the run of the algorithm) is moderate, then the quantity displaced is moderate. The objective function is a score function that tells us how much displacement needs to occur so that we can insert the new order. 3 Research Results 3.1 Resources allocation problem In the linear programming formulation of the optimal allocation of web advertising resources, if the number of decision variables n + 1 is large, the solution becomes difficult to track in real time. The properties of the transportation problem allow determining how big n needs to be. A necessary and suf- ficient condition for the existence of a solution is that the total capacity of all the AdSpaces considered must be greater than or equal to all the total quantity we want to assign to them. When a new order do arrives, we need only to go down the groups such that we have enough AdSpaces considered, i.e. n is large enough so that the above condition is satisfied. By doing so we restrict the size of the problem. However, n may still be very large and may cause computational problems. A set of programs to implement the solutions was developed comprising three main routines, supporting interface and a utility for the analysis of data sets. The solution was applied on sets of data and observed to perform adequately. However, overnight the Dot-com bubble burst. The study was eventually abandoned. The demand for advertising decreased so rapidly the bottlenecks disappeared. While the solution remained a viable approach, we could foresee difficulties in applying it to the whole system, in view of the size and complexity involved. 3.2 The production/distribution problem Part of the facilities planning problem for production and distribution of Section 1.2 is a simple version of a multiechelon, multi-indenture inventory problem. A lot of research has been conducted in the development of analytical solutions for multi-echelon, multi-indenture inventory problems. The solutions make simplifying Poisson assumptions to utilize Palm's theorem (Cox and Miller, 1977) in Queuing theory. The solutions are steady-state measures of effectiveness. The METRIC family models of the US Air Force or ACIM of the US Navy are solutions based on the Poisson assumption (Sherbrooke, 2004). In some cases, solutions must be tailored. A mix of generic, algorithmic and Ad-hoc solutions were applied to the IBM distribution network. OPTIMIZER was developed in 1983-84 by IBM researchers and academic team (Cohen et al., 1990). It presented a system for flexible and optimal control of service levels and spare parts inventory that addresses IBM's inherent complexity and very large scale problem. OPTIMIZER greatly improved IBM's Service Business, resulted in reduced inventory investment and operating cost and improved service levels and proved to be highly flexible. However, it took many years to develop and required the willingness of IBM to drastically change its inventory management policy. In the case of the production/distribution problem of Section 1.2 for comparing different configurations, an analytical solution was considered. However it would have landed short as the system was too complex to accept simplifying assumptions. For reasons of commercial competitiveness, the company was in need of a solution as the market was expanding and the competition was swift between the different providers. Simulation became the most sensible approach. It took into account all relevant details and delivered a quick comparison between all considered expansion configurations, along with good estimates for forecast values. Company managers have also an easier attitude towards a simulation model once validation is conducted. The simulation was conducted with an animated solution. A simulation of three system configurations was conducted after a proper statistical analysis and modeling of all stochastic components. The statistical analysis looked at customer demand, daily production, frequency of train departures and other characteristics. A statistical model was developed for each on-site plant that allowed build-in annual increase. For the simulation, runs of several replications for a period of two years were made. Most statistics didn't require a larger number of replications for variance reduction. A confidential conclusion was reached (Aboura et al., 1994) that preceded a major expansion of the company in the mining sector. Satisfaction was expressed by the company and led to two other projects whereby a simulation of the operations of the plant was conducted in detail along with the simulation of its inventory and distribution system in Australia and overseas (Aboura et al., 1995a, Aboura et al., 1995b). 4 Discussion Linear programming is well suited to allocation problems. In the Basic Allocation/Assignment Problem, we assign orders to AdSpaces or equivalently allocate resources from the AdSpace to a contract. These types of problems have been well studied and the transportation problem solution applies well. The general transportation problem is concerned with distributing any commodity from any group of supply centers, called sources, to any group of receiving centers, called destinations, in such a way as to minimize the total distribution cost. Any linear programming problem that fits this special formulation is of the transportation problem type, regardless of its physical context. Linear programming proved valuable for modeling many and diverse types of problems. Scientific research on the topic dates to the 1950's when the Simplex Method was developed by Dantzig (Rardin, 1998). Linear programs in thousands of variables and constraints are nowadays viewed as small. However, in a booking environment like that of the web advertising company, time is of the essence and the computational speed becomes an important issue. The Simplex Method has a number of iterations that seems linear in the size of the problem. Klee and Minty (1972) however found examples where the number of iterations performed by certain variants of the method was exponential. In general, linear programming problems can be solved in time polynomial. But these results proved theoretical. Consequently, other methods, known as interior-point methods were developed in the 1980's, based on the idea of a logarithmic barrier path studied by Fiacco and McCormick (1990). On the other hand, computer simulation has become an indispensable tool for understanding the dynamics of complex industrial systems. Many successful businesses intensively use simulation for operational and strategic planning. Potential problems can be avoided by testing the operative and strategic business plans. Simulation, supported with animation, which demonstrates the operations of the modelled system, helps participants recognize the specifics of the presented system (Kljajic et al., 2006). Kljajic et al. (2000) describe the methodology and procedure of implementation of simulation methods in solving the decision-making problem in a medium-sized company in order to improve the operation planning and reengineering process. Multiple criteria decision methods of the simulation scenario evaluation for decision support in the manufacturing system are described. The system described is based on the system dynamics methodology (Forrester, 1961) combined with discrete event simulation, connected with a group support system (GSS) and an expert system. In a factory which produces concrete goods, problems of production management occur, as well as prolonged delivery time due to increasing demand. The production performance described in the article was planned and simulated on the basis of present and expected future demand. The evaluation criteria and business goals were gained by GSS methods in connection with the method of the Analytical Hierarchy Process (Saaty, 1990). It is often the case that simulation is combined with analytical approaches. Kljajic et al. (2001) describe an integrated simulation system for decision support making in enterprise. The business aspect of the simulation system was described by the Forrester's system dynamics, while the production aspect has been modelled using the discrete event simulation block diagram technique and Petri Nets. Kljajic et al. (2002) describe an approach to using simulation and visualization of discrete event oriented simulation models for multi-criteria scheduling optimization with genetic algorithms. The methodology provided the planner with a quick and efficient scheduling method for the production plan. The scheduling system is composed of a business information system; a database, a discrete event simulation model and a scheduling algorithm. By comparing various scheduling methods, it was established that the system utilizing genetic algorithms and simulation yielded from 5% to 15% better scheduling within a shorter time compared to manual scheduling. Genetic algorithms were also used in combination with simulation in Kofjač et al. (2008) in a real-case production optimization. Simulation is a powerful tool for modeling system dynamics. It can be applied to a variety of complex industrial systems. Finally, there are situations that cannot be modelled analyticaly. For example, in a plant where two overhead cranes operate simultaneously on the same rails, the daily output cannot be modeled unless the movement of the cranes is modeled. However, such traffic relies heavily on the coordination between the crane drivers, a set of rules and the large production traffic bellow the cranes (Welgama et al., 1996). 5 Conclusion While an analytical method such as linear programming provides a solution at times, as in the bottleneck problem of the AOL booking system, the solution may be hard to implement. On the other hand, simulation proved to be an effective tool in the planning problem for the production and distribution of mining products. We make the point that, in complex industrial systems, simulation provides a better approach in designing and testing a solution. The fast paced and constantly changing reservation system prohibits a static mathematical formulation. Modern simulation software can handle the problem as long as good statistical input is provided. An analytical solution like linear programming can easily blow up in size and prohibit a realistic solution. Furthermore simulation provides a way to test the system for different forecasts, an issue of importance in most problems. A Monte Carlo approach is an effective approach to resolve serious issues in complicated setups. At times, there are complexities that simply cannot be modelled analyticaly but have a great impact on final assessments. If care is taken in modelling the problem, simulation offers a better solution and often allows to consider changes as the solution develops. As shown using the two examples, some situations are best modeled using simulation. References Aboura, K., Sparks, R. & Welgama, P. (1994). CSIRO collaboration with ICI Explosives on development of a facilities planning system for AN explosives services to mining; Report on evaluation of Yarwun alternatives. CSIRO. (Confidential Report No. DMS-D 95/65). Aboura, K., Sparks, R. & Welgama, P. (1995a). CSIRO collaboration with ICI Explosives on the ammonium nitrate inventory and distribution study. CSIRO. (Confidential Report No. DMS-D 95/88). Aboura, K., Sparks, R. & Welgama, P. (1995b). CSIRO collaboration with ICI Explosives on the Yarwun ammonium nitrate study. CSIRO. (Confidential Report No. DMS-D 95/66). Aboura, K., Eskandarian, A. & Lomita, D. (2001). Dynamic allocation of web advertising resources. Theoretica Inc. (Technical Report 2001). Cohen, M.A., Tekerian, A., Kamesam, P., Lee, H. & Kleindorfer, P. (1990). OPTIMIZER: IBM's Multi-echelon inventory system for managing service logistics. Interfaces. 20(1), 65-82, http:// dx.doi.org/10.1287/inte.20.1.65 Cox, D.R. & Miller, H.D. (1977). The Theory of Stochastic Processes. London: Chapman and Hall Fiacco, A.V. & McCormick, G.P. (1990). Nonlinear programming: Sequential unconstrained minimization technique. Philadelphia: Society for Industrial and Applied Mathematics. Forrester, J.W. (1961). Industrial dynamics. Cambridge, MA: MIT Press. Klee, V. & Minty, G.J. (1972). How good is the Simplex algorithm in inequalities. In Shisha, O. (Ed.), Inequalities, III (159-175). New York: Academic Press Kljajic M., Bernik I. & Škraba A. (2000). Simulation approach to decision assessment in enterprises. Simulation. 75(4), 199-210, http://dx.doi.org/10.1177/003754970007500402 Kljajic M., Bernik I., Škraba A. & Leskovar R. (2001). Integral simulation approach to decision assessment in enterprises, Shaping future with simulation. In the 4th International Eurosim 2001 Congress. Delft University of Technology. Kljajic M., Breskvar U. & Bernik I. (2002). Production Planning Using a Simulation Model and Genetic Algorithms. IASTED, Modelling and simulation. 54-58. Kljajic, M. & Kofjač, D. (2006). The virtual reality as an anticipative concept in warehouse optimization in uncertain environment. AIP Conf. Proc. 839, 314-321, http://dx.doi.org/10.1063/1.2216640 Kofjač, D. & Kljajic M. (2008). Application of genetic algorithms and visual simulation in a real-case production optimization. WSEAS Transactions on Systems and Control archive. 3(12), 992-1001. Rardin, R. L. (1998). Optimization in Operations Research. Upper Saddle River, New Jersey: Prentice-Hall, Inc. Ross, S. M. (2006). Simulation (4th edition). Burlington, MA: Elsevier Academic Press Saaty, T.L. (1990). Multicriteria decision making; The analytic hierarchy process. Pittsburgh, PA: RWS Publications Sherbrooke, C. (2004). Optimal inventory modeling of systems; Multi-echelon techniques. Boston: Kluwer Academic Publishers Welgama, P., Mills, R.G., Aboura, K., Struthers, A. & Tucker, D. (1996). Evaluating options to increase production of a copper smelter aisle: A simulation approach. Simulation. 67(4), 247267, http://dx.doi.org/:10.1177/003754979606700404 Khalid Aboura has extensive experience in Reliability, Maintenance Optimization, Simulation, Forecasting, Decision Analysis, image Analysis, stochastic Modelling in operations research and Engineering problems, and Mathematical optimization. He served as the chairman of the statistical computing section of the Washington statistical society. Miroljub Kljajic completed his ph.d. at the faculty of electronics in Ljubljana in 1974. he is a professor emeritus at the faculty of organizational sciences in Kranj in the area of systems Theory, cybernetics and computer simulation. his main fields of research include decision support systems in global e-commerce and methods of modeling and simulation of organizational systems. he has been the principal investigator of many national and international modeling and simulation projects. he was the head of cybernetics and decision support systems at university of Maribor, faculty of organizational sciences. As author, he has published more than 30 scientific articles recognized in sci with more than 300 citations. Ali Eskandarian is a theoretical physicist and dean of the college of professional studies & virginia science and technology campus at the George Washington university, Washington Dc. he previously held the distinguished oliver professorship in the integrated science and technology department at the James Madison university. Potreba po simulaciji kompleksnih industrijskih sistemov v članku razpravljamo o konceptu simulacije in njeni uporabi pri obravnavi kompleksnih industrijskih procesov. večina zapletenih industrijskih problemov, kot so vodenje zalog, proizvodnja in distribucija, upravljanje virov ali izboljšave procesa, zahtevajo kombinacijo različnih metod kot na primer linearno programiranje, ad-hoc algoritmi ali simulacija za reševanje problemov na podlagi razpoložljivih informacij. v članku smo opisali dva projekta kjer smo ubrali analitično pot in kritično razmišljali o njej. v prvem primeru smo uporabili linearno programiranje za optimalno alokacijo marketinških virov za glavnega inter-netnega ponudnika storitev. drugi primer sestoji od vrste projektov, kjer analiziramo možnost razširitve proizvodnje in mreže dostave rudarskih izdelkov kot del občutljive strategije poslovne politike podjetja. Na podlagi primerov smo utemeljili potrebo po Monte carlo simulaciji v kompleksnih industrijskih problemih kot bolj učinkovitega pristopa od analitičnega. Ključne besede: simulacija, linearno programiranje, proizvodnja, več-nivojska skladišča