Introduction of ABCEP as an automatic programming method
Introduction
Many complicated problems presented in the engineering, economics, medicine, marine, and other fields can be solved using artificial intelligence methods. The growth of different branches of artificial intelligence in various industries has been dramatic and continues to replace classic techniques. One of the most attractive branches of artificial intelligence is automatic programming. In contrast to traditional linear and nonlinear regression techniques that fit parameters to a given form of an equation, automatic programming searches parameters and nonlinear equation forms to find the best formula that represents a given system [1]. Additionally, automatic programming performs the task of discovering knowledge among the input and output variables of a system. For this, automatic programming identifies the effective inputs of a system in such a way that their effects can be demonstrated using a mathematical formula, and the quality and generality of the constructed relationships can be analyzed [2].
Several automatic programming algorithms have been introduced based on evolutionary computations, including genetic programming (GP) [3], artificial bee colony programming (ABCP) [4], biogeography-based programming [5], clone selection programming [6], ant programming [7], artificial immune system programming [8], and dynamic ant programming [9], to address many practical problems [10], [11], [12], [13], [14], [15], [16]. Automatic programming algorithms can be used to solve many types of issues, such as classification [17], [18], [19], regression [20], feature selection [21], time series [22], [23], path planning [24], [25], development of fuzzy systems [26], and design of neural network [27] problems.
The genetic algorithm is the pioneer of evolutionary population-based metaheuristic algorithms and is the basis of GP. In GP, each solution of a problem is represented as a computer program in which nonlinear parse trees consist of various shapes and sizes rather than strings of fixed lengths [28]. GP evolves a population of computer programs in each generation and uses crossover and mutation operators to randomly transform program populations into the novel and optimistically improved program populations [3]. In addition to standard GP, various extensions of this type of automatic programming have been reported in the literature, including gene expression programming (GEP) [29] and multi-stage genetic programming [30]. GEP is a subsequent version of GP proposed by Ferreira [29] in which solutions are represented by chromosomes that are afterward demonstrated as nonlinear entities of different sizes and shapes.
Swarm intelligence is one of the most exciting subjects in population-based metaheuristic algorithms, which has some advantages over evolutionary algorithms [31]. For instance, during iterations, swarm intelligence-based algorithms keep a record of the data of previous generations, whereas evolutionary algorithms disregard these data, and memory is often utilized to save the best solution derived by swarm intelligence-based algorithms. In addition, a smaller number of parameters and operators are typically set in swarm intelligence-based algorithms as compared to evolutionary algorithms. In terms of operation, swarm intelligence-based algorithms are easily understandable and simple to run.
The artificial bee colony optimization (ABCO) algorithm, inspired by the food search strategy of bees, is a swarm intelligence-based metaheuristic algorithm that was initially introduced to optimize numerical problems [32]. ABCP is an extension of the artificial bee colony optimization algorithm representing a numerical problem using more complicated structures. In ABCP, similar to other automatic programming techniques, variables and constants are allowed to evolve as a way to generate mathematical equations automatically [4]. This algorithm has been successfully used to solve different types of engineering problems. For example, Golafshani and Ashour derived a formula that uses ABCP to predict the elastic modulus of self-compacting concrete [33] and, in a later study, used ABCP to estimate the elastic modulus of recycled aggregate concrete [14]. Because of the similar structures of ABCP and ABCO in creating the solutions, the drawbacks of the latter can be related to those of the former [34]. Although ABCO possesses several advantages, convergence performance is one of the significant drawbacks of this algorithm, and several attempts have been made to improve it [35], [36], [37]. A comprehensive study of ABCO algorithm carried out by Karaboga et al. [36] revealed the advances of artificial bee colony algorithm and its applications, concluding that the algorithm must change despite its great potentials. Moreover, by testing the convergence rate of the ABCO algorithm, a better balance between exploration and exploitation phases was achieved [35], [38].
Motivated by the idea of expression programming used in GEP and mitigating the aforementioned deficiencies of the ABCP, this paper proposes an automatic programming technique called artificial bee colony expression programming (ABCEP). Ferreira [29] stated that the concept of expression and their related trees enable the GEP to outperform the other automatic programming techniques. The proposed model can compensate for the drawbacks of ABCP in two ways. First, ABCEP can flee from the local optima, and second, the convergence rate can increase using the idea of expression programming in ABCEP.
The structure of this paper is as follows: Section 2 and Section 3 provide explanations of ABCP and ABCEP, respectively. Section 4 describes the performance of ABCEP on 15 benchmark functions and compares the proposed model with other control algorithms. The efficiency of the developed model is then examined based on three practical problems in Section 5, and conclusions are presented in Section 6.
Section snippets
Artificial bee colony programming (ABCP)
Karaboga [32] introduced a population-based optimization algorithm named artificial bee colony optimization that is inspired by the natural behavior of bees searching for food sources. In a hive, three types of bees, namely employed, onlooker, and scout bees, have the role of extracting nectar around the hive. Employed bees exploit food sources; onlooker bees wait in the hive to make decisions about the quality of the food sources; and scout bees search for new food sources. In the artificial
Artificial bee colony expression programming (ABCEP)
The idea of expression programming was first applied to genetic algorithm and genetic programming, which resulted in the advent of gene expression programming (GEP) [29]. ABCEP is an extension of the artificial bee colony optimization and ABCP algorithms, in which the food source candidates (possible solutions) are defined as linear strings with fixed lengths. These linear strings can be easily converted to nonlinear entities representing expression trees with different shapes and sizes. The
Experiments and results
This section is divided into four sub-sections. The first sub-section provides explanations of the parameters and the benchmarks that were used (15 functions that were selected by an extensive search of previously published papers), and four control algorithms that were selected for making comparisons. The second sub-section describes the testing of the selected programming models (ABCP [4], GEP [29], GP [3], and quick artificial bee colony programming (qABCP) [34]) with the provided
Practical approximations using ABCEP
In this section, three real-world problems are used to evaluate the performance of the ABCEP algorithm. The first practical problem considers the Colebrook equation, which was developed to solve a hydraulic water flow issue in a pipe [47]. The empirical equation specifies the relation between the Darcy flow friction factor (λ), Reynolds number (Re), and relative roughness of pipes (ε/D), as follows:
A set of 200 triplets was employed to feed the automatic programming
Conclusions
The development of ABCEP, a novel evolutionary computation method based on automatic programming, was inspired by the ideas of expression programming and ABCP. The aim of this research was to construct an automatic programming technique that can compensate for some of the deficiencies of other methods, including poor convergence and high locality. To evaluate the performance of the proposed method, different benchmark functions, including single and bivariate variables problems, were examined.
CRediT authorship contribution statement
Masood Nekoei: Methodology, Software, Data curation, Validation, Formal analysis, Writing - original draft. Seyed Amirhossein Moghaddas: Validation, Formal analysis, Visualization, Writing - original draft. Emadaldin Mohammadi Golafshani: Conceptualization, Methodology, Software, Data curation, Supervision, Project administration. Amir H. Gandomi: Conceptualization, Data curation, Investigation.
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
References (50)
- et al.
A methodology for fitting and validating metamodels in simulation
Eur. J. Oper. Res.
(2000) - et al.
Artificial bee colony programming for symbolic regression
Inf. Sci.
(2012) Introduction of biogeography-based programming as a new algorithm for solving problems
Appl. Math. Comput.
(2015)- et al.
Clone selection programming and its application to symbolic regression
Expert Syst. Appl.
(2009) - et al.
Automatic regression methods for formulation of elastic modulus of recycled aggregate concrete
Appl. Soft Comput. J.
(2018) - et al.
Expert systems with applications induction machine fault detection using clone selection programming
Expert Syst. Appl.
(2009) - et al.
A feasibility study of BBP for predicting shear capacity of FRP reinforced concrete beams without stirrups
Adv. Eng. Softw.
(2016) - et al.
Immune programming models of Cryptosporidium parvum inactivation by ozone and chlorine dioxide
Inf. Sci.
(2009) Expert Systems with Applications Multi-robot path planning using co-evolutionary genetic programming
Expert Syst. Appl.
(2012)- et al.
Multi-stage genetic programming: A new strategy to nonlinear system modeling
Inf. Sci.
(2011)
Prediction of self-compacting concrete elastic modulus using two symbolic regression techniques
Autom. Constr.
A quick semantic artificial bee colony programming (qsABCP) for symbolic regression
Inf. Sci.
A novel artificial bee colony algorithm with depth-first search framework and elite-guided search equation
Inf. Sci.
Artificial bee colony algorithm with gene recombination for numerical function optimization
Appl. Soft Comput. J.
Coevolving fitness predictors for accelerating evolution and reducing evaluations
Genet. Program. Theory Pract. IV
Dynamic ant programming for automatic construction of programs
IEEJ Trans. Electr. Electron. Eng.
Assessment of artificial neural network and genetic programming as predictive tools
Adv. Eng. Softw.
An evolutionary approach for modeling of shear strength of RC deep beams
Mater. Struct./Mater. Constr.
Estimating the optimal mix design of silica fume concrete using biogeography-based programming
Cem. Concr. Compos.
Artificial neural network and genetic programming for predicting the bond strength of GFRP bars in concrete
Mater. Struct./Mater. Constr.
Prediction of the bond strength of ribbed steel bars in concrete based on genetic programming
Comput. Concr.
A feasibility study of BBP for predicting shear capacity of FRP reinforced concrete beams without stirrups
Adv. Eng. Softw.
Cited by (14)
Immune Plasma Programming: A new evolutionary computation-based automatic programming method
2024, Applied Soft ComputingA comprehensive review of automatic programming methods
2023, Applied Soft ComputingInvestigating the best automatic programming method in predicting the aerodynamic characteristics of wind turbine blade
2023, Engineering Applications of Artificial IntelligenceApplication of artificial bee colony programming techniques for predicting the compressive strength of recycled aggregate concrete
2022, Applied Soft ComputingCitation Excerpt :These two extensions were then combined and a new version of ABCP were proposed, which was named quick semantic ABCP (qsABCP). Nekoei et al. [57] introduced ABCEP and compared its performance to other ABCP and GP-based techniques, using 15 real-world benchmark functions and three practical equations, and concluded that by implementing the expression idea, ABCEP could outperform the other existing techniques from accuracy and run time viewpoints. The employed and onlooker bees of ABC-based AR techniques use their unique sharing mechanisms to improve the solutions which make the primary distinction between these algorithms.