§4.1, Eq. (6), p. 494 — the partial derivative of Π₂ in q_i and the interior first-order condition
ProvedMitigateSupplyRisk.DualSourcing.eq6_first_orderConsider the two-supplier random-capacity newsvendor with expected profit , and suppose that demand has a density, finite mean and distribution function . Fix a supplier , let be the other supplier, and let with . Write with .
- The partial derivative of in at is
- Consequently, if is optimal, its interior coordinate satisfies the first-order condition (6):
Here is the probability that supplier 's effective capacity exceeds the order, so that a marginal unit ordered from is delivered, and is the probability that such a unit is not needed to meet demand. The condition (6) is the generalization of the critical-fractile condition to two unreliable suppliers.
Formalization Note. The paper states (6) for the optimal interior quantity at the initial indices ; it holds at any indices , which is how it is stated here. The paper drops the positive factor , which is harmless in "" but is kept in the derivative formula.
import Mathlib import Definitions.Def_MitigateSupplyRisk_DualSourcing_Model open MeasureTheory ProbabilityTheory
namespace MitigateSupplyRisk.DualSourcing
/-- Eq. (6) (Wang, Gilland, Tomlin 2010, §4.1, p. 494). Let demand have a density, with
distribution function `F`. For a feasible `q` with `0 < q_i < K_i` and `j ≠ i` the other
supplier:
1. the partial derivative of `Π₂(·; a)` in `q_i` at `q` is
`(r + p − v)(ψ_i + G_i(K_i − q_i, a_i)(φ_i − E_{ξ_j}[F(q_i + y_j)]))`, where
`y_j = min{q_j, (K_j − ξ_j)⁺}` and `ξ_j` has law `ν_j(a_j)`;
2. if `q` is optimal, then `ψ_i + G_i(K_i − q_i, a_i)(φ_i − E_{ξ_j}[F(q_i + y_j)]) = 0`. -/
theorem eq6_first_order (M : Model) (μ : Measure ℝ) [IsProbabilityMeasure μ]
(hμ0 : μ (Set.Iio 0) = 0) (hμint : Integrable id μ) (hμac : μ ≪ volume)
(a q : Fin 2 → ℝ) (hq : q ∈ Model.orders) (i j : Fin 2) (hij : i ≠ j)
(hqi0 : 0 < q i) (hqiK : q i < M.K i) :
HasDerivAt (fun t => M.Pi2 μ (Function.update q i t) a)
((M.r + M.p - M.v) * (M.psi i + M.G i (M.K i - q i) (a i) *
(M.phi i - ∫ s, cdf μ (q i + Model.deliv (M.K j) (q j) s) ∂(M.ν j (a j))))) (q i) ∧
(M.IsOptimal μ a q →
M.psi i + M.G i (M.K i - q i) (a i) *
(M.phi i - ∫ s, cdf μ (q i + Model.deliv (M.K j) (q j) s) ∂(M.ν j (a j))) = 0) := by sorry
end MitigateSupplyRisk.DualSourcing
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.