wikillm

Paper · 2026-09-11 · cs.NE

MAAPO:an innovative membrane algorithm based on artificial protozoa optimizer for multilevel threshold image segmentation

Adds membrane-style splitting and merging of the population, triggered by a volume diversity metric, and roulette fitness-distance selection of the reference point to the artificial protozoa optimizer. Author-reported: best Friedman rank (3.35) of 13 algorithms on 30 CEC2017 functions at 10-D; best average ranks for Kapur-entropy thresholding of three images.

Metaheuristic optimizationImage thresholdingMembrane computingoptimizationimage-segmentation

arXivPDFMarkdown12 min read

AI-compiled by claude-haiku-5-5 on 2026-10-19, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

In plain words

Optimisation algorithms search for the best setting of some numbers. Many of them get stuck: they settle on a good-looking answer that is not the best one. The base method here is the artificial protozoa optimizer, a nature-inspired search. Its candidate answers forage, go dormant and reproduce, the way single-celled animals do.

This paper adds two ideas to that base. The first borrows from membrane computing, a model of cells as compartments. When the candidates bunch up, the population is split into several small groups that search separately, and then the groups are merged again. This keeps the candidates spread out for longer. The second idea changes how one candidate is picked as a guide for the others: a roulette wheel is spun over candidates that score well on both quality and distance from the best one, so good but different guides are sometimes chosen.

The authors use the method on a standard set of 30 benchmark test functions and on splitting a picture into regions of similar brightness, which is called multilevel thresholding. The reported results are their own and come from a single publication.

TL;DR

  • A new variant of the artificial protozoa optimizer. It adds membrane-style splitting and merging of the population, and roulette fitness-distance selection of the guiding solution §3.
  • Tested on CEC2017 (30 functions, 10-D) against 12 meta-heuristics and on Otsu and Kapur multilevel thresholding of three images §4 §5.
  • Author-reported: best average Friedman rank on CEC2017 (3.35, against 3.37 for the next method) and best average ranks on Kapur thresholding tab. 11 tab. 12.
  • Against plain APO, MAAPO wins 8 and loses 0 of 30 CEC2017 functions, and its average runtime is higher (1.38 s against 0.81 s) tab. 5 tab. 7.

Problem

Multilevel thresholding picks several grey-level cut points that split an image into classes. Adding thresholds increases the cost of an exhaustive search exponentially, so meta-heuristics are used §1. Plain APO can stall in local optima and converge too early on complex problems, which the authors take as the motivation for MAAPO §1 §2.1.

Method

The method is the artificial protozoa optimizer (APO) with two additions: a membrane system that splits and merges the population §3.1, and a roulette-wheel fitness-distance balance (RFDB) rule that chooses the guiding solution for autotrophic foraging §3.2. The full loop is given in alg. 1; the framework is shown in fig. 3.

Base APO operators §2.1. Each protozoan X_i is moved by one of four operators, chosen by probability:

  1. Autotrophic foraging moves X_i toward a guide X_j, using a foraging factor f, a neighbour-pair term and a random dimension mask M_f eq. 1 eq. 2 eq. 3 eq. 4.
  2. Heterotrophic foraging moves X_i relative to a nearby position X_near, with a weight w_h eq. 5 eq. 6 eq. 7.
  3. Dormancy resets X_i to a random point inside the bounds eq. 8.
  4. Reproduction perturbs X_i by a bound-scaled random vector, masked by M_r eq. 9 eq. 10.

The operator probabilities are: a pool fraction pf = pf_max · rand, with pf_max = 0.1 eq. 11 §2.1; a probability of autotrophic over heterotrophic foraging, p_ah, that decays with iteration count eq. 12; and a probability of dormancy over reproduction, p_dr, that depends on the rank index i/ps eq. 13. Figure 1 relates these operators to exploration and exploitation fig. 1.

Membrane system §2.2 §3.1. The paper uses a cell-like P-system with separation and merging rules eq. 14 fig. 2. In MAAPO, each iteration measures a diversity metric mVOL, a modified version of Osuna-Enciso et al. (2022) §3.1:

mVOL = \left( V_{pop} / V_{lim} \right)^{1/dim} eq. 15

where V_pop is the product over dimensions of the population's spread and V_lim is the product of the search-range widths eq. 16 eq. 17. If mVOL is below ε, the whole population stays in one elementary membrane. Otherwise it is split into m membranes, which are updated separately and then merged §3.1 alg. 1.

The number of membranes is drawn each iteration:

m = m_{min} + \lceil (m_{max} - m_{min}) \cdot rand \rceil eq. 18

with m_min = 1 and m_max = 4 §3.1 §4.1.

