# Multi-Gene Genetic Programming-Based Identification of a Dynamic Prediction Model of an Overhead Traveling Crane

^{*}

## Abstract

**:**

## 1. Introduction

- This study uses data from both a simulated model as well as from the experimental stand for obtaining an approximating function to map the input to the output using multi-gene genetic programming. To the best of the authors’ knowledge this is the first study that uses genetic programming for an iterative predictive model of the crane dynamics.
- The Levenberg–Marquardt algorithm is used for minimizing the square errors over the entire prediction horizon using the least squares from the standard MGGP algorithm as an initial point.

## 2. Technical Background

#### 2.1. Multi-Gene Genetic Programming

_{0}is the bias term, θ

_{i}is the i-th gene weight and the vector of outputs is obtained by evaluating the tree-based structure. The least squares method is used to obtain the linear-in-the-parameter gene weights.

#### 2.2. Nonlinear Parameter Estimation

## 3. Crane Dynamic Prediction—A Simulation Study

#### 3.1. Crane Dynamics

^{T}and F, respectively. The equations of motion are given by

#### 3.2. Simulation Results

_{s}= 0.1 s.

^{2}(12).

^{2}of the position and sway prediction for the 10-step ahead and 20-step ahead prediction for the MGGP model and ARX model are given in Table 5. We noticed that the position model obtained by the MGGP has a similar structure to the ARX model with an additional nonlinear term. The MGGP model and ARX model accurately predicted the position of the crane with no significant loss of accuracy as the prediction step increased. However, the ARX model was a poor predictor of the payload sway, and there was a significant loss of accuracy as the prediction step was increased. The mean and standard deviation of the NMSE for the MGGP sway model were 0.0586 and 0.0021 for the 10-step ahead predictor and 0.0518 and 0.0209 for the 20-step ahead predictor, while for the ARX sway model they were 0.2387 and 0.0933 for the 10-step ahead predictor and 0.3714 and 0.1514 for the 20-step ahead predictor. The mean and standard deviation of the NMSE for the MGGP position model were 0.0015 and 2.0616 × 10

^{−4}for the 10-step ahead predictor and 0.0047 and 1.7321 × 10

^{−4}for the 20-step ahead predictor, while for the ARX sway model they were 0.0028 and 5 × 10

^{−5}for the 10-step ahead predictor and 0.0044 and 1.4141 × 10

^{−4}for the 20-step ahead predictor.

## 4. Experimental Results

^{2}of the position and sway prediction for the 10-step ahead and 20-step ahead predictions for the MGGP model and ARX model are given in Table 9. We can observe from the plots that the MGGP sway model is better at predicting the residual oscillations with the transient oscillations being either over or underpredicted. The ARX sway model either over or underpredicts both the transient as well as the residual oscillations. The mean and standard deviation of the NMSE for the MGGP sway model were 0.1471 and 0.0486 for the 10-step ahead predictor and 0.1519 and 0.0428 for the 20-step ahead predictor, while for the ARX sway model they were 0.3277 and 0.0289 for the 10-step ahead predictor and 0.3984 and 0.0812 for the 20-step ahead predictor. The mean and standard deviation of the NMSE for the MGGP position model were 0.0114 and 4.1633 × 10

^{−4}for the 10-step ahead predictor and 0.0167 and 9.6047 × 10

^{−4}for the 20-step ahead predictor, while for the ARX sway model they were 0.0224 and 9.6954 × 10

^{−4}for the 10-step ahead predictor and 0.0339 and 0.0017 for the 20-step ahead predictor, respectively.

## 5. Conclusions

^{2}statistics are also presented. The results show that the model is capable of prediction with varying parameters that may be encountered during everyday operation. We noticed that in both the simulation model and the experimental model the predictor did not take the mass of the payload into account. This can be attributed to the high mechanical impedance of the crane in the experimental stand and M >> m in the simulated model.

## Author Contributions

## Funding

## Institutional Review Board Statement

## Informed Consent Statement

## Data Availability Statement

## Conflicts of Interest

## References

