Skip to main content

Approximating Throughput of Small Production Lines Using Genetic Programming

Part of the Springer Proceedings in Business and Economics book series (SPBE)


Genetic Programming (GP) has been used in a variety of fields to solve complicated problems. This paper shows that GP can be applied in the domain of serial production systems for acquiring useful measurements and line characteristics such as throughput. Extensive experimentation has been performed in order to set up the genetic programming implementation and to deal with problems like code bloat or over fitting. We improve previous work on estimation of throughput for three stages and present a formula for the estimation of throughput of production lines with four stations. Further work is needed, but so far, results are encouraging.


  • Production lines
  • Genetic programming
  • Symbolic regression
  • Throughput

This is a preview of subscription content, access via your institution.

Buying options

USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-319-33003-7_9
  • Chapter length: 20 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
USD   169.00
Price excludes VAT (USA)
  • ISBN: 978-3-319-33003-7
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   219.99
Price excludes VAT (USA)
Hardcover Book
USD   219.99
Price excludes VAT (USA)
Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6


  • Angeline PJ, Kinnear KE (1996) Advances in genetic programming, vol 2. MIT Press, Cambridge

    Google Scholar 

  • Blumenfeld DE (1990) A simple formula for estimating throughput of serial production lines with variable processing times and limited buffer capacity. Int J Prod Res 28(6):1163–1182

    CrossRef  Google Scholar 

  • Boulas K, Dounias G, Papadopoulos C, Tsakonas A (2015) Acquisition of accurate or approximate throughput formulas for serial production lines through genetic programming. Proceedings of 4th international symposium and 26th national conference on operational research, Hellenic Operational Research Society, pp 128–133

    Google Scholar 

  • Dallery Y, Frein Y (1993) On decomposition methods for tandem queueing networks with blocking. Oper Res 41(2):386–399

    CrossRef  Google Scholar 

  • Dallery Y, Gershwin SB (1992) Manufacturing flow line systems: a review of models and analytical results. Queueing Syst 12(1–2):3–94

    CrossRef  Google Scholar 

  • Diamantidis AC, Papadopoulos CT, Heavey C (2007) Approximate analysis of serial flow lines with multiple parallel-machine stations. IIE Trans 39(4):361–375

    CrossRef  Google Scholar 

  • Heavy C, Papadopoulos H, Browne J (1993) The throughput rate of multistation unreliable production lines. Eur J Oper Res 68(1):69–89

    CrossRef  Google Scholar 

  • Hunt GC (1956) Sequential arrays of waiting lines. Oper Res 4(6):674–683

    CrossRef  Google Scholar 

  • Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection, vol 1. MIT Press, Cambridge

    Google Scholar 

  • Koza JR (1994) Genetic programming II- automatic discovery of reusable programs. MIT Press, Cambridge

    Google Scholar 

  • Lai T (2003) Discovery of understandable math formulas using genetic programming. In: Genetic algorithms and genetic programming at Stanford. Stanford Bookstore, Stanford, pp 118–127

    Google Scholar 

  • Langdon WB (2000) Quadratic bloat in genetic programming. In: Whitley DL (ed) GECCO. Morgan Kaufmann Publishers, San Francisco, pp 451–458

    Google Scholar 

  • Li L, Qian Y, Du K, Yang Y (2015) Analysis of approximately balanced production lines. Int J Prod Res [online]: 1–18. doi: 10.1080/00207543.2015.1015750. Accessed 26 Apr 2015

    Google Scholar 

  • Lim J-T, Meerkov S, Top F (1990) Homogeneous, asymptotically reliable serial production lines: theory and a case study. IEEE Trans Autom Control 35(5):524–534

    CrossRef  Google Scholar 

  • Martin G (1993) Predictive formulae for un-paced line efficiency. Int J Prod Res 31(8):1981–1990

    CrossRef  Google Scholar 

  • Muth EJ (1984) Stochastic processes and their network representations associated with a production line queuing model. Eur J Oper Res 15(1):63–83

    CrossRef  Google Scholar 

  • Muth EJ (1987) An update on analytical models of serial transfer lines. Department of Industrial and Systems Engineering, University of Florida, Gainesville

    Google Scholar 

  • Papadopoulos C, Tsakonas A, Dounias G (2002) Combined use of genetic programming and decomposition techniques for the induction of generalized approximate throughput formulas in short exponential production lines with buffers. Proceedings of the 30th international conference on computers and industrial engineering, Tinos Island, Greece, vol II, pp 695–700

    Google Scholar 

  • Papadopoulos CT, O’Kelly ME, Vidalis MJ, Spinellis D (2009) Analysis and design of discrete part production lines, vol 31. Springer, New York

    Google Scholar 

  • Poli R, Langdon WB (1998) On the search properties of different crossover operators in genetic programming. In: Koza JR et al (eds) Genetic programming 1998: proceedings of the 3rd annual conference, Universtity of Wisconsin, pp 293–301

    Google Scholar 

  • Poli R, McPhee NF (2008) Covariant parsimony pressure in genetic programming. Technical report. Citeseer

    Google Scholar 

  • Poli R, Langdon WB, McPhee NF (2008) A field guide to genetic programming (with contributions by Koza JR). In: A field guide to genetic programming. Available via Accessed 1 Nov 2014

Download references


This research has been co-financed by the European Union (European Social Fund—ESF) and Greek national funds through the Operational Program “Education and Lifelong Learning” of the National Strategic Reference Framework (NSRF)—Research Funding Program: Thales (ASPASIA). Investing in knowledge society through the European Social Fund.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Georgios Dounias .

Editor information

Editors and Affiliations


Appendix 1: Exact Formula for Three-Station Line Without Buffers

A K-station serial procuction line is presented in Fig. 7. A system with three stages (see Fig. 8) under the assumptions in Hunt (1956) has eight states in the corresponding state transition rate diagram (see Fig. 9). A state is represented by a node which contains a vector of three numbers. This vector represents the state of the entire line, i.e, first number represents the state of the first station, second number represents the state of the second station and so on. Every number in the vector is interpreted as 0 for idle station, 1 for busy station and 2 for blocked station. The interconnections are represented by the mean service rate μ i of each station (Muth 1984). According to this analysis the numbers of the states of a K-station line n K are shown in Table 2 (Muth 1984).

Fig. 7
figure 7

A K-station production line with K−1 intermediate buffers

Fig. 8
figure 8

A three station production line with no intermediate buffers

Fig. 9
figure 9

State transition rate diagram for three station line with no intermediate buffers

Table 2 Number of states for a K-station line without buffers

For the case of K = 3 the throughput is expressed in Eq. (7), (Hunt 1956). In Hunt’s work the term maximum possible utilization ρmax was used.

$$ {\rho}_{\max }=\frac{N}{D} $$


$$ \begin{array}{l}N={\mu}_2{\mu}_3\left({\mu}_2+{\mu}_3\right)\Big({\mu_1}^4+2{\mu_1}^3{\mu}_2+3{\mu_1}^3{\mu}_3+{\mu_1}^2{\mu_2}^2\\ {}\kern1.32em +4{\mu_1}^2{\mu}_2{\mu}_3+3{\mu_1}^2{\mu_3}^2+{\mu}_1{\mu_2}^2{\mu}_3+4{\mu}_1{\mu}_2{\mu_3}^2\\ {}\kern1.32em +{\mu}_1{\mu_3}^3+{\mu_2}^2{\mu_3}^2+{\mu_3}^3{\mu}_2\Big)\end{array} $$
$$ \begin{array}{l}D={\mu_1}^5\left({\mu_2}^2+{\mu}_2{\mu}_3+{\mu_3}^2\right)\\ {}\kern1.08em +{\mu_1}^4\left(2{\mu_2}^3+5{\mu_2}^2{\mu}_3+5{\mu}_2{\mu_3}^2+3{\mu_3}^3\right)\\ {}\kern1.08em +{\mu_1}^3\left({\mu_3}^4+5{\mu_2}^3{\mu}_3+8{\mu_2}^2{\mu_3}^2+7{\mu}_2{\mu_3}^3+3{\mu_3}^4\right)\\ {}\kern1.08em +{\mu_1}^2\left({\mu_2}^4{\mu}_3+5{\mu_2}^3{\mu_3}^2+8{\mu_2}^2{\mu_3}^3+5{\mu}_2{\mu_3}^4+{\mu_3}^5\right)\\ {}\kern1.08em +{\mu}_1\left({\mu_2}^4{\mu_3}^2+5{\mu_2}^3{\mu_3}^3+5{\mu_2}^2{\mu_3}^4+{\mu}_2{\mu_3}^5\right)\\ {}\kern1.08em +\left({\mu_2}^4{\mu_3}^3+2{\mu_2}^3{\mu_3}^4+{\mu_2}^2{\mu_3}^5\right)\end{array} $$

