Disjunct-Matrix Paper Suite (DM/RM/ADM)
This suite reproduces the exact instance grid requested from Table 1 of the paper for binary disjunct-matrix optimization.
Scope
Variants:
- DM (
disjunct-matrix, targetfit1 == 0) - RM (
resolvable-matrix, targetfit2 == 0, withf = round(0.30 * (N - t))) - ADM (
almost-disjunct-matrix, targetfit3 <= 1e-4, withepsilon = 1e-4)
Mandatory algorithms:
umdachow-liu-edadependency-tree-edabmdaebnaboahboa
Note on tree-eda:
tree-edain EDAF is a variable-length tree/token driver, not a bitstring dependency-tree baseline.- For this binary matrix suite, the dependency-tree baseline is
dependency-tree-eda(withmimic-chow-liumodel), sotree-edais intentionally not included.
Optional extras:
pbilcgamimic
Continuous/permutation EDAs are intentionally excluded from this suite.
Exact Instance Grid (Table 1)
t = 2:
(M,N) in {(8,8),(9,12),(10,13),(11,18),(12,20),(13,26),(14,28),(15,35)}
t = 3:
(M,N) in {(13,13),(14,14),(15,15),(16,20),(17,21),(18,22),(19,28),(20,30),(21,31)}
Evaluation-Mode Policy
The problem plugins support evaluationMode=exact|sampled|auto.
Suite policy:
- small combination spaces: exact
- medium/large combination spaces: sampled
The generated suite uses per-instance mode resolution and stores the mode metadata in:
configs/adm_paper_suite/paper-suite-metadata.csv
Generated Config Layout
configs/adm_paper_suite/dm/t2/*.ymlconfigs/adm_paper_suite/dm/t3/*.ymlconfigs/adm_paper_suite/rm/t2/*.ymlconfigs/adm_paper_suite/rm/t3/*.ymlconfigs/adm_paper_suite/adm/t2/*.ymlconfigs/adm_paper_suite/adm/t3/*.yml
Batch manifests:
configs/adm_paper_suite/batch-paper-mandatory-30.ymlconfigs/adm_paper_suite/batch-paper-optional-30.ymlconfigs/adm_paper_suite/batch-paper-full-30.ymlconfigs/adm_paper_suite/batch-paper-smoke.ymlconfigs/adm_paper_suite/batch-paper-smoke-missing.yml(auto-generated helper for filling interrupted smoke runs)configs/adm_paper_suite/batch-paper-crossvariant-smoke.yml(RM/ADM mandatory smoke)configs/adm_paper_suite/batch-paper-t3-crossvariant-smoke.yml(DM/RM/ADM,t=3mandatory smoke)
Termination and Repetitions
Per run:
- stopping type:
budget-or-target maxEvaluations = 500000- plus target stop per variant
Batch repetition:
- mandatory/full manifests use
repetitions: 30per config entry.
Generate / Run / Report
Generate configs:
./scripts/adm_paper_suite/generate_configs.py --include-optional
Smoke batch:
./edaf batch -c configs/adm_paper_suite/batch-paper-smoke.yml
Mandatory 30x campaign:
./edaf batch -c configs/adm_paper_suite/batch-paper-mandatory-30.yml
Resume only missing canonical runs (no rerun of completed IDs):
./scripts/adm_paper_suite/run_missing_canonical.py \
--batch configs/adm_paper_suite/batch-paper-mandatory-30.yml \
--db edaf-v3.db \
--verbosity quiet
Full campaign (mandatory + optional):
./edaf batch -c configs/adm_paper_suite/batch-paper-full-30.yml
Build comparative report bundle from DB:
./scripts/adm_paper_suite/build_comparison_report.py \
--db edaf-v3.db \
--metadata configs/adm_paper_suite/paper-suite-metadata.csv \
--out reports/adm_paper_suite
Strict paper-metrics view (canonical run IDs only, excludes smoke/ad-hoc IDs):
./scripts/adm_paper_suite/build_comparison_report.py \
--db edaf-v3.db \
--metadata configs/adm_paper_suite/paper-suite-metadata.csv \
--out reports/adm_paper_suite_canonical \
--canonical-only
Generated report artifacts:
reports/adm_paper_suite/paper-suite-comparison.mdreports/adm_paper_suite/paper-suite-comparison.htmlreports/adm_paper_suite/instance-algorithm-stats.csvreports/adm_paper_suite/instance-winners.csvreports/adm_paper_suite/aggregate-stats.csvreports/adm_paper_suite/campaign-coverage.csvreports/adm_paper_suite/best_matrices/...
Visual Summary
flowchart LR
A["EDAF"] --> B["adm paper suite"]
B --> C["Configure"]
B --> D["Execute"]
B --> E["Inspect"]
E --> F["Iterate"]
Estimation of Distribution Algorithms Framework
Copyright (c) 2026 Dr. Karlo Knezevic
Licensed under the Apache License, Version 2.0.