11. Duality in General Programs

Review: duality in linear program

\(c \in \mathbb{R}^n\), \(A \in \mathbb{R}^{m \times n}\), \(b \in \mathbb{R}^m\), \(G \in \mathbb{R}^{r \times n}\), \(h \in \mathbb{R}^r\) 일 때,

Primal LP:
\[\begin{alignat}{1} \min_{x} & \quad c^T x \\\\ s.t. & \quad Ax = b \\\\ & \quad Gx \leq h \end{alignat}\]
Dual LP:
\[\begin{alignat}{1} \max_{u,b} & \quad -b^T u - h^T v \\\\ s.t. & \quad - A^T u - G^T v = c \\\\ & \quad v \geq 0 \end{alignat}\]

Explanation 1:

모든 \(u\)와 \(v \geq 0\), 그리고 primal feasible \(x\)에 대해 다음이 성립된다.

\[\begin{equation} u^T (Ax-b) + v^T(Gx-h) \leq 0 \end{equation}\]

즉,

\[\begin{equation} (-A^Tu - G^Tv)^T x \geq -b^Tu - h^T v \end{equation}\]

위 관계에 의해, 만약, \(c=-A^Tu - G^Tv\)이면, primal 최적해에 대한 lower bound를 얻을 수 있다.

Explanation 2:

모든 \(u\)와 \(v \geq 0\), 그리고 primal feasible \(x\)에 대해,

\[\begin{equation} c^T x \geq c^T x + u^T (Ax-b) + v^T (Gx -h) := L(x,u,v) \end{equation}\]

그래서, 만약 \(C\)가 primal feasible set이고, \(f^*\)가 primal 최적해라면,

\[\begin{equation} f^* \geq \min_{x \in C} L(x,u,v) \geq \min_x L(x,u,v) := g(u,v) \end{equation}\]

다시말해, \(g(u,v)\)는 \(f^*\)에 대한 lower bound이다.

\[g(u,v) = \begin{cases} -b^T u - h^T v & \text{if $c=-A^Tu - G^T v$} \\\\ -\infty & \text{otherwise} \end{cases}\]

두번째 설명은 첫번째와 같은 dual을 가져오지만, completely general하고 (convex하지 않은 문제를 포함한) 임의의 모든 최적 문제에 적용된다.