- Peláez, G.; Vaugan, J.; Izquierdo, P.; Rubio, H.; García-Prada, J.C. Dynamics and embedded Internet of Things input shaping control for overhead cranes transporting multibody payloads. Sensors
**2018**, 18, 1817. [Google Scholar] [CrossRef][Green Version] - Abdel-Rahman, E.M.; Nayfeh, A.H.; Masoud, Z.N. Dynamics and control of cranes: A review. J. Vib. Control
**2003**, 9, 863–908. [Google Scholar] [CrossRef] - Ramli, L.; Mohamed, Z.; Abdullahi, A.M.; Jaafar, H.I.; Lazim, I.M. Control strategies for crane systems: A comprehensive review. Mech. Syst. Signal Process.
**2017**, 95, 1–23. [Google Scholar] [CrossRef] - Petrehuş, P.; Lendek, Z.; Raica, P. Fuzzy modeling and design for a 3D Crane. IFAC Proc. Vol.
**2013**, 46, 479–484. [Google Scholar] [CrossRef][Green Version] - Smoczek, J. Experimental verification of a GPC-LPV method with RLS and P1-TS fuzzy-based estimation for limiting the transient and residual vibration of a crane system. Mech. Syst. Signal Process.
**2015**, 62–63, 324–340. [Google Scholar] [CrossRef] - Chu, Y.; Aesoy, V.; Zhang, H.; Bunes, O. Modelling and simulation of an offshore hydraulic crane. In Proceedings of the 28th European Conference on Modelling and Simulation ECMS 2014, Brescia, Italy, 27–30 May 2014; pp. 87–93. [Google Scholar]
- Herbuś, K.; Szewerda, K.; Świder, J. Virtual prototyping of the suspended monorail in the aspect of increasing the permissible travel speed in hard coal mines. Eksploat. Niezawodn.
**2020**, 22, 610–619. [Google Scholar] [CrossRef] - Ramli, L.; Mohamed, Z.; Jaafar, H.I. A neural network-based input shaping for swing suppression of an overhead crane under payload hoisting and mass variations. Mech. Syst. Signal Process.
**2018**, 107, 484–501. [Google Scholar] [CrossRef] - Onen, U.; Cacan, A. Anti-swing control of an overhead crane by using genetic algorithm based LQR. Int. J. Eng. Comput. Sci.
**2017**, 6, 21612–21616. [Google Scholar] - Al-Dhaheri, N.; Jebali, A.; Diabat, A. A simulation based genetic algorithm approach for the quay crane scheduling under uncertainty. Simul. Model. Pract. Theory
**2016**, 66, 122–138. [Google Scholar] [CrossRef] - Azevedo, A.T.; de Salles Neto, L.L.; Chaves, A.A.; Moretti, A.C. Solving the 3D stowage planning problem integrated with the quay crane scheduling problem by representation by rules and genetic algorithm. Appl. Soft Comput.
**2018**, 65, 495–516. [Google Scholar] [CrossRef] - Smoczek, J.; Szpytko, J. Evolutionary algorithm-based design of a fuzzy TBF predictive model and TSK fuzzy anti-sway crane control system. Eng. Appl. Artif. Intell.
**2014**, 28, 190–200. [Google Scholar] [CrossRef] - Kusznir, T.; Smoczek, J. Genetic programing based identification of an overhead crane. J. KONBiN
**2021**, 51, 123–133. [Google Scholar] [CrossRef] - Chen, S.; Billings, S.A. Representations of non-linear systems: The NARMAX model. Int. J. Control
**1989**, 49, 1013–1032. [Google Scholar] [CrossRef] - Zhu, Q.; Wang, Y.; Zhao, D.; Li, S.; Billings, S.A. Review of rational (total) nonlinear dynamic system modelling, identification, and control. Int. J. Syst. Sci.
**2015**, 46, 2122–2133. [Google Scholar] [CrossRef] - Koza, J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection; MIT Press: Cambridge, MA, USA, 1992; Volume 1. [Google Scholar]
- Madár, J.; Abonyi, J.; Szeifert, F. Genetic programming for the identification of nonlinear input−output models. Ind. Eng. Chem. Res.
**2005**, 44, 3178–3186. [Google Scholar] [CrossRef] - Iba, H.; deGaris, H.; Sato, T. A numerical approach to genetic programming for system identification. Evol. Comput.
**1995**, 3, 417–452. [Google Scholar] [CrossRef] - Willis, M.; Hiden, H.; Hinchliffe, M.; McKay, B.; Barton, G.W. Systems modelling using genetic programming. Comput. Chem. Eng.
**1997**, 21, S1161–S1166. [Google Scholar] [CrossRef] - Kommenda, M.; Burlacu, B.; Kronberger, G.; Affenzeller, M. Parameter identification for symbolic regression using nonlinear least squares. Genet. Program. Evolvable Mach.
**2020**, 21, 471–501. [Google Scholar] [CrossRef][Green Version] - Dou, T.; Lopes, Y.K.; Rockett, P.; Hathway, E.A.; Saber, E. Model predictive control of non-domestic heating using genetic programming dynamic models. Appl. Soft Comput.
**2020**, 97, 106695. [Google Scholar] [CrossRef] - Gandomi, A.H.; Sajedi, S.; Kiani, B.; Huang, Q. Genetic programming for experimental big data mining: A case study on concrete creep formulation. Autom. Constr.
**2016**, 70, 89–97. [Google Scholar] [CrossRef][Green Version] - Noh, H.; Kwon, S.; Seo, I.W.; Baek, D.; Jung, S.H. Multi-Gene Genetic Programming regression model for prediction of transient storage model parameters in natural rivers. Water
**2021**, 13, 76. [Google Scholar] [CrossRef] - Brameier, M.F.; Banzhaf, W. Linear Genetic Programming; No. XVI in Genetic and Evolutionary Computation; Springer: New York, NY, USA, 2007. [Google Scholar]
- Krawiec, K. Behavioral Program Synthesis with Genetic Programming, 1st ed.; Springer: Cham, Switzerland, 2016. [Google Scholar]
- Farina, M.; Piroddi, L. Simulation error minimization–based identification of polynomial input–output recursive models. IFAC Proc. Vol.
**2009**, 42, 1393–1398. [Google Scholar] [CrossRef] - Gavin, H.P. The Levenberg-Marquardt Method for Nonlinear Least Squares Curve-Fitting Problems. Available online: http://people.duke.edu/~hpgavin/ce281/lm.pdf (accessed on 23 November 2021).
- Wu, Z.; Xia, X.; Zhu, B. Model predictive control for improving operational efficiency of overhead cranes. Nonlinear Dyn.
**2015**, 79, 2639–2657. [Google Scholar] [CrossRef] - Aschemann, H.; Sawodny, O.; Lahres, S.; Hofer, E.P. Disturbance estimation and compensation for trajectory control of an overhead crane. In Proceedings of the 2000 American Control Conference, Chicago, IL, USA, 28–30 June 2000; pp. 1027–1031. [Google Scholar]
- Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput.
**2002**, 6, 182–197. [Google Scholar] [CrossRef][Green Version] - Luke, S. Two fast tree-creation algorithms for genetic programming. IEEE Trans. Evol. Comput.
**2000**, 4, 274–283. [Google Scholar] [CrossRef][Green Version] - Ni, J.; Drieberg, R.H.; Rockett, P.I. The use of an analytic quotient operator in genetic programming. IEEE Trans. Evol. Comput.
**2013**, 17, 146–152. [Google Scholar] [CrossRef]

