최근 수정 시각 : 2022-07-27 09:15:32

라그랑주 승수법

해석학 · 미적분학
Analysis · Calculus
{{{#!wiki style="word-break: keep-all; margin:0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px; letter-spacing: -1px"
<colbgcolor=#8f76d6> 함수 합성 · 항등원 · 역원 · 멱함수( 비례·반비례 ) · 초등함수( 대수함수 · 초월함수) · 특수함수 · 범함수 · 다변수 ( 동차 · 숨은 함수( 다가 함수 )) · 그래프 · 대칭 · 증감표 · 극값 · 연속 · 매끄러움 · 계단형 · 미끄럼틀형 · 볼록/오목 · 닮은꼴 함수 · 병리적 함수 · 해석적 연속 · 로그함수 · 지수함수 · 삼각함수
정리 · 토픽 좌표계 · 중간값 정리 · 최대·최소 정리 · 부동점 정리 · 오일러 동차함수 정리 · 립시츠 규칙
극한 부정형 · 어림( 유효숫자 ) · 근방 · 수열의 극한 · 엡실론-델타 논법 · 수렴 ( 균등수렴 ) · 발산 · 점근선 · 무한대 · 무한소 · 스털링 근사
정리 · 토픽 로피탈의 정리 · 슈톨츠-체사로 정리
수열
급수
규칙과 대응 · 단조 수렴 정리 · 멱급수 · 테일러 급수 ( 일람 ) · 조화급수 · 그란디 급수 · 망원급수 ( 부분분수분해 ) · 오일러 수열 · 베르누이 수열 · 파울하버의 공식 · 리만 재배열 정리
정리 · 토픽 바젤 문제 · 라마누잔합 · 0.999…=1 · 콜라츠 추측미해결
미적분 미분 도함수 일람 · 차분 · 유율법 · 변화량 · 변분법 · 도함수 ( 편도함수 ) · 곱미분 · 몫미분 · 연쇄 법칙 · 역함수 정리 · 임계점 ( 변곡점 · 안장점 ) · 미분형식 · 미분방정식 ( 풀이 ) · [math(boldsymbolnabla)] · 라그랑주 승수법
적분 역도함수 일람 · 부분적분 ( LIATE 법칙 · 도표적분법 · 예제 ) · 치환적분 · 정적분 ( 예제 ) · 이상적분 · 중적분 ( 선적분 · 면적분 · 야코비안 ) · 르베그 적분 · 스틸체스 적분 · 코시 주요값
정리 · 토픽 평균값 정리 ( 롤의 정리 ) · 스토크스 정리 ( 발산 정리 · 그린 정리 ) · 라플라스 변환 · 푸리에 해석 ( 푸리에 변환 ) · 아다마르 변환 · 미적분의 기본정리 · 2학년의 꿈 · 리시 방법

해석
측도론 ( 측도 · 르베그 측도 ) · 유계( 콤팩트성 ) · 칸토어 집합 · 비탈리 집합
정리 · 토픽
복소
해석
복소평면 · 편각 · 코시-리만 방정식
정리 · 토픽 오일러 공식 ( 드 무아브르 공식 ) · 리우빌의 정리 · 바이어슈트라스 분해 정리 · 미타그레플레르 정리
여타 하위 학문 수치해석학 ( FEM ) · 미분기하학 · 해석기하학 · 해석적 정수론 ( 소수 정리 ) · 벡터 미적분학 · 확률론 ( 중심극한정리 )
기타 뉴턴-랩슨 방법 · 디랙 델타 함수 · 리만 가설미해결 · 카오스 이론미해결 · merry=x-mas
응용 수리물리학 · 수리경제학( 경제수학) · 공업수학 }}}}}}}}}


Lagrange multiplier

1. 개요 및 설명2. 진술3. 예시4. 사용 시 주의점5. 활용

1. 개요 및 설명

식으로 주어진 영역에서 추가적으로 제약된(constraint) 다변수 실함수의 임계점(critical point)[1]을 구하는 데에 사용되는 판별법이다.

열린 영역 [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 )]들의 선형결합이 된다는 것으로 변경해주면 충분하다는 것을 말해준다.

2. 진술

열린 영역 [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)]에서 특이점이 나오는 경우 등에선 잘 성립하지 않는다는 단점이 있다.

3. 예시

양수 [math(x_1, \cdots, x_n)]의 합이 [math(n)]일 때, 곱의 최대값이 1임을 보이시오.
산술·기하 평균 부등식이다. [math(f = x_1 x_2 \cdots x_n)], [math(g = x_1 + x_2 + \cdots + x_n - n)]로 놓자.
[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(f =ac+bd, g_1 = a^2 +b^2-1, g_2 = c^2+d^2-1 )]로 놓자.
[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을 준다.

4. 사용 시 주의점

라그랑주 승수법으로 최댓값이나 극값을 구할 때에는 몇 가지 주의점이 있다.
  • 라그랑주 승수가 존재한다고 극점이 되는 것은 아니고, 주어진 점이 극대인지 극소인지 알려면 이계도함수 판별법[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)을 사용하면 된다.

5. 활용

  • 미시경제학 소비자이론에서, 효용함수를 목적함수로, 예산선의 방정식을 제약조건식으로 두어 만들어지는 라그랑주 함수를 각 재화의 소비량과 라그랑주 승수(Lagrange multiplier)에 대하여 편미분하여 연립하면 정확히 소비자의 선택 원리가 도출되므로 소비자 균형을 찾을 수 있다. 이것은 일종의 비용편익 분석(Cost-Benefit Analysis)으로도 다루어질수있다.


[1] 주어진 점의 근방에서 함수가 최댓값 혹은 최솟값을 가질 경우 그 점을 극점이라 하고, 극점에서의 함숫값을 극값이라 한다. [2] 이계도함수가 0보다 작거나 같으면 최댓값, 반대의 경우면 최소값