Coupled optimization of road network topology and green infrastructure (GI) allocation for flood-resilient master planning. A bi-objective NSGA-II search (pymoo) evaluates road network quality from graph topology and flood-resilience loss from a SWMM dual-drainage simulation of each candidate design. Code release accompanying a manuscript under review.
code/ contains the optimization pipeline:
| File | Role |
|---|---|
run_smoke.py |
scenario driver (road-only, coupled, warm-started runs) |
coupled.py |
problem definitions, GI eligibility caps, shared configuration |
opt_resilience.py |
flood-resilience objective (SWMM run, time-integrated network performance, orphan reroute, outfall backbone injection) |
opt_utils.py |
applies a decision vector to the network graph and SWMM input |
smoke_dndp.py |
candidate-set loading and road-quality metrics (global efficiency, meshedness) |
candidate_repair.py, grid_regularize.py |
planner-realism repair operator |
pareto_net.py, mixed_ops.py |
network utilities and mixed-variable GA operators |
detour_seeds.py, aggressive_detour_search.py, warmfront.py |
warm-start seed construction |
gi_eligibility.py, gi_placement.py, gi_reallocate.py, opt_green_inp.py, opt_green_cost.py |
GI representation, eligibility rules, and costing |
build_outfall_backbone.py |
one-time builder of the forced outfall drainage backbone |
conda env create -f environment.yml
conda activate traf_swmm
python code/run_smoke.py drives the optimization scenarios; settings are
constants at the top of the driver and of coupled.py. Each run writes its
population history and Pareto front to an outputs/ directory.