Appendix 2: The DECO-2 Algorithm

The DECO-2 algorithm (Diamantidis et al. 2007) is capable of handling saturated lines (with over 1000 stations in series) with exponential service times, parallel identical machines at each station and finite intermediate buffers using a decomposition methodology and estimates the throughput of the specified production line. Figure 10 shows the decomposition scheme for a K-stations line. Details of the algorithm are presented in Papadopoulos et al. (2009). The steps of the algorithm are presented as follow:

Fig. 10
figure 10

Flow line with K parallel-machine work-stations, K−1 intermediate buffers (Line L) and decomposition scheme (Lines L1,…,L K−1) (Papadopoulos et al. 2009). In the present work S = 1

  • {Step 1: Initialization}

  • for \( i=1\kern0.48em \mathbf{t}\mathbf{o}\kern0.48em K-1 \) do

  • $$ \begin{array}{l}{\mu}_i^u={\mu}_i\\ {}{\mu}_i^d={\mu}_{i+1}\end{array} $$
  • ε = small positive number for terminating condition

  • end for

  • $$ \begin{array}{l}\left\{\mathbf{Step}\;\mathbf{2}:\ \mathbf{Calculate}\;{\mu}_i^u\;\mathbf{and}\;{\mu}_j^d\right\}\\ {}\mathbf{f}\mathbf{o}\mathbf{r}\;i=2\;\mathbf{t}\mathbf{o}\;K-1\;\mathbf{do}\\ {}\mathrm{Calculate}\;{\mu}_i^u\;\mathrm{u}\mathrm{s}\mathrm{in}\mathrm{g}\;\mathrm{the}\;\mathrm{f}\mathrm{o}\mathrm{llowing}\;\mathrm{equation}\\ {}{\mu}_i^u=\frac{1}{\frac{1}{\mu_i}+\frac{s_i}{X_{i-1}}-\frac{1}{\mu_{i-1}^d}},\;i=2,\dots, K-1\\ {}\mathrm{Evaluate}\;\mathrm{the}\;\mathrm{two}\hbox{-} \mathrm{work}\hbox{-} \mathrm{station},\;\mathrm{o}\mathrm{ne}\;\mathrm{b}\mathrm{u}\mathrm{f}\mathrm{f}\mathrm{er}\;\mathrm{s}\mathrm{u}\mathrm{b}\hbox{-} \mathrm{line}\;\\ {}{L}_{i-1},\kern0.24em \mathrm{u}\mathrm{s}\mathrm{in}\mathrm{g}\;\mathrm{the}\;\mathrm{most}\ \mathrm{r}\mathrm{ecent}\;\mathrm{values}\;\mathrm{o}\mathrm{f}\;{\mu}_{i-1}^u\;\mathrm{and}\;{\mu}_{i-1}^d\;\mathrm{in}\\ {}\;\mathrm{the}\;\mathrm{algorithm}\;\mathrm{f}\mathrm{o}\mathrm{r}\ \mathrm{g}\mathrm{enerating}\ \mathrm{the}\ \mathrm{transition}\ \mathrm{matrix}\\ {}\mathbf{end}\;\mathbf{f}\mathbf{o}\mathbf{r}\end{array} $$
  • $$ \begin{array}{l}\mathbf{f}\mathbf{o}\mathbf{r}\;i=2\;\mathbf{t}\mathbf{o}\;\mathbf{K}-\mathbf{1}\;\mathbf{do}\\ {}j=K-i\\ {}\mathrm{Calculate}\;{\mu}_j^d\;\mathrm{u}\mathrm{s}\mathrm{in}\mathrm{g}\;\mathrm{the}\;\mathrm{f}\mathrm{o}\mathrm{llowing}\;\mathrm{equation}\\ {}{\mu}_i^d=\frac{1}{\frac{1}{\mu_{i+1}}+\frac{s_{i+1}}{X_{i+1}}-\frac{1}{\mu_{i+1}^u}},\kern0.24em i=K-2,\dots, 1\\ {}\mathrm{Evaluate}\;\mathrm{the}\;\mathrm{two}\hbox{-} \mathrm{work}\hbox{-} \mathrm{station},\;\mathrm{o}\mathrm{ne}\;\mathrm{b}\mathrm{u}\mathrm{f}\mathrm{f}\mathrm{er}\;\mathrm{s}\mathrm{u}\mathrm{b}\hbox{-} \mathrm{line}\;\\ {}{L}_{i+1},\kern0.24em \mathrm{u}\mathrm{s}\mathrm{in}\mathrm{g}\;\mathrm{the}\;\mathrm{most}\ \mathrm{r}\mathrm{ecent}\;\mathrm{values}\;\mathrm{o}\mathrm{f}\;{\mu}_{i+1}^u\;\mathrm{and}\;{\mu}_{i+1}^d\;\mathrm{in}\;\\ {}\mathrm{the}\;\mathrm{algorithm}\;\mathrm{f}\mathrm{o}\mathrm{r}\ \mathrm{g}\mathrm{enerating}\ \mathrm{the}\ \mathrm{transition}\ \mathrm{matrix}\\ {}\mathbf{end}\;\mathbf{f}\mathbf{o}\mathbf{r}\end{array} $$
  • $$ \begin{array}{l}\left\{\mathbf{Step}\mathbf{3}:\kern0.24em \mathbf{Terminating}\ \mathbf{Conditions}\right\}\\ {}\mathbf{if}\kern0.24em \left|{X}_i^L-{X}_1^L\right|<\varepsilon, \kern0.24em i=2,\dots, K-1\kern0.24em \mathbf{then}\\ {}\kern0.96em \mathbf{GOTO}\kern0.24em Step\kern0.24em 4\\ {}\mathbf{else}\\ {}\kern0.96em \mathbf{GOTO}\kern0.24em Step\kern0.24em 2\\ {}\mathbf{end}\;\mathbf{if}\end{array} $$
  • $$ \begin{array}{lll} {\left\{ {{\bf{Step4}}:\:{\bf{Output}}\:{\bf{Results}}} \right\}}\\ {X = X_i^L,i = 1, \ldots ,K - 1} \end{array} $$

