Elsevier

Information Sciences

Volume 545, 4 February 2021, Pages 575-594
Information Sciences

Introduction of ABCEP as an automatic programming method

https://doi.org/10.1016/j.ins.2020.09.020Get rights and content

Abstract

Automatic programming is a branch of artificial intelligence that presents each solution as a mathematical formula based on heuristic mechanisms. In this study, artificial bee colony expression programming (ABCEP) is presented, which is combined simultaneously with expression programming. By using expression sharing to generate new solutions, the proposed method can minimize certain deficiencies of artificial bee colony programming, such as weak convergence and high locality. A total number of 15 real-world regression benchmark functions was used to evaluate the performance of the proposed model. For comparison purposes, successful run percentage, mean best cost, convergence performance, and run time of ABCEP were compared to those of other tested automatic programming algorithms, including artificial bee colony programming, gene expression programming, genetic programming, and quick artificial bee colony programming. A Wilcoxon signed-rank test was also done to compare the behavior of the algorithms. Additionally, the accuracy of all algorithms was then evaluated using three real-world practical benchmarks. The results indicate that the predictions generated by ABCEP are better than those obtained by other control algorithms based on successful runs, mean fitness values, and convergence rate.

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:1λ-2×log(2.51Re×1λ+ε3.71×D)

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)

  • E.M. Golafshani et al.

    Prediction of self-compacting concrete elastic modulus using two symbolic regression techniques

    Autom. Constr.

    (2016)
  • B. Gorkemli et al.

    A quick semantic artificial bee colony programming (qsABCP) for symbolic regression

    Inf. Sci.

    (2019)
  • L. Cui et al.

    A novel artificial bee colony algorithm with depth-first search framework and elite-guided search equation

    Inf. Sci.

    (2016)
  • G. Li et al.

    Artificial bee colony algorithm with gene recombination for numerical function optimization

    Appl. Soft Comput. J.

    (2017)
  • M.D. Schmidt et al.

    Coevolving fitness predictors for accelerating evolution and reducing evaluations

    Genet. Program. Theory Pract. IV

    (2006)
  • J.R. Koza, Genetic programming: on the programming of computers by means of natural selection,...
  • O. Roux, C. Fonlupt, Ant programming: Or how to use ants for automatic programming, Proceedings of the 2nd...
  • C.G. Johnson, Artificial immune system programming for symbolic regression, Lecture Notes in Computer Science...
  • S. Shirakawa et al.

    Dynamic ant programming for automatic construction of programs

    IEEJ Trans. Electr. Electron. Eng.

    (2008)
  • A.H. Gandomi et al.

    Assessment of artificial neural network and genetic programming as predictive tools

    Adv. Eng. Softw.

    (2015)
  • A.H. Gandomi et al.

    An evolutionary approach for modeling of shear strength of RC deep beams

    Mater. Struct./Mater. Constr.

    (2013)
  • E.M. Golafshani et al.

    Estimating the optimal mix design of silica fume concrete using biogeography-based programming

    Cem. Concr. Compos.

    (2019)
  • E.M. Golafshani et al.

    Artificial neural network and genetic programming for predicting the bond strength of GFRP bars in concrete

    Mater. Struct./Mater. Constr.

    (2015)
  • E.M. Golafshani et al.

    Prediction of the bond strength of ribbed steel bars in concrete based on genetic programming

    Comput. Concr.

    (2014)
  • E.M. Golafshani et al.

    A feasibility study of BBP for predicting shear capacity of FRP reinforced concrete beams without stirrups

    Adv. Eng. Softw.

    (2016)
  • Cited by (14)

    • Application of artificial bee colony programming techniques for predicting the compressive strength of recycled aggregate concrete

      2022, Applied Soft Computing
      Citation 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.

    View all citing articles on Scopus
    View full text