제 7 장 정수계획법 (IP : Integer Programming)

Download Report

Transcript 제 7 장 정수계획법 (IP : Integer Programming)

제 7 장

정수계획법 (IP : Integer Programming)

선형계획법과 그 변형

정수계획법 기본 개념

 이산형 결정변수 일반정수변수(general integer variables): 0,1,2,3,4, ...

이진정수변수(binary variables): 0/1(yes/no, true/false)  정수계획법(IP: Integer Programming)의 종류 순수정수계획법(Pure Integer Programming) 혼합정수계획법(Mixed Integer Programming) 二進정수계획법(0-1 Integer Programming)

정수계획법 기본 개념

 정수계획법 해법 ① Rounding-Off ② Cutting-Plane Method ③ Branch&Bound (분단탐색법) : 가장 효율적인 방법  엑셀을 이용한 정수계획법 해법 제한조건 : 정수 변수에 대해 정수 조건을 추가

LP 문제와 IP 문제의 비교

선형계획법(LP) 문제

(P1) Max z = 5

x

1 + 4

x

2 s.t.

x

1 ≤ 4

x

2 ≤ 6 3

x

1 + 2

x

2

x

1 ≥ 0,

x

2 ≤ 18 ≥ 0

정수계획법(IP) 문제 #1

(P2) Max z = 5

x

1 + 4

x

2 s.t.

x

1 ≤ 4

x

2 ≤ 6 3

x

1 + 2

x

2

x

1 ≥ 0,

x

2 ≤ 18 ≥ 0,

x

1 ,

x

2 : 정수 

LP 완화문제 (LP Relaxation Problem)

(P1)을 (P2)의 LP 완화문제 라고 함 .

LP와 IP의 실행가능영역 비교

10 x 2 9 8 7 2 1 0 0 4 3 6 5 1 (2, 6) 2 3 4 5 6 x 1 7 (P1) : LP 문제 (P2) : IP 문제

F

( P1 ) ⊇

F

( P2 )

Z

( P1 ) ≥

Z

( P2 )

정수계획법(IP) 문제 #2

(P2)의 두 번째 제약조건식 로 수정한 경우

x

2 ≤ 6 을

x

2 ≤ 5 (P3) Max z = 5

x

1 + 4

x

2 s.t.

x

1 ≤ 4

x

2 ≤ 5 3

x

1 + 2

x

2

x

1 ≥ 0,

x

2 ≤ 18 ≥ 0,

x

1 ,

x

2 : 정수

LP와 IP의 실행가능영역 비교

x 2 10 9 8 7 6 5 4 3 2 1 0 0 1 (2, 5) 2 (2.67, 5) (3,4) 3 4 (4, 3) 5 6 x 1 7 (P3)의 LP 완화문제 의 최적해

x 1

=2.67,

x 2

=5 최적 목적함수값 = 33.33

IP 문제 (P3)의 최적 해는 ?

LIP : IP 문제의 LP 완화문제

 

Z LIP Z IP

: LIP 문제의 최적 목적함수값 : IP 문제의 최적 목적함수값 최대화 문제의 경우 :

Z IP

Z LIP

최소화 문제의 경우 :

Z IP

Z

LIP

 IP 문제 (P3)의 최적해 :

x 1 =4, x 2 =3

,

Z IP

=

32 Z IP

(= 32) ≤

Z LIP

(= 33.33

)

IP 문제의 해법

LP 완화 문제가 정수 최적해를 갖지 않는 경 우 IP 문제의 최적해를 구하는 방법  Rounding-Off 방법  Cutting Plane 방법  Branch&Bound 방법 : 엑셀에서 이용

Rounding-Off 방법

(P3)의 LP 완화문제

 최적해 :

x 1

=2.67,

x 2

=5, z = 33.33

 Lower Rounding  LP 완화문제의 최적해에서 소수점 이하 잘라 버림 .

x 1

=2,

x 2

