라그랑주 승수법 풀이(Lagrange multiplier method)
라그랑주 승수법은 최적화 문제를 풀 때 사용하는 방법입니다. 엄밀한 정의나 증명보다는 문제를 푸는 공략법에 대해 다루려고 합니다.
라그랑주 승수법이란 주어진 제약조건 안에서 어떤 함수의 최댓값이나 최솟값(정확히는 극점)을 찾는 방법입니다. 제약조건은 방정식의 형태로 주어지고 $g(x.y)=0$ 최적화를 하려고 하는 값은 함수의 형태$f(x,.y)$로 주어집니다. 이하 문서에서 사용되는 $ \lambda $라는 문자는 Lagrange multiplier 라고 부릅니다. 최적화 문제에서 $ \lambda $가 의미하는 것은 나중에 소거될 적당한 변수 정도라고 생각합시다.
기본 아이디어
1. g(x,y)=0일때, $\lambda g(x,y) = 0 $이다.
2. $L=f(x,y) - \lambda g(x,y)$일때, $L(x,y, \lambda)$ 의 최댓값과 최솟값은 g(x,y)=0일때 f(x,y)의 최댓값과 최솟값을 의미한다.
3. $\frac{\partial L}{\partial x}=0$, $\frac{\partial L}{\partial y}=0$,$\frac{\partial L}{\partial \lambda}=0$일 때 L은 최댓값이나 최솟값(극값)을 갖는다.
4. 위의 조건을 그래디언트를 사용해 간단히 나타낼 수 있다.
$$\nabla L = (\frac{\partial L}{\partial x},\frac{\partial L}{\partial y},\frac{\partial L}{\partial \lambda})=\vec 0 \tag1$$
그래디언트는 스칼라 함수에서 경사면의 기울기를 의미합니다. (1) 식을 통해 찾을 수 있는 점은 모든 변수에 대해 기울기가 0인 지점이므로, 등고선과 평행한 지점이라 할 수 있습입니다. 이 지점을 정류점(stationary point)라고합니다. 경험상 대부분의 문제는 아래와 같은 공략법으로 풀 수 있습니다.
공략법(?)
1. $\frac{\partial L}{\partial x}=0$을 $\lambda$에 대해 정리한다.
2. $\frac{\partial L}{\partial y}=0$을 $\lambda$에 대해 정리한다.
3. 위의 두 식을 연립하여 $\lambda$를 소거시키고, x와 y의 비율을 구한다.
4. $\frac{\partial L}{\partial \lambda}=g(x,y)=0$에 위의 식을 대입해여 x 값을 구한다. x와 y의 비율을 이용하여 나머지 변수를 구한다.
수학문제는 눈으로만 보면 모르죠. 어려 분야에서 사용되는 예제를 풀어봅시다.
예제 1 : 수학
$x, y$가 조건 $g=2x-y-10=0$을 만족할때, $f=x^2+y^2$의 최솟값을 구하라.
$L=x^2+y^2 - \lambda (2x-y-10)$
1. $\frac{\partial L}{\partial x}=2x -2 \lambda=0$, $\lambda=x$
2. $\frac{\partial L}{\partial y}=2y + \lambda=0$, $\lambda=-2y$
3. $\lambda = x = -2y$
4. $2(-2y)-y-10=0$이므로, $y=-2, x=4, \lambda=4$일때 최솟값 $f=20$을 갖는다.
함수의 최댓값이나 최솟값은 함수가 불연속한 지점이나 극값을 갖는 지점에서 나타납니다. 위의 공략법대로 풀어서 얻은 좌표가 최댓값인지 최솟값인지 헷갈린다면, 제약조건을 만족하는 아무 좌표나 넣어보면 됩니다. 가령 $(5,0)$이나 $(0,-10)$를 대입해보면 f가 20보다 크다는 것을 알 수 있죠. 따라서 구한 값은 최솟값입니다.
예제 2 : 경제
콥-더글라스 생산함수(Cobb-Douglas function)를 최적화하는 예제를 살펴보겠습니다.
공장을 운영중이다. 철을 $x$톤 소비하고, 기계를 $y$시간 가동했을 때 산출을 $f$라 하자. $f= x^{3/4}y^{1/4}$
철은 1톤에 200달러이고, 기계를 1시간 가동할 때 250달러의 비용이 든다. 예산은 50000달러일 때 최대 산출을 구하라. $g= 200x + 250y - 50000=0$
$L=x^{3/4} y^{1/4} - \lambda(200x + 250y - 50000)$
1. $\frac{\partial L}{\partial x}= \frac{3}{4} x^{-1/4} y^{1/4} - 200 \lambda =0$
2. $\frac{\partial L}{\partial y}= \frac{1}{4} x^{3/4} y^{-3/4} - 250 \lambda =0$
3. $\lambda = \frac{3}{4*200} (x^{-1/4} y^{1/4}) = \frac{1}{4*250}( x^{3/4} y^{-3/4})$ , $\frac{3}{800}y = \frac{1}{1000}x$ , $x=\frac{30}{8}y$
4. $( \frac{30}{8} y)^{3/4} y^{1/4} -50000=0$, $y=50000* (\frac{30}{8})^{-3/4}$ , $x=50000* (\frac{30}{8})^{1/4}$, $\lambda=\frac{3}{4*200}(\frac{8}{30})^{1/4}$
예제 3 : 물리
이 문제는 미적분학이나 역학에서 빈출되는 문제니 한번쯤 따라 써보는걸 추천한다.
공이 빗변을 구르고 있다. 공의 반지름은 $R$, 공의 질량은 $M$, 공의 관성모멘텀은 $I$, 빗변의 경사각은 $\alpha$, 빗변을 따라 진행하는 방향을 $x$, 공의 회전방향을 $\theta$라고 하자. 공의 운동방정식을 구하라. 공은 미끄러지지 않는다고 가정한다.
이 문제를 접근하는 방법은 이렇다. 공의 운동은 운동에너지가 증가하고 위치에너지가 감소하는 방향으로 발생한다. 따라서 운동에너지 - 위치에너지의 값이 최대가 되도록 하는 방정식이 이 문제에서 원하는 운동방정식이 되겠다. 이 명제를 수식으로 정리하면 $f=T_1 + T_2 -V$ 이다. 공이 미끄러지지 않으므로 $g=x-R \theta=0$이다.
공의 병진 운동에너지 ($T_1$) : $T_1 = \frac{1}{2} M (\dot{x})^2$
공의 회전 운동에너지 ($T_2$) : $T_2 = \frac{1}{2} I (\dot{\theta})^2$
공의 위치 에너지 ($V$) : $ V = Mgx \sin (\alpha)$
$$L= \frac{1}{2} M (\dot{x})^2 + \frac{1}{2} I (\dot{\theta})^2 - Mgx \sin (\alpha) - \lambda (x-R \theta)$$
$ \frac{1}{2} \frac{d}{dx}(\dot{x}^2)=\frac{1}{2} \frac{dt}{dx} (\frac{d}{dt}(\dot{x}^2))$ $ =\frac{1}{2} \frac{1}{\dot{x}}(2 \dot{x} \ddot{x}) =\ddot{x}$이므로
1. $\frac{\partial L}{\partial x}= M \ddot{x} - Mg \sin (\alpha) - \lambda=0$
2. $\frac{\partial L}{\partial \theta}= I \ddot{\theta} + R \lambda=0$, $\lambda= -I \ddot{\theta}/R$
한편 $\ddot{g} = \ddot{x}- R\ddot{\theta}=0$ 이므로 $\lambda= -I \ddot{x}/R^2$
3. $\lambda= M \ddot{x}-Mg \sin (\alpha) = -I \ddot{x}/R^2$, $ \frac{MR^2+I}{R^2}\ddot{x} =Mg \sin (\alpha) $
4. $\ddot{x}= \left( \frac{R^2}{MR^2+I} \right) Mg \sin (\alpha) $, $\ddot{\theta}= \left( \frac{R}{MR^2+I} \right) Mg \sin (\alpha) $, $\lambda= \left( \frac{-I}{MR^2+I} \right) Mg \sin (\alpha) $
가속도($\ddot{x})$와 각가속도$(\ddot{\theta})$가 문제에서 주어진 상수로 표현이 된다. 따라서 이 공은 가속도와 각가속도가 일정한 등가속도 운동을 한다.
마치며
라그랑지 승수법으로 수학, 경제, 물리 문제를 풀어보았습니다. 개념을 알더라도 문제에 적용시키는 것이 어렵기 때문에 개념보다는 풀이 방법에 초점을 맞추었습니다. 혹시 이해가 잘 안되는 부분이 있다면 댓글로 남겨주시기 바랍니다. 개념에 대해 궁금하신 분들을 위해 외부링크를 남겨놓습니다.
자세한 유도방법 : http://untitledtblog.tistory.com/96
자세한 설명 : http://www.slimy.com/~steuard/teaching/tutorials/Lagrange.html
'물리 수학' 카테고리의 다른 글
뉴턴의 방법과 오차해석 (Newton's method) (3) | 2017.09.10 |
---|---|
곰셈과 함수에서 근삿값의 오차 (0) | 2017.09.09 |
차원 : 수학적 차원과 물리적 차원 (0) | 2017.09.08 |
라그랑주 보간법(Lagrangian Interpolation) (11) | 2017.08.30 |
verlet 알고리즘 : 유도과정과 의미 (0) | 2017.08.26 |
파동방정식 유도 : 역학적 접근 (1) | 2017.07.05 |
파동 방정식 유도 : 수학적 접근 (1) | 2017.07.02 |