The algorithm generates the transition probabilities in three stages (Diamantidis et al. 2007)

  1. 1.

    transition probabilities of the lower boundary states

  2. 2.

    transition probabilities of the internal states

  3. 3.

    transition probability of the upper boundary state

The steps of the algorithm are presented as follow:

  • $$ \begin{array}{l}\left\{\mathbf{Lower}\;\mathbf{boundary}\;\mathbf{states}\right\}\\ {}{P}_{0,0}=1-{S}_1{\mu}_1\\ {}{P}_{0,1}={S}_1{\mu}_1\\ {}\mathbf{f}\mathbf{o}\mathbf{r}\;c=2\;\mathbf{t}\mathbf{o}\;C\;\mathbf{do}\\ {}\kern0.24em {P}_{0,c}=0.0\\ {}\mathbf{end}\;\mathbf{f}\mathbf{o}\mathbf{r}\end{array} $$
  • {Internal states}

  • $$ \begin{array}{l}\mathbf{f}\mathbf{o}\mathbf{r}\;i=1\;\mathbf{t}\mathbf{o}\;C-1\;\mathbf{do}\\ {}\kern0.5em \mathbf{f}\mathbf{o}\mathbf{r}\;j=0\kern0.36em \mathbf{t}\mathbf{o}\;j=C\;\mathbf{do}\end{array} $$
  • $$ \begin{array}{l}\mathbf{if}\;i>j\;\mathbf{and}\;i-j=1\;\mathbf{and}\;i<{S}_2\;\mathbf{then}\\ {}{P}_{i,j}=i{\mu}_2\\ {}\mathbf{end}\;\mathbf{if}\\ {}\mathbf{if}\;i>j\;\mathbf{and}\;i-j=1\;\mathbf{and}\;i\ge {S}_2\;\mathbf{then}\\ {}{P}_{i,j}={S}_2{\mu}_2\\ {}\mathbf{end}\;\mathbf{if}\end{array} $$
  • $$ \begin{array}{l}\mathbf{if}\;i=j\;\mathbf{and}\;j<{S}_2\;\mathbf{and}\;i<{S}_2+B+1\;\mathbf{then}\\ {}{P}_{i,j}=1-{S}_1{\mu}_1-j{\mu}_2\\ {}\mathbf{end}\;\mathbf{if}\\ {}\mathbf{if}\;i=j\;\mathbf{and}\;j\ge {S}_2\;\mathbf{and}\;i<{S}_2+B+1\;\mathbf{then}\\ {}{P}_{i,j}=1-{S}_1{\mu}_1-{S}_2{\mu}_2\\ {}\mathbf{end}\;\mathbf{if}\end{array} $$
  • $$ \begin{array}{l}\mathbf{if}\;i=j\;\mathbf{and}\;j\ge {S}_2\;\mathbf{and}\;i\ge {S}_2+B+1\;\mathbf{then}\;\\ {}K=C-i\\ {}{P}_{i,j}=1-K{\mu}_1-{S}_2{\mu}_2\\ {}\mathbf{end}\;\mathbf{if}\\ {}\mathbf{if}\;j>i\;\mathbf{and}\;j-i=1\;\mathbf{and}\;i<{S}_2+B+1\;\mathbf{then}\\ {}{P}_{i,j}={S}_1{\mu}_1\\ {}\mathbf{end}\mathbf{if}\end{array} $$
  • $$ \begin{array}{l}\mathbf{if}\;j>i\;\mathbf{and}\;j-i=1\;\mathbf{and}\;i\ge {S}_2+B+1\;\mathbf{then}\\ {}m=C-i\\ {}{P}_{i,j}=m{\mu}_1\\ {}\mathbf{end}\;\mathbf{if}\end{array} $$
  • $$ \begin{array}{l}\mathbf{if}\;i>j\;\mathbf{and}\;i-j>1\;\mathbf{then}\;\\ {}{P}_{i,j}=0.0\\ {}\mathbf{end}\;\mathbf{if}\\ {}\mathbf{if}\;j>i\;\mathbf{and}\;j-i>1\;\mathbf{then}\\ {}{P}_{i,j}=0.0\\ {}\mathbf{end}\;\mathbf{if}\end{array} $$
  • $$ \begin{array}{l}\kern0.24em \mathbf{end}\;\mathbf{f}\mathbf{o}\mathbf{r}\\ {}\mathbf{end}\;\mathbf{f}\mathbf{o}\mathbf{r}\end{array} $$
  • $$ \begin{array}{l}\left\{\mathbf{Upper}\;\mathbf{boundary}\;\mathbf{states}\right\}\\ {}{P}_{C,C-1}={S}_2{\mu}_2\\ {}{P}_{C,C}=1-{S}_2{\mu}_2\\ {}\mathbf{f}\mathbf{o}\mathbf{r}\;c=0\;\mathbf{t}\mathbf{o}\;C-2\;\mathbf{do}\\ {}{P}_{C,c}=0.0\\ {}\mathbf{end}\;\mathbf{f}\mathbf{o}\mathbf{r}\end{array} $$
Table 3 Glossary for decomposition approach

Rights and permissions

Reprints and Permissions

Copyright information

© 2017 Springer International Publishing Switzerland

About this paper

Cite this paper

Boulas, K., Dounias, G., Papadopoulos, C. (2017). Approximating Throughput of Small Production Lines Using Genetic Programming. In: Grigoroudis, E., Doumpos, M. (eds) Operational Research in Business and Economics. Springer Proceedings in Business and Economics. Springer, Cham.

Download citation