Fitness-distance selection (FDB, DFDB, RFDB) §3.2. The FDB score of solution i mixes its normalised fitness and its normalised Euclidean distance to the best solution, with weight w (0.5 in this study) eq. 19. The dynamic variant DFDB sets w by iteration, from w_min = 0.2 upward eq. 20. RFDB does not take the highest score. It picks a solution with probability S(X_i) / Σ S(X_k) §3.2. The selected solution X_RFDB replaces the APO guide in autotrophic foraging:

X_i^{new} = X_i + f \cdot (X_{RFDB} - X_i + \tfrac{1}{np} \textstyle\sum_k w_a (X_{k-} - X_{k+})) \odot M_f eq. 21

Main loop alg. 1 fig. 3 §3:

Pseudocode
# Random initial population of ps solutions; evaluate fitness  [§3]
population = sample_uniform(ps, dim, lower, upper)
fitness = evaluate(population)
iteration = 0
while iteration < iter_max:  # [alg. 1 line 1]
    # Diversity metric of the current population  [eq. 15]
    mvol = compute_mvol(population, lower, upper)
    if mvol < eps:  # [alg. 1 line 3]
        # One elementary membrane: update every solution  [alg. 1 lines 4-6]
        for each solution X_i in population:
            # APO update, RFDB guide  [eq. 21] [eq. 5] [eq. 8] [eq. 9]
            X_i = update_apo(X_i, population, iteration)
    else:
        # Split into m membranes at random  [alg. 1 line 8] [eq. 18]
        m = m_min + ceil((m_max - m_min) * rand())
        membranes = random_split(population, m)
        for each membrane in membranes:
            # Update each membrane separately  [alg. 1 lines 9-11]
            for each solution X_i in membrane:
                X_i = update_apo(X_i, membrane, iteration)
        # Merge the membranes back into one population  [alg. 1 line 12]
        population = concatenate(membranes)
    fitness = evaluate(population)
    # Keep the best solution found so far  [alg. 1 line 14]
    best = best_of(population, fitness)
    iteration = iteration + 1  # [alg. 1 line 15]
return best

Key equations, RFDB guide selection, as the paper describes it §3.2:

Pseudocode
# Fitness-distance score of each solution, with weight w  [eq. 19]
score = w * norm(fitness) + (1 - w) * norm(distance_to_best)
# Roulette choice: probability proportional to the score  [§3.2]
probs = score / sum(score)
X_rfdb = population[choose(ps, probs)]

The paper's complexity is O(iter_max · ps · (ps + dim + f(·))) §3.3.

Hyperparameters

Experiment settings for CEC2017 and for the segmentation runs. Values marked "not stated" are absent from the paper; no official code was checked (see Paper vs code).

NameValueWhereNotes
population size ps100§4.1Segmentation reuses the §4.1 settings §5.3
np (neighbouring pairs)1§2.1 §4.1
pf_max0.1§2.1 §4.1 eq. 11
ε (mVOL threshold)0.0001§3.1 §4.1 tab. 3Tested in {1, 0.1, ..., 0}; 0.0001 best (rank 3.60)
m_min1§3.1 §4.1Used in eq. 18
m_max4§3.1 §4.1 tab. 4Best of m_max in {4, 8} (rank 3.08)
m (fixed, ablation)2§4.3Fixed m used for the ε sweep
FDB weight w0.5§3.2eq. 19
DFDB w_min0.2§3.2eq. 20
iter_maxnot stated§4.1Maximum fitness evaluations = 100,000 §4.1
CEC2017 dimension10§4.1Only dimension reported
independent runs (CEC2017)51§4.1
error threshold1e-8§4.1Errors below it are reported as 0
significance level0.05§4Wilcoxon signed-rank; Friedman for ranking
segmentation runs20§5.3Best of 20 recorded
thresholds tested4, 5, 6, 7§5.3Per RGB band
SSIM constants C1, C26.5025, 8.5225§5.2Printed value, see Pitfalls
FSIM constants T1, T20.85, 160§5.2
competitor parameterssee tabletab. 1APO, DE and PPSO rows overlap in the PDF; read the PDF

Competitor parameters from tab. 1 that could be read: GWO a in [2, 0]; IGWO a in [2, 0]; PSO v_min = -10, v_max = 10, w in [0.9, 0.4], c1 = c2 = 2; GOA r = 0.5, q = 0.5, c = 0.2; MAQUATRE f = 0.7; SGA rho = 1.29; AOO beta = 1.5; ARO and FPA have no special parameters.

Results

Author-reported. Setup: CEC2017, 30 functions, 10-D, 100,000 fitness evaluations, 51 runs, 13 algorithms including MAAPO §4.1 tab. 6. Segmentation: parrot (768×512), owl and horse (481×321) images, Otsu and Kapur entropy, 4 to 7 thresholds, 20 runs §5.3.

CEC2017 ranking §4.5.

