심플렉스 메소드의 브랜드 룰
📂최적화이론심플렉스 메소드의 브랜드 룰
정리
딕셔너리: i=1,⋯,m 에 대해서 다음과 같은 꼴의 연립방정식을 딕셔너리dictionary라 한다.
ζxn+i==bi−j=1∑ncjxjj=1∑naijxj
ζ 를 제외한 좌변의 변수들을 기저변수basic variable, 우변의 변수들을 비기저변수nonbasic variable라 한다. 이들의 인덱스를 다음과 같이 나타낸다.
B:=N:={n+1,n+2,⋯,n+m}{1,2,⋯,n}
선형계획법의 심플렉스 메소드에서 진입 변수entering variable의 인덱스를 N 에서 가장 작은 것으로 선택하고, 이탈 변수leaving variable의 인덱스를 B 에서 가장 작은 것으로 선택하는 것을 브랜드 룰Brand’s rule이라 한다. 브랜드 룰에 따르면 심플렉스 메소드는 사이클에 빠지지 않는다.
설명
선형계획문제를 푸는 방법도 심플렉스 메소드 단 하나가 아니고, 심플렉스 메소드에서 딕셔너리를 업데이트하는 피벗 룰pivot rule 역시 단 하나가 아니지만 브랜드 룰이 있음으로써 심플렉스 메소드는 반드시 선형계획문제를 풀 수 있음이 보장된다는 점이 중요하다. 이 정리를 이해하게 되면 사실 선형계획법에서 가장 중요한 두가지 컨셉, 그 중에서 심플렉스 메소드는 마스터 했다고 보아도 무방하다.
증명
전략: 쉽지 않다. 브랜드 룰로 피벗을 하는데 사이클에 빠지는 것이 모순임을 보일 것이다.
Part 1. ζ=v+∑j=1n+mcj∗xj
일반성을 잃지 않고, 사이클링이 일어난 시점부터 증명을 시작하자. 이는 어떤 k∈N 에 대해 딕셔너리가 다음과 같이 순환하는 것이다.
D0,D1,⋯,Dk−1,D0,D1,⋯
이 딕셔너리 중 어떤 것에서는 기저고 어떤 것에서는 기저가 아닌 변수를 피클fickle이라 부르겠다. 이들 중 xt 가 가장 큰 인덱스를 가진 피클이라 하고, xt 를 이탈 변수로 가지는 딕셔너리를 D 라 할 때, 일반성을 잃지 않고 D=D0 라 뒀을 때 D 는 ∀i∈B 에 대해 다음과 같이 적을 수 있다.
ζxn+i==vbi+−j∈N∑cjxjj∈N∑aijxj
여기서 xs 가 진입 변수라 하면 xt 가 이탈 변수고 아직은 t∈B 고 s∈N 이다. 이제 D∗ 를 D1,⋯,Dk−1 중에서 xt 가 기저에 진입한 딕셔너리라 두고, ∀i∈B∗ 에 대해 다음과 같이 적을 수 있다고 하자.
ζxn+i==v∗bi∗+−j∈N∗∑cj∗xjj∈N∗∑aij∗xj
심플렉스 메소드가 사이클에 빠졌다는 것은 모든 D1,⋯,Dk−1 이 타락했다는 의미degenerated고, v∗=v 이므로 목적 함수 ζ 는 j∈B∗ 에 대해 cj∗=0 와 같이 둠으로써 다음과 같이 적을 수 있다.
ζ=v+j=1∑n+mcj∗xj
Part 2. ζ=v+csy
방정식 폼에서 그랬던 것처럼 어떤 변수가 음수가 되는 상황은 되지 않게끔 진입변수인 xs 가 커지고 나머지 N 에 있는 변수들은 0 으로 고정하는 상황을 생각해보자. 수식으로 적으면
xs=xj=xi=y0bi−aisy,j∈N∖{s},i∈B
이고, 이 y 를 증가 시키는 것이다. 목적 함수 ζ 를 이에 대해 다시 적어보면 다음을 얻는다.
ζ=v+csy
Part 3.
Part 1의 ζ=v+∑j=1n+mcj∗xj 를 y 에 대해 다시 적어보면
ζ=v+cs∗y+i∈B∑ci∗(bi−aisy)
이고 좌변을 Part 2의 ζ=v+csy 로 대입하면
(cs−cs∗+i∈B∑ci∗ais)y=i∈B∑ci∗bi
를 얻는다. 이 방정식은 우변이 무엇이든 모든 y 에 대해 항상 성립하는데, 이에 따라 괄호 안이 다음과 같이 항상 0 임을 알 수 있다.
cs−cs∗+i∈B∑ci∗ais=0
다시 말해, 진입 변수가 xs 면
cs>0
임을 알 수 있다. 한편 xt 는 가장 인덱스가 큰 피클이고, xs 도 피클이었으므로 s<t 다. D∗ 의 진입 변수는 xt 라 했으니 xs 는 진입 변수가 아니고,
cs∗≤0
이다. (1),(2),(3) 에 따라
i∈B∑ci∗ais<0
이고, 다음을 만족하는 r∈B 가 존재해야한다.
cr∗ars<0
결과적으로 cr∗=0 이고 r∈N∗ 이므로 xr 은 피클이고 r≤t 다.
Part 4. r<t
우리는 심플렉스 메소드를 상정하고 있으므로 다음 두가지를 이야기할 수 있다.
- xt 가 D∗ 의 진입 변수이므로 ct∗>0 이다.
- xt 가 D 의 이탈 변수이므로 ats>0 이다.
따라서 ct∗ats>0 인데, cr∗ars<0 이므로 r=t, 즉 r<t 까지 장담할 수 있다.
Part 5.
r<t 면 cr∗≤0 이어야 하는데, 만약 그렇지 않고 cr∗>0 이었다면 Part 3에 따라 r 이 D∗ 에 대한 진입변수여야 했을 것이기 때문이다. 이와 Part 3의 cr∗ars<0에 따라,
ars>0
이다. 한편 딕셔너리들이 사이클에 빠졌다는 것은 모두 사실상 같은 해solution로 표현된다는 것이고 이에 따라 모든 피클 변수들은 그 딕셔너리에서 0 임을 알 수 있고, 그 중에서도 특히 xr=0 다. 그러나 D 에서 xr 은 기저변수basic variable이므로,
br=0
이다. (4), (5) 에 따라 xr 는 D 에서 이탈 변수의 후보 중 하나고, Part 4에서 r<t 이므로 브랜드 룰에 따랐다면 xt 대신 진작에 선택(이탈)되었어야 했다. 이 모순에 따라 브랜드 룰을 사용했는데도 딕셔너리가 사이클에 빠져있다는 전제가 거짓임을 알 수 있다.
■
같이보기
선형계획법의 기본정리
이 정리는 선형계획법의 기본정리 증명에 사용된다.