Eq. (3.4) — the assignment dual w(π) is the minimum of c_A + π·v_A over all n^n assignments
ProvedHeldWolfeCrowder.Assignment.w_eq_min_assignmentsassignment-problemp2o-batch-p200ap2o-gran-per-chapterp2o-plan-paperp2o-v1piecewise-linear
Let be a real cost matrix ( = cost of man on job ), and let be the dual function (3.3), . For an assignment (job goes to man , not necessarily one-to-one) write and . Then for every ,
the minimum being over all assignments.
This exhibits in the form (2.2) of the paper, , so that the general subgradient method of Section 2 applies to the assignment dual, with a subgradient at whenever attains the minimum.
Formalization Note The minimum over the finite, nonempty type Fin n → Fin n is Finset.univ.inf' (nonemptiness witnessed by the identity), and is written as the sum .
Preamble
import Mathlib import Definitions.Def_HeldWolfeCrowder_Assignment_Setting
Formal statement
namespace HeldWolfeCrowder.Assignment
/-- Held–Wolfe–Crowder (1974), p. 69, Eq. (3.4): the dual function (3.3) has the form (2.2),
`w(π) = min_A {c_A + π · v_A}`, the minimum over all `n^n` assignments `A : Fin n → Fin n`,
with `c_A = Σ_r a_{A(r) r}` and `(v_A)_i = 1 − #{r : A(r) = i}`. -/
theorem w_eq_min_assignments {n : ℕ} (a : Matrix (Fin n) (Fin n) ℝ) (π : Fin n → ℝ) :
w a π = Finset.univ.inf' ⟨id, Finset.mem_univ _⟩
(fun A : Fin n → Fin n => assignCost a A + ∑ i, π i * assignVec A i) := by sorry
end HeldWolfeCrowder.Assignment
Source
Held, Wolfe & Crowder, Validation of subgradient optimization, Math. Programming 6 (1974), p. 69, Eq. (3.4) ("Then (2.2) holds"), with (2.2) on p. 64
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.