Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Unified Constraint-Repair Hierarchy for Optimization over Neural Network Surrogates

Public reproduction code for the paper "A Unified Constraint-Repair Hierarchy for Feasible-by-Construction Optimization over Neural Network Surrogates" (Simone Scala, Jose Matias, Raf Dewil, Roberto Lopez — under review). This repository is the paper's reproduction layer: it regenerates the tables, plots, and result CSVs from the committed data bundle and held-out surrogates. It does not contain the manuscript itself.

It is the sequel to "Neural network response optimization via iterative domain contraction" (cited here as Scala2026IDC). The first paper's constraint repair was exact only for a single affine input-only constraint and fell back to rejection sampling for everything else. This work replaces that step with a unified projection-repair hierarchy: a router decomposes the constraint system into independent variable blocks and sends each to the cheapest exact-enough operator — alternating projection on affine blocks, active-set Gauss–Newton on smooth nonlinear manifolds, and projection through the frozen surrogate for output-coupled constraints — with integer, allowed-set, and categorical structure satisfied by construction. Everything is benchmarked exclusively on measured real-world data (no simulator) against the mixed-variable / constrained state of the art on the same held-out surrogate and a shared evaluation budget.

The repair-hierarchy method is implemented in OpenNN (LGPL v3); this repository is the reproduction layer around it.

Layout

Path Contents
experiments/ The reproduction code: data bundle, held-out surrogates, baseline runners, and the table/figure generators. Start at experiments/README.md.
figures/ Result plots produced by experiments/make_figures.py (plus the method diagrams).
tables/ LaTeX result tables produced by experiments/companion/benchmarks/make_baseline_tables.py (baseline confrontation matrix + time-to-target).

Reproducing the tables, plots, and results

The baselines, tables, and figures run from Python with no external data dependency. The IDC rows additionally need the C++ driver built against a pinned OpenNN checkout. Full recipe: experiments/docs/reproducing.md and experiments/docs/OPENNN_BUILD.md.

cd experiments
python -m venv companion/.venv && companion/.venv/Scripts/activate   # or: source .../bin/activate
pip install -r companion/requirements.txt

# regenerate the result plots (-> ../figures/) and the LaTeX tables (-> ../tables/)
python make_figures.py
cd companion/benchmarks && python make_baseline_tables.py

The confrontation runners (companion/benchmarks/run_all.py and the per-case run_*.py) rerun the optimizers and refresh the result CSVs the tables and plots are built from; the IDC rows use the C++ driver, every other baseline runs from Python.

Data availability

Every measured dataset is redistributed under experiments/companion/data/ in a slim modelling view, for reproducibility only; each entry carries its source (publication, DOI, download URL) in a description.txt and is used under its original license. Re-users must cite the original source. See experiments/README.md.

Citation

@article{Scala2026IDCrepair,
  author  = {Scala, Simone and Matias, Jose and Dewil, Raf and Lopez, Roberto},
  title   = {A Unified Constraint-Repair Hierarchy for Feasible-by-Construction
             Optimization over Neural Network Surrogates},
  year    = {2026},
  note    = {Under review}
}

(Update the venue/DOI once the paper is accepted.) See CITATION.cff.

License

Reproduction code: MIT (see LICENSE). The IDC method is implemented in OpenNN (LGPL-3.0-or-later), fetched/built separately and not redistributed here. Bundled datasets retain their upstream licenses. See NOTICE.

Acknowledgments

Funded by the European Union (Marie Skłodowska-Curie Grant Agreement no. 101169541 — NEUTEN). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Research Executive Agency (REA). Neither the European Union nor the granting authority can be held responsible for them.

About

Reproduction code for a router that projects samples onto nonlinear, discrete, and output-coupled constraints over a frozen neural-network surrogate — feasible-by-construction optimization over NN surrogates, benchmarked on real-world data

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages