Lagrange Multiplier (라그랑주 승수법)
개념
제약 조건 g ( x ) = 0 g(x) = 0 g ( x ) = 0 이 있는 상태에서 함수를 최적화하는 방법
g ( x ) = 0 g(x) = 0 g ( x ) = 0 위에 있으면서(교점), 그 점에서 f f f 의 등고선과 기울기까지 일치하는(접선 공유) 점을 동시에 찾음
Auxiliary Function
L ( x , y , λ ) = f ( x , y ) − λ g ( x , y ) \mathcal{L}(x, y, \lambda) = f(x, y) - \lambda g(x, y) L ( x , y , λ ) = f ( x , y ) − λ g ( x , y )
Multiple Constraints
제약 조건이 g 1 ( x ) = 0 , g 2 ( x ) = 0 , … , g m ( x ) = 0 g_1(x) = 0,\ g_2(x) = 0,\ \dots,\ g_m(x) = 0 g 1 ( x ) = 0 , g 2 ( x ) = 0 , … , g m ( x ) = 0 처럼 여러 개면, 각 제약조건의 기울기(gradient) ∇ g i \nabla g_i ∇ g i 들의 선형결합(가중합) 방향이 ∇ f \nabla f ∇ f 방향과 같아지는 점을 찾으면 됨.
즉, 하나의 λ \lambda λ 가 아니라 제약조건 개수만큼의 λ i \lambda_i λ i 를 두고, 그 가중합이 f f f 의 기울기와 일치하는 지점을 구하는 것.
Auxiliary Function (일반형)
L ( x , λ 1 , … , λ m ) = f ( x ) − ∑ i = 1 m λ i g i ( x ) \mathcal{L}(x, \lambda_1, \dots, \lambda_m) = f(x) - \sum_{i=1}^{m} \lambda_i \, g_i(x) L ( x , λ 1 , … , λ m ) = f ( x ) − i = 1 ∑ m λ i g i ( x )
조건식
1. 정상점 조건 (기울기 일치)
∇ x L = ∇ f ( x ) − ∑ i = 1 m λ i ∇ g i ( x ) = 0 ⟺ ∇ f ( x ) = ∑ i = 1 m λ i ∇ g i ( x ) \nabla_x \mathcal{L} = \nabla f(x) - \sum_{i=1}^{m} \lambda_i \nabla g_i(x) = 0 \quad\Longleftrightarrow\quad \nabla f(x) = \sum_{i=1}^{m} \lambda_i \, \nabla g_i(x) ∇ x L = ∇ f ( x ) − i = 1 ∑ m λ i ∇ g i ( x ) = 0 ⟺ ∇ f ( x ) = i = 1 ∑ m λ i ∇ g i ( x )
2. 실행가능 조건 (모든 제약조건을 동시에 만족)
∂ L ∂ λ i = − g i ( x ) = 0 ⟹ g i ( x ) = 0 , i = 1 , … , m \frac{\partial \mathcal{L}}{\partial \lambda_i} = -g_i(x) = 0 \implies g_i(x) = 0, \quad i = 1, \dots, m ∂ λ i ∂ L = − g i ( x ) = 0 ⟹ g i ( x ) = 0 , i = 1 , … , m
기하학적 해석
단일 제약조건일 때는 ∇ f \nabla f ∇ f 와 ∇ g \nabla g ∇ g 가 같은 직선 위(스칼라배 관계)에 있어야 했음.
제약조건이 여러 개면, ∇ f \nabla f ∇ f 가 굳이 하나의 ∇ g i \nabla g_i ∇ g i 와 평행할 필요는 없고, 모든 ∇ g i \nabla g_i ∇ g i 들이 만드는 부분공간(span) 안에 ∇ f \nabla f ∇ f 가 들어가기만 하면 됨.
즉 ∇ f ∈ span ( ∇ g 1 , ∇ g 2 , … , ∇ g m ) \nabla f \in \text{span}(\nabla g_1, \nabla g_2, \dots, \nabla g_m) ∇ f ∈ span ( ∇ g 1 , ∇ g 2 , … , ∇ g m ) 인 점이 후보점(critical point)이 됨.
예시 : 두 제약조건 g 1 = 0 , g 2 = 0 g_1 = 0,\ g_2 = 0 g 1 = 0 , g 2 = 0 의 교차선(curve) 위를 움직인다고 할 때, 그 교차선의 접선 방향은 ∇ g 1 \nabla g_1 ∇ g 1 과 ∇ g 2 \nabla g_2 ∇ g 2 모두에 수직인 방향임. 최적점에서는 f f f 의 등고선도 이 접선 방향과 수직이어야 하므로, ∇ f \nabla f ∇ f 역시 ∇ g 1 , ∇ g 2 \nabla g_1, \nabla g_2 ∇ g 1 , ∇ g 2 가 펼치는 평면 안에 놓이게 됨 — 그래서 ∇ f = λ 1 ∇ g 1 + λ 2 ∇ g 2 \nabla f = \lambda_1 \nabla g_1 + \lambda_2 \nabla g_2 ∇ f = λ 1 ∇ g 1 + λ 2 ∇ g 2 형태로 표현되는 것.
예제 문제
minimize f ( x , y ) = a x + b y subject to g ( x , y ) = x 2 + y 2 − r = 0 \text{minimize } f(x, y) = ax + by \quad \text{subject to } g(x, y) = x^2 + y^2 - r = 0 minimize f ( x , y ) = a x + b y subject to g ( x , y ) = x 2 + y 2 − r = 0
1. 교차점 조건 (제약조건 곡선 위의 점)
∂ L ∂ x = ∂ f ∂ x − λ ∂ g ∂ x = 0 \frac{\partial \mathcal{L}}{\partial x} = \frac{\partial f}{\partial x} - \lambda \frac{\partial g}{\partial x} = 0 ∂ x ∂ L = ∂ x ∂ f − λ ∂ x ∂ g = 0
∂ L ∂ y = ∂ f ∂ y − λ ∂ g ∂ y = 0 \frac{\partial \mathcal{L}}{\partial y} = \frac{\partial f}{\partial y} - \lambda \frac{\partial g}{\partial y} = 0 ∂ y ∂ L = ∂ y ∂ f − λ ∂ y ∂ g = 0
2. 기울기 일치 조건 (접선 방향 일치)
∂ L ∂ λ = − g ( x , y ) = 0 ⟹ g ( x , y ) = 0 \frac{\partial \mathcal{L}}{\partial \lambda} = -g(x, y) = 0 \implies g(x, y) = 0 ∂ λ ∂ L = − g ( x , y ) = 0 ⟹ g ( x , y ) = 0
풀이 과정
1단계 — 라그랑지안 구성
L ( x , y , λ ) = a x + b y − λ ( x 2 + y 2 − r ) \mathcal{L}(x, y, \lambda) = ax + by - \lambda (x^2 + y^2 - r) L ( x , y , λ ) = a x + b y − λ ( x 2 + y 2 − r )
2단계 — 편미분 = 0
∂ L ∂ x = a − 2 λ x = 0 ⟹ x = a 2 λ \frac{\partial \mathcal{L}}{\partial x} = a - 2\lambda x = 0 \implies x = \frac{a}{2\lambda} ∂ x ∂ L = a − 2 λ x = 0 ⟹ x = 2 λ a
∂ L ∂ y = b − 2 λ y = 0 ⟹ y = b 2 λ \frac{\partial \mathcal{L}}{\partial y} = b - 2\lambda y = 0 \implies y = \frac{b}{2\lambda} ∂ y ∂ L = b − 2 λ y = 0 ⟹ y = 2 λ b
∂ L ∂ λ = − ( x 2 + y 2 − r ) = 0 ⟹ x 2 + y 2 = r \frac{\partial \mathcal{L}}{\partial \lambda} = -(x^2 + y^2 - r) = 0 \implies x^2 + y^2 = r ∂ λ ∂ L = − ( x 2 + y 2 − r ) = 0 ⟹ x 2 + y 2 = r
3단계 — 대입해서 λ \lambda λ 구하기
x , y x, y x , y 를 세 번째 식에 대입:
( a 2 λ ) 2 + ( b 2 λ ) 2 = r \left( \frac{a}{2\lambda} \right)^2 + \left( \frac{b}{2\lambda} \right)^2 = r ( 2 λ a ) 2 + ( 2 λ b ) 2 = r
a 2 + b 2 4 λ 2 = r ⟹ λ = ± a 2 + b 2 2 r \frac{a^2 + b^2}{4\lambda^2} = r \implies \lambda = \pm \frac{\sqrt{a^2 + b^2}}{2\sqrt{r}} 4 λ 2 a 2 + b 2 = r ⟹ λ = ± 2 r a 2 + b 2
4단계 — 최적점
x = a 2 λ , y = b 2 λ x = \frac{a}{2\lambda}, \qquad y = \frac{b}{2\lambda} x = 2 λ a , y = 2 λ b
λ = − a 2 + b 2 2 r \lambda = -\dfrac{\sqrt{a^2+b^2}}{2\sqrt{r}} λ = − 2 r a 2 + b 2 (음수) → ( x , y ) = − r ⋅ ( a , b ) a 2 + b 2 (x, y) = -\sqrt{r} \cdot \dfrac{(a, b)}{\sqrt{a^2+b^2}} ( x , y ) = − r ⋅ a 2 + b 2 ( a , b ) → 최솟값
λ \lambda λ 가 양수인 경우 → 반대 방향 → 최댓값
최솟값
f min = a x + b y = − r ⋅ a 2 + b 2 = − r ( a 2 + b 2 ) f_{\min} = ax + by = -\sqrt{r} \cdot \sqrt{a^2 + b^2} = -\sqrt{r(a^2 + b^2)} f m i n = a x + b y = − r ⋅ a 2 + b 2 = − r ( a 2 + b 2 )
기하학적 해석
최솟값을 주는 점은 원 위에서 ( a , b ) (a, b) ( a , b ) 와 정반대 방향에 있는 점이며, 그 지점에서 ∇ f = ( a , b ) \nabla f = (a, b) ∇ f = ( a , b ) 와 ∇ g = 2 ( x , y ) \nabla g = 2(x, y) ∇ g = 2 ( x , y ) 가 (음의 λ \lambda λ 를 매개로) 같은 직선 위에 놓이게 된다.