Skip to content

Direct Objective (LP)

Chooses the whole road set at once with a linear program, rather than adding one road at a time, and budgets the currency the lenses actually score — displacement — instead of metres. The same metres cost wildly different numbers of homes depending on whether they run down a gap or through the dense interior, so budgeting metres optimises the wrong thing.

Its decision variables are whole candidate paths, never free edges: choosing a path builds every segment of it, so any solution has already bought the route back to the street and connectivity is structural rather than repaired after rounding. Displacement is modelled as a maximum over segments rather than a sum, so two roads flanking the same building pay for it once — an exact discount a greedy cannot express, because marginal displacement is not CELF-safe.

Configuration: conf/method/resistance_lp.yaml