Samuel GarcíaAI / Software Engineer
GitHub (opens in a new tab)Repository Contact

ENGINEERING CASE STUDY / 2026

ADR-EDA

A reliability-aware controller for dynamic multiobjective estimation of distribution algorithms.

The research question is simple to state and hard to answer: when the environment changes, how much of an optimizer's inherited state should we trust? ADR-EDA retains population, elites, a bounded archive and probabilistic-model state, then decides whether to accept or preserve the incumbent state after a quality check.

Accepted at CAEPIA 2026 / Springer proceedings. Public research software.

FIG. 01 / ADR-EDA / QUALITY ÷ COST PUBLISHED BENCHMARK
Mean MIGD against mean runtime for eight dynamic optimisation methods ADR-EDA has the lowest mean MIGD at 0.3748 and the highest mean runtime at 204.3 seconds. SGEA is faster at 7.6 seconds but has a higher MIGD of 0.6829. Lower is better on both axes. ADR-EDA: MIGD 0.3748, MHV 5.3607, post-change IGD 0.2780, runtime 204.3 s DNSGA-II-B: MIGD 1.1113, MHV 4.9528, post-change IGD 1.5801, runtime 23.8 s MNSGA-II: MIGD 1.1731, MHV 4.6152, post-change IGD 1.4922, runtime 25.6 s SGEA: MIGD 0.6829, MHV 5.1786, post-change IGD 0.9610, runtime 7.6 s Tr-NSGA-II: MIGD 0.6112, MHV 4.7203, post-change IGD 0.2192, runtime 28.6 s PFPA: MIGD 1.2935, MHV 4.1596, post-change IGD 1.3091, runtime 4.7 s TDA-DMOEA: MIGD 1.2624, MHV 4.3670, post-change IGD 1.9564, runtime 2.1 s AB-DMOEA: MIGD 1.1306, MHV 4.7017, post-change IGD 1.6677, runtime 3.6 s
MIGD0.3748
RUNTIME204.3 s
PROTOCOL14 × 15
ADR-EDA has the lowest mean MIGD in the published protocol and the highest runtime. The trade-off is the finding, not a footnote.

OVERVIEW

What was built, how it was evaluated, and what remains limited

ADR-EDA is research software for dynamic multiobjective optimisation. It controls a persistent estimation-of-distribution algorithm after environmental change, separating mean and covariance change evidence, estimating severity, allocating a response and checking its quality. The published protocol compares eight methods on 14 problems and 15 seeds.

  • Built: controller, benchmark harness, reproducibility workflow and shared-mobility case studies.
  • Evaluated: 14 problems, 15 seeds, horizon 60, population 40, eight variables and one generation per dynamic step.
  • Limited: protocol-specific results, high computational cost and no claim of universal superiority.
0.3748Mean MIGDbest of eight methods in the protocol
5.3607Mean MHVbest mean global MHV in the protocol
6/14MIGD wins7/14 on MHV
204.3 sMean runtimevs 7.6 s for SGEA

KEY ENGINEERING DECISION

Trust inherited state conditionally

Blind reuse risks negative transfer; restarting discards useful information. ADR-EDA therefore estimates severity, allocates a response and checks it against a pre-intervention reference before model learning continues. The quality gate is the central engineering control, not an afterthought.

CONTROLLER DESIGN

How much state should the optimizer trust?

The controller separates mean and covariance change evidence, estimates severity, allocates a response and checks its quality before continuing.

Environment and sentinel re-evaluation
Mean and covariance change evidence
Smoothed severity and response context
Response allocation: continuity, prediction, diversity, Pareto-front local search
Provisional population and hybrid completion
Quality safeguard against the pre-intervention reference
Accept response or preserve incumbent state
EDA selection, model estimation and sampling

Inherited state

The persistent optimizer state is S_t = (P_t, E_t, A_t, θ_t): population, elites, a bounded archive and probabilistic-model state. The backend is SPEDA / SPBN, with nondominated sorting and crowding-style selection.

Configuration surface

The public profile in src/adr_eda/profile.py exposes the validated configuration: split drift signals, adaptive lambda, adaptive cooldown, quality gate, response blocks, local search and response strengths. Memory and portfolio mixing are explicitly disabled in the validated profile.

BENCHMARK EVIDENCE

Best mean MIGD, highest runtime, explicit uncertainty.