=5, z = 30 : 최적해가 아님 . (near optimal)  Upper Rounding   LP 완화문제의 최적해에서 소수점 이하 올림 .

x 1

=3,

x 2

=5, z = 35 : 실행불가능해

엑셀을 이용한 IP 해법

(P4) Max z = 35

x

1 + 30

x

2 s.t.

x

1 +

x

2 ≤ 200 9

x

1 + 6

x

2 ≤ 1,520 12

x x

1 1 , + 16

x

2

x

2 ≤ 2,650 ≥ 0,

x

1 ,

x

2 : 정수

(P4)의 LP완화문제를 위한 해찾기 모델

(P4) 문제를 위한 정수화 조건 추가

정수화 조건이 추가된 해찾기모델 설정

실행 결과

x 1

=117,

x 2

=77 : IP문제의 최적해 아님

 IP 문제의 최적해를 구하기 위한 고려 사항 해 찾기 설정 모델의 해찾기 옵션 창의 옵션(O) 허용한도(E) 항목 선택 를 5% → 0% 수정입력

 해 찾기 옵션의 허용 한도(E) 변경후의 최적해 최적해

x 1

=118,

x 2

=76 목적함수값 = 6,410

순수 0-1 정수계획법 문제

 문제 정의 모든 의사결정변수가 0 또는 1의 값을 가져야 하는 문제  순수 이진 정수계획법 문제 (pure binary integer programming problem) 라고도 함.

 특정 의사결정 대안을 선택하느냐 선택하지 않 느냐를 다루는 문제에 주로 적용

(예제 7-1) 자본투자문제(capital budgeting problem) 사업 수익 (NPV)

1 2 3 4 5 가용자금 190 270 200 170 180 첫째 해 90 110 100 80 80 300

소요자금

둘째 해 셋째 해 50 70 25 35 50 40 60 200 30 20 15 80 넷째 해 15 25 15 10 15 50

(단위: 억원)

수학적 모형

 결정변수

i =

1,2,3,4,5 에 대해

x i =

1, 만약 사업

i

가 선택되면, 0, 만약 사업

i

가 선택되지 않으면  목적함수 Max

z = 190x 1 + 270x 2 + 200x 3 + 170x 4 + 180x 5

 제약조건  연도별 가용자금에 대한 제약조건 ( 첫째 해 )

90x 1

( 둘째 해 )

50x 1

( 셋째 해 )

2

5

x 1

( 넷째 해 )

1

5

x 1 + 110x 2 + 70x 2 + 35x 2 + 25x 2 + 100x 3 + 50x 3 + 30x 3 + 15x 3 + 80x 4 + 40x 4 + 20x 4 + 10x 4 + 80x 5 + 60x 5 + 15x 5 + 15x 5

≤ ≤ ≤ ≤

300 200 80 50

 결정변수에 대한 제약조건

x i =

0 또는 1,

i=

1,2,3,4,5 → 다른 표현 방법

x x i i

∈ {0, 1}, ≥ 0,

x i

i=

1, 1,2,3,4,5

x i

: 정수 ,

i=

1,2,3,4,5

엑셀입력 모형

해 찾기 모델 설정

최적해

특별한 경우의 제약조건

(1) (2) (3) 사업 1, 2, 3 중에서 최소한 하나의 사업은 반드시 선 택되어야 한다면 ,

x 1

+

x 2

+

x 3

≥ 1 사업 1, 2, 3 해야 한다면 , 중에서 기껏해야 하나의 사업만을 선택

x 1

+

x 2

+

x 3

≤ 1 사업 1, 2, 3 야 한다면 , 중에서 반드시 하나의 사업만을 선택해

x 1

+

x 2

+

x 3

= 1 (4) 사업 려면 , 1 과 사업 3 의 연관성으로 인해 사업 반드시 사업 1 이 선택되어야 한다면 , 3 이 수행될

x 3

x 1

