510 likes | 2.03k Views
제 7 장 . 정수계획모형. 경영과학 1 2008. 가을 김민경 (mkyung.kim @gmail.com). 학습목표. 정수계획법의 모형화 정수계획법의 해법 분단탐색법 K-opt 를 이용한 정수계획모형의 풀이 정수계획법의 적용사례. 정수계획법의 모형화. 정수계획법 (IP ; Integer Programming) : 의사결정변수가 정수의 값만을 갖는 수리계획법 정수선형계획법 (ILP) : IP 중에서도 목적함수와 제약조건이 모두 1 차식인 경우
E N D
제 7장. 정수계획모형 경영과학1 2008. 가을 김민경 (mkyung.kim@gmail.com)
학습목표 • 정수계획법의 모형화 • 정수계획법의 해법 • 분단탐색법 • K-opt를이용한 정수계획모형의 풀이 • 정수계획법의 적용사례
정수계획법의 모형화 • 정수계획법(IP ; Integer Programming) : 의사결정변수가 정수의 값만을 갖는 수리계획법 • 정수선형계획법(ILP) : IP중에서도 목적함수와 제약조건이 모두 1차식인 경우 • 정수계획모형의 종류 - 순수정수계획모형 : 모든 변수가 정수인 모형- 혼합정수계획모형 : 일부가 정수인 모형- 0-1 정수계획모형 : 모든 변수가 0 또는 1인 모형 • 정수계획법이 중요하게 다루어지는 이유- 실제 의사결정 상황이 정수인 해를 요구- 정수계획모형으로 모형화하면 보다 쉽게 해결되는 경우 • 모형화 : 정수계획 모형은 선형계획모형에 변수가 정수이어야 한다는 조건을 추가
정수계획법의 모형화와 해법 • 예제 7-1 • 한국슈퍼연쇄점은 최근 사세확장을 위하여 신규점포와 중간저장설비를 신설할 계획으로 155억원의 자금을 확보하였다. 신규점포는 신설비용이 개당 10억원이 소요되며 이를 통해 한 달에 3000만원의 수익을 올릴 수 있고, 저장설비는 개당 30억원의 자금이 소요되며 이를 통해 한 달에 7200만원의 수익을 올릴 수 있다. 경영층에서는 최소한 한 개의 신규저장설비를 설치할 예정이며 신규점포는 5개를 넘지 않는 범위에서 설치하려고 한다. 한국슈퍼는 확보된 자금으로 최대의 수익을 얻을 수 있는 신설계획을 수립하고자 한다. • 의사결정변수 : 신설점포수와 신설저장시설의 수 → 정수계획모형X1 : 신설점포의 수, X2 : 신설저장시설의 수 (X1과 X2는 음이 아닌 정수이어야 함)
정수계획법의 모형화와 해법 • 예제 7-1 • 의사결정변수 : 신설점포수와 신설저장시설의 수 → 정수계획모형X1 : 신설점포의 수, X2 : 신설저장시설의 수 (X1과 X2는 음이 아닌 정수이어야 함) • 목적함수는 월간 예상총이익을 최대화 (단위 : 만원) Max. Z = 3000X1 + 7200X2 • 제약조건s. t. 10X1 + 30X2≤ 155 (자금제약식, 단위: 억원) X1 ≤ 5 (신규점포제약) X2 ≥ 1 (신규창고제약) X1, X2는 음이 아닌 정수
정수계획법의 해법 • 해법의 종류① 열거법 ② 선형계획법의 해를 이용한 근사법 ③ 절단평면법(cutting plane method)④ 분단탐색법(branch and bound method)
등이익선 LP의 실행가능영역 LP의 최적해 (5 , 3.5) Z = 4억 200만원 실행가능정수해 정수계획법의 해법 • 열거법 : 실행가능해를 모두 열거하여 최적해를 찾는 방법 x2 정수 최적해 (3 , 4) Z = 3억 7800만원 5 4 3 2 1 0 x1 5 1 2 3 4
정수계획법의 해법 • 열거법의 문제점 • 그래프를 이용한 분석의 경우 변수가 두 개인 모형만 가능 • 꼭지점에서 최적해가 발생한다는 성질이 없으므로 최적해를 구하기 위해서는 제약조건을 만족하는 거의 모든 정수해 들을 조사해야 함 • But, 선형계획법의 해법과 같은 효율적인 해법은 아직 없는 상태 • 절단평면법 • 새로운 제약식(절단평면)을 추가하여 기존의 실행가능영역 중 정수해를 포함하지 않는 부분을 제외 • 위 과정을 반복하여 최적 정수해를 구하는 방법☞ 선형계획법의 민감도분석의 기법을 적용하는 것으로 개념적으로는 우수하지만 계산상의 효율성이 떨어짐
정수계획법의 해법 • 분단탐색법 • 해의 집합을 열거해 가면서 최적해의 가능성을 검토 • 가능성이 없는 집합은 고려대상에서 제외시켜 검토 영역을 좁혀나감으로써 최적정수해를 찾는 방법 • 해의 집합을 열거하기 때문에 부분적인 열거법이라고 함 ☞ 다른 해법에 비해 개념상으로나 계산상으로 가장 우수한 방법 • 선형계획법에 의한 근사법 • 변수의 정수제약조건을 완화한 선형계획모형(LP relaxation)의 해를 구하여, • 그 값을 반올림, 반내림하거나 절삭하여 정수해를 구하는 방법☞ 매우 쉬운 방법이기는 하지만 최적해를 얻지 못하거나 실행불가능한 해를 얻을 수도 있다.
분단탐색법 • 분단탐색법의 절차 (1) 문제 나누기(branching) • - 완화된 LP 문제의 실행가능영역을 비정수인 변수의 측면에서 두 개의 상호 • 배타적인 영역으로 나누어, 두 개의 부분문제를 만든다. • (2) 한계 정하기(bounding) • - 두개로 나누어진 문제에 대하여 각각의 해를 구하고, 이를 토대로 원래의 • 문제가 가질 수 있는 한계 값을 정한다. • (3) 검토하기(fathoming) • - 목적함수의 한계 값이 결정된 각 문제에 대하여 최적해로서의 가능성을 • 검토하고, 최적해의 가능성이 없는 문제는 고려 대상에서 제외시킨다.
Z*=40200 X1*=5, X2*=3.5 X2 ≤ 3 X2 ≥ 4 Z*=36600 Z*=39300 X1*=5, X2*=3 X1*=3.5, X2*=4 X1 ≥ 4 X1 ≤ 3 Z*=39000 실행불가능 X1*=3, X2*=4.2 X2 ≤ 4 X2 ≥ 5 Z*=37800 Z*=37500 X1*=3, X2*=4 X1*=0.5, X2*=5 분단탐색법 • 예제 7-1 : 분단탐색법 적용 • 선형계획법의 최적해 : (X1, X2) = (5, 3.5), Z = 4억 200만원 • 목적함수값 4억 200만원은 최적정수해가 가질 수 있는 목적함수값의 상한 • X2는 3에서 4사이의 값을 가질 수 없음 -> X2≤3 혹은 X2≥4
분단탐색법 • 분단탐색법 적용 예제 • Max. Z = 4X1 + 6X2 • s. t. 5X1 + 10X2 ≤ 38 X1 +X2 ≤ 5 • X2 ≥ 1 • X1, X2 ≥ 0 x2 등이익선 5 실행가능영역 LP의 최적해(2.4,2.6) Z = 25.2 1 0 x1 5
X1=2 X1=3 x2 ②번 문제의 실행가능영역 5 (2,2.8) ③번 문제의 실행가능영역 (3,2) 1 0 x1 5 분단탐색법 • (1) 문제 나누기 • X1, X2 둘다 정수가 아님 • → 문제 나누기 필요 • ( 일반적으로 소수점이하 부분이 정수에 • 더 가까운 것부터 분기) • X1을 분기 → ②,③번 문제 생성 ②번 : 원래 문제에 X1 ≤ 2 추가 ③번 : X1 ≥ 3 제약을 추가 • (2) 한계 정하기 • ②번 문제의 최적해 (X1, X2) = (2, 2.8), Z = 24.8 • ③번 문제의 최적해(X1, X2) = (3, 2), Z = 24 → 정수해이므로 최적해의 후보(목적함수의 하한 : 24)
분단탐색법 (3) 검토하기 • ②번 문제의 X2를 분기→ ④,⑤번 문제 생성 • ④번 문제의 최적해(X1, X2) = (2, 2), Z = 20 → 정수조건을 만족 • (but, 24보다 작으므로 탈락) • ⑤번 문제의 최적해(X1, X2) = (1.6, 3), Z = 24.4 → 정수조건을 만족 하지 못하므로 다시 분기 (⑥, ⑦ 문제 생성) x2 ⑤번 문제의 실행가능영역 5 ④번 문제의 실행가능영역 (1.6,3) X2=3 X2=2 (2,2) 1 0 x1 5
분단탐색법 • 분단탐색법 적용 예제 ① X1 = 2.4, X2 = 2.6 Z= 25.2 X1 ≤ 2 X1 ≥ 3 ② ③ X1 = 2, X2 = 2.8 Z= 24.8 X1 = 3, X2 = 2 Z= 24 <정수해> : 최적해 X2 ≤ 2, X2 ≥ 3 ④ ⑤ X1 = 2, X2 = 2 Z= 20 X1 = 1.6, X2 = 3 Z= 24.4 <정수해> ⑥ ⑦ X1 ≤ 1 X1 ≥ 2 X1 = 1, X2 = 3.3 Z= 23.8 실행불가능 23.8 ≤ 현재의 하한값(24)
K-opt를 이용한 정수계획법의 풀이 • K-opt • 분단탐색법을 이용하여 연속적인 변수와 0 또는 1 만이 될 수 있는 이진변수가 혼합되어 있는 혼합정수계획모형을 풀 수 있다. • K-opt가 풀수 있는 최대 크기는 • 제약식의 개수 : 100개 이하 • 변수들 (연속변수 및 이진변수)의 총 개수 : 100개 이하 • 이진변수들의 개수 : 20개 이하 • K-opt의 한계 • 이진변수만을 취급할 수 있으므로 예제 7-1과 같이 모든 정수값을 가질 수 있는 정수변수를 갖는 개수결정문제는 직접 해결할 수 없음 • 일반적인 정수변수를 이진변수와 변환하여 K-opt 활용가능
정수계획법의 적용사례 • 예제 7-2 : 자금운용계획 (Capital Budgeting) • H 그룹은 다음 3년간의; 투자계획으로서 3가지의 사업을 고려하고 있다. 각 사업에 소요되는 자금의 연도별 예상액과 이 사업이 가져올 사업이익금의 현재가치가 표와 같이 주어져 있다. H 그룹은 가용자금 한도 안에서 총 사업이익의 현재가치가 최대가 되도록 사업을 선택하고자 한다. • H 그룹 투자계획 관련 자료 (단위: 억원)
정수계획법의 적용사례 • 예제 7-2 : 자금운용계획 (Capital Budgeting) • 의사결정변수 • X1 = 1, 공장확장을 추진하는 경우 0, 공장확장을 취소하는 경우 • X2 = 1, 창고신설을 추진하는 경우 0, 창고신설을 취소하는 경우 • X3 = 1, 첨단기계설치를 추진하는 경우 0, 첨단기계설치를 취소하는 경우 • 목적함수 (총이익의 최대화, 단위: 억원) • Max Z = 450 X1 +200 X2 +350 X3
정수계획법의 적용사례 • 예제 7-2 : 자금운용계획 (Capital Budgeting) • 제약식 • 100X1 +150X2+ 50X3 ≤ 250 • 100X1 + 50X2+200X3 ≤ 400 • 50X1 + 200X2+100X3 ≤ 200 • X1, X2, X3은 0또는 1 • 선형계획모형 Max 450 X1 +200 X2 +350 X3 s.t 100X1 +150X2+ 50X3 ≤ 250 100X1 + 50X2+200X3 ≤ 400 100X1 + 50X2+100X3 ≤ 200 X1, X2, X3은 0또는 1
정수계획법의 적용사례 • 예제 7-2 : 자금운용계획 (Capital Budgeting) – K-opt 풀이 • 입력 • 분석결과
정수계획법의 적용사례 • 고정비문제 • 선형계획모형의 비례의 조건을 완화 • 생산활동의 수준에 관계없이 발생하는 고정비 (fixed cost) 고려 가능 • 변동비를 a, 고정비를 f, 생산수준이 X 일 때의 총 비용 C(X) • C(X) = f + aX, X >0 일 때 0 , X=0 일 때 총 비 용 총비용=고정비용+변동비용 변동비용=(변동비×생산수준) 고정 비용 생산수준
정수계획법의 적용사례 • 고정비문제 • 정수변수 Y의 도입 • Y = 1 , X > 0 일 때 (즉, 생산할 때) 0 , X = 0 일 때 (즉, 생산하지 않을 때) C(X) = fY + aX X ≤ MY ( M : X가 가질 수 있는 값의 범위 이상되는 양수)
정수계획법의 적용사례 • 예제 7-3 : 고정비문제 • K 공업은 20000단위의 제품을 3개의 기계를 통하여 생산하고 있는데 각 기계를 가동시키기 위해서는 일정한 고정비가 소요된다. 각 기계의 고정비, 변동비 및 생산능력 등이 다음 표에 정리되어 있다. • K 공업은 20000단위의 제품을 어느 기계로 생산하는 것이 총생산비를 최소화하는지 알아보고 싶다.
정수계획법의 적용사례 • 예제 7-3 : 고정비문제 • 의사결정변수 • Yj = 1, 기계 j를 가동시키는 경우, 0, 기계 j를 사용치 않는 경우, j = 1, 2, 3 • Xj = 기계 j의 생산수준, j = 1, 2, 3 • 목적함수 (총생산비의 최소화, 단위: 만원) • Min Z = 300Y1 + 100Y2 + 200Y3 + 2X1 + 10X2 + 5X3 • 제약식 • X1 + X2 + X3 ≥20000 • X1 ≤ 8000Y1 • X2 ≤ 13000Y2 • X3 ≤ 14000Y3 • X1, X2, X3 ≥0, Y1, Y2, Y3 = 0 또는 1
정수계획법의 적용사례 • 예제 7-3 : 고정비문제 – K-opt 풀이 • 입력 분석결과
정수계획법의 적용사례 • 예제 7-4 : 공장신설문제 • 현재 A지역에 공장을 갖고서 L, M, N 세 지역의 수요를 공급하고 있는 제일산업은 내년에 수요의 급증이 예상됨에 따라 B, C, D, E 등 4군데에 공장의 신설을 고려 중에 있다. 공장신설 고려대상이 되는 지역에는 수요지까지의 단위당 수송비(단위:만원)는 다음에 주어진 표와 같다. • 한편 B, C, D 지역에 신설되는 공장의 총 건설비는 각각 17억 5천만원, 30억원, 37억 5천만원, 50억원으로 공장건설비의 연간금융비용은 10%의 이율을 적용할 떄 각각 1억 7500만원, 3억원, 3억 7500만원, 5억원 씩이다. 이 회사에서는 연간 총 수송비와 금융비용의 합을 최소화하는 건설 및 수송계획을 수립하고자 한다.
정수계획법의 적용사례 • 예제 7-4 : 공장신설문제 • 의사결정변수 • YB, YC, YD, YE = 각각 지역 B, C, D, E에 공장을 신설할지를 결정하는 이진 변수 (즉, 0 또는 1) • Xij = i공장에서 수요지 j로의 공급량 • 목적함수 (총비용의 최소화, 단위: 만원) • Min17500YB +30000YC +37500YD +50000YE + 0.5XBL +0.2XBM +0.3XBN +0.4XCL +0.3XCM+0.4XCN+0.9XDL+0.7XDM +0.5XDN +XEL +0.4XEM +0.2XEN +0.8XAL +0.4XAM +0.3XAN
정수계획법의 적용사례 • 예제 7-4 : 공장신설문제 • 제약식 • XBL + XBM + XBN -10000YB ≤ 0 • XCL + XCM + XCN -20000Yc ≤ 0 • XDL+ XDM+ XDN -30000YD ≤ 0 • XEL + XEM + XEN - 40000YE ≤ 0 • XAL + XAM + XAN ≤ 30000 • XBL +XCL +XDL +XEL +XAL≥ 30000 • XBM +XCM +XDM +XEM +XAM≥ 20000 • XBN +XCN +XDN +XEN +XAN≥ 20000 • Xij≥ 0, for all i and j • YB, YC, YD, YE = 0 또는 1
정수계획법의 적용사례 • 예제 7-4 : 공장신설문제 • K-opt 결과 지역 E에 공장을 신성하고 공장 E에서는 M과 N 지역에 공급하고 기존의 공장 A에서는 L지역에 공급하는 것이 최적
정수계획법의 적용사례 • 예제 7-5 : 공공시설배치문제 • 새로이 건설되고 있는 H 시에는 7개의 행정구역이 있는데 이 구역을 담당하기 위한 파출소의 위치를 고려하고 있다. 고려대상이 되는 위치는 A, B, C, D, E, F, G 등 7곳인데 각 위치에서 담당할 수 있는 행정구역은 다음과 같다. • H시에서는 개설해야 하는 파출소의 개수가 최소가 되는 설치계획을 구하고자 한다.
정수계획법의 적용사례 • 예제 7-5 : 공공시설배치문제 • 의사결정변수 • XA ,XB, XC, XD, XE, XF, XG = 각각 지역 A, B, C, D, E, F, G에 파출소 설치 여부를 결정하는 이진변수 (즉, 0 또는 1) • 목적함수 (설치 파출소 개수의 최소화) • Min XA+ XB + XC + XD + XE + XF + XG
정수계획법의 적용사례 • 예제 7-5 : 공공시설배치문제 • 제약식 • XA+ XB + XC + XG ≥1 • XB + XD ≥1 • XC + XE≥1 • XD + XE + XF≥1 • XA+ XB + XC + XD + XF + XG ≥1 • XE + XF + XG ≥1 • XA+ XB≥1 • XA, XB, XC, XD, XE, XF, XG = 0 또는 1 • 최적해 • XB =1, XE =1, 즉 B와 E에 파출소를 하나씩 설치하는 것이 최적
개수결정문제와 K-opt • 예제 7-1을 K-opt로 풀기 • Max. 3000X1 + 7200X2 s. t. 10X1 + 30X2≤ 155 X1 ≤ 5X2 ≥ 1 X1, X2는 음이 아닌 정수 • X1= 20Y1 + 21Y2 + 22Y3 = Y1 + 2Y2 + 4Y3 • X2 = 20Y4 +21Y5 + 22Y6 = Y4 +2Y5 + 4Y6 • Max. 3000Y1 + 6000Y2 +12000Y3 + 7200 Y4 +14400Y5 + 28800Y6 s. t. 10Y1 + 20Y2 + 40Y3 + 30Y4 +60Y5 + 120Y6 ≤ 155 Y1 + 2Y2 + 4Y3 ≤ 5 Y4 + 2Y5 + 4Y6 ≥ 1 Y1, Y2, Y3, Y4 , Y5, Y6 = 0 또는 1
개수결정문제와 K-opt • 예제 7-1을 K-opt로 풀기 X1= 20Y1 + 21Y2 + 22Y3 = Y1 + 2Y2 + 4Y3 = 1x1 + 2x1+4x0 = 3 X2 = 20Y4 +21Y5 + 22Y6 = Y4 +2Y5 + 4Y6 = 1x0 + 2x0+4x1 = 4