SettingMetricBaselineThis paperSource
CEC2017 (30 functions, 10-D), 13 algorithmsFriedman average rank (lower is better)MAQUATRE 3.37; APO 3.553.35 (rank 1)§4.5
CEC2017, MAAPO best on functionsCount–14 of 30§4.5

Full Friedman ranking reported in §4.5: MAAPO 3.35, MAQUATRE 3.37, APO 3.55, DE 4.43, ARO 5.25, FPA 6.90, PPSO 7.10, IGWO 7.32, GOA 7.95, AOO 9.03, PSO 9.35, GWO 10.60, SGA 12.80.

Wilcoxon wins, draws and losses of MAAPO against each opponent tab. 5 §4.5.

OpponentMAAPO wins / draws / lossesSource
APO8 / 22 / 0tab. 5
MS-APO (membrane only)5 / 25 / 0tab. 5
RFDB-APO (RFDB only)5 / 25 / 0tab. 5
DE19 / 7 / 4§4.5
ARO21 / 7 / 2§4.5
FPA22 / 6 / 2§4.5
MAQUATRE10 / 10 / 10§4.5
AOO25 / not stated / 0§4.5
GWO30 / 0 / 0§4.5
SGA30 / 0 / 0§4.5

APO variants (wins, draws, losses of APO against each variant) tab. 2:

VariantAPO vs variant (+/=/-)
FDB-APO16 / 10 / 4
DFDB-APO17 / 5 / 8
RFDB-APO0 / 27 / 3

Parameter sweeps (average Friedman rank over 30 functions; lower is better):

ε10.10.010.0010.00010.000010
average rank tab. 34.854.133.803.633.604.303.68
m1248m_max = 4m_max = 8
average rank tab. 44.123.453.583.523.083.25

Ablation (MAAPO vs the ablated variant, wins / draws / losses) tab. 5 §4.4: MS-APO 5 / 25 / 0; RFDB-APO 5 / 25 / 0; APO 8 / 22 / 0.

Runtime (average seconds per run on the CEC2017 suite; Windows 11 laptop, i7-8750H, 16 GB RAM §4) tab. 7:

AlgorithmRuntime (s)AlgorithmRuntime (s)
MAAPO1.38DE0.84
APO0.81ARO1.07
GWO0.79FPA1.29
IGWO1.20GOA0.99
PSO0.18MAQUATRE0.63
PPSO2.93SGA0.23
AOO1.14

Multilevel thresholding §5.3 tab. 11 tab. 12. Each RGB band is segmented separately, then the three band outputs are combined §5.3. Average Friedman ranks across the three images (lower is better) for the three metrics:

MethodMetricMAAPOAPOGWOPSODEMAQUATRESGAAOO
Otsu tab. 11PSNR5.005.883.253.177.423.544.173.58
Otsu tab. 11SSIM3.836.044.384.294.504.334.334.29
Otsu tab. 11FSIM3.794.464.884.793.584.674.964.88
Kapur tab. 12PSNR3.174.834.044.336.254.084.544.75
Kapur tab. 12SSIM3.755.084.044.255.834.084.294.67
Kapur tab. 12FSIM3.425.254.294.834.084.754.714.67

Per-image best thresholds and their PSNR, SSIM and FSIM values are in tab. 8 (parrot), tab. 9 (owl) and tab. 10 (horse). They are not reproduced here. Several algorithms tie on the same PSNR for the parrot image at 4 thresholds, which the paper attributes to low dimensionality §5.3. Segmented outputs are shown in fig. 8 and fig. 9.

Convergence curves for all 13 algorithms on F1–F30 are in fig. 4 to fig. 6. The paper describes MAAPO as converging faster and more accurately on most functions §4.5.

Paper vs code

No official code was found and checked. The abstract says the source code is publicly available at MathWorks File Exchange, entry 181534 [abstract]. That URL returned HTTP 404 on two fetches at compile time (2026-10-19), so the code could not be read or licensed. The search was: (1) the paper's links, which led only to that MathWorks URL; (2) GitHub repository search for MAAPO and for artificial protozoa optimizer. Neither search returned a repository for this method. One unlicensed candidate, xiaopengzie/Metaheuristics, has an APO implementation, but its homepage links to a different APO paper and its owner is not verifiably an author, so it was not used. Because no code is recorded, there are no code citations, and the points below are checked against the paper alone.

