Primal:

min⁡cTxs.t.Ax=bx≥0 \begin{aligned} &\min &c^T x \\ &s.t. &Ax = b\\ & &x \ge 0 \end{aligned}

We assume that b≥0b \ge 0. Otherwise we can flip the ii constraints AiTx=biA^T_i x = b_i by −AiTx=−bi- A^T_i x = -b_i, where AiTA^T_i is the ii-th column of matrix ATA^T, i.e, the ii-th row of matrix AA.

Dual:

max⁡yTbs.t.yTA≤cT \begin{aligned} &\max &y^T b \\ &s.t. &y^TA \le c^T \\ \end{aligned}

Suppose that we have a feasible solution yy for the dual (if c≥0c \ge 0, then y=0y = 0 is a feasible solution). Weak duality states that

cTx≥yTAx=yTb c^T x \ge y^T A x = y^T b

Denote S={i:i∈[n],yTAi<ci}S = \{ i : i \in [n], y^T A_i < c_i \} (the set of constraints that have slacks for increments) and Sˉ=[n]∖S\bar S = [n] \setminus S (the set of indexes of tight dual constraints), where AiA_i is the ii-th columns of AA.

By weak duality, if we can find an xx such that

  1. xS=0x_{S } = 0, where xS≐(xi:i∈S)x_{S} \doteq (x_i : i \in {S}).
  2. xSˉ≥0x_{\bar S} \ge 0 and ASˉxSˉ=bA_{\bar S} x_{\bar S} = b, where ASˉA_{\bar S} is the sub-matrix of AA containing only columns in Sˉ{\bar S}.

then both yy and xx are optimal. However, as yy is not necessarily optimal, we have the following relaxed optimization problem, which is called restricted primal

Relaxation:

min⁡1Txˉs.t.ASˉxSˉ+xˉ=bxSˉ≥0xˉ≥0 \begin{aligned} &\min &1^T \bar x \\ &s.t. &A_{\bar S} x_{\bar S} + \bar x = b \\ & &x_{\bar S} \ge 0 \\ & &\bar x \ge 0 \end{aligned}

Note that xSˉ=0x_{\bar S} = 0 and xˉ=b\bar x = b is a feasible solution as we assume that b≥0b \ge 0. Therefore, restricted primal is feasible. Further, it is bounded below by 1Sˉ0=01^{\bar S} 0 = 0. Indeed, if it achieves optimal solution value 00, it holds that xˉ=0\bar x = 0 so that ASˉxSˉ=bA_{\bar S} x_{\bar S} = b.

Associated with the restricted primal is the restricted dual

max⁡yˉTbs.t.yˉTASˉ≤0yˉT≤1T \begin{aligned} &\max & \bar y^T b \\ &s.t. & \bar y^TA_{\bar S} \le 0 \\ & & \bar y^T \le 1^T \end{aligned}

By strong duality, it optimal solution yˉTb=1Txˉ\bar y^T b = 1^T \bar x. If 1Txˉ=yˉTb>01^T \bar x= \bar y^T b > 0, then we can improve the dual solution yy by

y←y+ϵyˉ y \leftarrow y + \epsilon \bar y

for some ϵ\epsilon. To determine its value, first observe that

(y+ϵyˉ)TASˉ=yTASˉ+ϵyˉTASˉ≤yTASˉ=cSˉT (y + \epsilon \bar y)^{T} A_{\bar S} = y^T A_{\bar S} + \epsilon \bar y^T A_{\bar S} \le y^T A_{\bar S} = c_{\bar S}^T

Hence it is left to guarantee that

(y+ϵyˉ)TAS=yTAS+ϵyˉTAS≤cS (y + \epsilon \bar y)^T A_S = y^T A_S + \epsilon \bar y^T A_S \le c_S

By definition of S{S}, we have yTAS<cSTy^T A_{S} < c_{S}^T. If that yˉTAi≤0\bar y^T A_i \le 0 for ∀i∈S\forall i \in {S}, then ϵ\epsilon can be arbitrary large and the dual is unbounded. Otherwise,

ϵ=min⁡i∈S,yˉTAi>0ci−yTAiyˉTAi \epsilon = \min_{i \in S, \bar y^T A_i > 0} \frac{c_i - y^T A_i } { \bar y^T A_i }