(예제 7-2) 0-1 배낭문제 (0-1 knapsack problem) 물건

1 2 3 4 5 6 7 8

무게(kg)

10 3 11 5 12 9 8 6

판매이익

22 8 25 14 26 20 16 15

수학적 모형

 결정변수

i =

1,2,3,4,5,6,7,8 에 대해 ,

x i =

1, 만약 물건

i

가 선택되면 , 0, 만약 물건

i

가 선택되지 않으면  수학적 모형

Max z = 22x 1 + 8x 2 + 25x 3 + 14x 4 + 26x 5 + 20x 6 + 16x 7 + 15x 8 s.t. 10x 1 + 3x 2 + 11x 3 + 5x 4 + 12x 5 + 9x 6 + 8x 7 + 6x 8

35 x i

≥ 0

, x i

≤ 1

, x i

: 정수

,

i=

1,2,…,8

해 찾기 모델 설정 및 최적해

(예제7-3) Set Covering 문제 행정구역

1 2 3 4 5 6 7 8 9 10

20km 안에 있는 행정구역

1, 3, 5, 8 2, 8, 10 1, 3, 7, 8 4, 9 1, 5, 7 6, 9 3, 5, 7 1, 2, 3, 8 4, 6, 9, 10 2, 9, 10

수학적 모형

 결정변수

i =

1, … ,10 에 대해 ,

x i =

1, 만약 구역

i

에 소방서가 설치되면 , 0, 만약 구역

i

에 소방서가 설치되지 않으면  목적함수식 Min

z = x 1 +x 2 +x 3 +x 4 +x 5 +x 6 +x 7 +x 8 +x 9 +x 10

수학적 모형

 제약조건식

x 1 +x 3 +x 5 +x 8 x 2 +x 8 +x 10 ≥ 1 ≥ 1 x 1 +x 3 +x 7 +x 8 ≥ 1 x 4 +x 9 ≥ 1 x 1 +x 5 +x 7 ≥ 1 x 6 +x 9 ≥ 1 x 3 +x 5 +x 7 ≥ 1 x 1 +x 2 +x 3 +x 8 ≥ 1 x 4 +x 6 +x 9 +x 10 ≥ 1 x 2 +x 9 +x 10 ≥ 1 x i

0, x i

1, x i

: 정수

,

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

i=

1,2,…,10

엑셀 입력 모형

해 찾기 모델 설정

‘$B$18:$K$18=2진수’는 다음의 세 가지 제약조건을 사용하는 것과 같다.

$B$18:$K$18 ≥ 0 $B$18:$K$18 ≤ 1 $B$18:$K$18 = 정수

최적해

구역 7, 8, 9에 소방서를 설치하면, 최소의 수로써 전체 10개의 구역을 모두 처리

순수일반 정수계획법 문제

 일반 배낭문제 (general knapsack problem) (예제 7-4)

보물종류

4 5 1 2 3 6

개당 무게(kg)

3.5

5.7

6.3

7.5

8.1

9.4

개당 가치(만원)

50 70 115 120 130 145

수학적 모형

 결정변수

x i

: 배낭에 넣는 보물

i

의 개수 (

i

=1,2,…,6)  목적함수식 Min

z = 50x 1 +70x 2 +115x 3 +120x 4 +130x 5 +145x 6

 제약조건

3.5x

1 +5.7x

2 +6.3x

3 +7.5x

4 +8.1x

5 +9.4x

6

≤ 100

x i

≥ 0

, x i

: 정수 , i= 1,2,…,6

엑셀 입력 모형

최적해

(예제 7-5) 다이어트 문제 (diet problem) 음식 에너지 (kcal)

빵(1) 치킨(2) 계란(3) 110 205 160 우유(4) 파이(5) 160 420 콩(6) 260 최소섭취량 2,200

단백질 (g)

4 32 13 8 4 14 60

칼슘 (mg)

2 12 54 285 22 80 1,000

단위당 가격

3 24 13 9 20 19

