580 likes | 1.24k Views
계 량 분 석. 이 승 재. 2011. 00. 00. 계량 분석 5 주차. Contents. ARITFICIAL STARTING SOLUTION -Artificial variable Artificial variable 의 특성 Big M-Method D efinition Big M-Method Example Two Phase Method D efinition Two-Phase Method Example 유일 최적해가 존재하지 않는 경우 - 불가능해 - 무한해 - 다최적해 - 퇴화해
E N D
계 량 분 석 이 승 재 2011. 00. 00
계량 분석 5주차 Contents • ARITFICIAL STARTING SOLUTION -Artificial variable • Artificial variable 의 특성 • Big M-Method Definition • Big M-Method Example • Two Phase Method Definition • Two-Phase Method Example • 유일 최적해가 존재하지 않는 경우 -불가능해-무한해-다최적해-퇴화해 • Summary 2 참고:경영과학(심현철외1명 저), Operations Research(Hamdy A. Taha저), Operations Research(강석호 저)
계량 분석 5주차 Artificial variable (인위변수) • Artificial variable(인위변수) Simplex 모형 : 부등식 제약조건을 등식제약 조건으로 변형 (≦) : (여유변수)를 더해 준다 (≧) : 잉여변수를 빼준다 (=) : 여유변수 또는 잉여변수가 필요 없다 Example Min. Z=4X1+X2 S.T. 4X1+3X2 6 X1+2X2 4 X1,X2 0 4X1+3X2-S1 =6 X1+2X2 +S2=4 X1,X2,S1,S2 0
계량 분석 5주차 Artificial variable (인위변수) • 앞부분에서 시행했던 simplex는 부등호 방향이 였을 때 였다. 그렇다면 부등호 방향이 =이거나 일 때는 어떻게 해야 할까? 2x + 3y 5 2x + 3y + s = 5, s 0 (s basic) 2x + 3y = 5 ??????? Infeasible if x=y=0! 2x + 3y 5 2x + 3y - s = 5, s 0 (??????) Infeasible if x=y=0! 등식일 때 2x + 3y + a = 5 라 하면 x=y=0이라 하면, a=0이 된다. 하지만 0+0+0 5 이므로 Infeasible! 부등호 방향이 일 때 2x + 3y -a = 5 는 x=y=o 일 때 , a0 이므로 a가 존재하지 않는다. Infeasible!
계량 분석 5주차 Artificial variable (인위변수) 그렇다면 a 0 이라 하고 문제를 풀수있는 방법은 무엇일까 ? constraint (I)+ a 0 + other constraints! 다른 제약식을 더 두어서 문제를 해결한다. 우리는 여기서 추가적인 제약을 인공변수(artificial variable )라고 부른다. 2x + 3y 5 2x + 3y -s = 5, s 0 에서 인공변수 a 를 더 더하면 식은 2x + 3y –s + a = 5 가 된다. x=y=0 일 때 s 0, a 0 을 만족 시키기 위해서 s=0 이 되어야한다.
계량 분석 5주차 Artificial variable (인위변수) 1)7x - 3y – s1+ a1 = 6, s1,a1 0 2)2x + 3y + a2 = 5, a2 0 a1 and a2 are artificial variables, s1 is a surplus variable.
계량 분석 5주차 Artificial variable - Character • Slack variable 을포함하지 않는 모든 제약조건식에 도입. 목적함수에도 필요 • Artificial variable은 원래의 선형계획 모형에는 포함되지 않기 때문에 최적해에서 인위변수가 반드시 “0”이 되어야함 (최대화 문제 : -M , 최소화 문제 : M) • Artificial variable를 포함한 선형계획 모형의 풀이 - M-Method - Two-Phase Method
Big M-Method Difinition 계량 분석 5주차 • M-Method는 LP(Linear Program)의 등식 형태로 시작한다. 등식 i가 slack(또는 slack의 역할을 수행할 수 있는 변수) 를 가지고 있지 않다면 artificial variable R1- 를 모든 slack basic solution 와 유사한 starting solution형태에 추가해준다. 그러나 artificial variable는 원래 LP의 모형이 아니기 때문에 artificial variable를 목적함수의 M에 취해준다. 그래서 최적해의0과 같게 강제로 맞춘다. 문제가 알맞은 해를 가지고 있다면 이것은 언제나 해결방안이 될 것이다.
Big M-Method Difinition 계량 분석 5주차 대형과 중형 두 종류의 가정용 옷장을 생산하는 어느 가구 제조업체는 현재 다음달의 생산계획을 세우고 있다. 대형과 중형 옷장은 각각 단위당 45만원, 35만원의 이윤이 발생할 것이라고 예상된다. 대형 옷장은 7명, 중형 옷장은 5명의 인력이 필요하며, 다음달에는 총 280명의 인원이 충당된다. 자재의 재고사정으로 인해 중형은 20대까지만 생산이 가능할 것이라고 보여진다. 창고보관에 대형장은5m, 중형장은3m의 공간이 필요하며 현재 최대 140m의 공간을 사용할 수 있다. 또한 경영진은 두 품목이 최소한 25개가 생산되어야만 한다는 계획을 세워놓고 있다. max Z = 45X1 + 35X2 s.t 7X1 + 5X2≤ 280 X2 ≤ 20 5X1 + 3X2≤ 140 X1 + X2≥ 25 X1, X2≥ 0 X2 = -9/7X1 + 1/35Z X2≤ -7/5X1 + 56 - ① X2 ≤ 20 - ② X2 ≤ -5/3X1+ 140/3 - ③ X2 ≥ - X1 +25 - ④ X1, X2 ≥ 0
Big M-Method Example - 도해법 계량 분석 5주차 <풀이방법 > • 인위변수의 계수에 매운 큰 M값을 설정해주고 • M을 그대로 놓고 푸는 풀이방법 2. M값에 매우 큰 수 예를 들어 100,000을설정 해주고 푸는 풀이방법 (숫자계산이 늘어남) 따라서 M을 그대로 놓고 풀어보겠습니다. M을 그대로넣고 풀 때… X2 56 140/3 (16,20) 25 ② 40 O 25 28 Z ① X1 ③
Big M-Method Example 계량 분석 5주차 n=7, m=4, n-m=3 (비기저변수) x1=x2=s4=0
Big M-Method Example 계량 분석 5주차 * 목적함수의 불일치를 해소하기 위해서 적절한 변형이 필요하다 New z-row = old z-row + (-M)(a1-row) Entering variable Leaving variable
Big M-Method Example 계량 분석 5주차 • Max값을 찾을 때는 목적함수 식의 계수에서 가장 작은 값을 찾아야 한다. -> 목적함수에서 값이 커질 때 가장 큰 영향을 주기 때문에(min 값을 찾을 때는 반대가 됨)
Big M-Method Example 계량 분석 5주차 Entering variable Leaving variable
Big M-Method Example 계량 분석 5주차
Big M-Method Example 계량 분석 5주차 Entering variable Leaving variable
Big M-Method Example 계량 분석 5주차
Big M-Method Example 계량 분석 5주차
Big M-Method Example 계량 분석 5주차
Two-Phase Method Definition 계량 분석 5주차 • Phase Ⅰ: Find a starting basic feasible solution 목적 함수는 항상 인위변수의 합을 최소화시키는 것. 만약, artificial variable의 합이 양수(>0)이면 feasible solution은 없음. • Phase Ⅱ : Phase Ⅰ에서 얻은 feasible solution을 본래의 문제를 풀기위해starting basic feasible solution으로 사용. • Phase Ⅰ이 끝난 후 인위변수를 삭제 할 수 있는 경우는 artificial variable 이 비기저변수일 때 만이다. 만약artificial variable이 기저변수 일 경우에는 다음과 같은 추가단계를 거친 후 Phase Ⅱ로 이동한다. Step 1. 기저변수인 artificial variable 인 인위변수를 탈락변수로 설정, ‘0’이 아닌 비기저변수(인위변수 제외) 중 하나를 진입변수로 결정, 연산수행. Step2. 모든 artificial variable이 기저변수에서 빠졌으면 artificial variable행을 삭제한 후 Phase Ⅱ로 이동. 그렇지 않다면 Step 1으로 간다.
Two-Phase Method Example 계량 분석 5주차 • 풀이방법 • <Phase 1 >에서 인위변수를 제외시킨 제약식을 만들어 <Phase2>에서 보다 간편하게 Simplex를 해결 할 수 있음 • 지금까지 최적해 중에서 최대화 값만 구해보았기 때문에 이번에는 최소값을 구하는 문제를 Two-Phase method로 풀어 보겠습니다. n=7 , m=3, n-m=4(비기저변수) x1,x2,s1,s2 = 0 min Z = 3X1 + 4X2 s.t X1≥ 130 X1 + X2 ≥ 350 2X1 + X2≤ 590 X1, X2≥ 0 X2 = -¾X1 + ¼Z X1≥ 130 - ① X2 ≥ -X1+350 - ② X2 ≤ -2X1+590 - ③ X1, X2 ≥ 0
Two-Phase Method Example 도해법 계량 분석 5주차 X2 590 < Phase 1> Min r= R1+R2 => min r-R1-R2=0 * M-method와 마찬가지 방법으로 목적함수 r을 적절히 변형시켜준다. 350 New r-row = old r-row + (1 * R1-row+1*R2-row) (240,110) 130 295 350 X1 ② Z ① ③
Two-Phase Method Example 계량 분석 5주차 Entering variable Leaving variable
Two-Phase Method Example 계량 분석 5주차
Two-Phase Method Example 계량 분석 5주차 Entering variable Leaving variable
Two-Phase Method Example 계량 분석 5주차 *인위변수 R1,R2가 모두 비기저변수로 바뀌었으므로 Phase 1 과정은 끝이 났다. 이제 Phase 2 과정으로 넘어가면 된다.
Two-Phase Method Example 계량 분석 5주차 < 새로운 제약식> n=5 , m=3 n-m=2(비기저변수) S1=S2=0 * x1,x2가 계수가 0이 아닌 기저변수이므로 이 둘은 기저변수에서 비기저로 변경되어 나아가야만 한다 . 그래서 새로운 z행을 만들어줘서 문제를 해결하겠다.
Two-Phase Method Example 계량 분석 5주차 New z-row = old z-row + (3*x1-row+4*x2-row) = Entering variable Leaving variable
Two-Phase Method Example 계량 분석 5주차
Two-Phase Method Example 계량 분석 5주차 < 최종 simplex 표 >
유일 최적해가 존재하지 않는 경우 계량 분석 5주차 • 불가능해 => M-Method 로 풀어보겠습니다. Min Z = 3X1 + 4X2 s.t X1 + X2 ≥ 375 3X1 + 2X2 ≤ 700 X1 ≥ 150 X1, X2 ≥ 0 Min Z = 3X1 + 4X2 + 0·S1 + 0·S2 + 0·S3 +MR1 + MR2 s.t X1 + X2 - S1 + R1 = 375 3X1 + 2X2 + S2 = 700 X1 - S3 + R2 = 150 X1, X2, S1, S2, S3, R1, R2 ≥ 0 N = 7 M = 3 N-M = 4 X1 = X2 = S1 = S3 = 0 비기저변수
계량 분석 5주차 목적함수 이항 => Min Z – 3X1 – 4X2 + 0·S1 + 0·S2 + 0·S3 – MR1 – MR2 = 0 New Z – row = old Z – row + (M x R1 – row + M x R2 - row) = (-3 -4 0 0 0 -M -M 0 ) = + ( M M –M 0 0 M 0 375M) + ( M 0 0 0 -M 0 M 150M) = ( 2M-3 M-4 -M 0 -M 0 0 525M)
계량 분석 5주차 <최종 Simplex 표> ∴ X1 = 150, X2 = 125
계량 분석 5주차 ※ 불가능해는 비음조건을 포함한 모든 제약식들을 동시에 만족시키는 해가 없을 때 발생한다. 도해법으로 살펴보면 가해영역이 존재하지 않는 경우이다. 도해법 그림을 보면 이와 같다. X2 375 350 X1+X2 = 375 X1 = 150 3X1+2X2 = 700 150 233.33 375
유일 최적해가 존재하지 않는 경우 계량 분석 5주차 • 무한해 최대화 모형의 경우 해가 제약들을 만족시키면서도 무한히 커질 수 있으면 이를 무한해 라고 한다. 하지만 이런 상황은 실로는 발생할 수 없으므로 만약 무한 해를 얻게 되다면 모형의 설정에 오류가 있는 것이다. Simplex 법은 무한 해가 존재하는 경우 갱신 시 기본변수 중 하나를 비기본변수로 내보내는 규칙이 작용하지 않는다. 예를 들어 보도록 하겠다.
유일 최적해가 존재하지 않는 경우 계량 분석 5주차
유일 최적해가 존재하지 않는 경우 계량 분석 5주차 New z-row = old z-row + (-M)(R1-row)
유일 최적해가 존재하지 않는 경우 계량 분석 5주차
유일 최적해가 존재하지 않는 경우 계량 분석 5주차 - 이처럼 S2가 진입변수가 되지만 S1,X2중 어느 것도 퇴출변수가 되지 않아 무한해를 갖게 됨을 알 수 있다.
유일 최적해가 존재하지 않는 경우 계량 분석 5주차 • 어떤 A행렬의 한 열에 있는 계수들은 그 열에 있는 변수 한 단위가 해에 들어 올 때 현 기본변수들이 각각 얼마나 감소할 것인가를 말해 준다고 했다. 따라서 해에 진입하는 S2 한 단위는 S1을 0단위 감소시키고, X2를 한 단위 증가시킨다. 이유는 S2가 잉여변수이기 때문에 X2의 하한량을 넘어서 생산하는 양이라고 해석할 수 있다. 따라서 Simplex표에 의하면 S2원하는 대로 끌어들일 수 있다. 다시 말해 X2가 요구되는 초소량을 넘어 원하는 만큼 생산될 수 있다는 이야기이다. 목적함수에서 X1이 양의 계수를 가지므로 그 결과 목적함수의 값에 상한이 없게 된다.
<무한해> - 도해법 풀이 계량 분석 5주차 X2 Max Z = 5X1 + 6X2→ X2 = -5/6X1 + 1/6Z s. t X1 ≤ 6 · · · · ① X2 ≥ 3 · · · · ② X1, X2 ≥ 0 ② 3 ① 6 X1
다최적해 계량 분석 5주차 • 최적해가 두 개 이상 나오는 경우로 목적함수선이 속박적 제약식 중 한 개와 겹치게 되는 상황을 말한다.이 경우는 심플렉스 해법 사용시 최종표에 이르기 전까지는 모형이 유일 최적해를 가졌는지 또는 여러 최적해를 가졌는지에 대해 알 수 없다.일반적인 최대값을 구하는 경우에는 최종 심플렉스표에서 기본변수는 0, 비기본변수는 양의 값을 갖는다.최소값일 경우에는 비기본변수가 음의 값을 갖는다.반면, 모형의 최적해가 여러 개인 경우에는 한 개 이상의 비기본변수가0의 값을 가진다.
계량 분석 5주차 Max Z = 2X1 + 4X2 + 0·S1 + 0·S2 s.t X1 + 2X2 + S1 = 5 X1 + X2 + S1 = 4 X1, X2, S1, S2 ≥ 0 N = 4 M = 2 N-M = 2 X1 = X2 = 0 Max Z = 2X1 + 4X2 s.t X1 + 2X2 ≤ 5 X1 + X2 ≤ 4 X1, X2 ≥ 0 비기저변수 목적함수 변형 Max Z – 2X1 – 4X2 + 0·S1 + 0·S2 = 0
계량 분석 5주차 ※ 최종표에서X1이 비기본변수인데 0이므로 다최적해의 경우가 된다. 이럴 경우 목적함수의 값을 변화시키지 않고 X1을 진입변수로 놓는다. => ∴ X2 = 5/2, X1 = 0 ∴ X1 = 3 X2 = 1
<다최적해> - 도해법 풀이 계량 분석 5주차 Max Z = 2X1 + 4X2 s. t X1 + 4X2≤ 5 X1 + X2≤ 4 X1, X2≥ 0 X2 = -1/2X1 + 1/4Z X2 ≤ -1/2X1 + 5/2 · · · · ① X2≤ -X1 + 4 · · · · ② X1, X2 ≥ 0
유일 최적해가 존재하지 않는 경우 계량 분석 5주차 • 퇴화해(Degenerate Solution) 한개 이상의 기본변수가 값 0을 갖는 경우로 심플렉스법 사용시 이론적으로 문제점을 야기할 수 있다.bi/aij가 동률의 최소비율을 가질 때마다 그 다음의 표에서 항상 값이 0인 기본변수가 생기게 된다.최적해에서 일부 기본변수의 값이 0인 경우는 크게 신경쓰지 않아도 되나, 만약 최적해에 이르기 전 중간과정에서 퇴화해가발생하면 심플렉스 계산이 최적해에 이르지 못하는 경우가 생긴다. 만약 심플렉스표의 갱신과정에서 동률 bi/aij가 생기게 되면 제일 위에 있는 행을 선회행으로 선택하면 된다.