http://www.spinellis.gr/pubs/conf/1999-DSI-exPLOre/html/explore.html This is an HTML rendering of a working paper draft that led to a publication. The publication should always be cited in preference to this draft using the following reference:
Citation(s): 5 (selected). This document is also available in PDF format. The document's metadata is available in BibTeX format. Find the publication on Google Scholar This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder. |
Diomidis Spinellis
University of the Aegean
Department of Information and Communication Systems
Samos, Greece
e-mail: dspin@aegean.gr
Chrissoleon T. Papadopoulos
University of the Aegean
Department of Business Administration
Chios, Greece
e-mail: hpap@aegean.gr
The general design problem in serial production lines concerns the allocation of resources such as the number of servers, their service rates, and buffers given production-specific constraints, associated costs, and revenue projections. We describe the design of exPLOre: a modular, object-oriented production line optimization decision support system. An abstract optimization module can be instantiated using a variety of stochastic optimization methods such as simulated annealing and genetic algorithms. Its search space is constrained by a constraint checker while its search direction is guided by a cost analyser which combines the output of a throughput evaluator with the business model. The throughput evaluator can be instantiated using Markovian, generalised queueing network methods, or a decomposition algorithm.
Serial production lines form the heart of many manufacturing systems. Their optimal design is subject to specific constraints, associated costs, and revenue projections. Much of the research in this field concerns the design of these manufacturing systems when there is considerable inherent variability in the processing times at the various stations, a common situation with human operators/assemblers. The general design problem in serial production lines is concerned with the allocation of resources such as the number of servers, their service rates, and buffers at each of the servers. These problems are called, respectively, the server allocation, the workload allocation, and the buffer allocation problems. The problem mentioned above is a nonlinear stochastic problem. One of its features which makes it very challenging to solve is that no known closed-form expression for estimating the throughputs of the lines exists. This characteristic makes it very difficult to control the design variables as a function of the variation in the objective function.
For a systematic classification of the relevant works on the stochastic modeling of these and other types of manufacturing systems (e.g., transfer lines, flexible manufacturing systems (FMS) and flexible assembly systems (FAS)), the interested reader is referred to a review paper by Papadopoulos and Heavey [13] and some recently published books, such as Askin and Standridge [2], Buzacott and Shanthikumar [3], Gershwin [7], Papadopoulos et al. [14], Viswanadham and Narahari [16], and Altiok [1].
The difficulties of the problem have led us into the deployment of an arsenal of different methods for determining the optimal design of the production line. These methods involve both the estimation of line throughput and the calculation of the optimal line design variables. In this paper we describe the design of exPLOre: a modular production line optimization decision support system. Up to now we have used the system for solving the buffer allocation problem in production lines with well over 100 stations in series [15], and for investigating the allocation buffers, servers, and service rates in production lines with up to 60 stations in series.
The rest of this paper is organised as follows: in section 2 we present the mathematical model of the production line, in section 3 we describe the exPLOre architecture, in section 4 we present the exPLOre prototype implementation and some initial results, while section 5 concludes the paper with a description of our future plans.
The production line decision model we used is based on the optimal allocation of its constituent resources namely: the number of servers, their service rates, and buffers at each of the servers. The effect of the number of servers and the service rates on the production throughput and cost is obvious: an increased number of servers or service rate can be readily associated with a given cost and will increase the line throughput by a specific measure. The effect of the production line buffer allocation in terms of throughput and cost is more subtle. The main purpose of buffers in production or flow lines is to give each stage of a system some degree of independence from the rest of the system. If buffers were non-existent then the only way two connected workcenters could operate would be in perfect synchronization; an utopian situation. If there were no buffers between two workcenters at least one of two situations would occur: ``blocking'' of the first station or ``starving'' of the second station. Blocking of the first station occurs when the first station finishes processing its stock and releases it before the second station completes the material it is working on and the buffer of the second station is full. Starving occurs when the second station completes its work yet there are no parts in its buffer because the first workcenter is either busy or else has no work. In either of the situations the system throughput is below the expected.
One other situation for loss of capacity is the breakdown of a workcenter in the line. If there are no buffers all the stations of the system have to shut down either because of starving or blocking. If there are buffers between the stations the remaining stations can keep operating for some time. In allocating buffers the number of buffers is not only dependent upon the processing parameters of the production line but also upon the positions of stations within the line. Another feature of buffers is that buffers cease to be effective after some quantity. Beyond a threshold quantity of buffers the increase in the overall output of the line is overridden by the costs associated with buffers.
Although buffers are an essential part of any production line with finite capacities, there are costs associated with buffers. One of the important costs of buffers is the effect on flow time. Flow time is the time required to move a piece through the system process from entry to completion of the last stage. Customers accumulate indirect costs proportional to the time spent in the system. An increase results in high flow time to processing time ratios and thus reduced output. Another area of cost is the cost due to occupation of space. Larger quantities of buffers mean more space is occupied for waiting which otherwise could be used for processing equipment or faster movement of material handling equipment. Handling the unit into and out of the in-process inventory banks also adds to the costs.
From this description one can see that determining the quantity of buffers for each station in order to create perfect balance between the costs and benefits associated with buffers is a challenging task. Based on a given setting of the resources described above we can calculate two objective measures of the line's operation: the average throughput and the average work in progress (WIP). Taking into account the average revenue per item, its associated variable production cost and holding cost, and the costs of deploying the resources we described above we can obtain an objective measure of the line's economic performance.
Thus the production line under investigation can be modeled using the following basic objective function:
$maxZ=\; X\; (R-V)\; -\; h\; L\; -\; C$_{B} ∑_{i=2}^{K} B_{i} - ∑_{i=1}^{K} C_{Si}s_{i} - ∑_{i=1}^{K} C_{Ri}
whereThe exPLOre architecture is used for building customized, flexible, and efficient production line optimization decision support systems. The modularity of the system allows the utilization of different evaluative function and optimization methods as well as the parametric expression of the production line constraints and the business model. This flexibility is needed so that the system's user can choose the appropriate algorithms for solving the problem at hand. The guiding tradeoffs between the different modules concern their relative efficiency, accuracy, and applicability. As an example it is possible to obtain an exact buffer configuration for a small production line using full enumeration and the decomposition method. On the other hand in order to obtain a buffer and server number allocation for a large production line one would choose simulated annealing as the optimization method because the full enumeration of all configurations would take a prohibitive long time to complete, and the expansion method as the evaluative function because the decomposition method does not deal with parallel servers.
The exPLOre architecture is graphically depicted in Figure 1. The architecture's driver is an abstract optimization module. This can be instantiated using a variety of optimization methods such as simulated annealing, genetic algorithms, or even the exhaustive enumeration of the search space. The search space of the optimiser is constrained by the output of the constraint checker which, based on a production model expressed in a declarative domain-specific language, acts as an ``oracle'' determining the allowed line configurations. The search direction of the optimiser is guided by the cost analyser which combines the output of the throughput evaluator with variables from the business model to determine the objective merit of a given line configuration. The business model specifies the business benefit of a given line throughput as well as the business costs associated with the resources that are used to obtain that level of throughput. The abstract throughput evaluator can be instantiated using Markovian, generalised queueing network methods, or a decomposition algorithm.
In order to test the viability of the exPLOre architecture we have implemented a number of concrete modules for the optimizer and the throughput evaluator. Based on those modules we were able to obtain optimal production line configurations for both small and large production lines within acceptable execution time constraints. The modules we have implemented so far are the following:
Based on the above modules we obtained near-optimal line configurations for a number of different buffer, server, and service rate allocation problems for both large and small production lines. As a representative example in Figure 2 the computed throughput of simulated annealing is compared with complete enumerations using the exact and the decomposition evaluative methods for 9 station line configurations while Figure 3 illustrates the time needed to obtain different combinations of buffer (q) allocation, server allocation (w), and service rate allocation (s) using the simulated annealing optimizer in conjunction with the expansion method throughput evaluator.
ExPLOre was built from the bottom up as a workbench for experimenting with production line optimization algorithms and methodologies. It currently provides a rich set of algorithms for evaluating production line configurations. The architecture's modularity and the plug-compatibility of the optimizer and throughput evaluator module instances has allowed us to concentrate our work on an objective comparison of the relative merits and deficiencies of the various algorithms. Placing methodologies which were up to now studied in isolation under the same roof has provided us in some cases with surprisingly differing results in terms of accuracy and efficiency for similar line configurations. Thus part of our new work entails the reexamination and tuning of the respective methods using exPLOre as an algorithm evaluation tool. In addition, the modularity of exPLOre has prompted us to examine further optimization and evaluation algorithms as candidates for inclusion. We are currently working on fine-tuning the exPLOre optimizer based on genetic algorithms. Finally, a further direction of our research concerns the publication of the exPLOre module port specifications and the provision of a friendly user-interface in order to create a publicly available version as a standard production line optimization algorithm workbench.