SDOA: for solving Benchmark Problems

SDOA Algorithm Implementation for 23 Benchmark Function Optimization

Al momento, stai seguendo questo contributo

SDOA Algorithm Implementation for 23 Benchmark Function Optimization
Core Algorithm: Scuba Diver Optimization Algorithm (SDOA)
The Scuba Diver Optimization Algorithm (SDOA) is a nature-inspired, population-based metaheuristic derived from the behavioural and physical characteristics of scuba diving.
  • Search behaviour is adaptively regulated by simulated oxygen availability and depth-stage transitions.
  • Each scuba diver represents one candidate solution in the continuous search space.
  • Oxygen depletion controls the gradual movement from broad exploration toward intensive exploitation.
  • Oxygen replenishment after successful movements allows productive search behaviour to continue.
  • Depth-dependent search operators provide different movement patterns during the optimization process.
  • The resulting mechanism provides an adaptive exploration–exploitation transition without requiring a fixed iteration-based phase schedule.
Problem Solved: 23 Continuous Benchmark Functions
Objective
The objective is to minimize each benchmark function:
[
\min_{\mathbf{x}} f(\mathbf{x})
]
subject to the variable bounds:
[
L_j \leq x_j \leq U_j,
\qquad j=1,2,\ldots,D
]
where (D) denotes the dimensionality of the benchmark function.
The 23 benchmark functions provide different search-space characteristics and are used to evaluate the ability of SDOA to address:
  • unimodal optimization,
  • multimodal optimization,
  • high-dimensional search spaces,
  • fixed-dimensional multimodal problems,
  • separable and non-separable landscapes,
  • smooth and irregular landscapes,
  • problems containing many local optima,
  • problems requiring accurate final convergence.
Benchmark Categories
The benchmark set is divided into three principal groups:
F1–F7: Unimodal functions
These functions primarily evaluate exploitation capability and convergence accuracy because they generally contain one global optimum and no competing local minima.
F8–F13: Multimodal functions
These functions contain numerous local optima and therefore evaluate global exploration, population diversity, and the algorithm's ability to escape local minima.
F14–F23: Fixed-dimensional multimodal functions
These functions contain relatively low-dimensional but complicated search landscapes with multiple local optima. They evaluate the balance between global exploration and accurate local refinement.
Algorithm Components
1) Diver Representation and Initialization
Each scuba diver represents one candidate solution:
[
X_i=[x_{i1},x_{i2},\ldots,x_{iD}]
]
where:
  • (i) represents the diver,
  • (D) represents the dimension of the benchmark problem,
  • (x_{ij}) represents the (j)-th decision variable of diver (i).
Initial divers are distributed throughout the permissible search space:
[
X_{ij}=L_j+r_{ij}(U_j-L_j)
]
where (r_{ij}\in[0,1]).
The initialization mechanism aims to provide broad coverage of the search domain before iterative optimization begins. Population diversity at initialization is important for benchmark functions containing numerous local minima.
For every benchmark function, initialization is performed independently so that each experimental run begins from a new population.
2) Oxygen and Depth Management
The principal adaptive mechanism of SDOA is based on the simulated oxygen level of each diver.
Oxygen decreases as the optimization process progresses according to an oxygen-decay mechanism of the general form:
[
O_i(t)=O_i(t-1)
\exp\left(-\alpha\frac{t}{t_{\max}}\right)
]
where:
  • (O_i(t)) is the oxygen level of diver (i) at iteration (t),
  • (\alpha) controls oxygen decay,
  • (t) is the current iteration,
  • (t_{\max}) is the maximum number of iterations.
The oxygen level determines the search stage assigned to each diver.Depth Stages
D1 – High Oxygen: Global Exploration
Divers with high oxygen perform relatively large exploratory movements.
Main purpose:
  • investigate distant areas of the search space,
  • maintain population diversity,
  • reduce premature convergence,
  • identify promising basins of attraction.
Large stochastic movements, including Lévy-inspired perturbations, can be used during this stage.
D2 – Moderate Oxygen: Guided Exploration
As oxygen decreases, the search becomes more strongly influenced by promising solutions.
Main operations include:
  • communication with the current best diver,
  • crossover-like information exchange,
  • stochastic random movement,
  • intermediate-range exploration.
D2 therefore forms a transition between broad global exploration and more localized search.
B1 – Bottom Roaming: Exploitation
At reduced oxygen levels, divers spend more search effort around promising regions.
The primary purpose is to improve solutions already located within favourable attraction basins.
Operations may include:
  • local neighbourhood movement,
  • exploitation around elite solutions,
  • attraction toward the current global best,
  • localized crossover or refinement.