The published protocol combines eight established dynamic problems and six DF-T10 problems. ADR-EDA is not universally superior; Tr-NSGA-II has better immediate post-change IGD.

Method comparison

MethodMIGD ↓MHV ↑Post-change IGD ↓Post-change HV ↑Runtime (s)
ADR-EDA0.37485.36070.27804.5904204.3
ADR-DMOEA1.00664.11121.39153.5148not stated
Tr-NSGA-II0.61124.72030.21924.595328.6
SGEA0.68295.17860.96104.46727.6
DNSGA-II-B1.11134.95281.58014.358423.8
MNSGA-II1.17314.61521.49224.366525.6
AB-DMOEA1.13064.70171.66774.31373.6
TDA-DMOEA1.26244.36701.95643.84242.1
PFPA1.29354.15961.30914.11964.7

Protocol: 14 problems, 15 seeds, horizon 60, population 40, eight variables, one generation per step. ADR-EDA wins 6/14 on MIGD and 7/14 on MHV. Runtime is 204.3 ± 116.7 s in archived measurements. The common runner contains reference implementations and audited Python ports, not necessarily execution of original author binaries; change notification also differs between methods.

Statistical evidence

A two-sided Wilcoxon signed-rank test on 120 finite paired rows reproduces: post-change IGD p = 8.85e-04 (ADR 0.2780 vs Tr-NSGA-II 0.2192), post-change HV p = 0.1450, and recovery p = 0.9570. The latter two do not establish a significant difference. The remaining 90 rows lack finite pairs for these metrics.

Family-level results

On the eight-problem canonical family, ADR-EDA has MIGD 0.1936 and MHV 7.3321, versus SGEA 0.1973 and 7.1017. On DF-T10, ADR-EDA has 0.6164 and 2.7323, versus Tr-NSGA-II 0.8138 and 2.7039. Detection scores are not an equal-information comparison.

SHARED-MOBILITY SIMULATIONS

Simulations, not deployments.

The mobility studies apply the controller to simplified rebalancing experiments. They use representative routing and distances, not live traffic or operator deployments.

Electric car sharing

Against full static replanning, ADR-EDA changes economic margin by +€503.55, service by −0.301 percentage points, unproductive travel by −136.23 km and reoptimizations by −91 on average. Against the fast-event policy, mean margin improves by €75.20; not every seed improves every outcome.

RealCar-Munich is a real-demand transfer / compact simulation: a 10-zone, 12-hour, three-seed case improves margin by €1117.24 but loses 1.408 service percentage points; a 20-zone, six-hour, three-seed case gains 14.394 service points. These are different scenarios, not pooled effects.

Citi Bike and Divvy

DatasetADR serviceHourly EDA serviceReoptimizationsDistance (km)
Citi Bike (NYC)99.56%99.56%146.1 / 3363569.57 / 3448.98
Divvy (Chicago)89.60%89.80%183.1 / 3362238.80 / 2081.98

ADR-EDA reduces full updates by approximately 56.5% and 45.5%, respectively, while traveling farther than hourly EDA. Raw datasets and some original pipeline inputs are absent.

REPRODUCIBILITY AND LIMITS

The protocol and its boundaries are public.

The repository includes Docker, lockfiles, a patched EDAspy extension, characterization checks and third-party provenance notes.

Reproducibility

  • Docker Desktop or Engine with Compose; Dockerfile reconstructs the patched EDAspy backend on linux/amd64.
  • Full benchmark launcher runs the eight-method, 14-problem, 15-seed protocol in resumable chunks.
  • Runtime characterization matched recorded outputs except timing on one benchmark case.
  • Third-party license status is unresolved; see THIRD_PARTY.md.

Limitations

  • Results describe the evaluated protocol, not universal superiority.
  • Tr-NSGA-II has better immediate post-change IGD.
  • Runtime cost is substantial: 204.3 ± 116.7 s per run.
  • Change notification differs between methods; detection scores are not equal-information comparisons.
  • Some metric pairs are incomplete or nonfinite and must not be treated as complete paired evidence.
  • Mobility studies are simulations with simplified rebalancing and no live traffic or strategic user behavior.

CONTACT

Have a hard problem?
Let's make it measurable.

Open to AI Engineer, Applied ML and Software Engineer roles where evaluation and engineering judgment matter as much as model choice. Based in Madrid.

samcarjes@gmail.com

Open to AI Engineer, Applied ML and Software Engineer roles