An enhanced fruit fly optimization algorithm with random spare and double adaptive weight strategies for oil and gas production optimization
Xu Wang, Jingfu Shan

TL;DR
This paper introduces an improved fruit fly optimization algorithm for optimizing oil and gas production, showing better performance on benchmark tests.
Contribution
The paper proposes an enhanced FOA with random spare and dual adaptive weight strategies for improved optimization performance.
Findings
RDFOA outperforms CLACO and QCSCA on 17 and 19 functions of the CEC 2017 benchmark.
RDFOA surpasses CCMSCSA and HGWO on 10 functions of the CEC 2022 benchmark.
The algorithm shows superior performance in oil and gas production optimization scenarios.
Abstract
In the field of petroleum extraction, enhancing oil and gas recovery processes is essential for sustaining the economic viability of energy enterprises and addressing the continuously increasing global energy demand. Efficient subsurface production plays a pivotal role in strategic decision-making, including the selection of optimal drilling sites and the determination of effective well control parameters. However, conventional reservoir optimization techniques are often computationally intensive and may struggle to deliver satisfactory solutions. As a promising alternative, evolutionary algorithms—rooted in the principles of natural selection—have demonstrated strong potential for addressing complex optimization problems due to their gradient-free nature and inherent suitability for parallel computation. In this study, we propose an enhanced evolutionary algorithm tailored for global…
Genes, proteins, chemicals, diseases, species, mutations and cell lines named across the full text — each resolved to its canonical identifier and authoritative record.
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReservoir Engineering and Simulation Methods · Metaheuristic Optimization Algorithms Research · Enhanced Oil Recovery Techniques
Introduction
In the petroleum sector, reservoir management (RM) remains a crucial area of interest for oil and gas enterprises. As highlighted by Wiggins and Startzman^1^, RM entails the deliberate coordination of technological tools, financial resources, and human capital to improve both the economic viability and recovery efficiency of hydrocarbon reservoirs. They further emphasized that reservoir management (RM) encompasses the entire life cycle of a reservoir—from initial discovery to final decommissioning. Within this framework, production optimization constitutes a central function of RM. Oil and gas producers continually seek to enhance hydrocarbon output, not only to meet the escalating global energy demand but also to maximize economic returns.
One widely employed technique for enhancing oil production is water injection, commonly known as waterflooding. This method enables the recovery of additional hydrocarbons beyond what is achievable through natural drive mechanisms, such as gas cap expansion and gravity segregation^2^. However, the effective implementation of waterflooding demands meticulous planning to avoid cost inefficiencies and operational challenges. As a result, the optimization of waterflooding strategies has long been a central focus in both industry and academia, aimed at enhancing recovery performance and overall cost-effectiveness.
The task of waterflooding optimization poses a complex engineering problem, often addressed using mathematical models and algorithms to fine-tune design parameters^3^. These parameters can include production rates, bottomhole pressures, and the scheduling of water injection processes. In more advanced scenarios, the problem is formulated as a multi-objective optimization task, where competing goals are balanced simultaneously^4,5^. This formulation reflects the multifaceted nature of real-world reservoir management and offers engineers practical decision-making insights.
A critical tool in this context is numerical reservoir simulation (NRS), which is widely employed during the reservoir development phase to model subsurface fluid flow dynamics. When coupled with optimization techniques, NRS plays a pivotal role in refining production strategies. However, a significant limitation of NRS is its high computational cost, particularly when simulating geologically complex reservoirs. As NRS is grounded in physical and mathematical formulations of fluid behavior, increased geological heterogeneity directly translates into longer simulation times. Consequently, mitigating this computational burden has emerged as a key focus of ongoing research.
Classic global optimization problems are often based on gradient information, containing a large amount of local optimal solution disturbance information and nonlinear obstacles^6^. In recent decades, researchers have proposed many metaheuristic methods to overcome these difficulties^7–10^. These methods are very simple, inspired by various natural phenomena, with efficient calculation methods and inexpensive computational costs. Notable among them are: the firefly algorithm (FA)^11^, differential evolution (DE)^12^, bat algorithm (BA)^13^, multi-verse optimization algorithm (MVO)^14^, dragonfly algorithm (DA)^15^, Gyro Fireworks Algorithm^16^, Frigatebird Optimizer^17^, Fishing Cat Optimizer^18^, grey wolf optimization (GWO)^19^. The fruit fly optimization algorithm (FOA) is a newer swarm intelligence algorithm that simulates the foraging behavior of fruit flies using visual and olfactory mechanisms. Nevertheless, the no free lunch (NFL) theorem asserts that no optimizer can be universally optimal for all types of problems^20^. As a result, a wide range of evolutionary and swarm-based optimization algorithms have been proposed in the literature. An ideal optimization algorithm would yield a near-optimal solution tailored to the specific problem at hand. However, the “No Free Lunch” theorem underscores that no single optimization method performs best across all problem domains. An algorithm that excels in one class of optimization problems may underperform in another, potentially converging prematurely to local optima or failing to find satisfactory solutions. While population-based algorithms often demonstrate promising results in continuous optimization tasks, they may struggle with discrete problems such as feature selection. Additionally, many population-based methods suffer from instability, with performance varying considerably across runs. These methods often face challenges in maintaining an effective balance between exploration and exploitation during the search process.
Many researchers are studying the issue of oil and gas extraction, among which evolutionary algorithms are an effective method to deal with the problem of oil and gas extraction. for example, Wang et al.^21^ proposed an evolutionary algorithm-based framework for addressing oil and gas production optimization problems under uncertain operational conditions. Their approach enables real-time and robust decision-making by formulating the optimization process as a Markov decision chain. Within this framework, reinforcement learning (RL) techniques are employed to train and iteratively refine control strategies aimed at maximizing production objectives. To enhance the learning efficiency and adaptability of RL agents, the method integrates evolutionary algorithms into the training process. The evolutionary component strengthens the convergence behavior of the RL models, improves the agents’ decision-making capabilities, and accelerates convergence toward optimal control policies. Du et al.^22^ proposed an optimization framework based on evolutionary algorithms, which integrates surrogate methods, uses Bayesian random forest techniques, and employs particle swarm optimization. The Bayesian random forest technique constructs a surrogate model that determines the working mechanism of the injection production system. This model can efficiently predict a parameter based on real-time data from injection and production, which determines the dynamic production parameters of the production well. This method utilizes particle swarm optimization algorithm to optimize the injection strategy and obtain an optimal solution, which can lead to the optimal injection strategy. Ng et al.^23^ also used particle swarm optimization algorithm to optimize production. Differently, this method utilizes long short-term memory algorithms. Long short-term memory method is a machine learning approach mainly used in the field of natural language processing. Particle swarm optimization algorithm is integrated with long short-term memory algorithm, and a large number of real cases are used to improve the accuracy of the algorithm. Other related studies are summarized in Table 1.
Table 1. Related studies.StudyPublication yearsMain contributionsStrengthsWeaknessesWang et al.^21^2023Combined reinforcement learning with evolutionary algorithms for robust decision-making under uncertainty.Enhances convergence and decision-making of RL; suitable for uncertain environments.Requires significant training time; performance depends on RL settings.Du et al.^24^2025Combined genetic PSO with policy gradient reinforcement learning to adaptively adjust parameters.Avoids manual tuning; adaptive parameter control; effective in complex scenarios like hydraulic fracturing; improved performance over GAPSO.Higher runtime due to RL component (~ 7.3%); performance depends on policy network design.Du et al.^22^2023Proposed a surrogate-assisted framework using Bayesian random forest + PSO.Efficient prediction using surrogate model; effective injection strategy optimization.Surrogate modeling may reduce accuracy in highly dynamic systems.Ng et al.^23^2023Integrated PSO with LSTM for production optimization using real data.High accuracy due to LSTM; effective in modeling time-dependent production behavior.LSTM model training is complex; risk of overfitting on small datasets.Shi et al.^25^2025Built multiple intelligent models for drilling rate prediction and optimized them via GA.GA-LGBM achieved highest accuracy and robustness; interpretable via SHAP; validated on field data.Some models (e.g., KNN, MLP) may underperform in noisy datasets.
Although substantial research has been conducted within the academic community, existing algorithms still exhibit notable limitations in balancing exploration and exploitation, often failing to consistently yield globally optimal solutions. According to the No Free Lunch (NFL) Theorem, algorithmic performance is inherently problem-dependent; thus, tailoring existing algorithmic frameworks to specific problem types can help overcome their fundamental bottlenecks and lead to the development of more robust variants. Guided by this principle, the present study introduces targeted enhancements to the classical Fruit Fly Optimization Algorithm (FOA), aiming to improve its performance stability and computational efficiency across complex optimization tasks.
In summary, the main contributions of this study are outlined as follows:
- This study introduces an enhanced version of FOA, referred to as RDFOA, which incorporates the random spare strategy and double adaptive weight strategy.
- This study systematically verified the comprehensive advantages of RDFOA in convergence, robustness, and dimensional scalability through rigorous comparative experiments and mechanism decoupling analysis.
- To evaluate the performance of the proposed RDFOA in real-world production challenges, this study applies it to optimize production in three-channel reservoirs. The experimental findings emphasize the outstanding optimization capabilities of the proposed algorithm in practical settings.
This paper is partially structured as follows: “Fruit fly optimization algorithm” provides a comprehensive background on the FOA. Section “Proposed RDFOA” elaborates on the two new mechanisms integrated into the FOA. In “Experiments and results”, a series of comparative experiments are conducted to evaluate the RDFOA. Section “Application to oil reservoir production” summarizes the chapter and suggests directions for future research.
Fruit fly optimization algorithm
In 2012, Pan introduced the Fruit Fly Optimization Algorithm (FOA)^26^. The Fruit Fly Optimization Algorithm (FOA) is a bio-inspired optimization technique that simulates the foraging behavior of fruit flies. FOA leverages the olfactory and visual perception capabilities of fruit flies to identify optimal solutions within a defined search space. During the initial phase of the search, individuals move in random directions guided by their acute sense of smell, traversing varying distances to explore potential food sources. As they approach a food source, their behavior shifts from smell-driven exploration to vision-based localization to enhance accuracy. Once a promising location is identified and evaluated, the flies assess its quality and disseminate this information to the swarm. Subsequently, the population converges toward the most favorable region. From this new base, the search continues in an iterative manner to discover even better solutions. The overall exploratory behavior of FOA is depicted in Fig. 1.
Fig. 1. Iterative foraging process of fruit flies.
The execution process of FOA algorithm includes the following steps:
The first step is the parameter initialization phase. At this stage, it is necessary to set the maximum number of evaluations (MaxFEs), population size (popsize), and location range (LR). Subsequently, the initial positions of fruit fly individuals are randomly generated within the defined area to form the initial population.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{X}_{axis}=\text{r}\text{a}\text{n}\text{d}\left(\text{L}\text{R}\right)$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Y}_{axis}=\text{r}\text{a}\text{n}\text{d}\left(\text{L}\text{R}\right)$$\end{document}Step 2 Fruit flies use their olfactory perception mechanism to randomly conduct preliminary searches for food sources.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{X}_{i}={X}_{axis}+tempx$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Y}_{i}={Y}_{axis}+tempy$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:tempx=rand\:in\:\left[-\text{10,10}\right]$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:tempy=rand\:in\:\left[-\text{10,10}\right]$$\end{document}Step 3 Firstly, calculate the distance between each individual and the initial reference point using a specific formula;
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Dist}_{i}=\sqrt{{X}_{i}^{2}+{Y}_{i}^{2}}$$\end{document}Then, the reciprocal of this distance is used as an estimate of the individual’s perceived odor concentration.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{S}_{i}=1/{Dist}_{i}$$\end{document}Step 4 Substitute into the concentration evaluation function to calculate the olfactory fitness of each fruit fly’s current position.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Smell}_{i}=Fitness\:function\left({S}_{i}\right)$$\end{document}Step 5 Identify the fruit fly with the highest odor concentration among all individuals as the current optimal solution.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:\left[bestSmell\:bestindex\right]=\text{m}\text{i}\text{n}\left(Smell\right)$$\end{document}Step 6 The algorithm retains the optimal odor concentration value of the fruit fly and its position coordinates determined through visual perception, in order to guide the next round of search behavior.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{X}_{axis}=X\left(bestindex\right)$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Y}_{axis}=Y\left(bestindex\right)$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:Smellbest=bestSmell$$\end{document}Step 7 Iteration process. If the current odor concentration value is lower than the odor concentration value of the previous generation, repeat steps 2–5. Otherwise, proceed to step 6.
The implementation of the Fruit Fly Optimization Algorithm (FOA) can be outlined as follows.
Algorithm 1 FOA.
Proposed RDFOA
The original Fruit Fly Optimization Algorithm (FOA) is recognized for its simplicity, minimal control parameters, and ease of implementation. However, despite these advantages, its performance remains suboptimal when addressing multi-modal and complex optimization problems, particularly in terms of convergence speed and solution accuracy. To address these limitations, this study proposes two enhancement mechanisms designed to improve both the convergence rate and solution quality of the classical FOA.
Random spare strategy
The random spare mechanism operates by replacing the value of the current individual’s position vector at the n-th dimension with the corresponding component from the best-performing individual. In evolutionary search, it is common for certain dimensions of a candidate solution to be well-optimized while others remain suboptimal. In contrast, the global best individual typically demonstrates more consistent performance across all dimensions. To address this imbalance, we introduce a probabilistic, dimension-wise random replacement strategy that is applied from a starting dimension m through to the end of the vector. Empirical analysis indicates that setting m = 0 yields the most favorable results, suggesting that applying the strategy across the entire vector enhances performance. The decision to execute this replacement is governed dynamically by comparing a Cauchy-distributed random number with the ratio of the current evaluation count to the total number of evaluations, ensuring adaptivity throughout the optimization process.
The formula for the random spare mechanism can be expressed as Eq. (14).
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{x}_{i,j}=\left\{\begin{array}{c}{x}_{\text{b}\text{e}\text{s}\text{t},j},\hspace{0.25em}\hspace{0.25em}\hspace{0.25em}\hspace{0.25em}if\:j\ge\:m\:and\:r<\frac{{F}_{\text{c}\text{u}\text{r}}}{{F}_{\text{m}\text{a}\text{x}}}\\\:{x}_{i,j},\hspace{0.25em}\hspace{0.25em}\hspace{0.25em}\hspace{0.25em}otherwise\hspace{0.25em}\hspace{0.25em}\hspace{0.25em}\hspace{0.25em}\end{array}\right.$$\end{document}Among them, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{F}_{\text{c}\text{u}\text{r}}$$\end{document} represents the current number of evaluations, and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{F}_{\text{m}\text{a}\text{x}}$$\end{document} represents the maximum number of evaluations. r represents a random number sampled from the standard Cauchy distribution, with m as the starting dimension index and empirically set to 0.
Double adaptive weight strategy
Weight plays a crucial role in PSO, and various studies have explored adaptive weight adjustments to enhance the algorithm’s performance. Drawing inspiration from PSO, this study introduces dual adaptive weights to modulate the local and global search capabilities of the algorithm. In scenarios involving multi-peak functions, the original algorithm tends to converge prematurely to local optima. To mitigate this, we introduce weight \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{1}$$\end{document} to enhance global search and weight \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{2}$$\end{document} to bolster local search capabilities in later stages. These weights, formulated in Eq. (15) and Eq. (16), dynamically adjust during the optimization process.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{1}={(1-FEs/MaxFEs)}^{1-\text{t}\text{a}\text{n}(pi\times\:\left(rand-0.5\right)\times\:s/MaxFEs)}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{2}={(2-2\times\:FEs/MaxFEs)}^{1-\text{t}\text{a}\text{n}(pi\times\:\left(rand-0.5\right)\times\:s/MaxFEs)}$$\end{document}The parameter s adjusts according to the local optima encountered by the algorithm. Initially, s increments automatically when individual positions remain unchanged; subsequent updates halve s to moderate its impact. Due to the incorporation of s and Cauchy random numbers, weights \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{1}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{2}$$\end{document} do not diminish linearly but fluctuate, especially as the algorithm confronts local optima. FEs denotes the current evaluation count, incremented with each evaluation, up to the maximum value of MaxFEs set at 300,000. The range for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{1}$$\end{document} spans [0, 1], while that for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{2}$$\end{document} spans [0.5, 1]. Notably, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{1}$$\end{document} affects the first half of the algorithm, transforming equations such as into Eqs. (17), (18), and (19).
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:X\left(t+1\right)={w}_{1}\times\:{\text{X}}^{*}\left(\text{t}\right)-A\times\:D$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:X\left(\text{t}+1\right)={w}_{1}\times\:{\text{X}}^{*}\left(\text{t}\right)+{\text{D}}_{p}{e}^{bl}\text{c}\text{o}\text{s}\left(2\pi\:l\right)$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:X\left(t+1\right)={{w}_{1}\times\:\text{X}}_{rand}-A\times\:D$$\end{document}In the latter stage of the algorithm, weight \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{w}_{2}$$\end{document} is introduced, resulting in transformations such as Eqs. (20), (21), and (22).
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:X\left(t+1\right)={X}^{*}\left(t\right)-{w}_{2}\times\:A\times\:D$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:X\left(\text{t}+1\right)={X}^{*}\left(t\right)+{w}_{2}\times\:{D}_{p}{e}^{bl}cos\left(2\pi\:l\right)$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:X\left(t+1\right)={X}_{rand}-{w}_{2}\times\:A\cdot D$$\end{document}The proposed RDFOA
In this section, we integrate the two mechanisms into the traditional FOA and provide a detailed description of the complete RDFOA process. The RDFOA starts by utilizing a random spare mechanism to improve the efficiency of finding global optimal solutions. Concurrently uses the double adaptive weight mechanism to expedite the algorithm’s convergence.
The pseudo-code of RDFOA is presented in Algorithm 2. RDFOA is an advanced metaheuristic algorithm inspired by the foraging behavior of fruit flies, designed to address complex optimization problems through iterative, population-based search strategies. The algorithm begins by initializing essential parameters and generating an initial population of fruit flies, each assigned random coordinates along the X and Y axes within the defined search space. For each individual, fitness values are calculated using a predefined fitness function. The fruit fly exhibiting the minimum fitness value, denoted as bestSmell, is identified, and its corresponding index (bestIndex) is recorded. The coordinates of this best-performing individual are then set as the reference positions (X_axis and Y_axis), and its fitness value is stored as bestCVaccuracy.
The main loop continues to execute as long as the current iteration count remains below the predefined maximum iteration limit (Max_iterations). In each iteration, the position of each fruit fly is updated by adding random offsets to the reference X and Y coordinates, simulating the exploratory search behavior. The updated positions are then evaluated using the fitness function to determine the fitness value at each location. During this process, the fruit fly with the lowest fitness value—referred to as the current bestSmell—is identified. If this fitness value surpasses the previously recorded optimal cross-validation accuracy (bestCVaccuracy), the corresponding X and Y coordinates are adopted as the new optimal position, and bestCVaccuracy is updated accordingly.
To further enhance the optimization, sensory values are refined through a random spare mechanism, which introduces diversity by probabilistically replacing certain positions, and a dual adaptive weighting mechanism, which dynamically adjusts the influence of different positions to balance exploration and exploitation. After updating, the iteration counter increments and the process repeats. Upon termination, the algorithm returns the best fitness value found, bestCVaccuracy, representing the optimal solution.
This systematic approach ensures that RDFOA effectively explores the search space and converges toward high-quality solutions, thereby demonstrating robustness and efficiency across a broad spectrum of optimization problems.
The time complexity of the RDFOA algorithm is mainly determined by its core computational operations. While retaining the original FOA algorithm’s O (T × N × D) basic complexity (T is the number of iterations, N is the population size, and D is the problem dimension), the introduction of random spare mechanism and double adaptive weight mechanism brings controllable additional computational overhead. The time complexity of random spare mechanism is O (N × D), and the time complexity of double adaptive weight mechanism is O (T × N × D), these improvements only increase the total complexity to the same order of O (T × N × D).
Algorithm 2 Pseudo-code of RDFOA.
Experiments and results
This section provides a comprehensive evaluation of the proposed algorithm through a series of rigorous experiments. The assessment encompasses ablation studies, scalability and extension tests, analysis of search trajectory histories, comparative performance evaluations against established algorithms, and the application of the developed COFOA to real-world engineering problems.
Benchmark functions
IEEE CEC 2017 benchmark functions
Table 2 shows the details of the IEEE CEC 2017 benchmark functions.
Table 2IEEE CEC 2017 benchmark function specifications.Function equationDimOptimum \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{1}\left(x\right)={x}_{1}^{2}+1{0}^{6}{\sum\:}_{i=2}^{D}{x}_{i}^{2}$$\end{document} 30100 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{2}\left(x\right)={\sum\:}_{i=1}^{D}\left|{x}_{i}^{2}\right|$$\end{document} 30200 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{3}\left(x\right)={\sum\:}_{i=1}^{D}{x}_{i}^{2}+{\left({\sum\:}_{i=1}^{D}0.5{x}_{i}^{2}\right)}^{2}+{\left({\sum\:}_{i=1}^{D}0.5{x}_{i}^{2}\right)}^{4}$$\end{document} 30300 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{4}\left(x\right)={\sum\:}_{i=1}^{D-1}\left(100{\left({x}_{i}^{2}-{x}_{i+1}\right)}^{2}+{\left({x}_{i}-1\right)}^{2}\right)$$\end{document} 30400 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{5}\left(x\right)={\sum\:}_{i=1}^{D}\left({x}_{i}^{2}-10{cos}\left(2\pi\:{x}_{i}\right)+10\right)$$\end{document} 30500 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{6}\left(x\right)=g\left({x}_{1},{x}_{2}\right)+g\left({x}_{2},{x}_{3}\right)+\dots\:+g\left({x}_{\text{D-}1},{x}_{D}\right)+g\left({x}_{D},{x}_{1}\right)$$\end{document} 30600 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:g\left(x,y\right)=0.5+\frac{\left({{sin}}^{2}\left(\sqrt{{x}^{2}+{y}^{2}}\right)-0.5\right)}{{\left(1+0.001\left({x}^{2}+{y}^{2}\right)\right)}^{2}}$$\end{document}
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${f_7}\left( x \right) = \min \left( {\mathop \sum \nolimits_{i = 1}^D {{\left( {{{\overset{\lower0.5em\hbox{\smash{\scriptscriptstyle\frown}}}{x} }_i} - {\mu _0}} \right)}^2},dD + s\mathop \sum \nolimits_{i = 1}^D {{\left( {{{\overset{\lower0.5em\hbox{\smash{\scriptscriptstyle\frown}}}{x} }_i} - {\mu _1}} \right)}^2}} \right) + 10\left( {D - \mathop \sum \nolimits_{i = 1}^D \cos \left( {2\pi {{\overset{\lower0.5em\hbox{\smash{\scriptscriptstyle\frown}}}{z} }_i}} \right)} \right)$$\end{document} 30700 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{8}\left(x\right)={\sum\:}_{i=1}^{D}\left({z}_{i}^{2}-10{cos}\left(2\pi\:{z}_{i}\right)+10\right)+{{f}_{13}}^{*}$$\end{document} 30800 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{9}\left(x\right)={{sin}}^{2}\left(\pi\:{w}_{1}\right)+{\sum\:}_{i=1}^{D}{\left({w}_{i}-1\right)}^{2}\left[1+10{{sin}}^{2}\left(\pi\:{w}_{i}+1\right)\right]+{\left({w}_{D}-1\right)}^{2}\left[1+{{sin}}^{2}\left(2\pi\:{w}_{D}\right)\right]$$\end{document} 30900 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{10}\left(x\right)=418.9829\times\:D-{\sum\:}_{i=1}^{D}g\left({z}_{i}\right)\:,\:{z}_{i}={x}_{i}+4.209687462275036e+002$$\end{document} 301000 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{11}\left(x\right)={{\sum\:}_{i=1}^{D}\left(1{0}^{6}\right)}^{\frac{i-1}{D-1}}{x}_{i}^{2}$$\end{document} 31100 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{12}\left(x\right)=1{0}^{6}{x}_{1}^{2}+{\sum\:}_{i=2}^{D}{x}_{i}^{2}$$\end{document} 31200 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{13}\left(x\right)=-20{exp}\left(-0.2\sqrt{\frac{1}{D}{\sum\:}_{i=1}^{D}{x}_{i}^{2}}\right)-{exp}\left(\frac{1}{D}{\sum\:}_{i=1}^{D}{cos}\left(2\pi\:{x}_{i}\right)\right)+20+e$$\end{document} 31300 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{14}\left(x\right)={\sum\:}_{i=1}^{D}\left({\sum\:}_{k=0}^{kmax}\left[{a}^{k}{cos}\left(2\pi\:{b}^{k}(x+0.5\right))\right]\right)-D{\sum\:}_{k=0}^{kmax}\left[{a}^{k}{cos}\left(2\pi\:{b}^{k}.0.5\right)\right]$$\end{document} 41400 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{15}\left(x\right)={\sum\:}_{i=1}^{D}\frac{{x}_{i}^{2}}{4000}-{\prod\:}_{i=1}^{D}{cos}\left(\frac{{x}_{i}}{\sqrt{i}}\right)+1$$\end{document} 41500 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{16}\left(x\right)=\frac{10}{{D}^{2}}{{\prod\:}_{i=1}^{D}\left(1+i{\sum\:}_{j=1}^{32}\frac{\left|{2}^{j}{x}_{i}-round\left({2}^{j}{x}_{i}\right)\right|}{{2}^{j}}\right)}^{\frac{10}{{D}^{1.2}}}-\frac{10}{{D}^{2}}$$\end{document} 41600 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{17}\left(x\right)={\left|{\sum\:}_{i=1}^{D}{x}_{i}^{2}-D\right|}^{1/4}+\left(0.5{\sum\:}_{i=1}^{D}{x}_{i}^{2}+{\sum\:}_{i=1}^{D}{x}_{i}\right)/D+0.5$$\end{document} 51700 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{18}\left(x\right)={\left|{\left({\sum\:}_{i=1}^{D}{x}_{i}^{2}\right)}^{2}-{\left({\sum\:}_{i=1}^{D}{x}_{i}\right)}^{2}\right|}^{1/4}+\left(0.5{\sum\:}_{i=1}^{D}{x}_{i}^{2}+{\sum\:}_{i=1}^{D}{x}_{i}\right)/D+0.5$$\end{document} 51800 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{19}\left(x\right)={f}_{7}\left({f}_{4}\left({x}_{1},{x}_{2}\right)\right)+{f}_{7}\left({f}_{4}\left({x}_{2},{x}_{3}\right)\right)+\dots\:+{f}_{7}\left({f}_{4}\left({x}_{D-1},{x}_{D}\right)\right)+{f}_{7}\left({f}_{4}\left({x}_{D},{x}_{1}\right)\right)$$\end{document} 51900 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{20}\left(x\right)={\left[\frac{1}{D-1}{\sum\:}_{i=1}^{D-1}\left(\sqrt{{s}_{i}}\cdot\:\left({sin}\left(50.0{s}_{i}^{0.2}\right)+1\right)\right)\right]}^{2},{s}_{i}=\sqrt{{x}_{i}^{2}+{x}_{i+1}^{2}}$$\end{document} 62000 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{21}\left(x\right)={f}_{1}\left(M\left(x-{o}_{1}\right)\right)+{{f}_{21}}^{*}$$\end{document} 32100 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{22}\left(x\right)={f}_{2}\left(M\left(x-{o}_{2}\right)\right)+{{f}_{22}}^{*}$$\end{document} 32200 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{23}\left(x\right)={f}_{3}\left(M\left(x-{o}_{3}\right)\right)+{{f}_{23}}^{*}$$\end{document} 42300 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{24}\left(x\right)={f}_{4}\left(M\left(\frac{2.048\left(x-{o}_{4}\right)}{100}\right)+1\right)+{{f}_{24}}^{*}$$\end{document} 42400 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{25}\left(x\right)={f}_{5}\left(M\left(x-{o}_{5}\right)\right)+{{f}_{25}}^{*}$$\end{document} 52500 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{26}\left(x\right)={f}_{20}\left(M\left(\frac{2.048\left(x-{o}_{6}\right)}{100}\right)\right)+{{f}_{26}}^{*}$$\end{document} 52600 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{27}\left(x\right)={f}_{7}\left(M\left(\frac{600\left(x-{o}_{7}\right)}{100}\right)\right)+{{f}_{27}}^{*}$$\end{document} 62700 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{28}\left(x\right)={f}_{8}\left(\frac{5.12\left(x-{o}_{8}\right)}{100}\right)+{{f}_{28}}^{*}$$\end{document} 62800 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{29}\left(x\right)={f}_{9}\left(M\left(\frac{5.12\left(x-{o}_{9}\right)}{100}\right)\right)+{{f}_{29}}^{*}$$\end{document} 32900 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{30}\left(x\right)={f}_{30}\left(M\left(\frac{1000\left(x-{o}_{10}\right)}{100}\right)\right)+{{f}_{30}}^{*}$$\end{document} 33000
IEEE CEC 2022 benchmark functions
Table 3 shows the details of the IEEE CEC 2022 benchmark functions.
Table 3IEEE CEC 2022 benchmark function specifications.FunctionsDescribe \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{f}_{i}$$\end{document} F1Full rotated Zakharov300F2Full rotated Rosenbrock400F3Full rotated expanded Schaffer’s f6600F4Shifted and full rotated non-continuous restrain800F5Shifted and full rotated levy900F6Hybrid1800F7Hybrid2000F8Hybrid2200F9Composition2300F10Composition2400F11Composition2600F12Composition2700
Ablation analysis
This section provides an in-depth analysis of the performance improvements introduced by the two enhancement strategies in RDFOA, validated through ablation experiments—a fundamental approach in scientific investigation. Such experiments are critical for assessing the robustness and reliability of research findings. By selectively removing specific components and evaluating the resulting changes in performance, researchers can isolate the individual effects of each mechanism, thereby excluding alternative explanations. This process clarifies the distinct contribution of each component, ensuring that the conclusions drawn are both valid and reproducible.
Ablation testing is essential for hypothesis validation, enhancing the credibility of the research while minimizing the impact of confounding factors. The results of these experiments are summarized in Tables 4 and 5. Here, RFOA denotes the FOA variant modified solely by the random spare strategy, whereas DFOA applies only the double adaptive weighting mechanism. A total of 30 independent runs were conducted on benchmark functions from the CEC 2017 test suite. The data indicate that RDFOA, which integrates both enhancement mechanisms, consistently outperforms the singly improved variants. Specifically, RDFOA achieved superior results on eight functions compared to RFOA and on twenty functions compared to DFOA, highlighting the effectiveness of the combined strategy in advancing FOA—an improvement unattainable by either enhancement alone.
Table 4. Detailed data of ablation analysis.RDFOARFOADFOAFOAAverageStdAverageStdAverageStdAverageStdFunc 13.3830E + 033.5416E + 032.2984E + 032.5187E + 038.7287E + 031.5405E + 048.7895E + 054.9640E + 05Func 26.9920E + 063.8146E + 071.0429E + 034.1550E + 031.9898E + 141.0712E + 155.1811E + 152.5203E + 16Func 34.9419E + 032.1655E + 033.0409E + 021.4282E + 011.1823E + 043.9116E + 031.7774E + 032.5689E + 03Func 44.7725E + 022.1689E + 014.6737E + 023.1303E + 015.0235E + 021.9782E + 015.0897E + 022.7516E + 01Func 55.4324E + 021.0200E + 015.4607E + 021.1934E + 015.9711E + 024.3871E + 015.3621E + 021.0452E + 01Func 66.0002E + 024.3473E-026.0007E + 021.9358E-016.0000E + 023.3056E-036.0009E + 022.5348E-01Func 77.8476E + 023.3982E + 017.8347E + 022.2203E + 018.5745E + 021.8734E + 017.7122E + 021.0730E + 01Func 88.4721E + 021.7157E + 018.4788E + 021.3448E + 018.7806E + 024.3725E + 018.3647E + 021.0369E + 01Func 99.0293E + 023.0480E + 009.1583E + 022.1563E + 019.0087E + 027.5810E-019.2645E + 023.4474E + 01Func 104.7660E + 031.5214E + 033.5185E + 034.8844E + 025.6867E + 031.1948E + 033.1433E + 037.3549E + 02Func 111.1309E + 032.4538E + 011.1433E + 033.0920E + 011.1607E + 033.2342E + 011.8331E + 031.2484E + 03Func 122.3960E + 052.2181E + 052.8849E + 052.5920E + 051.2039E + 067.3988E + 052.5820E + 062.1011E + 06Func 131.8311E + 041.6589E + 041.2564E + 041.3245E + 042.7066E + 043.6853E + 041.2031E + 066.4125E + 05Func 145.9257E + 046.7866E + 049.2302E + 048.3992E + 044.0925E + 055.4749E + 051.2253E + 061.7345E + 06Func 156.9461E + 038.5988E + 039.1191E + 039.1516E + 032.2274E + 048.0498E + 043.6282E + 045.8068E + 04Func 162.3774E + 032.7893E + 022.4229E + 033.5202E + 022.1926E + 032.4230E + 022.2620E + 033.2154E + 02Func 172.0290E + 032.1273E + 022.1106E + 032.3100E + 021.9383E + 031.1625E + 022.1610E + 032.1366E + 02Func 182.3369E + 051.6732E + 053.4256E + 052.8974E + 054.2091E + 053.5901E + 052.1674E + 063.1293E + 06Func 191.1350E + 041.2826E + 041.2476E + 041.3204E + 048.9198E + 039.6549E + 038.4842E + 049.9567E + 04Func 202.3053E + 031.4960E + 022.4314E + 031.6788E + 022.3053E + 031.6617E + 022.3588E + 031.7647E + 02Func 212.3470E + 032.1680E + 012.3478E + 031.5022E + 012.3945E + 034.2478E + 012.3372E + 031.0875E + 01Func 222.3004E + 039.6987E-013.0337E + 031.2963E + 032.3013E + 032.2394E + 002.8227E + 039.5942E + 02Func 232.6976E + 035.4038E + 012.7196E + 031.6411E + 012.6961E + 031.6432E + 012.7070E + 031.6650E + 01Func 242.8739E + 031.3875E + 012.8863E + 031.8843E + 012.9552E + 034.2677E + 012.8750E + 031.3975E + 01Func 252.8925E + 031.2471E + 012.8933E + 031.3094E + 012.8893E + 034.3242E + 002.8930E + 031.2402E + 01Func 264.0261E + 033.4898E + 024.1317E + 033.9046E + 023.9353E + 032.5464E + 023.9959E + 034.8351E + 02Func 273.2257E + 031.5146E + 013.2400E + 031.6245E + 013.2327E + 031.3566E + 013.2439E + 031.7091E + 01Func 283.1764E + 035.9346E + 013.1724E + 036.2302E + 013.2211E + 031.5315E + 013.2292E + 032.1396E + 01Func 293.6289E + 031.4080E + 023.7149E + 031.7148E + 023.4938E + 031.6370E + 023.7889E + 032.3337E + 02Func 301.0360E + 043.6331E + 031.0952E + 043.4288E + 031.2622E + 045.3237E + 031.9705E + 052.0758E + 05
Table 5. Ablation analysis.AlgorithmRank+/=/-AVGRDFOA1~1.7RFOA29/2/192.7DFOA320/5/52.6FOA414/3/132.8
Scalability analysis
This section evaluates the scalability of RDFOA by applying it to optimization problems of varying dimensionalities. Scalability analysis is a crucial approach for assessing how effectively an evolutionary algorithm adapts to increasing problem size and complexity. By systematically varying the number of dimensions, we evaluate the algorithm’s ability to maintain efficiency and performance under diverse computational demands. These tests consider factors such as computational cost, execution time, and solution accuracy, providing insights into the practical feasibility and limitations of RDFOA when addressing large-scale optimization tasks.
Such evaluations are essential for validating the algorithm’s applicability in real-world scenarios, as scalable algorithms are better equipped to handle complex, high-dimensional problems commonly encountered in industrial and engineering fields. In this study, three widely used benchmark dimensions—30, 50, and 100—are selected to assess RDFOA’s global optimization performance across different scales. The results, summarized in Table 6, demonstrate that RDFOA consistently outperforms the original Arithmetic Optimization Algorithm (AO) across all tested dimensions. The inclusion of AO in the comparison further underscores RDFOA’s robustness and adaptability in managing increasingly complex optimization problems.
Table 6. Scalability tests in three dimensions.Dim3050100MetricRDFOAFOARDFOAFOARDFOAFOAF1Avg4.30000E + 035.10000E + 036.00000E + 036.90000E + 037.20000E + 031.10000E + 04STD1.00000E + 065.80000E + 052.40000E + 067.80000E + 055.10000E + 061.30000E + 06F2Avg1.00000E + 075.00000E + 077.20000E + 273.90000E + 287.20000E + 773.90000E + 78STD6.90000E + 153.70000E + 168.50000E + 304.60000E + 311.20000E + 986.30000E + 98F3Avg4.90000E + 032.60000E + 034.90000E + 041.20000E + 042.40000E + 053.30000E + 04STD1.90000E + 033.40000E + 031.00000E + 047.90000E + 038.00000E + 042.10000E + 04F4Avg4.80000E + 022.40000E + 015.00000E + 025.40000E + 016.40000E + 022.90000E + 01STD4.90000E + 023.10000E + 015.60000E + 024.90000E + 016.50000E + 023.40000E + 01F5Avg5.50000E + 022.70000E + 016.40000E + 029.20000E + 011.20000E + 031.40000E + 02STD5.40000E + 021.10000E + 015.80000E + 023.50000E + 011.10000E + 036.30000E + 01F6Avg6.00000E + 021.50000E-026.00000E + 029.20000E-036.00000E + 021.20000E-02STD6.00000E + 023.20000E-026.00000E + 022.10000E-016.00000E + 026.80000E-02F7Avg7.90000E + 023.30000E + 011.00000E + 037.60000E + 011.60000E + 031.30000E + 02STD7.70000E + 022.50000E + 019.30000E + 029.40000E + 011.50000E + 037.70000E + 01F8Avg8.40000E + 021.00000E + 019.30000E + 028.00000E + 011.50000E + 031.60000E + 02STD8.40000E + 029.30000E + 009.10000E + 027.30000E + 011.40000E + 031.30000E + 02F9Avg9.00000E + 025.10000E + 009.10000E + 025.20000E + 009.10000E + 025.40000E + 00STD9.40000E + 021.40000E + 029.80000E + 028.30000E + 011.10000E + 039.20000E + 01F10Avg4.50000E + 031.50000E + 039.20000E + 032.70000E + 032.60000E + 045.70000E + 03STD3.20000E + 035.40000E + 026.30000E + 032.50000E + 032.40000E + 042.00000E + 03F11Avg1.10000E + 032.60000E + 011.20000E + 032.70000E + 011.60000E + 031.80000E + 02STD1.40000E + 032.70000E + 021.20000E + 039.70000E + 012.40000E + 039.90000E + 02F12Avg2.10000E + 052.20000E + 051.80000E + 061.00000E + 062.70000E + 061.10000E + 06STD3.00000E + 062.10000E + 061.00000E + 073.70000E + 062.80000E + 071.10000E + 07F13Avg1.80000E + 042.00000E + 046.90000E + 037.40000E + 035.40000E + 034.60000E + 03STD1.30000E + 061.50000E + 062.40000E + 061.10000E + 064.00000E + 052.70000E + 05F14Avg4.50000E + 043.80000E + 048.60000E + 046.30000E + 042.70000E + 059.60000E + 04STD7.30000E + 051.10000E + 062.30000E + 061.80000E + 063.40000E + 061.70000E + 06F15Avg5.90000E + 035.10000E + 039.90000E + 036.50000E + 034.10000E + 033.60000E + 03STD4.50000E + 047.90000E + 042.20000E + 052.70000E + 052.80000E + 053.10000E + 05F16Avg2.40000E + 032.70000E + 022.90000E + 034.10000E + 026.10000E + 032.00000E + 03STD2.40000E + 032.50000E + 022.70000E + 033.80000E + 024.90000E + 031.80000E + 03F17Avg2.00000E + 032.10000E + 022.60000E + 033.10000E + 025.30000E + 039.20000E + 02STD2.10000E + 031.90000E + 022.40000E + 032.90000E + 024.40000E + 031.10000E + 03F18Avg2.40000E + 052.30000E + 051.30000E + 061.20000E + 062.80000E + 061.50000E + 06STD1.30000E + 061.60000E + 063.90000E + 066.10000E + 063.20000E + 062.00000E + 06F19Avg1.40000E + 041.50000E + 041.60000E + 041.10000E + 045.10000E + 032.80000E + 03STD7.60000E + 041.40000E + 058.50000E + 041.10000E + 053.10000E + 052.20000E + 05F20Avg2.30000E + 031.60000E + 022.70000E + 032.80000E + 025.60000E + 031.00000E + 03STD2.40000E + 032.20000E + 022.50000E + 032.40000E + 024.50000E + 031.00000E + 03F21Avg2.30000E + 031.60000E + 012.50000E + 038.70000E + 013.00000E + 031.20000E + 02STD2.30000E + 038.50000E + 002.40000E + 036.90000E + 013.00000E + 034.40000E + 01F22Avg2.30000E + 031.20000E + 001.00000E + 043.30000E + 032.80000E + 049.30000E + 03STD2.80000E + 039.30000E + 028.60000E + 033.30000E + 032.40000E + 046.20000E + 03F23Avg2.70000E + 031.40000E + 012.80000E + 032.10000E + 013.00000E + 033.20000E + 01STD2.70000E + 031.20000E + 012.80000E + 033.00000E + 013.10000E + 034.70000E + 01F24Avg2.90000E + 032.50000E + 013.10000E + 031.00000E + 023.60000E + 036.70000E + 01STD2.90000E + 031.70000E + 013.10000E + 038.00000E + 013.60000E + 035.70000E + 01F25Avg2.90000E + 036.90000E + 003.00000E + 033.60000E + 013.20000E + 036.00000E + 01STD2.90000E + 031.90000E + 013.10000E + 033.20000E + 013.30000E + 035.00000E + 01F26Avg3.90000E + 035.00000E + 024.80000E + 034.60000E + 029.70000E + 032.10000E + 03STD4.10000E + 033.70000E + 024.60000E + 036.40000E + 028.40000E + 036.70000E + 02F27Avg3.20000E + 031.60000E + 013.40000E + 037.00000E + 013.50000E + 036.10000E + 01STD3.20000E + 031.50000E + 013.50000E + 031.00000E + 023.50000E + 036.80000E + 01F28Avg3.20000E + 035.10000E + 013.30000E + 032.10000E + 013.40000E + 032.40000E + 01STD3.20000E + 032.40000E + 013.30000E + 032.30000E + 013.40000E + 033.50000E + 01F29Avg3.70000E + 031.90000E + 023.80000E + 033.50000E + 025.50000E + 035.40000E + 02STD3.70000E + 032.30000E + 023.80000E + 032.60000E + 025.00000E + 033.30000E + 02F30Avg9.20000E + 034.90000E + 031.10000E + 063.40000E + 051.30000E + 046.40000E + 03STD1.60000E + 051.30000E + 051.20000E + 063.40000E + 051.20000E + 066.60000E + 05+/-/=~~18/6/615/7/816/9/5
Figure 2 displays the convergence patterns of RDFOA and AO for various test functions, with red curves for RDFOA and blue curves for AO. The dimensions displayed are 30, 50, and 100, and the test functions are F1, F13, F15, and F19 from the CEC 2017 benchmark set. It is evident from the figure that RDFOA outperforms AO in terms of convergence speed and accuracy.
Fig. 2. Scalability analysis on the IEEE CEC 2017 benchmark functions.
Historical searches
Visual analysis of algorithmic search behavior plays a pivotal role in evolutionary computation research. Through graphical representations, researchers gain intuitive insights into search dynamics, including trajectory patterns, convergence speed, and the ability to escape local optima within the solution space. Such visual tools enhance understanding of algorithmic mechanisms and provide critical information for identifying performance bottlenecks and opportunities for improvement. Moreover, visual diagnostics are instrumental in revealing potential weaknesses, guiding targeted refinements, and ultimately facilitating more effective algorithm design. Therefore, incorporating visual experimentation into performance analysis is essential for both theoretical investigation and practical advancement of evolutionary algorithms.
To illustrate the search behavior of RDFOA, Fig. 3 presents detailed visualizations based on benchmark functions from the IEEE CEC 2017 suite, specifically functions F1, F7, F9, F23, and F25. Figure 3a depicts simulated landscapes of these functions, providing contextual insight into their complexity. Figure 3b traces the historical search trajectory of RDFOA, where red points indicate global optima and black points represent positions identified by RDFOA during successive iterations. The convergence pattern demonstrates that RDFOA consistently approaches the global optimum while effectively avoiding local traps. The dispersion of black points—both near the red optima and throughout the search space—reflects the algorithm’s strong global exploration capability.
Figure 3c illustrates the relative error with respect to the global optimum over iterations, showing that RDFOA generally stabilizes around the 500th iteration. Meanwhile, Fig. 3d depicts the evolution of average fitness values across generations, exhibiting an overall downward trend indicative of continuous optimization progress.
Fig. 3. Evolutionary trajectory of RDFOA on the IEEE CEC 2017 benchmark functions.
Comparison of other related algorithms
Comparative experiments at CEC 2017 benchmark functions
This section evaluates RDFOA using the IEEE CEC 2017 benchmark functions. The Wilcoxon signed-rank test^27^ and Friedman test^28^ was employed to evaluate performance. To ensure fair comparisons, all algorithms were evaluated under the same conditions. The population size (popsize) was set to 30, the number of sub-populations was fixed at 3. The maximum number of evaluations (MaxFEs) is uniformly set to 300,000. In order to reduce the impact of randomness, each algorithm is independently run 30 times on each benchmark function. In addition, to compare the performance of various algorithms in benchmark tests, the Friedman test method was used to rank the algorithms based on their average performance. This testing method not only provides a statistically significant comparison, but also outputs the average ranking of each algorithm. In the table, the optimal results of each test function are highlighted in bold for readers to more intuitively identify the best performance.
Table 7 presents a detailed comparison of RDFOA against various alternative algorithms. RDFOA achieves the highest ranking with an impressively low average score of 1.23E + 00, demonstrating its outstanding optimization capability. The “~” symbol in the +/=/- column indicates that RDFOA serves as the reference algorithm and is not directly compared against itself. Its consistently lower average score across benchmark functions underscores RDFOA’s robustness and efficiency in optimization tasks.
In comparison, HGWO ranks ninth with a significantly higher average score of 9.11E + 00. The +/=/- metric of 30/0/0 indicates that RDFOA outperforms HGWO in all instances, highlighting the relative inefficiency of HGWO in these tasks. Similar trends are observed for SCADE and CCMWOA, ranked 11th and 12th respectively, each with an average score exceeding 1.17E + 01 and no wins against RDFOA. These results emphasize their inferior performance compared to RDFOA.
Algorithms such as QCSCA and CLACO, ranked third and second respectively, demonstrate stronger optimization capabilities, with average scores of 3.65E + 00 (+/=/-: 19/4/7) and 2.75E + 00 (+/=/-: 17/8/5). Although these algorithms occasionally outperform RDFOA, they consistently fall short of matching RDFOA’s overall dominance. Similarly, BLPSO and GCHHO, ranked fourth and fifth, with average scores of 3.89E + 00 (+/=/-: 21/1/8) and 5.54E + 00 (+/=/-: 20/2/8), exhibit intermittent competitive performance but remain inferior to RDFOA overall.
Finally, BWOA and CCMSCSA, ranked tenth and eighth respectively, show relatively poor performance, with average scores of 9.28E + 00 and 8.98E + 00. Their +/=/- metrics further confirm their inability to compete effectively with RDFOA.
In summary, the experimental results clearly demonstrate the significant advantages of RDFOA over other algorithms on the CEC 2017 benchmark suite. Its leading rank and lowest average error highlight the algorithm’s efficiency and stability in handling complex optimization problems. These findings further validate RDFOA’s potential as a versatile and powerful optimization tool across diverse application scenarios.
Table 7. Experiments comparing RDFOA with alternative competing algorithms on the IEEE CEC 2017 benchmark functions.AlgorithmRank+/=/−AVGRDFOA1~1.23E + 00HGWO930/0/09.11E + 00WEMFO625/0/55.75E + 00mSCA725/0/56.43E + 00SCADE1130/0/01.17E + 01CCMWOA1230/0/01.24E + 01QCSCA319/4/73.65E + 00BWOA1030/0/09.28E + 00CCMSCSA829/0/18.98E + 00CLACO217/8/52.75E + 00BLPSO421/1/83.89E + 00GCHHO520/2/85.54E + 00
Figure 4 illustrates the convergence behavior of RDFOA in comparison with other algorithms on the CEC 2017 benchmark functions. In evolutionary algorithm research, convergence curves are essential for tracking the optimization trajectory over time. These graphical representations enable the evaluation of an algorithm’s convergence rate, stability, and ability to avoid common issues such as premature convergence or oscillatory behavior. By visualizing the progression of objective values across iterations, researchers can assess the effectiveness and efficiency of different methods and make informed adjustments to algorithmic parameters to enhance performance.
Convergence plots also serve as diagnostic tools to evaluate how well an algorithm adapts to varying problem complexities, making them indispensable for both algorithm design and performance assessment. In this study, convergence curves are presented for twelve test functions, with the x-axis representing the number of iterations and the y-axis indicating the corresponding objective values.
The results demonstrate that RDFOA exhibits distinct advantages in functions F5, F8, F22, and F26, achieving rapid convergence and maintaining the lowest objective values among the compared algorithms. Even on more challenging functions—where the performance curves of multiple algorithms tend to overlap—RDFOA consistently delivers competitive or superior optimization results, underscoring its robustness across diverse problem landscapes.
Fig. 4. Performance comparisons of RDFOA with state-of-the-art competitors on the IEEE CEC 2017.
Comparative experiments at CEC 2022 benchmark functions
The competing algorithms involved in this experiment include HGWO^29^, WEMFO^30^, mSCA^31^, SCADE^32^, CCMWOA^33^, QCSCA^34^, BWOA^35^, CCMSCSA^36^, CLACO^37^, BLPSO^38^, GCHHO^39^.
Table 8 presents a comprehensive comparison of RDDOA with various other optimization methods based on IEEE CEC 2022 test functions. This table summarizes the average performance score (AVG) of each algorithm, its performance relationship with RDDOA (represented by+,=, -), and the final ranking results. Among them, “+” indicates that RDFOA performs better than the comparison algorithm, “-” indicates that it is slightly inferior, and “=” indicates that there is no significant statistical difference between the two. To verify the significance of the differences, this study used Wilcoxon signed rank test^27^ and Friedman rank test^28^.
The results demonstrate that RDFOA achieved the lowest mean score of 1.56E + 00, establishing itself as the best-performing optimizer in this experiment. The statistics in the “+/=/-” column further reflect its consistent superiority across multiple functions, confirming the robustness and efficiency of RDFOA in tackling complex optimization tasks.
Among the other algorithms, QCSCA ranks second with an average score of 2.87E + 00, closely following RDFOA. Although its overall score is slightly higher, the +/=/- indicator of 6/0/6 signifies advantages in certain tests, highlighting its strong competitiveness.
Additionally, HGWO, BWOA, and WEMFO rank ninth, eighth, and sixth respectively, with average scores of 7.34E + 00, 7.21E + 00, and 5.11E + 00. While these algorithms perform well on several benchmark functions (+/=/- values of 10/1, 9/2/1, and 9/2/1, respectively), their overall performance remains inferior to RDFOA, underscoring RDFOA’s superior stability and adaptability across diverse test scenarios.
Conversely, mSCA, SCADE, CCMWOA, and CCMCSSA—algorithms incorporating chaos strategies and diverse search mechanisms—rank seventh, twelfth, eleventh, and tenth, respectively. Their performance indicators reveal varying degrees of competitiveness relative to RDFOA, with alternating advantages and disadvantages observed across specific optimization tasks.
Overall, the experimental results convincingly demonstrate that RDFOA outperforms most comparative methods on the IEEE CEC 2022 benchmark suite, showcasing its high reliability and excellent adaptability in solving global optimization problems. These findings further validate RDFOA’s broad applicability in various engineering and scientific domains, positioning it as a core optimization tool in the field.
Table 8. Experiments comparing RDFOA with alternative competing algorithms at IEEE CEC 2022 benchmark functions.AlgorithmRank+/=/−AVGRDFOA1~1.56E + 00HGWO910/1/17.34E + 00mSCA710/0/25.87E + 00WEMFO69/2/15.11E + 00SCADE1210/2/08.45E + 00BWOA89/2/17.21E + 00CCMSCSA1010/1/18.32E + 00CCMWOA119/3/08.23E + 00QCSCA26/0/62.87E + 00CLACO34/2/63.44E + 00BLPSO58/2/24.77E + 00GCHHO47/2/34.44E + 00
Figure 5 illustrates the convergence performance of RDFOA in comparison with several competing algorithms on the CEC 2022 benchmark suite. The plot presents the convergence trends across nine test functions, with iterations represented along the x-axis and the corresponding objective values on the y-axis. RDFOA shows significant convergence superiority on functions F1, F4, F6, and F7, where it quickly reaches the optimal solutions and sustains the lowest objective values throughout the iterations. Furthermore, even in other more challenging cases—where the convergence curves of different algorithms are closely clustered—RDFOA consistently attains the best optimization results, demonstrating strong robustness and effectiveness.
Fig. 5. Performance comparisons of RDFOA with state-of-the-art competitors on the IEEE CEC 2022 benchmark functions.
Application to oil reservoir production
Reservoir production optimization aims to determine the optimal operational settings for each well, with the primary goal of maximizing the net present value (NPV). However, as the number of wells and production periods increase, the complexity of the problem escalates dramatically due to the combinatorial growth in possible solution configurations, which leads to a substantial expansion in the dimensionality of the optimization variables. This classifies the problem as a typical NP-hard challenge, making it well-suited for the application of evolutionary algorithms.
In this section, we apply RDFOA to a three-channel reservoir model simulated using the Eclipse reservoir simulation software. The effectiveness of RDFOA is assessed by benchmarking its performance against several widely recognized evolutionary optimization algorithms. For the sake of experimental simplicity, nonlinear constraints commonly encountered in oilfield production are disregarded, focusing exclusively on maximizing the objective function—the NPV—as defined in Eq. 23.
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:NPV\left(x,z\right)=\sum\:_{t=1}^{n}\:{\Delta\:}t\frac{{Q}_{o,t}\cdot\:{r}_{o}-{Q}_{w,t}\cdot\:{r}_{w}-{Q}_{i,t}\cdot\:{r}_{i}}{{\left(1+b\right)}^{{p}_{t}}}$$\end{document}Here, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:x$$\end{document} represents the set of optimization variables, which in this experiment includes the injection and recovery rates for each well. The total simulation time is indicated by \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:n$$\end{document} , and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Q}_{o,t}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Q}_{w,t}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{Q}_{i,t}$$\end{document} refer to the oil production rate, water production rate, and water injection rate, respectively, at the time step t. The term \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{o}$$\end{document} represents oil revenue, while \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{w}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{r}_{i}$$\end{document} denote the costs associated with water treatment and injection. The parameter bbb indicates the average annual interest rate, and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\:{p}_{t}$$\end{document} represents the number of years that have passed.
This three-channel reservoir model is defined as a heterogeneous, two-dimensional reservoir with nine production wells and four injection wells placed in a 5-point arrangement. To ensure fair comparisons, all algorithms were evaluated under the same conditions. The population size (popsize) was set to 30, the number of sub-populations was fixed at 3. The maximum number of evaluations (MaxFEs) is uniformly set to 300,000. In order to reduce the impact of randomness, each algorithm is independently run 30 times on each benchmark function. The model employs a grid with dimensions of 25 * 25 * 1, where each grid block has a length of 100 feet. Each block is 20 feet thick, and the porosity is uniformly fixed at 0.2. The distribution of permeability within the model is shown in Fig. 6.
Fig. 6. Log-permeability distribution of three-channel model.
The production optimization task focuses on tuning variables such as the injection rates for injection wells and the fluid recovery rates for production wells. Specifically, water injection rates vary between 0 and 500 STB/DAY, while the extraction rates for production wells range from 0 to 200 STB/DAY. The thermal storage system is configured for a total operation period of 1800 days, divided into decision intervals of 360 days each, resulting in 65 decision variables. The objective function employed for this optimization is the net present value (NPV).
Figures 7 and 8 depict the final optimized schedules for water injection and liquid production rates generated by the six algorithms. In these plots, the horizontal axis corresponds to the operational time steps, while the vertical axis indicates the well numbers. Figure 7 illustrates the injection control strategy derived from FOA, highlighting considerable fluctuations in injection rates for the same wells across consecutive control intervals. Conversely, RDFOA delivers a more stable and consistent injection plan, as reflected in the smoother curves shown in the figures. Figure 8 compares the liquid production rates across all six methods, clearly demonstrating RDFOA’s superior performance relative to the alternatives.
Fig. 7. The optimal water-injection rate obtained by each algorithm for the three-channel model.
Fig. 8. The optimal liquid-production rate obtained by each algorithm for the three-channel model.
Conclusion
In this study, we propose a novel evolutionary algorithm named RDFOA, which enhances the original Fruit Fly Optimization Algorithm (FOA) by integrating a chaotic exploitation mechanism with an orthogonal learning strategy. The chaotic exploitation mechanism improves RDFOA’s capability for global search and escaping local optima, while the orthogonal learning strategy refines the local search process, mitigating the risk of missing the global best solution. To evaluate RDFOA’s effectiveness, extensive experiments were conducted. Ablation studies on the IEEE CEC 2017 benchmark suite confirmed that both mechanisms individually contribute to performance gains. Scalability experiments demonstrated that RDFOA maintains strong stability when addressing large-scale, high-dimensional optimization problems. Additionally, search trajectory analyses illustrate how the population concentrates its search near the global optimum. Comparative testing against various state-of-the-art optimization algorithms further validates the superior performance of RDFOA. Moreover, the practical application of RDFOA in oil and gas production optimization highlights its significant real-world value.
The lack of applying RDDOA to more fields to verify its optimization performance is a limitation of this study. Looking ahead, integrating more complex and advanced mechanisms into FOA is expected to enhance the overall performance of the algorithm and expand its applicability in feature selection, extreme learning machines, and various engineering optimization tasks. Meanwhile, developing a binary version of the algorithm will enhance its ability to solve discrete optimization problems.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Wiggins, M. & Startzman, R. An approach to reservoir management. In SPE Annual Technical Conference and Exhibition?, SPE, pp. SPE-20747-MS. (1990).
- 2Rao, S. S. Engineering Optimization: Theory and Practice (Wiley, 2019).
- 3Liu, X. & Reynolds, A. C. Gradient-based multiobjective optimization with applications to waterflooding optimization. In ECMOR XIV-14th European Conference on the Mathematics of Oil Recovery, vol. 2014, no. 1: European Association of Geoscientists & Engineers, pp. 1–21. (2014).
- 4Al-Aghbari, M., Al-Wadhahi, M. & Gujarathi, A. M. Multi-objective optimization of Brugge field for short-term and long-term waterflood management. Arab. J. Sci. Eng. 1–19 (2022).
- 5Zhang, X., Wang, D., Zhou, Z. & Ma, Y. Robust Low-Rank tensor recovery with rectification and alignment. IEEE Trans. Pattern Anal. Mach. Intell. 1–1. 10.1109/TPAMI.2019.2929043 (2019).10.1109/TPAMI.2019.292904331329109 · doi ↗ · pubmed ↗
- 6Chen, H., Xu, Y., Wang, M. & Zhao, X. A Balanced Whale Optimization Algorithm for Constrained Engineering Design Problems. Appl. Math. Model.. 10.1016/j.apm.2019.02.004 (2019).
- 7Adegboye, O. R. et al. Enhanced multi-layer perceptron for CO 2 emission prediction with worst moth disrupted moth fly optimization (WMFO). Heliyon 10, 11 (2024).10.1016/j.heliyon.2024.e 31850 PMC 1117676038882359 · doi ↗ · pubmed ↗
- 8Adegboye, O. R. et al. Refinement of dynamic hunting leadership algorithm for enhanced numerical optimization. IEEE Access, (2024).
