Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

§2, p. 96 — the substitution y_ij = 1 − x_ij and p_j = c_2j − c_1j

Proved
RossSolandGAP.Bound.substitution_y_eq_one_sub_x

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

generalized-assignmentinteger-programmingknapsacklagrangean-relaxationp2o-batch-p200ap2o-gran-per-chapterp2o-plan-paperp2o-v1

Let m≥2m\ge2m≥2, let j↦ijj\mapsto i_jj↦ij​ be a cheapest-agent selection, Ji={j:ij=i}J_i=\{j:i_j=i\}Ji​={j:ij​=i}, di=∑j∈Jirij−bid_i=\sum_{j\in J_i}r_{ij}-b_idi​=∑j∈Ji​​rij​−bi​, pj=min⁡k≠ij(ckj−cijj)p_j=\min_{k\ne i_j}(c_{kj}-c_{i_jj})pj​=mink=ij​​(ckj​−cij​j​) and c2j=min⁡k≠ijckjc_{2j}=\min_{k\ne i_j}c_{kj}c2j​=mink=ij​​ckj​. Fix an agent iii and a vector (vj)j∈J(v_j)_{j\in J}(vj​)j∈J​ with vj=0v_j=0vj​=0 whenever ij≠ii_j\ne iij​=i. Then:

  1. pj=c2j−c1jp_j=c_{2j}-c_{1j}pj​=c2j​−c1j​ for every task jjj, where c1j=cijjc_{1j}=c_{i_jj}c1j​=cij​j​ is the smallest cost of task jjj;
  2. agent iii's part of the (PRλ_\lambdaλ​) objective at λ=c2\lambda=c_2λ=c2​ becomes, under yij=1−vjy_{ij}=1-v_jyij​=1−vj​, the (PKi_ii​) objective shifted by a constant:
∑j∈J(cij−c2j)vj=−∑j∈Jipj+∑j∈Jipj(1−vj);\sum_{j\in J}(c_{ij}-c_{2j})v_j=-\sum_{j\in J_i}p_j+\sum_{j\in J_i}p_j(1-v_j);j∈J∑​(cij​−c2j​)vj​=−j∈Ji​∑​pj​+j∈Ji​∑​pj​(1−vj​);
  1. vvv satisfies agent iii's resource constraint if and only if y=1−vy=1-vy=1−v satisfies the (PKi_ii​) constraint:
∑j∈Jrijvj≤bi  ⟺  di≤∑j∈Jirij(1−vj).\sum_{j\in J}r_{ij}v_j\le b_i\iff d_i\le\sum_{j\in J_i}r_{ij}(1-v_j).j∈J∑​rij​vj​≤bi​⟺di​≤j∈Ji​∑​rij​(1−vj​).

These are the first two observations of the paper's verification of its principal result.

Formalization Note The Lagrangean objective at λ=c2\lambda=c_2λ=c2​ is ∑jc2j+∑i∑j(cij−c2j)xij\sum_jc_{2j}+\sum_i\sum_j(c_{ij}-c_{2j})x_{ij}∑j​c2j​+∑i​∑j​(cij​−c2j​)xij​; "agent iii's part" is the inner sum. Agents and tasks are 0-based.

Preamble
import Mathlib
import Definitions.Def_RossSolandGAP_Bound_Model
open Finset
Formal statement
namespace RossSolandGAP.Bound

theorem substitution_y_eq_one_sub_x {m n : ℕ} (hm : 1 < m) (c r : Fin m → Fin n → ℝ)
    (b : Fin m → ℝ) (a : Fin n → Fin m) (ha : IsCheapest c a) (i : Fin m) (v : Fin n → ℝ)
    (hv : ∀ j, a j ≠ i → v j = 0) :
    (∀ j, pen hm c a j = c2 hm c a j - c (a j) j) ∧
    ∑ j, (c i j - c2 hm c a j) * v j =
      -(∑ j ∈ Jset a i, pen hm c a j) + ∑ j ∈ Jset a i, pen hm c a j * (1 - v j) ∧
    (∑ j, r i j * v j ≤ b i ↔ dgap r b a i ≤ ∑ j ∈ Jset a i, r i j * (1 - v j)) := by sorry

end RossSolandGAP.Bound
Source
Ross & Soland, A Branch and Bound Algorithm for the Generalized Assignment Problem, Mathematical Programming 8, 1975, p. 96, §2, second paragraph, second sentence (first two observations)
Human review
  • Endorsed by Shuze Chen · Sep 27, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Sep 27, 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