최대 섭취량

4 3 2 8 2 2

수학적 모형

 결정변수

x i

: 음식

i

의 섭취량 (

i

=1,2,…,6)  목적함수식 Min

z = 3x 1 +24x 2 +13x 3 +9x 4 +20x 5 +19x 6

수학적 모형

 제약조건 ( 영양소별 1 일 요구량 )

110x 1 +205x 2 +160x 3 +160x 4 +420x 5 +260x 6

≥ 2,200

4x 1 + 32x 2 + 13x 3 + 8x 4 + 4x 5 + 14x 6

≥ 60

2x 1 + 12x 2 + 54x 3 +285x 4 + 22x 5 + 80x 6

≥ 1,000 ( 음식별 하루 최대 섭취량 )

x 1

≤ 4,

x 2

≤ 3,

x 3

≤ 2,

x 4

≤ 8,

x 5

≤ 2,

x 6

≤ 2

x i

≥ 0

, x i

: 정수 , i= 1,2,…,6

엑셀 입력 모형

최적해

혼합 정수계획법 문제

 (정의) 혼합 정수계획법 문제(mixed IP problem) 의사결정 변수들 중 일부는 정수화 조건이 주어지고, 나머지에는 정수화 조건이 주어지 지 않는 문제

(예제 7-6)

고정비(fixed charge) 문제

기계

1 2 3 4 5

고정비 (단위: 만원) 변동비 (단위: 만원)

4,000 3,000 2,000 8,000 9,000 7 7.5

8 6 5

최대 생산능력

700 600 800 1,500 1,200

수학적 모형

 결정변수

x i

: 기계

i

에서의 범퍼 생산량 (

i

=1,2,…,5) ( 기계 1 의 생산량이

x

1 일 때 , 기계 1 에서 발생하는 비용 )

C

1 (

x

1 )

=

7

x

1 + 4,000, 0,

x

1

>

0 일 때

x

1

=

0 일 때 

y i

변수를 추가하여 다음 관계식을 설정

y i =

1, 만약

x i >

0 0, 만약

x i =

0

수학적 모형

 목적함수식 : 총비용(고정비+변동비) 최소화 Min

z = 7x 1 +7.5x

2 +8x 3 +6x 4 +5x 5 +4,000y 1 +3,000y 2 +2,000y 3 +8,000y 4 +9,000y 5

수학적 모형

제약조건 ( 총생산량이 주문량보다 커야 하는 조건 )

x 1 + x 2 + x 3 + x 4 + x 5

≥ 2,500

( 각 기계에서 최대로 생산가능한 양에 대한 조건 )

x 1

≤ 700

y 1 , x 2

≤ 600

y 2 , x 3

≤ 800

y 3 , x 4

≤ 1,500

y 4 , x 5

≤ 1,200

y 5

( 결정변수에 대한 조건 )

x i

≥ 0

, y i

= 0 또는 1

,

i=

1,2,…,5

( 해설 ) 제약조건

x 1

≤ 700

y 1

은 다음 관계를 만족시킨다 .

1, 만약

y 1 =

0, 만약

x 1 >

0

x 1 =

0  즉 ,

x 1

이 양수이면 ,

y 1

은 반드시 그러나 ,

x 1

이 0 이면 ,

y 1

은 0 1 의 값을 가져야 한다 또는 1 이 될 수 있지만 .

Min

z = 7x 1 +4,000y 1 +7.5x

2 +3,000y 2

에 의해 최적해 상태에서는 반드시

+8x 3 +2,000y 3 +…. y 1

= 0 이 된다 .

 역으로 ,

y 1

이 1 인 경우 ,

x 1

≤ 700 이 된다 .

 따라서 (

x 1 , y 1

) , 제약조건 이

x 1

≤ 700

y 1

은 (0, 0) 또는 (0 <

x 1

≤ 700, 1) 임을 나타낸다 .

엑셀 입력 모형

최적해