Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

§5.1 — the cost shift cr:=cr+∣r∣c_r := c_r + |r|cr​:=cr​+∣r∣ makes weak subcolumn costs strict and adds mmm to every partition's cost

Proved
Lubbecke2005.SubcolumnPricing.cost_shift

by mikedeng1 · Sep 28, 2026 · Mathlib 0df444a (Lean v4.33.1)

column-generationp2o-batch-p200bp2o-gran-per-chapterp2o-plan-paperp2o-v1set-partitioning

Let A\mathcal AA be a finite collection of columns (subsets of the rows {1,…,m}\{1,\dots,m\}{1,…,m}, with incidence vectors as∈{0,1}m\mathbf a_s \in \{0,1\}^mas​∈{0,1}m) and c\mathbf cc a cost vector such that cr≤csc_r \le c_scr​≤cs​ whenever r,s∈Ar, s \in \mathcal Ar,s∈A and r⊊sr \subsetneq sr⊊s. Define the shifted costs cs′:=cs+∣s∣c'_s := c_s + |s|cs′​:=cs​+∣s∣. Then:

  1. (A,c′)(\mathcal A, \mathbf c')(A,c′) satisfies the subcolumn property: cr′<cs′c'_r < c'_scr′​<cs′​ for all r,s∈Ar, s \in \mathcal Ar,s∈A with r⊊sr \subsetneq sr⊊s;
  2. for every λ∈RA\lambda \in \mathbb R^{\mathcal A}λ∈RA satisfying the set-partitioning constraints ∑s∈Aasλs=1\sum_{s \in \mathcal A} \mathbf a_s \lambda_s = \mathbf 1∑s∈A​as​λs​=1,
∑s∈Acs′λs=∑s∈Acsλs+m.\sum_{s \in \mathcal A} c'_s \lambda_s = \sum_{s \in \mathcal A} c_s \lambda_s + m .s∈A∑​cs′​λs​=s∈A∑​cs​λs​+m.

The paper states: "If only cr⩽csc_r \leqslant c_scr​⩽cs​ holds, strict inequality can be obtained by modifying the cost structure by cr:=cr+∣r∣c_r := c_r + |r|cr​:=cr​+∣r∣. This adds to z⋆z^\starz⋆ a constant term equal to the number of rows and does not change the problem." Part 2 is the pointwise form of the second sentence: the feasible set is unchanged and on it the objective is shifted by the constant mmm, so the optimal solutions are the same and the optimal value becomes z⋆+mz^\star + mz⋆+m. The shift therefore lets Proposition 2 be applied when the costs are only weakly monotone under inclusion.

Formalization Note. Columns are Finset (Fin m); ∣s∣|s|∣s∣ is s.card. Part 2 is stated for real multipliers (it covers the LP relaxation and the integer program alike, and uses no sign condition). The paper's "z⋆z^\starz⋆" is not formalized as an optimal value; the pointwise identity on the feasible set is the content of "adds to z⋆z^\starz⋆ a constant term … and does not change the problem".

Preamble
import Mathlib
import Definitions.Def_Lubbecke2005_SubcolumnPricing_Columns
Formal statement
namespace Lubbecke2005.SubcolumnPricing

theorem cost_shift {m : ℕ} (𝒜 : Finset (Finset (Fin m))) (c : Finset (Fin m) → ℝ)
    (hweak : ∀ r ∈ 𝒜, ∀ s ∈ 𝒜, r ⊂ s → c r ≤ c s) :
    SubcolumnProperty 𝒜 (fun s => c s + (s.card : ℝ)) ∧
    ∀ lam : Finset (Fin m) → ℝ,
      (∑ s ∈ 𝒜, lam s • incidence s) = (1 : Fin m → ℝ) →
      ∑ s ∈ 𝒜, (c s + (s.card : ℝ)) * lam s = ∑ s ∈ 𝒜, c s * lam s + (m : ℝ) := by sorry

end Lubbecke2005.SubcolumnPricing
Source
Lübbecke and Desrosiers, Selected Topics in Column Generation, Operations Research 53(6), 2005, p. 1016, §5.1 (sentences following the subcolumn property)
Human review
  • Endorsed by Shuze Chen · Oct 1, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 1, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me