D99 — Negotiation as transactions with annealing acceptance¶
Decision¶
Negotiation runs as transactions (--txn, automatic on breakout boards): a negotiated route that rips victims is kept only if the victims can be re-routed strictly and the net change in routed connections is at least zero; otherwise a snapshot of every connection's copper is restored (history stays). A loss of k connections is kept with probability exp(−k/T), T = 1.5 (--txn-temp), drawn from a seeded counter-based stream. Nested transactions, several victim orders, victim re-route caps, a cooling schedule, tidy sweeps and stall restarts were measured and are not used (hidden options)
Alternatives¶
Plain rip-up and re-route (before); greedy acceptance only; nested ejection chains; depth-limited victim counts
Reason¶
Plain negotiation oscillates (the routed count wobbles ±5 for the whole budget); greedy transactions climb but stop one connection short on 14 of 57 boards; annealing acceptance finishes some of them. 57 srj20 gap boards at 30 M: completion 90.9 → 95.5 %, clean 23 → 23–24 (T 1–2); at 100 M clean 28 → 36. No DRC error added on any run; rollback is exact (tests/test_txn.cpp)