**Figure 5.**The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 0.9 m rope length and 10 kg payload mass.

**Figure 6.**The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 0.9 m rope length and 40 kg payload mass.

**Figure 7.**The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 1.3 m rope length and 40 kg payload mass.

**Figure 8.**The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 1.7 m rope length and 10 kg payload mass.

**Figure 9.**The 10- and 20-step ahead prediction with the ARX model of the simulated crane position and payload sway with 0.9 m rope length and 10 kg payload mass.

**Figure 10.**The 10- and 20-step ahead prediction with the ARX model of the simulated crane position and payload sway with 1.3 m rope length and 40 kg payload mass.

**Figure 12.**Excitation input signal (control input), position response and sway response for training data set with rope length of 1.2 m and payload mass of 20 kg.

**Figure 13.**The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 0.9-meter rope and 10 kg payload mass.

**Figure 14.**The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 0.9-meter rope and 40 kg payload mass.

**Figure 15.**The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 1.3-meter rope and 40 kg payload mass.

**Figure 16.**The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 1.7-meter rope length and 10 kg payload mass.

**Figure 17.**The 10- and 20-step ahead prediction with the ARX model of the experimental crane position and payload sway with 0.9-meter rope and 10 kg payload mass.

**Figure 18.**The 10- and 20-step ahead prediction with the ARX model of the experimental crane position and payload sway with 1.3-meter rope and 40 kg payload mass.

