logo

선형 계획 문제의 방정식 폼 📂최적화이론

선형 계획 문제의 방정식 폼

정의 1

행렬 ARm×nA \in \mathbb{R}^{m \times n}bRm×1\mathbf{b} \in \mathbb{R}^{m \times 1}cRn\mathbf{c} \in \mathbb{R}^{n} 에 대해 다음과 같은 선형계획문제표준형standard form 혹은 방정식 폼equational form이라 한다. MaximizecTxsubject toAx=bx0 \begin{matrix} \text{Maximize} & \mathbf{c}^{T} \mathbf{x} \\ \text{subject to} & A \mathbf{x} = \mathbf{b} \\ & \mathbf{x} \ge \mathbf{0} \end{matrix}


  • cT\mathbf{c}^{T}전치를 의미한다.
  • 최적화는 최대화 혹은 최소화를 말한다.

설명

표준형으로의 변환

기본적으로는 어떤 선형계획문제라도 표준형으로 바꿀 수 있다. 가령 다음과 같은 최대화 문제가 주어져있다고 해보자.

Maximize3x12x2subject to2x1x24x1+3x25x20 \begin{matrix} \text{Maximize} & 3 x_{1} - 2 x_{2} \\ \text{subject to} & 2 x_{1} - x_{2} \le 4 \\ & x_{1} + 3 x_{2} \ge 5 \\ & x_{2} \ge 0 \end{matrix}

변환의 기본적인 아이디어는 ‘부등식을 몰아주는 것’이다. 첫번째 제약 2x1x24 2 x_{1} - x_{2} \le 4 은 사실 어떤 x30x_{3} \ge 0 에 대해 2x1x2+x3=4 2 x_{1} - x_{2} + x_{3} = 4 와 같이 나타내도 전혀 문제 없다. 2x1x22 x_{1} - x_{2}44 보다 작은 양만큼을 x3>0x_{3} > 0 가 보충해주는 역할을 하기 때문이다. 이렇게 등식을 느슨하게 만들어주는 역할을 하는 변수를 슬랙 변수slack variable라 한다. 두번째 제약 x1+3x25 x_{1} + 3 x_{2} \ge 5 은 양변에 1-1 을 곱하고 첫번째 제약에서 그랬던 것처럼 새로운 슬랙 변수 x4x_{4} 를 도입하면 x13x2+x4=5 - x_{1} - 3 x_{2} + x_{4} = - 5 이다. 여기까지 보면 언뜻 Maximize3x12x2subject to2x1x2+x3=4x13x2+x4=5x2,x3,x40 \begin{matrix} \text{Maximize} & 3 x_{1} - 2 x_{2} \\ \text{subject to} & 2 x_{1} - x_{2} + x_{3} = 4 \\ & - x_{1} - 3 x_{2} + x_{4} = - 5 \\ & x_{2}, x_{3}, x_{4} \ge 0 \end{matrix} 은 방정식 꼴의 조건을 만족한 것처럼 보이지만, 아직 x10x_{1} \ge 0 이라는 제약이 없기 때문에 이를 형식에 맞춰주어야한다. 주어진 문제에서 x1x_{1} 는 실수 전체로 허용되어 있기 때문에 이를 두 양수의 차 x1=y1z1x_{1} = y_{1} - z_{1} 로 분해해주면 x1x_{1} 은 식에서 사라지고, 다음과 같은 방정식 폼으로 나타낼 수 있다. Maximize3(y1z1)2x2subject to2(y1z1)x2+x3=4(y1z1)3x2+x4=5y1,z1,x2,x3,x40 \begin{matrix} \text{Maximize} & 3 \left( y_{1} - z_{1} \right) - 2 x_{2} \\ \text{subject to} & 2 \left( y_{1} - z_{1} \right) - x_{2} + x_{3} = 4 \\ & - \left( y_{1} - z_{1} \right) - 3 x_{2} + x_{4} = - 5 \\ & y_{1}, z_{1}, x_{2}, x_{3}, x_{4} \ge 0 \end{matrix}

방정식 폼의 기하

20211004_220856.png

방정식 Ax=bA \mathbf{x} = \mathbf{b}일반적인 평면, 초평면hyperplane을 이루고, x0\mathbf{x} \ge \mathbf{0} 라는 조건에 따라 유클리드 공간에서 뿔 모양이 되도록 하는 부분만 취할 수 있게 된다. 슬랙 변수가 도입됨에 따라 차원 자체는 커지지만 최적화를 위해 탐색해야하는 공간 자체는 극도록 단순해진 것이다.

한편 이 해공간은 다름아닌 심플렉스고, 여기에서 심플렉스 메소드의 아이디어로 이어지게 된다.


  1. Matousek. (2007). Understanding and Using Linear Programming: p41. ↩︎