This stage increases convergence pressure while retaining a limited degree of diversity.
D3 – Low Oxygen: Fine-Tuning
When oxygen becomes low, search movements become smaller and more localized.
A decreasing non-uniform mutation mechanism is used to refine candidate solutions near promising minima.
The perturbation magnitude decreases as the iteration number increases, enabling increasingly precise search around the estimated optimum.
This stage is particularly important for unimodal benchmark functions and for achieving low final objective values.
D4 / Reset – Very Low Oxygen: Diversification and Recovery
When oxygen reaches the reset threshold, the diver is prevented from remaining indefinitely within an unproductive region.
The reset mechanism may:
  • replenish oxygen,
  • relocate the diver,
  • increase search diversity,
  • restart exploration from another part of the domain.
The reset mechanism therefore acts as an adaptive mechanism for escaping stagnation and local minima.
3) Search Operators
SDOA combines several search behaviours instead of applying one update equation throughout the entire optimization process.Lévy-Flight Exploration
Heavy-tailed perturbations permit occasional long-distance movements.
Purpose:
  • escape local minima,
  • inspect unexplored areas,
  • improve global exploration.
Best-Guided Communication
Divers exchange information with the best-performing individual.
The mechanism increases convergence toward promising regions while maintaining stochastic variation in individual movement.Crossover
Information from the current diver and promising or elite divers is combined to produce a new candidate solution.
This operator permits useful information discovered by different members of the population to be transferred across the population.Random Walk
Bounded stochastic changes are introduced around candidate solutions.
Random walks provide neighbourhood exploration without forcing every diver to move directly toward the current global best.Local Search
Local refinement is applied around promising candidate solutions.
The mechanism improves exploitation accuracy when the population approaches high-quality areas of the benchmark landscape.Non-Uniform Mutation
Mutation magnitude progressively decreases during optimization.
Earlier iterations allow larger changes, whereas later iterations produce smaller refinements:
[
\Delta(t)\downarrow \quad \text{as}\quad t\rightarrow t_{\max}
]
This mechanism supports exploration during earlier iterations and precise convergence during later iterations.
4) Boundary Handling
The 23 benchmark problems are principally bound-constrained continuous optimization problems.
After every movement, candidate solutions are checked against their permissible search ranges:
[
x_{ij}=
\begin{cases}
L_j, & x_{ij}<L_j\
x_{ij}, & L_j\leq x_{ij}\leq U_j\
U_j, & x_{ij}>U_j
\end{cases}
]
Boundary repair ensures that every evaluated candidate remains inside the valid search domain.
Unlike constrained engineering applications, the classical 23-function benchmark suite does not require mechanical inequality constraints, integer-variable repair, or engineering penalty functions.
5) Fitness Evaluation and Selection
Each candidate solution is evaluated directly using the corresponding benchmark objective function:
[
Fitness_i=f(X_i)
]
Because all benchmark problems are formulated as minimization problems, a new solution is accepted when:
[
f(X_i^{new})<f(X_i^{old})
]
The best solution identified by the population is continuously recorded:
[
X^{*}=\arg\min_i f(X_i)
]
This best solution provides both:
  • the current estimate of the global optimum, and
  • guidance for selected SDOA search operators.
6) Adaptive Mechanisms
Elitism
The highest-quality candidate solutions are preserved between iterations.
Elite preservation prevents deterioration of previously discovered high-quality solutions and improves convergence stability.Adaptive Search Intensity
Exploration and mutation strengths decrease progressively as optimization proceeds.
Large changes dominate earlier iterations, whereas smaller corrections become increasingly important near the end of the search.Oxygen Replenishment
When a diver produces an improved solution, part of its oxygen can be restored.
This mechanism allows successful search behaviour to continue rather than forcing every diver to follow an identical deterministic exploration-to-exploitation schedule.Diver Communication
Individual divers probabilistically exchange information with the best or elite members of the population.
Communication increases collective convergence while maintaining independent movement among population members.Adaptive Reset
Low oxygen or stagnating search behaviour can activate diversification.
Consequently, search effort can return from intensive local exploitation to broader exploration whenever continued refinement becomes unproductive.
Benchmark Evaluation Procedure
Each of the 23 functions is solved independently over multiple experimental runs.
For each function, SDOA records performance measures such as:
  • best objective value,
  • mean objective value,
  • median objective value,
  • worst objective value,
  • standard deviation,
  • success rate,
  • computational runtime,
  • convergence behaviour.
Multiple independent runs are required because SDOA is stochastic and different random initial populations can produce different optimization trajectories.
Evaluation of Different Landscape Types
Unimodal Functions: F1–F7
Performance on F1–F7 primarily measures:
  • convergence speed,
  • exploitation capability,
  • numerical accuracy,
  • fine-tuning capability.
Strong results on these functions indicate that the exploitation stages of SDOA can efficiently refine promising solutions.
Multimodal Functions: F8–F13
Performance on F8–F13 primarily measures:
  • exploration ability,
  • diversity preservation,
  • local-optimum avoidance,
  • recovery from premature convergence.
