JOURNAL OF MECHANICAL ENGINEERING STROJNIŠKI VESTNIK Contents Strojniški vestnik - Journal of Mechanical Engineering volume 54, (2008), number 5 Ljubljana, May 2008 ISSN 0039-2480 Published monthly Papers Balie, J., Klančnik, S., Brezovnik, S. : Feature Extraction from CAD Model for Milling Strategy Prediction 301 Berlec, T., Govekar, E., Grum, J., Potočnik, P., Starbek, M.: Predicting Order Lead Times 308 Bajić, D., Lela, B., Cukor, G. : Examination and Modelling of the Influence of Cutting Parameters on the Cutting Force and the Surface Roughness in Longitudinal Turning 322 Tollazzi, T., Lerher, T., Sraml, M.: The Use of Micro-Simulation in Determining the Capacity of a Roundabout with a Multi-Channel Pedestrian Flow 334 Hacioglu, Y., Arslan, Y. Z., Yagiz, N.: PI+PD Type Fuzzy Logic Controlled Dual-Arm Robot in Load Transfer 347 McGuiness, P.: Fuelling the Car of the Future 356 Kovačič, B., Kamnik, R., Premrov, M., Gubeljak, N., Predan, J., Tišma, Z.: Modern Deformation Measurement Techniques and their Comparison 364 Luo, Y., Fan, X., Li, D., Wu, X.: Hyper-Chaotic Mapping Newton Iterative Method to Mechanism Synthesis 372 Instructions for Authors 379 Paper received: 7.4.2008 Paper accepted: 15.5.2008 Feature Extraction from CAD Model for Milling Strategy Prediction Jože Balie* - Simon Klancnik - Simon Brezovnik University of Maribor, Faculty of Mechanical Engineering, Slovenia In this paper we present a procedure of feature determination from a CAD model. From the model we extract information, which has the greatest influence on the technological parameters of treatment and then transform this information into appropriate input data for different intelligent processing strategy prediction systems (for example artificial neural network). With formally complex CAD models, different processing strategies are required on a single workpiece. For this reason we use segmentation as described in this paper, to partition the surface of the CAD model into regions, so that we treat each region as an independent model and determine its features. © 2008 Journal of Mechanical Engineering. All rights reserved. Keywords: CAD-CAM systems, milling strategies, feature extraction, CAD models, segmentation 0 INTRODUCTION The rising complexity of the industrial production, the need for higher efficiency, better adaptability, higher quality and lower costs, has changed the production processes substantially in the last few years. Modern production science is interdisciplinary and often employs results of research from other fields of science such as: computer sciences, management, marketing and system theory [1] to [4]. The use of artificial intelligence in production systems [5] to [10] has increased greatly in the last two decades because of the adequate efficiency and availability of computers for a broader circle of researchers and industrial users. In the commercially available CAD/CAM systems, a problem of converting a complex free surface of the product into a formal building block and later into a technological building block still appears. Most of the systems for recognition and connection of building blocks are based on basic geometrical solids, which do not allow satisfying cataloguing of complex free surfaces and their subsequent transformation into building blocks. CAD databases, from which building blocks are captured and identified, also do not contain elements, which would enable satisfying recognition of the free surface as a conglomerate of building blocks. With artificial neural network we can efficiently predict milling strategy from CAD model [11] to [15]. 1 STATE OF THE ART The procedures of automatic milling strategy prediction from surface CAD model can generally be divided in two areas; feature extraction from a 3D model, and feature recognition and classification [16] to [20]. In this paper we will limit to describe feature extraction from CAD model. We have to take into account that 3D objects can be stored in different formats, such as triangle meshes, volumetric data, parametric or implicit equations, etc. There are different approaches to acquiring features from a 3D model. 2D methods are based on the fact that the 3D model is described with a series of 2D images acquired from different viewpoints. We retrieve useful data from these images with the help of methods used in digital image processing [21]. Different authors use different approaches, namely: Löffler [22] describes a method, which is based on comparison of shapes from images. Min [23] introduces a 2D procedure for detection of 3D objects on the image. The second group of methods for determining features of a 3D model is comprised of methods based on mathematical description of 3D objects, the so-called histogram methods. Boyer and Srikantiah [24] present a procedure, which segments object in a network of cells and then calculates the so-called key value for each cell. Different values are used, such as: Gaussian *Corr. Author's Address: University of Maribor, Faculty of Mechanical Engineering, Smetanova 17, 2000 Maribor, Slovenia, joze.balic@uni-mb.si curvature and variation of normals. Papers like [24] to [26] represent the use of differential equations for describing 3D objects, specifically - an estimation of Gaussian and mean curvature for describing 3D models. Then there are Kazhdan and others, who describe an object with the help of reflexive symmetry [27] and [28] or spherical harmonic representation [29]. In the next group of methods for extracting features from a 3D model, are methods based on description of topology of an object. Generally, the result describing an object is presented in form of a graph. Exact comparison of two graphs can be computationally very demanding. Hilaga [30] suggested a method, which uses the so-called Reeb graph. Topology of object is written in the graph, according to the geodetic distance calculated for all points on the surface of the body. Novotni and Klein [31] present a method, which belongs to a group of methods based on measuring the errors between objects. In general it is difficult to say which of the mentioned methods for determining features of a 3D object is better than others. Feature determination is a very important and interesting problem. We can conclude that each of the mentioned methods has its weaknesses and that an ideal method has still not been suggested yet. 2 FEATURE EXTRACTION In classification procedure it is extremely important to describe the object with its essential characteristics, important for the given assignment. Fig. 1. CAD model example composed from STL triangles In the recognition process, we arrange patterns in M classes, which means that from the perspective of pattern classification, the important characteristics of objects are only those, which emphasize the particularities of the individual pattern classes. We call such pattern characteristic feature. In our application triangle corners represent the pattern. In Figure 1, we can see a CAD model composed of triangles read from an STL file. STL file was stored in one of the commercial CAD packages (CATIA, SolidWorks etc.) Triangles describing face of the model are of different sizes (depending on the shape of the face). Each triangle corner is a point, located on the surface of the model. Now we know the coordinates of the corners, and we also know that a between these points there lies a straight face (triangle) - we have described the whole surface of the body. To obtain useful and characteristic information of the pattern, this data has to be appropriately processed. We also need to adequately rearrange these data in order to enter it into the neural network. Figure 2 presents the phases of data processing: • In phase one, we have to use the appropriate algorithm to remove faces, which are not visible. First we define the plane from which we will project the network of points to the body. The normal to this plane represents the direction of our view. • In the phase of segmentation, we partition the whole face representing the body into smaller sub-faces (surface patches) and then treat each of this sub-faces as an independent model. • In the plane according to which we defined the direction of our view, we create a mesh of symmetrically arranged points and project it to the model at the right angle. • In the last phase, we standardize the values obtained when projecting the network to the model, and write it in the form of a vector appropriate for input into our classifier. 2.1 Removing the Hidden Surfaces of a Body The concealment of some parts of a body depends on the chosen viewpoint. If the body is shown with full faces, we use the hidden-surface removal algorithms. Although many hidden-surface removal algorithms exist today [32], we can't Fig. 2. Block scheme of data processing determine which one is the best, since their results depend on the complexity of the scene. In application we »shoot« symmetrically arranged points at the body. For the description of the model, we are interested only in the front surface therefore we use the appropriate algorithm to remove faces hidden to our view - faces hidden by the body itself, the so-called back-faces. For this we need normal vectors of all faces of the body, and they all have to be directed outward form the body or into the interior of the body. Each of the faces is a plane polygon, in our case a triangle. On the face we choose three adjacent corners (in our case these are corners of the triangle): p.p p. in p.+j. We calculate normal face vector for each triangle with the following vector product: n = (Pi-i - P)x(Pm - P) = [a b cf (1). The equation of the plane in which the surface lies is defined with: ax + by + cz + d = 0 (2). Coefficients a, b and c correspond to the components of normal vector n, coefficient d is calculated with the help of the following expression: d = -(ax + by + cz. ) (3), where x , y and z are the coordinates of the corner г j i i p. (otherwise we can select any point on the face). In this way we calculate equations of planes for all m faces of the object. Plane defined by the equation (2), divides the space into two half-spaces. Normal vector points to the half-space in which lies the point p=[x y z]T, under the following conditions: In the Equation (4), the positive elements in the product signify that the normal vectors of the corresponding planes are directed to the interior of the body, while negative elements signify that vectors are directed outwards from the body. Coefficients of planes, whose vectors are pointing outwards from the body, have to be multiplied by -i. In this way we achieve that all the normal face vectors are directed into the interior of the body. Hidden-surface removal algorithm uses the fact that the angle between the normal of the visible face and the direction of view is smaller than 90°, while the angle between the normal of the hidden face and the direction of view is larger or equal to 90°. In Figure 3, we indicate the direction of view by vector g. If the scalar product of the view direction vector and the normal of the face is positive, the face is visible, while in the opposite case it is not. In Figure 4 (left) we can see an F [a b c d] [x у z 1]T > 0 (4). Fig. 3. Surface "ABFis visible, because ф<90' and surface "CDF is invisible, because ф2 >90' 50 0 -50 0 Fig. 4. Representation of hidden surface algorithm's functioning example of CAD Model drawn with the help of our application. In the Figure 4 (right) we can see the same model after it as been processed with the hidden-surface removal algorithm. 2.2 Segmentation of CAD Model In this phase we have to partition the entire surface of the CAD model into smaller sub-faces [33]. In other words, we have to segment the triangles describing the surface of the workpiece into regions, which are suitable for independent planning of milling strategy. We have implemented segmentation of the model according to the size of the angle between the normal of triangles representing the surface of the body. The normal of triangle defined by the three corners p l1, pt and p+1 is calculated by Equation (1). For each triangle (the triangle for which we are trying to find its neighbours, will from this point on be called basic triangle) we search for adjacent triangles, which share two common C1=C2 corners with the chosen triangle. In this way each triangle can have one, two or a maximum of three neighbours (Fig. 5). Then we calculate the angle between the normal of the basic triangle and the normal of its neighbours. If the calculated angle is smaller than the threshold value, we add this triangle into the region established by the basic triangle. If the angle is larger or equal to the threshold value, the triangle is not added to the region and is treated later when we determine the members of the next region. Each new triangle added to the region has to be treated later as basic triangle and examined whether its neighbours satisfy the conditions for classification into this region. The algorithm is executed until each triangle belongs to a certain region. In Figure 7 (left) we can see an example of workpiece drawn with the help of our application. In the right section of the Figure 7, we can see a segmented CAD model in which the segmentation algorithm has divided the model into three regions. In the following procedure we treat each of these regions, obtained Fig. 5. Basic triangle and its neighbourhood by the process of segmentation, as an independent CAD model and determine appropriate treatment strategy for each one separately. 2.3 "Scattering" Points Over the Model Each region of the model is "scattered" with points in a certain mesh. In the x-y plane, we create a window the size of the largest possible drawn-in rectangle. In the window we determine points, which are symmetrically arranged. By increasing the number of points, we improve the reliability of our system but this also increases the number of data representing CAD model and causes more complex and slower processing. The number of points in directions x and y is a parameter which can be modified. In our testing we chose 200 points in direction x and 200 points in direction y. Fig. 6. Schematic representation of points in the plane x-y, which are projected to the body parallel to the z-axis Figure 6 shows a schematic representation of points in the plane x-y, which are projected to the body parallel to the z-axis. From mathematical standpoint, this means that for each point P(x,y), defined by the raster of points in the plane x-y, we calculate the value of coordinate z, occupied in that position by the surface of the model. Since the triangles describing the face are of different sizes, while we are interested in values of component Z for fixed coordinates X and Y, we have to perform interpolation between these points. We have used triangle-based interpolation presented in detail in [34]. Numbers of points and raster have to be identical for all the models in the learning base. Configuration of model in the direction Z has the greatest influence on the technological parameters; therefore we use only these data for input in the neural network. Values Z, which are calculated for each point P(x,y), are written in the form of vector SN={x**, x2*,..,xN*j. In the test example we have chosen mesh of 200 points in direction x and 200 points in direction y, thus receiving a vector the size of 40,000 elements. Certain extents of similarity between patterns are highly dependant on the criteria in which we present the features. If we wish for all the features in the pattern to have the same contribution to the calculation of the extent of similarity, we have to standardize pattern features appropriately. The vector obtained in this way, whose elements are standardized values, represents the input into a system for intelligent prediction of processing strategy (SOM neural network, feedforward neural networks etc.). Fig. 7. Representation of processing results for the test model 3 RESULTS Feature extraction system has been tested on different CAD models, which have been modelled in SolidWorks package. Figure 7 presents processing results of one of the test models. In the first phase we can see that the faces not visible from the x-y plane were removed from the model (middle figure). The right figure shows the model after the segmentation. We can see that we have obtained two independent regions, each of which has to be treated as an independent CAD model and analyzed according to its features for the appropriate processing strategy. As seen from the Figure 7 and results of other tests performed with models of different shapes, the suggested procedure of feature extraction are very efficient and appropriate for use in prediction of milling strategy. Model segmentation was performed in a manner whose efficiency largely depends on the appropriate selection of threshold value, which varies form model to model. Therefore it has to be stressed that we can obtain good results only with the appropriate threshold value selection. 4 CONCLUSION System testing has shown that with the help of the procedure presented in this paper, we can efficiently extract valuable information from a CAD model. Those informations are needed in determining strategy according to the shape of the workpiece. Such system would offer users a good supplement tool and help when working with modern CAM systems. Feature extraction program was implemented in the MATLAB integrated development environment. System has been implemented in such a way that its use is universal and allows processing of CAD models made in different commercial packages and stored in STL formats. The topics presented in this paper offers excellent foundation for additional research. In the future we intend to expand the system with intelligent system, which will be capable to predict appropriate processing strategy based on extracted features. 5 REFERENCES [1] Shishir Bhat, B. N. Profits and reduce cycle time with manufacturing cells. Advances in Production Engineering & Management, vol. 3, no. 1, p. 17-26, 2008. [2] Tyagi, V., Jain, A. Assessing the effectiveness of flexible process plans for loading and part type selection in FMS. Advances in Production Engineering & Management, vol. 3, no. 1, p. 27-44, 2008. [3] Buchmeister, B., Pavlinjek, J., Palcic, I. Polajnar, A.: Bullwhip effect problem in supply chains. Advances in Production Engineering & Management, vol. 3, no. 1, p. 45-55, 2008. [4] Rahimić, S., Višekruna,V. Optimization of generative CAPP system with minimum cost per piece. Advances in Production Engineering & Management, vol. 2, no. 4, p. 177-185, 2007. [5] Carpenter, I. D., Maropoulos, P. G. Automtic tool selection for milling operations Part 1: cutting data generation. Journal of Engineering Manufacture, 214(4), p. 271-282, 2000. [6] Balic, J. Intelligent CAD/CAM system for CNC programming-an overview. Advances in Production Engineering & Management, vol. 1, p. 13-21, 2007. [7] Renner, G.; Ekart, A. Genetic algorithms in computer Aided design. Computer-Aided Design, vol. 35, p. 709-726, 2003. [8] Colak, O., Kurbanoglu, C., Kayacan, M. C. Milling surface roughness prediction using evolutionary programming methods. Materials and Design, vol. 28, p. 657-666, 2005. [9] Kovacic, M., Brezocnik, M., Pahole, I. , Balic, J. , Kecelj, B. Evolutionary programming of CNC machines. Journal of Materials Processing Technology, vol. 164-165, p. 13791387, 2005. [10] Valenti, M. Machine tools get smarter. Mech. Engrg., vol. 117, 1995. [11] Balic, J.; Korosec, M. Intelligent tool path generation for milling of free surfaces using neural networks. International Journal of Machine Tools & Manufacture. vol. 42, p. 1171-1179, 2002. [12] Balie, J. Intelligent manufactory systems. University of Maribor, Faculty of mechanical engineering, Maribor, 2004. [13] Benardos P. G., Vosniakos G. C. Prediction of surface roughness in CNC face milling using neural networks and Taguchi's design of experiments. Robotics and Computer Integrated Manufacturing, vol. 18, p. 343-354, 2002. [14] Azouzi, R., Guillot, M. On-line prediction of surface finish and dimensional deviation in turning using neural network based sensor fusion. Int J MachTools Manuf, vol. 37, p. 1201-1217, 1997. [15] Yu-Hsuan, T., Chen J.C., Shi-Jer, L. An in process surface recognition system based on neural networks in end milling cutting operations. Int J MachTools Manuf, Vol. 39, p. 583-605. [16] Potočnik, B. Pattern recognition with neural networks. University of Maribor, Faculty of Electrical Engineering and Computer Science, Maribor, 2007. [17] Berikov, V., Litvinenko, A. Methods for statistical data analysis with decision trees. 2003. [18] Domingos, P., Pazzani,M. On the optimality of the simple Bayesian classifier under zero-one loss. Machine Learning, vol. 29, p. 103137, 1997. [19] Cristianini, N., Shawe-Taylor, J. An introduction to support vector machines and other kernel-based learning methods. Cambridge University Press, 2000. [20] Fradkin, D., Muchnik, I. Support vector machines for classification. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 70, p. 13-20, 2006. [21] Klančnik, S., Balič, J., Planinšič, P. Obstacle detection with active laser triangulation. Advances in Production Engineering & Management, vol. 2, p. 79-90, 2007. [22] Loffler, J. Content-based Retrieval of 3D models in Distributed Web Database by Visual Shape Information. Int. Conf. On Information Visualisation, 2000. [23] Min, P., Chen, J., Funkhouser, T. A 2D sketch interface for a 3D model search egine. 2002. [24] Boyer, K. L., Srikantiah, R., Flynn, P.J. Salience sequential surface organization for free-form object recognition. Computer vision and image understanding, vol. 88, 2002. [25] Mokhtarian, F., Khalili, N., Yuen, P. Multi-scale free-form 3D object recognition using 3D models. Image and vision computing, vol. 19, p. 271-281, 2001. [26] Quek, K. H., Yarger, R.W. I., Kirbas, C.: Surface parameterization in volumetric images for curvature-based feature classification. IEEE transactions on system, Man and Cybernetics, 2001. [27] Kazhdan, M., Chazelle, B., Dobkin, D., Finkelstein, A., Funkhouser, T. A reflective symmetry description. European conf. on computer vision, 2002. [28] Kazhdan, M., Chazelle, B., Dobkin, D., Finkelstein, A., Funkhouser, T. A reflective symmetry description for 3D model. Algorithmica, 2003. [29] Funkhouser, T., Min, P., Kazhdan, M., Chen, J., Halderman, A., Dobkin, D. Asearch engine for 3D models. ACM transactions on graphics, vol. 22, p. 83-105, 2003. [30] Hilaga, M., Shinagawa, Y., Kohmura, T., Kunii, T. L. Topology matching for fully automatic similarity estimation of 3D shapes. SIGGRAPH, p. 203-212, 2001. [31] Novotni, M., Klein, R. A geometric approach to 3D object comparison. Int. Conf. on shape modeling and applications, p. 154-166, 2001. [32] Guid, N. Computer graphics. University of Maribor, Faculty of electrical engineering and computer science, Maribor, 2001. [33] Lefebvre, P., Lauwers, B. STL Model Segmentation for Multi-Axis Machining Operations Planning [34] Watson, D.F., Philip, G. M. Triangle based interpolation. Mathematical Geology. p. 779795, 1984. Paper received: 13.9.2007 Paper accepted: 19.12.2007 Predicting Order Lead Times Tomaž Berlec* - Edvard Govekar - Janez Grum - Primož Potočnik - Marko Starbek University of Ljubljana, Faculty of Mechanical Engineering, Slovenia Entering on market, companies confront with different problems. But the largest problems of today's time are too long lead times of orders. A client that wants a particular product to be made will select the best bidder considering on delivery time. To make a bid just on the basis of experience of employees is very risky nowadays. Therefore we propose a procedure by which - on the basis of actual lead times of orders processed in the company's workplaces in the past - expected lead times of planned (and indirectly - production) orders can be predicted. The result of the proposed procedure is an empirical distribution ofpossible lead times for the new order, and on the basis of this distribution it is possible to predict the most probable lead time of a new order. Using the proposed procedure, the sales department can make a prediction for the customer about delivery time of the planned order. As an illustration of the procedure for predicting lead times of orders, a case study is presented: lead time of order for the "tool for manufacturing the filter housing" was predicted; the tool is manufactured in the Slovenian company ETI Ltd. © 2008 Journal of Mechanical Engineering. All rights reserved. Keywords: lead times, prediction, operation order, empirical distribution 0 INTRODUCTION Companies on the global market offer similar or the same products at comparable price and quality. The main difference between these companies is in the predicted order development time and in observance of the deadlines for delivery time. Before making a bid, the sales department has to provide data on operations that will have to be carried out for a particular order, data on the time required for performing these operations, and data on requested delivery time. Currently, the data at times of realization of operations are obtained from experienced company employees, while the customer specifies delivery time. However, estimates based on personal experience can be rather misleading. Consequently, the bids may be based on wrong delivery time which can couse that the company does not receive the order. Development of ICT - which are important resources for improving and maintaining the competitive advantages of the company on the market [1] - made radical changes as ICT simplifies many business-related tasks. Every company that wants to be competitive on the global market needs a suitable enterprise resource planning system -ERP system. There are several ERP systems available on the market [2] and it is the task of each company to select the optimum system [3]. The paper will present how the data stored in the ERP system can be used for calculation of lead times of orders (and indirectly: lead times of manufacturing orders) on the basis of theory developed at the IFA Hannover [4] and [5]. Furthermore, the calculation of percentage of manufacturing order lead times will be shown, which allows the calculation of the confidence interval. The purpose of this paper is therefore to propose a procedure for predicting lead times of manufacturing orders on the basis of past gathered data on actual lead times. In our research we have not found an approach for predicting lead times as described in this paper, so we assume that it is a new approach which uses already known and developed theory of IFA Hannover, and adds a new method for predicting order lead times. 1 METHOD FOR PREDICTING MANUFACTURING ORDER LEAD TIMES When talking about "an order", it is necessary to distinguish between operational, manufacturing, assembly and production order [4], as presented in Figure 1. *Corr. Author's Address: University of Ljubljana, Faculty of Mechanical Engineering, Aškerčeva 6, SI-1000 308 Ljubljana, Slovenia, tomaz.berlec@fs.uni-lj.si SDi SKi SD2 SD3 Fig. 1. Order lead times [4] When designing a procedure for predicting manufacturing order lead times, it will be assumed that the company uses an ERP system, whose database contains data about past operational and assembly orders in company workplaces. Any ERP system should therefore provide data on: • production-order code, • assembly-order code, • manufacturing-order code, • operational-order code, • type and sequence of operations on manufacturing and assembly orders, • IDs of workplaces where operational orders have been carried out, • actual execution times of operational orders, • date of completing a particular operational or assembly order in the previous workplace, • date of finishing a particular operational or assembly order in the observed workplace. ERP system output data should be available in Microsoft Excel format (xls). Based on previous research on problems of determination of lead times let us to the conclusion, that the proposed procedure for predicting order lead times consists of the following steps: Step 1: Determining actual lead times of already processed operational orders in the company's workplaces H. P. Wiendahl [4] says that the lead time of the i-th operational order N. (1 < i < n) which has been executed in the j-th workplace DM. (1 DM T0h TO; T0„ DM O TO; T0„ Workplace DM j T0i, j TO2, j T0„ DM r O TO„ T0„ Assembly Fig. 4. Principle of construction of assembly structure ofproduction order I Legend: I - product SK - mark of asembly SD - mark of component part (x) - number of built ins of component parts and assemblies in assembly of higher degree Figure 5, presents technology and assembly routings for manufacturing parts and components of the production order I. Step 3: Random sampling and summing of vector element values of actual lead times of operational orders of individual manufacturing or assembly order Figure 6 presents the principle of random sampling and summing of vector element values of operational order actual lead times in the past of planned manufacturing and assembly orders. TOSD11 - lead time of component part SDp got after first iteration TOSK11 - lead time of assembly SKp got after first iteration TOI1 - lead time of product I, got after first iteration Figure 6 shows a schematic presentation of random sampling and addition of lead times values achieved in the past from workplace vectors, defined by technology and assembly routings for manufacturing parts and assembly of Part / component Prescribed sequence of operations SD 1 Turning DM1 ■ ■ H ■ DM3 иииииимииии SD 2 Turning DM1 ■ ■ i MII1M3 Planina DM2 1И SD 3 Planing DM2 1 ■ in ■им g 1M IUI 1 SK 1 Assembling DM5 I Assembling DM5: Control DMÉ □ Fig. 5. Technology and assembly routings of parts and components of production order I SD; SK Ж JOi,i TO2,i г TOi,3 TO2,3 4- For other manufacturing or assembly orders, which have one or more predecessors (Fig. 9) is the date of starting the execution of orders then: TZKn = i keP {TZSDa i + TOSD.,i } (8) P* - predecessors of the observed order N. and the date of finishing the execution of orders TK,n = TZ,n + TO„ (9). Date of completing the last manufacturing or assembly order I is equivalent to the expected lead time of the planned order TO in the activity network diagram: TKj = TO (10). Figure 8 shows the calculation for one vector element of expected lead time of the planned order. Such a calculation must be done for a selected number of iterations of randomly sampled values from vectors of individual component partsand assemblies of planned order. The calculation is carried out as follows: • For sequential operations, individual randomly sampled lead times from vectors of sequentially listed workplaces are summed up. The result of each iteration is stored into a new vector, which represents the sum for one component or part. • For parallel operations it is necessary to collect randomly sampled lead times from vectors of parallel workplaces, and then find a maximum lead time for each parallel path. Thus obtained results in each iteration should be stored in the common vector of maximum times of parallel paths, as the critical path in the activity network diagram is always the path with the longest required lead time for realization the manufacturing order. sDa sDb ) ' VsDa TZsDa,1 TKsDa,1 VsDb TZsob,, TKsob,, Fig. 9. Basic element of activity network diagram b, 1 b, 1 b, 1 b,1 Calculation has to be repeated for the selected number of iterations. Thus obtained expected lead times of the planned order will represent empirical distribution of lead times of the planned order. Step 6: Predicting delivery time of the planned order Step 5 in predicting order lead time has lead to the vector of expected lead times of order, i.e. to a certain distribution of lead times. In real life, however, an exact value of lead time for delivery of order is required. The most probable delivery lead time for the planned order can be estimated by using median, which means that there is a 50% probability that the actual delivery time will be shorter, and 50% probability that it will be longer than stated. As the 50% risk is usually unacceptable for the client, so the estimated value should be stated for a wider confidence interval. For instance, 90% confidence interval is defined as 90% probability that the order will be delivered before the stated time. Therefore, maximum delivery time that can be guaranteed to the customer with 90% reliability, corresponds to the 90th percentage of empirical distribution of prediction of the planned order. Percentage [6] and [7] provides the value of Y, which is larger than P % of the values in the X set. In other words, e.g. 90th percentage gives the value, which is larger than 90% of all values (sorted from smallest to largest) in the X set (Fig. 10). In order to obtain the P-th percentage of X sorted values, it is necessary to calculate the R rank [8]: Lead time of planned ' production order [Wd; Cd] R = P(X+1)/100 which is rounded to the first integer and then the value from the X set is selected, which corresponds to this rank. R - percentage rank P - percentage X - number of sorted set elements Based on the above explanation and our tests, we propose that the 90th percentage be used as a standard. In this way it is possible to state with 90% confidence that the order will be completed within the expected time. If the company wants to achieve even higher reliability, it can use an even higher percentile (for example 99th) - and thus minimize the risk. Naturally, the choice of the percentage may depend on importance of the order and the customer - the more important the customer, or the more important the order, the higher is the interest of the company to get a particular order. In the proposed procedure for predicting manufacturing order lead times, in addition to MS Excel, the MATLAB software will be used [6], which allows execution of mathematical operations and graphical presentation of results. 2 TESTING THE PROCEDURE FOR PREDICTING ORDER LEAD TIMES The procedure for predicting order lead times was tested in the tool shop of ETI Ltd. company from Izlake, Slovenia. It produces tools for transforming and cutting, tools for injection moulding of thermoplastic and duroplastic materials, jet and press machines for duroplastic 90% X values Г 10% Fig. 10. An example of the 90th percentile materials, press machines for ceramic materials, and automated assembly appliances. This tool shop speciality is design and manufacturing of high-quality tools for injection moulding of thermoplastic and duroplastic materials. Thanks to its many years of experience in making tools for ETI company, the tool shop started producing tools and appliances for external customers in the following fields: automotive industry, household appliances, medical technology, electrical engineering, electronics and illumination. Tool shop uses Largo ERP system, developed by Perftech Ltd. company from Bled [9], Slovenia. Because of their way of production (tools are made for known customers and each tool is unique) it is very difficult to precisely predict duration of production - but this is essential data for making bids and winning orders. Company management decided to test the suitability of the proposed procedure for predicting lead times of orders in a case study of determining lead time of order for the "tool for manufacturing filter housing # 705429" (Fig. 11). Steps of the procedure for predicting manufacturing order lead time for the "tool for manufacturing filter housing # 705429": Step 1: Determining actual lead times of operational orders finished in the past in the company's workplaces For the experiment, the Largo ERP system data were used in the period from December 12, 2002 till August 22, 2005. First it was necessary to export data from Largo ERP system to MS Excel format. The following data were exported from the database: order number, arrival date, departure date, manufacturing time, and sequence of operational orders. Largo ERP system uses calendar dates and does not take into account the company's labour-days calendar. Therefore the data which are not adapted to the company's labour days are useful mainly for predicting the duration of production from the sales department's point of view and not that much for manufacturing planning - for this purpose it would be necessary to take into account the company's labour-days. In agreement with the tool shop management it was decided that for determining actual lead times of operational orders finished in the past, the data from the ERP system would be used from December 12, 2002 till August 22, 2005. During that time, 22,850 manufacturing orders were processed in the production, with 57,951 operational orders in 35 workplaces (Table 2). It can be seen that during the observed time a rather varying number of operational orders passed across workplaces (minimum of 2 orders over workplace 44321 and maximum of 7307 orders over workplace 44253). Actual lead times of individual operational orders were calculated on the basis of the data obtained from the ERP system. The calculation was made in MS Excel on the basis of Equation (1). Figure 12 presents a part of the calculation of actual lead times of operational orders in Excel table. The results have shown that majority of actual lead times shorter then 1 Cd or 1 Cd, exceptions to the rule are some extreme cases, e.g. 464 Cd. Table 2. Number of operational orders finished on workplaces in the tool shop Number of finished orders in Code: Workplace name: three years: 44000 Cooperation - service 21 44141 Design of devices 151 44142 Machine electronics 130 44143 Design of tools 2288 44211 Slitting 1420 44221 Turning 3706 44222 CNC turning 1052 44231 CNC programming 371 44232 CNC Milling Micron 2660 44241 CNC programming 668 44242 CNC Milling Picomax 60 4153 44243 CNC programming 9 44244 CNC Milling Deckel Maho 1400 44251 CNC Milling Picomax 54 2018 44252 Milling 235 44253 Rough milling 7307 44261 Plane grinding 1972 44262 Plane/profile grinding 4225 44263 Round grinding 2894 44264 Tools sharpening 159 44265 CNC coordinate grinding 7 44271 CNC programming of wire erosion 1126 44272 Wire erosion 1927 44273 Wire erosion -Makino 3161 44281 Dip erosion - AGIE 439 44282 Dip erosion - Charmilles 1565 44283 Dip erosion - Sinitron 513 44286 Omega punching 745 44291 Heat treatment 5172 44311 Manual machining 4288 44312 Assembly of tools 812 44313 Assembly of machines and devices 197 44321 Sampling 2 44331 Measurement 885 44332 DEA Omicron measurement 273 Three years production: 57951 Step 2: Using or forming assembly structure of the planned order and technology routings of parts and components of order - for tool # 705429 In this step known assembly structure is formed (Fig. 13), as well as known type and sequence of operations (Fig. 14) for the tool under discussion - tool # 705429. It can be seen from Figure 13 that the tool consists of two parts: ejecting and feeding part. The tool consists of bought parts and ofparts/components made in the tool shop. There is just one assembly operation at the end, which is followed by testing. For tool parts and components that are manufactured in the tool shop it was necessary to gather data on type and sequence of required operations, which □ Microsoft Excel - odatki i|B УК. шЩ; Sätä ■via;, gÄ HI ■ ' еЩЩ 'ft*' - » iü j dB JI J4I?UI< 4i --ig,г-žtžtia-t>i» i»,. «Г а .-»/»ki* a m 19 1, t e.đljF^IL f? 1 В С D E F G H J i Order Nr. Nr.workinq order Workplace Sequence Workplace name Production time [Ehi Arrival date Departure date Lead time [Cd[ 2 6229 700609 44232 30 CNC Millinq Micron 4 22.5.2003 22.5.2003 0 3 6229 700609 44311 20 Manual machininq 1.5 15.5.2003 2.6.2003 18 4 6231 700609 44253 10 Rouqh milling 3,5 13.5.2003 15.5.2003 2 6 6231 700609 44262 30 Plane/profile grinding 2 17.5.2003 30.5.2003 13 6 6231 700609 44242 20 CNC Milling Picomax 60 3 15.5.2003 17.5.2003 2 7 6231 700609 44272 40 Wire erosion 6 30.5.2003 3.6.2003 4 S 6232 700609 44253 10 Rouqh millinq 3 14.5.2003 14.5.2003 0 9 6232 700609 44253 20 Rouqh millinq 3,5 14.5.2003 16.5.2003 2 10 6232 700609 44262 50 Plane/profile grindinq 7 19.5.2003 28.5.2003 9 11 6232 700609 44242 30 CNC Millinq Picomax 60 9 16.5.2003 17.5.2003 1 12 6232 700609 44242 60 CNC Millinq Picomax 60 9 28.5.2003 2.6.2003 5 13 6232 700609 44311 40 Manual machininq 3 17.5.2003 19.5.2003 2 14 6233 700609 44253 10 Rouqh millinq 1 16.5.2003 16.5.2003 0 15 6233 700609 44232 20 CNC Millinq Micron 2 16.5.2003 19.5.2003 3 16 6233 700609 44311 30 Manual machininq 1,5 19.5.2003 2.6.2003 14 17 6234 700609 44253 10 Rouqh millinq 3,75 14.5.2003 15.5.2003 1 18 6234 700609 44262 30 Plane/profile grindinq 1,5 19.5.2003 30.5.2003 11 19 6234 700609 44232 20 CNC Millinq Micron 4.5 15.5.2003 19.5.2003 4 20 6235 700609 44253 10 Rouqh millinq 9 19.5.2003 19.5.2003 0 21 6235 700609 44232 20 CNC Millinq Micron 6 19.5.2003 20.5.2003 1 22 6235 700609 44311 30 Manual machininq 2,5 20.5.2003 2.6.2003 13 23 6236 700609 44253 10 Rouqh millinq 4 16.5.2003 16.5.2003 0 24 6236 700609 44232 20 CNC Millinq Micron 5 16.5.2003 19.5.2003 3 25 6236 700609 44311 30 Manual machininq 2,5 19.5.2003 2.6.2003 14 26 6237 700609 44253 10 Rough milling 2,5 12.5.2003 12.5.2003 0 27 6237 700609 44261 30 Plane qrindinq 1 17.5.2003 3.6.2003 17 28 6237 700609 44232 20 CNC Millinq Micron 3,5 12.5.2003 17.5.2003 5 - Г IH ' » ► SIKV.I дяииияигаад!...... iS Peadv NIJM Fig. 12. Calculation of actual lead times of finished operational orders in interval from December 12, 2002 till August 22, 2005 provide quality parts and components. For the tool # 705429 some of these data are presented in Figure 14. In tool shop in ETI Ltd. they do an conglomeration of operations named preparing on manufacturing, which for this order contains: machine electronics (44142), design of tools (44143) and slitting (44211). This is actually not a real part of the tool, which can be shown in Figure 14, but it consumes time, so it is necessary to count it in by the sequence of operations. Steps 3 and 4: Random sampling and summing of vector element values of actual operational order lead times of individual manufacturing or assembly order of the planned order, and setup of vectors of expected lead times of manufacturing and assembly orders of the planned order for the tool # 705429 On the basis of defined sequence of machining on parts and components for the tool # 705429 made by MATLAB software, the vectors of expected lead Parts/components Sequence of operations Preparing 44142 ■И43—1 44211 I Clamping plate 44244 44311 j Ejecting modul Diate 1 Final switch square 44253 j 44311 | Flange 44221 44232 1 44311 1 Order 705429 44312 44311 I -1 Fig. 14. Type and sequence of operations required for manufacturing parts and components of the tool # 705429 о '3 о £ о 0J л о s= 'S la о о л 0 1 ад ö 'S а 0J а -О p OJ OJ 4а OJ Š ^ 4=1 ^ ft