1. 개요
Multiplicateur de Lagrange / Lagrange multiplier / Lagrange 乘數法라그랑주 승수(Lagrange multiplier)는 식으로 주어진 영역에서 추가적으로 제약된(constraint) 다변수 실함수의 임계점(critical point)[1]을 구하는 데에 사용되는 판별법이다.
2. 상세
열린 영역 [math( \mathcal{U} \subset \mathbb{R}^n )]에서 정의된 다변수함수 [math(f(x_1, x_2, \cdots, x_n) )]의 경우, [math(f)]의 극점 [math(x)] 에서는 그레이디언트(gradient, [math(\nabla)]델 연산자)가 0이 되어야 하는 조건이 있었다. 만약 주어진 영역이 열린 집합이 아니라 방정식으로 결정되는 영역 [math( g_1(x)=g_2(x)=\cdots = g_k(x)=0 )] 같은 영역이라면? 물론 주어진 다양체 모양의 영역을 매개변수를 이용해서 표현하고 제약이 없는 경우로 만들 수도 있겠지만 이건 대부분의 경우 정말 귀찮은 작업이다.이런 경우에서 라그랑주 승수법은 [math(\nabla f )]에 대한 조건이 [math(\nabla f = 0 )] 대신에, [math(\nabla f )]가 [math(\nabla g_i )]들의 선형결합이 된다는 것으로 변경해주면 충분하다는 것을 말해준다.
3. 진술
열린 영역 [math( \mathcal{U} \subset \mathbb{R}^n )] 에서 정의된 다변수함수 [math(f)]와 [math(g_1, g_2, \cdots, g_k)]에 대해, [math( S = \{X \in \mathcal{U} | g_1 (X) = g_2(X) = \cdots = g_k(X) = 0 \} )] 라고 하고, [math(S)] 위의 모든 점 [math(X)]에 대해 [math(\nabla g_1(X), \nabla g_2(X), \cdots, \nabla g_k(X))] 들이 모두 일차독립이라고 하자. 그러면 이때 [math(f)]를 [math(S)]에 제한한 함수 [math({f|}_{S})]의 극점 [math(P)]에 대해,[math(\displaystyle \nabla f\left(P\right) = \sum_{i=1}^{k} \lambda_i \nabla g\left(P\right))] 인 실수 [math(\lambda_1, \lambda_2, \cdots, \lambda_k)]가 존재한다. |
교과서에는 제약조건이 하나인 (즉 [math(k=1)]인) 다음의 형태도 자주 등장하는 편이다.
두 일급함수 [math( f: \mathbb{R}^n \rightarrow \mathbb{R} , g: \mathcal{U} \rightarrow \mathbb{R})]가 있을 때([math( \mathcal{U} \subset \mathbb{R}^n )]는 열린집합), 상수 [math(c)]에 대하여 [math(S=\left\{X \in \mathcal{U} | \ g\left(X\right)=c \right\} )] 라고 하자. 이때 [math(f)]를 [math(S)]에 제한한 함수[math( {f|}_S : S \rightarrow \mathbb{R} , X \longmapsto f\left(X\right) )] 의 극점이 [math(P)]라면 [math( \nabla g\left(P\right) )]와 [math( \nabla f\left(P\right) )]는 일차종속이다. 여기서 [math( \nabla g\left(P\right) \neq \mathbf{0} )]이면[math( \nabla f\left(P\right) = \lambda \nabla g\left(P\right) )] 인 실수 [math( \lambda )]가 존재한다. |
다만, 위의 진술은 매우 '수학적인' 것이다. 응용수학이나 수리경제학 등에서는 라그랑주 함수(Lagrange function) [math( \mathcal{L} = f - \lambda_1 g_1 - \cdots - \lambda_k g_k )] 에 대한 극값을 찾는 [math( \nabla_{x,\lambda} \mathcal{L}(x,\lambda) = \mathbf{0} )] 의 형태로 종종 기술이 되기도 한다. 여기서 라그랑주 승수(Lagrange multiplier) [math(\lambda_i)] 들을 찾는다는 과정이 이 방법 이름의 유래. 실제로 이게 라그랑주가 처음 생각한 방식이기도 했고, 라그랑지안(기호 L) 등등에 응용되는 형태가 되기도 하지만. 물론 이렇게만 쓰면 수학에서 원하는 엄밀한 증명이 희생되고, 영역 [math(S)]에서 특이점이 나오는 경우 등에선 잘 성립하지 않는다는 단점이 있다.
4. 예시
양수 [math(x_1, \cdots, x_n)]의 합이 [math(n)]일 때, 곱의 최대값이 1임을 보이시오. |
[math(\nabla f = (\frac{x_1 \cdots x_n}{x_1}, \cdots, \frac{x_1 \cdots x_n}{x_n} ), \nabla g = (1,\cdots, 1) )]
에서 [math(\nabla f, \nabla g)]가 평행하려면 [math( x_1 = x_2 = \cdots = x_n )] 이어야 함을 알 수 있다. 따라서 라그랑주 승수법은 [math( x_1 = x_2 = \cdots = x_n = 1)]에서 만족된다.이제 이 점이 실제로 극점이며 최대값을 준다는 사실을 증명한다. 영역 [math(C=\{(x_1,\cdots,x_n) : x_i \ge 0, x_1 + \cdots+x_n=n\})]은 컴팩트이고, 최대·최소 정리를 적용시키면 [math(C)] 위에서 [math(f)]의 최대값이 존재한다는 사실을 알 수 있다. 하지만 [math(C)]의 경계에서는 [math(f=0)]이므로, [math(f)]의 최대값은 [math(C)]의 내부에서만 존재한다. 따라서 최대점은 극점이어야 하고, 유일한 극점 후보인 [math((1,\cdots,1))]이 최대값을 주어야 하는 것이다.
a^2+b^2=c^2+d^2=1</math>일 때, [math(ac+bd)]의 최대/최소값을 구하시오. |
[math(\nabla f = (c,d,a,b), \nabla g_1 = (2a,2b,0,0), \nabla g_2 = (0,0,2c,2d) )]
이므로 [math(\nabla f \in \mathrm{span}(\nabla g_1, \nabla g_2))]의 조건을 곱씹어 보면 [math((a,b),(c,d))]가 일차종속이라는 것과 동치임을 알 수 있다. 이 문제에서는 [math(g_1=g_2=0)]의 영역은 컴팩트이기 때문에 최대/최소점이 당연히 극점으로서 존재하고, 따라서 이 경우에만 최대/최소값이 나온다. 실제로 [math((a,b)=(c,d))]이면 최대값 1, [math((a,b)=-(c,d))]이면 최소값 -1을 준다.5. 사용 시 주의점
라그랑주 승수법으로 최댓값이나 극값을 구할 때에는 몇 가지 주의점이 있다.- 라그랑주 승수가 존재한다고 극점이 되는 것은 아니고, 주어진 점이 극대인지 극소인지 알려면 이계도함수 판별법[2] 을 사용해야 한다.
다변수함수 [math(f(x,y)=x^2-y^2)] 같은 경우는 점 [math((0,0))]에서 그레이디언트가 0이지만, 그 점이 극점은 아니다. 제약조건이 없는 경우에는 그 점의 이계도함수들을 나타내는 헤세 행렬(Hesse matrix) 혹은 헤시안(Hessian)의 성질에 따른 이계도함수 판별법을 사용한다. 헤시안이 양/음의 정부호(positive/negative definite)이면 극대/극소값을 지니고, 헤시안이 indefinite이면 극대도 극소도 아니다. (저 경우가 아니면 판별할 수 없다.)
마찬가지로 제약조건이 있는 라그랑주 승수법의 경우, 극대/극소값을 판별하기 위해서는 목표함수의 헤시안을 영역의 접평면 위에서 보아야 한다. 이를 보다 적은 계산으로 판별할 수 있는 '경계 헤시안(Bordered Hessian)'을 이용하는 이계도함수 판별법이 보통 사용된다. 물론 이 이계도함수 판별법이 실패할 때도 있다.
- 라그랑주 승수법은 영역 내부점에서의 극점만 잡아줄 수 있으므로, 경계점들은 따로 분석해야 한다.
라그랑주 승수법은 열린 영역에서만 성립한다. 즉 영역이 있으면 그 내부점들에서만 극값을 잡아줄 수 있다. 따라서 컴팩트인 영역이 있어 최대값의 존재성이 보장된다고 해도, 그 영역의 경계에 최대값이 나올 수가 있다. 위의 산술기하평균 예시의 영역
[math(C=\{(x_1,\cdots,x_n) : x_i \ge 0, x_1 + \cdots+x_n=n\})]
같은 경우는 영역의 경계에서 함수값이 0이어서 최대값이 나오지 않았다. 하지만 만약 목표함수가 [math(f = x_1)]라면
[math( \nabla f = (1, 0, \cdots, 0), \nabla g = (1, \cdots, 1) )]
이므로 라그랑주 승수법을 만족시키는 점은 없다. 최대값은 [math( x_1=n)]이고 나머지가 0인 경우로, 이는 영역의 경계에서 나온다.
이런 경우에서는 내부점의 극값들을 나열하고, 영역의 경계에서 최대값을 찾는 문제를 따로 풀면 된다. 경계의 영역을 다시 식이 0이 되는 모양으로 만들어서 라그랑주 승수법을 다시 적용하는 식으로 반복을 많이 하게 되지만, 엄청 귀찮은 작업이 되는 경우도 많다. 이게 싫으면... 제약조건이 [math(g =0 )] 꼴뿐만이 아니라 [math(h \ge 0)] 형태들도 포함하는 라그랑주 승수법의 업그레이드된 버전인 카루시-쿤-터커 조건(Karush-Kuhn-Tucker condition)을 사용하면 된다.
6. 활용
- 미시경제학의 소비자이론에서, 효용함수를 목적함수로, 예산선의 방정식을 제약조건식으로 두어 만들어지는 라그랑주 함수를 각 재화의 소비량과 라그랑주 승수(Lagrange multiplier)에 대하여 편미분하여 연립하면 정확히 소비자의 선택 원리가 도출되므로 소비자 균형을 찾을 수 있다. 이것은 일종의 비용편익 분석(Cost-Benefit Analysis)으로도 다루어질수있다.
- 공학 최적화 이론에서도 활용된다.
[1] 주어진 점의 근방에서 함수가 최댓값 혹은 최솟값을 가질 경우 그 점을 극점이라 하고, 극점에서의 함숫값을 극값이라 한다.[2] 이계도함수가 0보다 작거나 같으면 최댓값, 반대의 경우면 최소값