These functions are especially relevant to the D1 and D2 exploration mechanisms and the oxygen-based reset strategy.
Fixed-Dimensional Multimodal Functions: F14–F23
These functions examine the interaction between exploration and exploitation within smaller but complicated landscapes.
They are useful for determining whether SDOA can:
  • identify favourable attraction basins,
  • avoid deceptive local minima,
  • transition efficiently toward local refinement,
  • converge accurately to the known global optimum.
Results and Visualization
The benchmark implementation can generate detailed numerical and graphical outputs.Statistical Results
For each function:
  • Best
  • Mean
  • Median
  • Worst
  • Standard deviation
  • Success rate
  • Runtime
can be reported across independent runs.Convergence Curves
The best objective value is recorded at every iteration:
[
f_{best}(t)
]
The convergence curve shows how rapidly SDOA approaches the optimum and whether improvement continues during later iterations.
Cross-Run Convergence
Convergence histories from multiple independent runs can be superimposed to examine optimization consistency.
Search-Space Visualization
For suitable two-dimensional benchmark representations, the implementation can display:
  • benchmark surface,
  • contour map,
  • candidate positions,
  • best-search trajectory,
  • final solution location.
These plots provide a visual interpretation of how SDOA moves through different landscape structures.Depth-Stage Distribution
The number or percentage of divers assigned to each depth stage can be recorded over iterations.
This visualization demonstrates the internal transition from exploration-dominated stages toward exploitation and fine-tuning stages.Success-Rate Analysis
For functions having a specified accuracy tolerance, the percentage of runs reaching the required target can be reported.
Ranking Analysis
When SDOA is compared with other algorithms, average rank across F1–F23 provides an overall measure that is less influenced by differences in the numerical scale of individual objective functions.
Statistical Significance Analysis
Pairwise and multiple-algorithm statistical analyses can include:
  • Wilcoxon signed-rank test,
  • Friedman test,
  • Holm post-hoc procedure.
These tests determine whether observed performance differences are statistically supported rather than being based only on differences in mean objective values.
Strengths of the Benchmark Implementation
Exploration–exploitation balance:
Oxygen-driven depth transitions allow different search behaviours to emerge during optimization rather than relying entirely on a fixed iteration schedule.
Multimodal search capability:
Lévy-style movement, random exploration, communication, and reset mechanisms improve the ability to leave local minima.
Fine convergence capability:
Local search and progressively decreasing non-uniform mutation permit accurate refinement around promising solutions.
Population diversity:
Different divers can occupy different depth stages simultaneously, allowing exploratory and exploitative behaviours to coexist.
Adaptive search behaviour:
The current oxygen state, optimization progress, and previous improvement influence subsequent movements.
Elitist stability:
Preservation of the best candidate solutions prevents the loss of previously obtained improvements.
General continuous-optimization structure:
The same SDOA framework can be applied across benchmark functions having substantially different dimensions and landscape structures.
Behavioural interpretability:
Depth-stage statistics and oxygen histories allow the internal search dynamics of SDOA to be examined rather than evaluating the algorithm exclusively from its final objective values.
Algorithm Characteristics
Computational Complexity
For population size (N), maximum iterations (T), and problem dimension (D), the principal search complexity is approximately:
[
O(N\times T\times D)
]
excluding any additional cost specific to the mathematical evaluation of the benchmark function.
Memory Usage
Memory requirements are moderate because the algorithm primarily stores:
  • current diver positions,
  • fitness values,
  • oxygen states,
  • elite solutions,
  • convergence history,
  • stage-distribution history.
Scalability
The algorithm can be applied to both high-dimensional and fixed-dimensional continuous benchmark problems. Computational cost increases approximately with population size, iteration count, and problem dimensionality.
Overall Benchmark Assessment
The 23-function benchmark suite provides complementary tests of the principal mechanisms of SDOA. F1–F7 examine exploitation and convergence precision; F8–F13 examine global exploration and resistance to local trapping; and F14–F23 examine the ability to combine basin identification with accurate local refinement. Consequently, evaluation across the complete benchmark suite provides a broader assessment of SDOA than performance on a single engineering optimization problem.
The oxygen-driven architecture is particularly suitable for this evaluation because the benchmark functions contain substantially different landscape structures. Rather than applying one search behaviour uniformly, SDOA allows individual divers to move among exploration, guided search, exploitation, fine-tuning, and diversification states according to their oxygen conditions and search progress.

Cita come

Saman M. Almufti (2026). SDOA: for solving Benchmark Problems (https://it.mathworks.com/matlabcentral/fileexchange/184450-sdoa-for-solving-benchmark-problems), MATLAB Central File Exchange. Recuperato .

Informazioni generali

Compatibilità della release di MATLAB

  • Compatibile con qualsiasi release

Compatibilità della piattaforma

  • Windows
  • macOS
  • Linux
Versione Pubblicato Note della release Action
1.0.0