Parameters | Values |
---|---|

M [kg] | 500 |

m [kg] | 10–50 |

l [m] | 0.5–3 |

${f}_{fr0}$ | 4.4 |

$\xi $ | 0.01 |

${k}_{p}$ | 0.05 |

${k}_{r}$ | 0.45 |

Parameters | Simulation |
---|---|

Population size | 200 |

Number of generations | 100 |

Initialization method | PTC2 [31] |

Max tree depth during initialization | 5 |

Max number of genes | 8 |

Terminal set | u(k−1), …, u(k−5), y(k−1), …, y(k−3), m, g, 1/l, t_{s} |

Non-terminal set | +, −, ×, analytic quotient |

High level crossover | 0.2 |

Mutation | 0.14 |

Tournament size | 8 |

Prediction horizon | 20 |

Weights | x(k) | α(k) |
---|---|---|

θ_{1} | −0.9947 | −0.9987 |

θ_{2} | 1.9947 | −0.1042 |

θ_{3} | −8.1689 × 10^{−6} | −1.0723 × 10^{−5} |

θ_{4} | 1.3829 × 10^{−4} | 1.9993 |

θ_{5} | 2.6866 × 10^{−5} | −8.4135 × 10^{−6} |

θ_{6} | −2.9573 × 10^{−8} | −1.5966 × 10^{−4} |

Coefficients | x(k) | α(k) |
---|---|---|

b_{1} | 1.0229 × 10^{−5} | −5.9573 × 10^{−6} |

b_{2} | 9.4147 × 10^{−6} | −6.1440 × 10^{−6} |

a_{1} | 1.9944 | 1.8967 |

a_{2} | −0.9944 | −0.9914 |

Output | Parameters | NMSE | R^{2} | ||||||
---|---|---|---|---|---|---|---|---|---|

10-Step Ahead | 20-Step Ahead | 10-Step Ahead | 20-Step Ahead | ||||||

MGGP | ARX | MGGP | ARX | MGGP | ARX | MGGP | ARX | ||

Position | l = 0.9 m; m = 10 kg | 0.0013 | 0.0028 | 0.0046 | 0.0043 | 0.9999 | 0.9998 | 0.9995 | 0.9996 |

l = 0.9 m; m = 40 kg | 0.0016 | 0.0028 | 0.0047 | 0.0043 | 0.9999 | 0.9998 | 0.9994 | 0.9996 | |

l = 1.3 m; m = 40 kg | 0.0017 | 0.0029 | 0.0050 | 0.0046 | 0.9999 | 0.9998 | 0.9994 | 0.9995 | |

l = 1.7 m; m = 10 kg | 0.0013 | 0.0028 | 0.0047 | 0.0044 | 0.9999 | 0.9998 | 0.9995 | 0.9996 | |

Sway | l = 0.9 m; m = 10 kg | 0.0578 | 0.2840 | 0.0776 | 0.3823 | 0.9868 | 0.6988 | 0.9762 | 0.4702 |

l = 0.9 m; m = 40 kg | 0.0577 | 0.3226 | 0.0320 | 0.4466 | 0.9866 | 0.6136 | 0.9958 | 0.2662 | |

l = 1.3 m; m = 40 kg | 0.0572 | 0.1082 | 0.0380 | 0.1562 | 0.9868 | 0.9568 | 0.9941 | 0.9126 | |

l = 1.7 m; m = 10 kg | 0.0618 | 0.2402 | 0.0595 | 0.5006 | 0.9850 | 0.7876 | 0.9862 | 0.0787 |

Parameters | Simulation |
---|---|

Population size | 200 |

Number of generations | 100 |

Initialization method | PTC2 [31] |

Max tree depth during initialization | 5 |

Max number of genes | 8 |

Terminal set | u(k−5), …, u(k−9), y(k−1), …, y(k−3), m, g, 1/l, t_{s} |

Non-terminal set | +, −, ×, analytic quotient |

High level crossover | 0.2 |

Mutation | 0.14 |

Tournament size | 8 |

Prediction horizon | 20 |

Weights | x(k) | α(k) |
---|---|---|

θ_{1} | 0.1025 | −0.0753 |

θ_{2} | −0.1025 | 1.4887 |

θ_{3} | −1.2238 × 10^{−4} | −0.5138 |

θ_{4} | −0.0062 | 9.0125 × 10^{−4} |

θ_{5} | 1.6469 | 1.0233 × 10^{−5} |

θ_{6} | - | −0.0010 |

Coefficients | x(k) | α(k) |
---|---|---|

b_{1} | 0.0031 | −2.1083 × 10^{−4} |

b_{2} | 0.0423 | 8.2345 × 10^{−5} |

a_{1} | 1.8249 | 1.8980 |

a_{2} | −0.8249 | −0.9626 |

Output | Parameters | NMSE | R^{2} | ||||||
---|---|---|---|---|---|---|---|---|---|

10-Step Ahead | 20-Step Ahead | 10-Step Ahead | 20-Step Ahead | ||||||

MGGP | ARX | MGGP | ARX | MGGP | ARX | MGGP | ARX | ||

Position | l = 0.9 m; m = 10 kg | 0.0109 | 0.0214 | 0.0169 | 0.0320 | 0.9964 | 0.9876 | 0.9891 | 0.9662 |

l = 0.9 m; m = 40 kg | 0.0113 | 0.0229 | 0.0169 | 0.0353 | 0.9962 | 0.9861 | 0.9895 | 0.9600 | |

l = 1.3 m; m = 40 kg | 0.0115 | 0.0218 | 0.0154 | 0.0330 | 0.9959 | 0.9869 | 0.9907 | 0.9634 | |

l = 1.7 m; m = 10 kg | 0.0119 | 0.0235 | 0.0177 | 0.0353 | 0.9959 | 0.9857 | 0.9888 | 0.9615 | |

Sway | l = 0.9 m; m = 10 kg | 0.0799 | 0.2851 | 0.0893 | 0.3898 | 0.9753 | 0.7384 | 0.9640 | 0.5694 |

l = 0.9 m; m = 40 kg | 0.1450 | 0.3355 | 0.1599 | 0.4245 | 0.9185 | 0.6375 | 0.8771 | 0.4721 | |

l = 1.3 m; m = 40 kg | 0.1722 | 0.3416 | 0.1770 | 0.2925 | 0.8726 | 0.7235 | 0.7911 | 0.6647 | |

l = 1.7 m; m = 10 kg | 0.1911 | 0.3487 | 0.1815 | 0.4868 | 0.8404 | 0.6222 | 0.7561 | 0.3685 |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Kusznir, T.; Smoczek, J. Multi-Gene Genetic Programming-Based Identification of a Dynamic Prediction Model of an Overhead Traveling Crane. *Sensors* **2022**, *22*, 339.
https://doi.org/10.3390/s22010339

**AMA Style**

Kusznir T, Smoczek J. Multi-Gene Genetic Programming-Based Identification of a Dynamic Prediction Model of an Overhead Traveling Crane. *Sensors*. 2022; 22(1):339.
https://doi.org/10.3390/s22010339

**Chicago/Turabian Style**

Kusznir, Tom, and Jaroslaw Smoczek. 2022. "Multi-Gene Genetic Programming-Based Identification of a Dynamic Prediction Model of an Overhead Traveling Crane" *Sensors* 22, no. 1: 339.
https://doi.org/10.3390/s22010339