Proposition 1: shrinking with and for all is safe
ProvedLysgaardCVRP.Shrink.proposition_1Consider the capacitated vehicle routing problem on the complete graph with vertex set , depot , vehicle capacity and customers with integer demands . The capacity inequalities are for customer sets with , where is the bin-packing number of .
Let be an edge vector (an LP solution) and let be a customer set such that
Then shrinking is safe for the separation of capacity inequalities: for every customer set with and there is a customer set with , with or , such that
The proposition extends the classical rule that an edge with may be shrunk to sets with more than two customers, so that separation heuristics may run on a smaller support graph without missing violated capacity inequalities.
Formalization Note Customer sets are finite sets of vertices not containing the depot. Of the LP point only is assumed (the degree equations and upper bounds are not used), which makes the statement at least as strong as the paper's. The paper's "" is read over nonempty proper subsets: for the cut is .
import Mathlib import Definitions.Def_LysgaardCVRP_Shrink_binPackingNumber import Definitions.Def_LysgaardCVRP_Shrink_SafeToShrink
namespace LysgaardCVRP.Shrink
/-- **Proposition 1** of Lysgaard, Letchford & Eglese, *A new branch-and-cut algorithm for the capacitated vehicle
routing problem*, Math. Program. Ser. A 100 (2004), p. 426 (PDF p. 4): "For separation of capacity inequalities, it is
safe to shrink a customer set $S$ if $x^*(\delta(S)) \le 2$ and $x^*(\delta(R)) \ge 2$
$\forall R \subset S$."
The capacity inequalities are (2), $x(\delta(T)) \ge 2r(T)$ for customer sets $|T| \ge 2$, with
$r$ the bin-packing number; "safe" is the p. 426 notion `SafeToShrink`.
**Formalization Note.** Customer sets are `Finset`s of `Fin (n+1)` not containing the depot `0`. Standing
hypotheses of §1 (p. 423): $Q > 0$ real (the paper never says $Q$ is an integer) and integer demands
$0 < q_i \le Q$ for every customer. The LP point $x^*$ is only assumed nonnegative (the bounds of
(3)–(4)); the degree equations and upper bounds are not needed, so the statement holds for every
such $x$ and is at least as strong as the paper's. "$\forall R \subset S$" is read as every
**nonempty proper** subset $R$ of $S$: for $R = \emptyset$ one has $x(\delta(\emptyset)) = 0 < 2$, so
including it would make the hypothesis unsatisfiable. The empty set $S$ is not excluded; the conclusion is then trivially
true, so no hypothesis is needed. -/
theorem proposition_1 {n : ℕ} (q : Fin (n + 1) → ℕ) (Q : ℝ) (hQ : 0 < Q)
(hq : ∀ i : Fin (n + 1), i ≠ 0 → 0 < q i ∧ (q i : ℝ) ≤ Q)
(x : Sym2 (Fin (n + 1)) → ℝ) (hx : ∀ e, 0 ≤ x e)
(S : Finset (Fin (n + 1))) (hS0 : (0 : Fin (n + 1)) ∉ S) (hS : cut x S ≤ 2)
(hR : ∀ R : Finset (Fin (n + 1)), R ⊆ S → R.Nonempty → R ≠ S → 2 ≤ cut x R) :
SafeToShrink x (binPackingNumber q Q) S := by sorry
end LysgaardCVRP.Shrink
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.