Pitfalls

  • Operator selection is not in Algorithm 1. §2.1 and eqs. 11–13 describe probabilistic choice between the four APO operators, but Algorithm 1 applies eqs. 21, 5, 8 and 9 to every solution alg. 1 lines 5, 10. Whether a solution gets one operator or all of them per iteration is not stated.
  • pf is defined but unused in the algorithm. pf = pf_max · rand eq. 11 is described as the fraction in dormancy and reproduction, yet Algorithm 1 takes pf_max as input and never uses pf. How many solutions are dormant or reproducing per iteration is therefore not stated.
  • Foraging factor range. The text says rand is in (0,1) §2.1, but f = rand · (1 + cos(...)) eq. 2 lies in [0, 2).
  • Bracket rounding not stated. The mask size in eq. 4 and the random count in eq. 10 are written as bracketed quantities without a rounding rule. If the count can round to zero, the mask is empty and the operator does nothing that step. Eq. 18 uses a ceiling explicitly.
  • m never equals m_min by eq. 18. With m_min = 1 and m_max = 4, the ceiling term is 1, 2 or 3 for rand in (0,1], so m is 2, 3 or 4. m = 1 occurs only when rand = 0 eq. 18 §3.1.
  • Sign convention for fitness. The selection in FDB and RFDB favours the highest score §3.2, and eq. 19 uses norm(f(X_i)). CEC2017 is a minimisation task, where a higher value is worse, while Otsu and Kapur are maximised eq. 22. The paper does not say whether fitness is negated, how norm(·) is computed, or how the score is kept non-negative for roulette selection.
  • Which "best" the distance uses. §3.2 says "the best ones" for the distance term eq. 19 without saying whether this means the global best, the membrane best or the population best.
  • Which weight RFDB uses. RFDB is described as roulette plus FDB, and DFDB as FDB with a time-varying w eq. 20. The paper does not say whether RFDB uses fixed w = 0.5 or the DFDB weight.
  • Membrane partition and reference. Algorithm 1 says the solutions are "randomly separated" alg. 1 line 8. The paper does not say whether membranes are equal in size, or whether RFDB selects its guide within each membrane or over the whole population.
  • Spread products can underflow. V_pop and V_lim are products over all dimensions [eqs. 16–17]. Computing them directly can overflow or underflow as dim grows. Computing them in log space is a safe choice, but it is our suggestion, not the paper's.
  • Continuous to integer thresholds. The search space is continuous, while thresholds are grey levels in 0 < t1 < ... < L-1 eq. 22. The paper does not say how a candidate is rounded, sorted or de-duplicated before evaluation.
  • Per-band cascade. The three RGB band segmentations are "cascaded" §5.3, but the combining rule is not defined. PSNR, SSIM and FSIM are also not stated as per-band or whole-image.
  • Best of 20, not mean. The reported segmentation value is the best of 20 runs §5.3, so these figures are optimistic against mean-over-runs reporting. The CEC2017 results are reported as mean and standard deviation over 51 runs tab. 6.
  • SSIM constant. C2 is printed as 8.5225 §5.2. For 8-bit images the common choice (K2 = 0.03, so (0.03 · 255)²) gives 58.5225. The paper's value may be a typo, but this is general knowledge, not stated in the paper, so verify before implementing.
  • Friedman margin. MAAPO's average rank (3.35) is within 0.02 of MAQUATRE (3.37). The win/draw/loss counts against MAQUATRE are an even split of 10 / 10 / 10 §4.5.
  • Iteration count is not stated. The paper gives 100,000 fitness evaluations and a population of 100 §4.1. Whether iter_max equals 1,000 (one evaluation per solution per iteration) depends on how evaluations are counted, which the paper does not say.
  • Dimensions tested. CEC2017 is run only at 10-D §4.1. Segmentation dimension equals the number of thresholds, from 4 to 7 §5.3. Behaviour at other dimensions is not shown.
  • Runtime. MAAPO takes 1.38 s against APO's 0.81 s on the same machine tab. 7. The paper accepts this overhead §4.5. Its extra work comes from the mVOL computation and RFDB selection §3.3.
  • Supplementary material. The paper links supplementary material at the journal DOI p. 37. It was not read for this card.
  • Date mismatch. The journal version is Artificial Intelligence Review 58:324 (2025), accepted 2 July 2025 and published online 26 July 2025. The arXiv metadata gives 2026-09-11 for v1 [raw metadata].

Lineage

  • Builds on: Artificial protozoa optimizer, Wang et al. 2024 §1 §2.1. The membrane system follows Păun and Rozenberg (2002) §2.2; mVOL is a modified version of Osuna-Enciso et al. (2022) §3.1; FDB is from Kahraman et al. (2020), DFDB from Kahraman et al. (2022), and RFDB from Bakır (2024) §3.2.
  • Compared against: APO, GWO, IGWO, PSO, PPSO, DE, ARO, FPA, GOA, MAQUATRE, SGA and AOO on CEC2017 §4 tab. 6; APO, GWO, PSO, DE, MAQUATRE, SGA and AOO on segmentation §5.3.

Source and license

Adapted from “MAAPO:an innovative membrane algorithm based on artificial protozoa optimizer for multilevel threshold image segmentation” by Xiaopeng Wang, Vaclav Snasel, Seyedali Mirjalili, Jeng-Shyang Pan (arXiv:2609.12756), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.