disclaimer - seoul national...

45
저작자표시-비영리-변경금지 2.0 대한민국 이용자는 아래의 조건을 따르는 경우에 한하여 자유롭게 l 이 저작물을 복제, 배포, 전송, 전시, 공연 및 방송할 수 있습니다. 다음과 같은 조건을 따라야 합니다: l 귀하는, 이 저작물의 재이용이나 배포의 경우, 이 저작물에 적용된 이용허락조건 을 명확하게 나타내어야 합니다. l 저작권자로부터 별도의 허가를 받으면 이러한 조건들은 적용되지 않습니다. 저작권법에 따른 이용자의 권리는 위의 내용에 의하여 영향을 받지 않습니다. 이것은 이용허락규약 ( Legal Code) 을 이해하기 쉽게 요약한 것입니다. Disclaimer 저작자표시. 귀하는 원저작자를 표시하여야 합니다. 비영리. 귀하는 이 저작물을 영리 목적으로 이용할 수 없습니다. 변경금지. 귀하는 이 저작물을 개작, 변형 또는 가공할 수 없습니다.

Upload: others

Post on 14-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

저 시-비 리- 경 지 2.0 한민

는 아래 조건 르는 경 에 한하여 게

l 저 물 복제, 포, 전송, 전시, 공연 송할 수 습니다.

다 과 같 조건 라야 합니다:

l 하는, 저 물 나 포 경 , 저 물에 적 된 허락조건 명확하게 나타내어야 합니다.

l 저 터 허가를 면 러한 조건들 적 되지 않습니다.

저 에 른 리는 내 에 하여 향 지 않습니다.

것 허락규약(Legal Code) 해하 쉽게 약한 것 니다.

Disclaimer

저 시. 하는 원저 를 시하여야 합니다.

비 리. 하는 저 물 리 목적 할 수 없습니다.

경 지. 하는 저 물 개 , 형 또는 가공할 수 없습니다.

Page 2: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

공학석사학위논문

다차원다선택배낭문제를위한

새로운보간알고리즘을이용한

혼합형유전알고리즘

Hybrid Genetic Algorithm for theMultiple-Choice Multidimensional Problem

with Novel Repair Algorithm

2013년 2월

서울대학교대학원

전기컴퓨터공학부

양재영

Page 3: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

다차원다선택배낭문제를위한

새로운보간알고리즘을이용한

혼합형유전알고리즘

Hybrid Genetic Algorithm for theMultiple-Choice Multidimensional Problem

with Novel Repair Algorithm

지도교수문병로

이논문을공학석사학위논문으로제출함

2013년 1월

서울대학교대학원

전기컴퓨터공학부

양재영

양재영의석사학위논문을인준함

2013년 2월

위 원 장 한상영 (인)

부위원장 문병로 (인)

위 원 이광근 (인)

Page 4: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

초록

혼합형 유전 알고리즘은 유전 알고리즘의 공간탐색 능력과 지역

최적화 알고리즘의 끌개를 능력을 조합한 효율적인 공간탐색 알고리

즘이다.이논문은혼합형유전알고리즘을이용하여MMKP문제를위

한 해를 찾는 제안한다. 다중선택 다중차원 배낭문제(multiple-choice

multidimensional knapsack problem, MMKP)는배낭문제(Knapsack Prob-

lem, KP)를변형시킨문제로매우복잡한문제로알려져있다.이논문

은MMKP문제중에서제약사항을강력하게바꾸어해의밀도가매우

낮을때해를찾기위해경향함수를제안한다.경향함수는문제공간에

서하나의해가다른해로변화될때앞으로의엔트로피를가장낮출수

있는변화함수이다.이러한경향함수는해밀도가매우낮은MMKP문

제를 푸는데 보간함수의 역할을 하며 효과적인 지역최적화 알고리즘

과결합되어혼합형유전알고리즘을이룬다.기존연구들과비교하여

이러한 혼합형 유전 알고리즘이 더 낮은 해밀도에서 더 좋은 해를 찾

음을보인다.

주요어 : 유전알고리즘,가방문제,경향함수

학번 : 2011-20875

i

Page 5: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

목차

I. 서론 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

II. 관련연구 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1 유전알고리즘 . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 유전알고리즘의구조 . . . . . . . . . . . . . . . . . . . . 4

2.3 유전알고리즘의구성요소 . . . . . . . . . . . . . . . . . 5

2.4 혼합형유전알고리즘 . . . . . . . . . . . . . . . . . . . . 8

2.5 다차원다선택배낭문제 . . . . . . . . . . . . . . . . . . 9

2.5.1 건설적절차 . . . . . . . . . . . . . . . . . . . . . 9

2.5.2 MPGA . . . . . . . . . . . . . . . . . . . . . . . . 10

III. Tendency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 MMKP의공간 . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2 Tendency Approach . . . . . . . . . . . . . . . . . . . . . . 13

3.3 Tendency for MMKP . . . . . . . . . . . . . . . . . . . . . 15

3.4 Tendency function . . . . . . . . . . . . . . . . . . . . . . . 16

3.5 경향함수를위한유전알고리즘의 Genetic Framework . . 16

3.5.1 유전자표현 . . . . . . . . . . . . . . . . . . . . . 16

3.5.2 적합도함수 . . . . . . . . . . . . . . . . . . . . . 17

3.5.3 교차와변이 . . . . . . . . . . . . . . . . . . . . . 17

3.5.4 선택 . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.5.5 대치 . . . . . . . . . . . . . . . . . . . . . . . . . 17

ii

Page 6: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

IV. Hybrid GA for MMKP . . . . . . . . . . . . . . . . . . . . . 22

4.1 Genetic Framework . . . . . . . . . . . . . . . . . . . . . . 22

4.1.1 유전자표현 . . . . . . . . . . . . . . . . . . . . . 22

4.1.2 적합도함수 . . . . . . . . . . . . . . . . . . . . . 23

4.1.3 교차와변이 . . . . . . . . . . . . . . . . . . . . . 23

4.1.4 선택 . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.1.5 대치 . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.1.6 보간알고리즘 . . . . . . . . . . . . . . . . . . . . 24

4.1.7 지역최적화알고리즘 . . . . . . . . . . . . . . . . 24

V. 실험결과 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.1 실험준비 . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.2 경향함수의성능 . . . . . . . . . . . . . . . . . . . . . . . 27

5.3 MMKP문제의해결 . . . . . . . . . . . . . . . . . . . . . 29

VI. 결론 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

참고문헌 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

iii

Page 7: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

그림목차

그림 1. The constructive procedure for determining a feasible

solution : CP . . . . . . . . . . . . . . . . . . . . . . 11

그림 2. MPGA의 3개의해집단의상호작용 . . . . . . . . . 12

그림 3. Simple Grouping Algorithm . . . . . . . . . . . . . . 19

그림 4. The structure of 6 parameters : tendency parameter. . . 19

그림 5. The constructive procedure for make solutiontendency utility

to the best. : tendency function. . . . . . . . . . . . . 20

그림 6. The constructive procedure for repair infeasible solu-

tion with tendency function: RATF. . . . . . . . . . . 21

그림 7. A conventiaonal hybrid generational GA for MMKP . 22

그림 8. Desity of feasible solution in solution space. . . . . . . 28

그림 9. Generation feasible solution from CP and tendency

function . . . . . . . . . . . . . . . . . . . . . . . . . 28

iv

Page 8: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

표목차

표 1. Experimental result on Mknapcb7 . . . . . . . . . . . . 30

표 2. Experimental result on Mknapcb8 . . . . . . . . . . . . 31

표 3. Experimental result on Mknapcb9 . . . . . . . . . . . . 32

표 4. Experimental result on Mknapcb9 with f=0.72 . . . . . . 33

v

Page 9: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

제 1장

서론

고전적인 0-1배낭문제(Knapsack problem, KP)는배낭의최대허용

자원 R를넘지않으며값 V가최대가되는아이템들을선택하는문제

이다.

V = maxn∑

i=1

xivi xi ∈ {0,1}

wheren∑

i=1

xiwi < R

여기서발전된문제가다차원배낭문제(Multidimensional Knapsack Prob-

lem, MKP)이고 MKP는 KP문제에서 배낭의 제약 R가 여러 차원으로

나누어 지는 문제이다. 이 문제를 조금 더 발전시킨 문제가 다차원

다선택 배낭문제 (Multiple-Choice Multidimensional Knapsack Problem,

MMKP)로모든아이템은각각한개의클래스에속하게되고모든클

래스에서는 반드시 한 개의 아이템을 선택해야 한다. 이 문제는 여러

개의 CPU에 다중 작업을 메모리와 버스, 이더넷 등 작업이 사용하는

필요자원을고려하여할당할때사용하며이와유사한여러분야에응

용되고있다. MMKP에는아이템의집합인 ] n개존재하며클래스i에는

ri개의 아이템이 존재한다. 그리고 각 아이템 j에는 하나의 음이아닌

값 vi j와음이아닌필요자원벡터Wi j = (w1i j,w

2i j, ...,w

li j)를 l개의필요자

원의차원갯수에대해가지게된다.

1

Page 10: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

MMKP문제의식은아래와같다.

maxn∑

i=1

ri∑j=1

vi jxi j

s.t.n∑

i=1

ri∑j=1

wki jxi j ≤ bk, k ∈ {1, ..., l},

ri∑j=1

xi j = 1, i ∈ {1, ...,n},

xi j ∈ {0,1}, i ∈ {1, ...,n}, j ∈ {1, ...,ri}.

MMKP에서는한클래스에서는반드시하나의아이템을가져야한다.

만일 j번째클래스에서 i번째아이템이선택되어배낭에넣을때 xi j의

값은 1이되며그렇지않을경우 xi j는 0이된다. MMKP의목표는선택

된아이템들의각차원에서의총필요자원이최대허용자원보다크지

않으면서 값의 총합이 가장 큰 아이템을 찾는 것이다. 이러한 MMKP

문제를풀기위해서다양한알고리즘이제안되었다. Moser et al [1],은

MMKP문제의근사알고리즘을라그랑지안승수법을이용하여처음

으로제안하였다.이후 Toyoda는다중가방문제(multidimensional knap-

sack problem, MKP)를 필요자원합개념(concept of the aggregate neces-

sary resource)[2]을이용하여제안하였으며이를이용하여Khan et al.[3]

은 Toyoda의 알고리즘을 개량하여 MMKP에 적용하였다. Chefi와 Hifi

는열생산(column generation)알고리즘[4]을비롯하여 3가지종류의혼

합형근사알고리즘을상대적으로대규모의 MMKP를풀기위해제안

하였다. Akbar는 건설적인볼록모형(constructed convex hull)을 이용하

여MMKP문제에서탐색공간을줄이는방법을제안하였다[5]. Shihi는

2

Page 11: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

MMKP를풀기위하여분기한정법(branch-and-bound)과최고우선탐색

(best-first search)를이용하는방법을제안하였다[6].이논문의구성은

다음과같다. 2장에서는유전알고리즘와 MMKP에대한사전연구들

에대해기술하고 3장에서는경향적접근에대하여설명한다. 4장에서

는 MMKP를 풀기위한 혼합형 유전 알고리즘을 제안한다. 5장에서는

위에서제시한알고리즘을실험한결과를제시하고성능의향상을보

인다.마지막으로 6장에서는개선점과함께결론을맺는다.

3

Page 12: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

제 2장

관련연구

2.1 유전알고리즘

유전 알고리즘은 특정문제가 가지는 차별화된 문제공간에 크게

구애받지않고문제에적용될수있는메타휴리스틱(Meta Heuristic)의

하나로 자연선택으로 대표되는 생물의 진화 원리를 모방하여 문제를

해결하는알고리즘으로 Holland[7]가기본적인이론을정립한이래로

컴퓨터공학, 생물학, 화학 등 여러가지 분야의 최적화 문제를 푸는데

사용되었다.이는유전알고리즘이가지는매우큰탐색공간에서도효

율적인공간탐색능력과문제의특별한공간을효과적으로대응할수

있는 로컬 알고리즘이나 다른 메타 휴리스틱과의 결합이 쉽기 때문

이다.

2.2 유전알고리즘의구조

유전알고리즘은기본원리는현재까지의해집단을변형시켜문제

공간에 더 맞는 나은 해집단을 생성하려 한다. 이러한 원리는 알고리

즘 1와같이구현된다.여기서 m개의해를가진해집단으로부터 n개의

새로운해를생성하여기존해집단에대치연산을통하여생성된해를

추가한다. 여기서 nm를 세대차(Generation Gap)라고 하며 세대차로 유

전알고리즘을나눌수있는데세대차가 1에가까운유전알고리즘을

4

Page 13: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

세대형유전알고리즘(Generational Genetic Algorithm)이라고하고,세

대차가 nm에가까운알고리즘을안정상태유전알고리즘(Steady-State

Genetic Algorithm)이라고한다.세대차의차이는수렴속도와다양성에

영향을 미치게 되는데 세대형 유전 알고리즘은 수렴속도가 느린대신

해집단의다양성을유지할수있다.반면에안정상태유전알고리즘은

진행속도와수렴속도가빠른대신설익은수렴을할가능성이높다.

2.3 유전알고리즘의구성요소

• 염색체(Chromosome) 유전 알고리즘에서 하나의 해(solution)은

염색체로표현된다.해를염색체로표현하는방법은이진스트링

표현부터 1차원수열,다차원스트링등다양하다.해를염색체로

표현하는과정에서유전알고리즘이문제에적용하는효과를볼

수 있다 따라서 이러한 변환은 문제공간을 결정하는 중요한 역

할을한다.

• 해집단(Population)해집단은염색체의집합을의미한다.이러한

해집단은크기와갯수에따라유전알고리즘의성능이달라지게

된다.해집단에서특정해가차지하는비중이커지는현상을수

렴이라고하며 일반적으로 해집단이 커지면 수렴이 늦어지지만

해의다양성이좋아지고반대로작은해집단은수렴은빨라지지

만해의다양성이떨어지게된다.

• 적합도(Fitness) 유전자가 목적에 얼마나 적합한지를 나타내는

척도가된다.목적은제시된문제의답으로서의가치뿐아니라

앞으로얼마나좋은해를발현할수있는지와같은여러가지의

미로표현된다.이러한적합도를유전자로부터얻어내는함수를

5

Page 14: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

적합도 함수(Fitness function)이라고 하며 유전 알고리즘을 문제

에접목시키는데중요한역할을한다.

• 선택연산자(Selection) 해집단 내에서 어떤 해가 교배에 선택될

지를 고르는 연산으로 선택된 유전자는 자신의 유전자 안에 내

재된성질인스키마의해집단내의밀도를높힐가능성이크다.

일반적으로선택은적합도가기준이되고적합도를반영하는정

도인 선택압(selection pressure)이라고 한다. 이러한 선택압이 높

아지면설익은수렴을하여해의다양성이떨어지게된고반대로

선택압이낮으면수렴이잘되지않아좋은해를찾는데어려움

이있다.따라서해의다양성을유지하면서도적합도를좋게하는

스키마를얻어내기위해서룰렛휠,토너먼트,순위기반등여러

방법이고안되었다.

• 교차연산자(Crossover) 교차 연산자는 유전 알고리즘의 핵심적

인연산자이다.교차연산은선택된두해의부분을결합하여새

로운해를만들어낸다.이러한교차연산은문제와염색체구조

에따라서다양한교차연산자가제안되어있다.자연의교배를

모델링한일점교차부터다차원의염색체를지원하기위한교차

연산자까지 그 종류가 매우 다양하다. 유전 알고리즘에서 교차

연산은연산자내의특성즉스키마(schema)중목적에맞는스키

마를결합하여적합도를올리는것을목적으로한다.

• 변이연산자(Mutation) 변이 연산은 선택된 해의 일부를 변화시

켜새로운해를만들어낸다.유전자의일부를변형하면해표현

에 따라 전혀 다른 해가 될 수 있다. 공간탐색의 관점에서 보면

탐험(exploitation)의 성격이 매우 강하다. 성공적인 변이 연산은

6

Page 15: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

집단의품질향상에기여하게되고,실패한변이연산은대치시

도태되거나해집단안에서자연스럽게도태되게된다.

• 수선(Repair)수선연산자는교차나변이로생성된새로운해가

문제의 조건을 만족시키지 못하는 해일 때 적절한 과정을 거쳐

적합한해또는해집단에서용인할수있은해로적절한변환과

정을거쳐서적합한해로만든다.수선연산자는대상유전자의

형태를가장덜훼손하는형태로정의된다.

• 대치(Replace) 대치 연산은 교차나 변이, 수선을 통하여 생성된

해를 다시 해집단으로 보내는 연산이다.대치 연산의 핵심은 해

집단에서 어떤 유전자를 선택할지 이다. 특히 군집을 대치하는

세대형대치연산과달리안정상태유전알고리즘에서는하나의

해가생기는즉시대치되므로대치연산이매우중요한의미를가

진다.특히적합도만으로평가하여최소적합도의해와대치시에

설익은수렴을할가능성이매우높아진다.

Algorithm 1 Genetic algorithmcreate initial population of fixed size;repeat

for i = 1 to n doselect parent1 and parent2 from population;offspringi← crossover( parent1, parent2 );mutation( offspringi );

end forreplace n chromosomes with n offspring;

until stopping conditionreturn the best chromosome;

7

Page 16: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

Algorithm 2 Hybrid Genetic algorithmcreate initial population of fixed size;repeat

for i = 1 to n doselect parent1 and parent2 from population;offspringi← crossover( parent1, parent2 );mutation( offspringi );local-optimization( offspringi );

end forreplace n chromosomes with n offspring;

until stopping conditionreturn the best chromosome;

2.4 혼합형유전알고리즘

유전알고리즘은해의공간탐색능력의관점에서보았을때다른

휴리스틱에비해전역해의근처로수렴하는능력은뛰어나지만,전역

해근처에서전역해로이동하는능력은부족하다.이를보완하기위해

서 교차 연산과 변이 연산이 끝난 뒤에 지역 최적화 알고리즘을 적용

하여최적점을찾는알고리즘을혼합형유전알고리즘(Hybrid Genetic

Algorithm)이라고한다.해의품질을기준으로혼합형유전알고리즘은

거의항상유전알고리즘보다성능이좋다.알고리즘 2는일반적인혼

합형유전알고리즘의구성을보여주고있다.지역최적화알고리즘을

반영하면 해의 품질이 좋아지게 된다. 이 해를 해집단에 대치하는데

있어서 라마르크형과 볼드원형 방식이 있다. 라마르크형은 지역최적

화를 통한 결과로 얻어진 좋은 스키마를 다음 교배에 적극적으로 활

용하겠다는전략이고,볼드윈형은지역최적화를통한좋은스키마를

얻을 가능성을 교배를 통해 늘리겠다는 전략이다. 비록 자연의 진화

론에서는 볼드윈형이 채택됬지만 유전 알고리즘에서는 대체로 빠른

8

Page 17: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

수렴속도때문에라마르크형대치를사용한다.

혼합형유전알고리즘에서는유전알고리즘보다지역최적화알고

리즘의중요성이크게대두된다.혼합형유전알고리즘을사용해보면

대부분의 시간이 지역 최적화 알고리즘을 수행하는데 사용되는 것을

쉽게 알 수 있다. 이는 대부분의 지역 최적화 알고리즘이 일부분이긴

하지만 주어진 부분의 대부분을 탐색하여 좋은 해를 찾기 때문이다.

일례로 널리 알려진 2-opt 알고리즘에서 조차도 2차원의 평면 상에서

O(N3)의복잡도를가진다.좀더강력한지역최적화알고리즘인 3-opt

나 LK(Lin-Kernighan)알고리즘[8][9]을 사용하게 되면 지역 최적화가

혼합형 유전 알고리즘에서 차지하는 비율은 더욱 커지게 된다. 또한

같은 유전 알고리즘에 같은 시간을 수행 하더라도 지역 최적화 알고

리즘의 종류에 따라서 최적해의 차이가 매우 크다. 역시 순회판매원

(TSP)문제에서 2-opt나 3-opt를 사용하는 것 보다 동시간 LK알고리즘

이찾아내는최적해는차이가크다.

2.5 다차원다선택배낭문제

다차원 다선택 배낭문제는 하나의 아이템이 모든 차원의 제약조

건에영향을주기때문에하나의아이템을바꾸기도쉽지않다따라서

여러 알고리즘이 제안되었고 그 중 본 논문에 참고된 논문은 다음과

같다.

2.5.1 건설적절차

건설적절차(constructive procedure, CP)알고리즘은가장필요자원

을많이위반하는차원에중점을맞추어문제를해결한다. CP알고리즘

9

Page 18: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

은결정형알고리즘이다.한아이템이가지는필요자원을모두더하고

이것으로아이템이가진값으로나누어해당클래스에서가장큰값들

을모아시작해를만들고위의빼고더하기(drop and add)를반복하게

된다.하지만실질적으로시작해를구성하는것은값을높히기위함이

지부적합해를적합한해로만드는데도움이되는것이있어구성하는

것이 아님을 알 수 있다. 식 자체도 필요자원의 총 합이 한계 필요자

원과 가장 많이 차이나는 차원인k에서 필요자원, ∆bi j을 가장 많이 소

모하는 아이템을 찾아 교체한다.[10]. CP알고리즘의 접근법은 그림 1

에서소개되고있다.

2.5.2 MPGA

A novel multi-population genetic algorithm for the MMKP (MPGA)[11]

는 Zhou에 의해 제안된 알고리즘으로 2개의 진화적 해집단과 보관소

해집단을가진 GA이다.진화적해집단εt는MMKP문제의전역해를찾

기위한해집단이고역시진화적해집단인 εct는제약사항을만족하는

정상해를 찾기 위해서 존재한다. 보관소 해집합인 εmt 는 오직 각 세대

에서 가장 좋았던 해를 저장하는데 쓰이게 된다. 이러한 세 해집단간

상호작용은그림 2와같다.이알고리즘에서적합도는적합한해일경

우해를이루는아이템의값의총합을그대로쓰고적합하지않은해일

경우 1k

∑ki=1

wibi을계산하여적합도로삼는다.여기서 wi는 i번째차원의

필요자원의 총합이고 bi는 i번째 차원의 최대 필요자원이다. 이때 이

비적합적합도는작을수록적합하다.이때적합해와비적합해의적합

도가반대방향으로커지지만해집단을분리하여둘은섞이지않는다.

10

Page 19: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

Input : An instance of the MMKPOutput : A feasible solution S with value O(S)Initialization

For i=1,..., n, set ui ji = max{ui j, j = 1, ...,ri};Si← ji;Set φ[i] = ji; xiφ[i] = 1;Set Rk =

∑ni=1 ωk

iφ, ∀k = 1, ...,m;/*Rk:the accumulated resources for constaint k */

EndFor;S = (S1, ...,Sn);

MainWhileRk >Ck, f or k = 1, ...,m) /*DROP phase*/k0← argmax

1≤k≤m{Rk};

i0← argmax1≤k≤n

{ωk0i ji};

φ[i0] = jio ;xi0φ[i0] = 0;Rk = Rk−ωk

i0φ[i]fork = 1, ...,m)thenFor j = 1, ...,ri0 /* ADD phase */

If(∃ j = ji0and Rk +ωki0 j <Ck,for k = 1, ...,m)then

xi0 j = 1;ji0 = j;φ[i0] = ji0 ;Rk = Rk +ωk

i0 for k = 1, ...,m)S = (φ[i0];φ[i],∀i = i0, i = 1, ...,n) is a feasible solution;Exit with the S vector;

EndIfEndFor;j′i0 ← argmin

1≤ j≤ri0

{ωk0i0 j};

/* if the obtained solution is not feasible */ ji0 ← j′; φ[i0] =ji0 ; xi0φ[i0] = 1

EndWhile;Return S with value O(S).

그림 1: The constructive procedure for determining a feasible solution : CP

11

Page 20: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

그림 2: MPGA의 3개의해집단의상호작용

12

Page 21: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

제 3장

Tendency

3.1 MMKP의공간

앞에서살펴본 CP알고리즘이나 MPGA와같은방법들은가장오

류가큰차원을줄이거나평균적인오류를줄이는방향으로적합하지

않은 해를 적합하게 변화시킨다. 이러한 일괄적인 방법은 많은 예외

상황을갖게된다 CP의방법은무한반복이라는문제를가질수있고

MPGA의 평균적인 오류를 줄이는 방향의 적합도는 적합하지는 않은

해이지만 특정 차원의 필요자원이 매우 낮은 경우를 쉽게 해결하지

못한다.또한앞에서살펴본라그랑지안방법이나 Convex hull을쓰는

방법들은차원이늘어나게되면적용이힘들어진다.이러한MMKP공

간의 특성은 해를 이루는 아이템중 하나라도 변경되면 모든 차원의

필요자원값이틀려지기때문이다.이런이유로앞에서다룬이론들은

모두MMKP공간의최대허용자원의값이점점작아질수록해를찾지

못하게된다.

3.2 Tendency Approach

경향적 접근이란 몬테 카를로(Monte Carlo)알고리즘의 일종으로

볼수있다.여기서경향적접근이란문제공간에서랜덤하게만들어진

가설을 검증하여 문제를 가장 잘 설명하는 가설을 찾게되면 실제 문

13

Page 22: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

제에접목시켜해결하는방법을말한다.이비결정적인방법은통계적

가설과는달리몇가지인자로설명되는수많은가설중경험적으로쓸

만한가설을찾는행위이다.경향적접근의장점은가설을쉽게설정할

수가있다는것이지만실제로는굉장히광범위한공간을가지게된다.

따라서이런공간을탐색하는것에강한유전알고리즘을이용하여비

적합해를적합하게만드는방법을찾게된다.

Monte Carlo는랜덤한수열을가지고문제를탐색하여해를찾는

알고리즘의통칭이다.큰수이론(LLN)에의하여충분한크기의샘플을

구하여 hit-miss Monte Carlo를이용하면해당함수의성능을전수조사

를 하지 않아도 평가 할 수 있다. 해당 함수가 변환시킬 수 있는 해집

단을 유추하기 위해 통계학에서 사용하는 표본수 산정법을 이용하면

표본의크기를구할수있다.이때문제공간에대하여어떠한층화도

하기어렵기떄문에 Simple Random Sampling(SRS)을사용하여탐색한

다. SRS의 경우 표본을 결정하는 식은 다음과 같다. e 는 최대오차, N

모수, z신뢰구간 and P는공간제안(Population proposition)이다.

n =z2S2

e2 + z2 s2

N

, where S = P(1−P) (3.1)

M =

n∏1

ri (3.2)

SRS에서 공간제안은 문제공간의 hit, miss비율에 대한 대한 선행지식

을의미하지만가설알고리즘들의성능을알수없기때문에항상최대

표본을얻어내는 0.5를사용하였다.또한 N은문제공간인M과같은값

으로매우큰값이므로 N이분모인값을무시할수있다.이렇게되면

14

Page 23: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

SRS를위한식이최대오차와신뢰구간에한정되게된다.

n =0.025z2

e2 , wherez2s2

N≈ 0

따라서 Monte Carlo는정확도와자원의사이에서적절한균형을찾아

야한다.이두가지를잘배치할수있도록 GA초반에는 Tendency Func-

tion에낮은신뢰도의샘플수를가지고공간을탐색하고마지막에 GA

에서찾은좋은적합도를가진후보들에게많은자원을투자하여신뢰

도를올리는방법을사용하였다.

3.3 Tendency for MMKP

MMKP의 문제공간에 경향적인 접근은 다음과 같이 이루어진다.

먼저모든제약조건이이루는점을베타(β)라고하고벡터공간에서각

제약조건별로베타와의거리의절대값 |∆dk|를취한다.그리고베타와

현재해,새로이동할해의위상차를찾아위상차가어떻게변하는지를

확인하고미리디자인된 6개의경향상수중조건이맞는경향상수 P를

취하였다.그리고 P를 ∆dk에곱한후필요자원차원인 k에대하여더하

여경향값 T′을구하였다.이값이최대가되도록계속보간알고리즘을

적용하여비적합해를적합해로옮기도록하였다.이때좋은경향상수

의값이핵심이되는데이값은유전알고리즘을이용한변수최적화를

이용하였다.

위와 같이 경향상수는 6개의 상수로 이루어져있고 이 상수는 wk

가 βk에 비교하여 어떠한 위치에 있는지를 확인 한 후 새로 이동하는

해의 k 요구사항 값 w′k를 βk와 비교하고 이를 βk −wk위치와 다시 비

교하여 6개의위상차를설정한다.그리고이값들은경향함수를위한

15

Page 24: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

유전알고리즘(Genetic Algorithm for Tendency Function, GATF)을통하

여최적값을찾게된다.

3.4 Tendency function

Tendency function은 위에서 구한 6개의 상수를 가지고 경향값이

최대가되는쪽으로비적합해를이동해나가는것이다.이러한이동을

반복하여비적합해를적합해로변경시킨다.

3.5 경향함수를위한유전알고리즘의 GeneticFramework

경향값을찾는알고리즘은단순하다.정통적인구조의유전알고

리즘을따른다.다만빠른수렴을위하여처음에는유전자를 10단위로

배치하고 세대가 늘어갈수록 그 폭을 줄이는 방법을 사용하였다. 그

리고 각 염색체를 경향함수에 넣은 후 해당 경향함수로 무작위로 만

들어진비적합해를적합해로만든다.최소의테스트를거쳐성공횟수

가해당경향상수의적합도가된다.이렇게하여가장좋은경향상수를

문제 공간에서 얻어낸다. 그림 4은 전체 유전알고리즘의 의사코드를

보여주고있다.

3.5.1 유전자표현

6개의경향상수값은각각정수이고값은하나의유전자가된다.

즉 6개의 경향상수(mmi, mmd, ppi, ppd, pd, dp)가 모여 염색체를 이

룬다.

16

Page 25: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

3.5.2 적합도함수

적합도는경향상수가해를얼마나잘바꿀수있는지를나타내게

된다. 적합도 함수는 염색체를 받아 경향함수를 해당 염색체를 이용

하여 만들게 된다. 이렇게 경향 함수를 만든 후 몇번이나 비적합해를

적합해로 만드는데 성공했는지를 돌려주는 calculateFeasibility함수를

n번 실행하게 된다. 이때 적합도는 successn 이 된다. 최종적인 적합도는

이 n을훨씬큰값으로하여검증능력을높힌다.

3.5.3 교차와변이

교차는각유전자가완전한독립이라는특징을살려환형교차를

변이는 2개의유전자를랜덤하게변경시켰다.

3.5.4 선택

선택은 룰렛휠을 사용하였다. 추첨확률은 최고의 염색체가 선택

될확률이최악의염색체에비하여 3배가되도록하였다.

3.5.5 대치

GATF는 Generation GA이다.따라서대량의 replacement가일어나

게 된다. 이때 GA가 Local optimum에 머무르는 일을 피하기 위해서

generation population을분석하여해집단군을모아대치를하였다.각

각의 해집단 군의 크기는 value의 크기 순으로 다음과같이 차별화 하

였다.

17

Page 26: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

|Gk|= |Population|/(k+1)+MinimunGroupSize (3.3)

두 Chromosome이 같은 해집단인지 판단하는 법은 Fig 3와 같이

hamming distance를 normalize후에 그룹상수 R보다 크다면 다른 집단

으로판단하였다.이러한집단화를거쳐서상위집단만이해집단으로

대치된다.

18

Page 27: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

foreach(Chromosome ch in sorted Generation population) {foreach(Group g in groups){

h = HammingDistance(g,ch)/N;if(h ¡ R){

g.add(ch)break;

}}if(missAll)

groups.Add(Group.Create(ch));}

그림 3: Simple Grouping Algorithm

struct TendencyParameter{int mmi;int mmd;int ppi;int ppd;int pm;int mp;

}

그림 4: The structure of 6 parameters : tendency parameter.

19

Page 28: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

Tendency(chromosometendency tp, chromosomeMMKP s){

IF s is infeasible(cmax,rmax) = argmax

(1≤c≤N,1≤r≤R){

TendencyUtility(t p,s,c,r)}

// Change an item in s which make// tendency utility to the best.s[cmax] = rmax;

ENDIFreturn s;

}

TendencyUtility(chromosometendency tp, chromosomeMMKP s,int c,int r){

cur← s[c]; //current itemres← 0;foreach Dimension k{

∆wc,cur← dk−wc,cur∆wc,r← dk−wc,r

case (∆wc,cur <0, ∆wc,r <0, ∆wc,cur-∆wc,r ≥0 )res += tp.mmi * (|∆wc,cur-∆wc,r|)

case (∆wc,cur <0, ∆wc,r <0, ∆wc,cur-dy <0 )res += tp.mmd * (|∆wc,cur-∆wc,r|)

case (∆wc,cur >0, ∆wc,r >0, ∆wc,cur-∆wc,r ≥0 )res += tp.ppi * (|∆wc,cur-∆wc,r|)

case (∆wc,cur >0, ∆wc,r >0, ∆wc,cur-∆wc,r <0 )res += tp.ppd * (|∆wc,cur-∆wc,r|)

case (∆wc,cur <0, ∆wc,r >0)res += tp.mp * (|∆wc,cur-∆wc,r|)

case (∆wc,cur >0, ∆wc,r <0)res += tp.pm * (|∆wc,cur-∆wc,r|)

}return res;

}

그림 5: The constructive procedure for make solutiontendency utility to thebest. : tendency function.

20

Page 29: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

calculateFeasibility(chromosometendency tp ){

chromosomeMMKP s;tp.value = 0;do

s = random infeasible solution();do

Tendency(tp,s);if(s is feasible){

tp.value++;break;

}while(stop condition);

while(stop condition);}

create initial populationdo {

choose parent1 and parent2 from population;offspring←crossover(parent1,parent2);mutation offspring);calculateFeasibility(offspring);replace(population, offspring);

}until(stop condition);

그림 6: The constructive procedure for repair infeasible solution with ten-dency function: RATF.

21

Page 30: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

제 4장

Hybrid GA for MMKP

혼합형유전알고리즘은위의경향함수를이용하여실제로MMKP

문제를풀게된다.전체혼합형유전알고리즘은그림7에서보이고있

다.

4.1 Genetic Framework

4.1.1 유전자표현

염색체는길이 N의정수배열로이루어져있으며 i번째유전자는

i번째클래스의아이템을의미한다.

create initial populationdo {

choose parent1 and parent2 from population;offspring←crossover(parent1,parent2);repair(offspring);local-optimization(offspring);replace(population, offspring);

}until(stop condition);

그림 7: A conventiaonal hybrid generational GA for MMKP

22

Page 31: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

4.1.2 적합도함수

적합도는두가지방법으로평가한다.만일적합한해라면MMKP

의해가가지는값을그대로이용하고적합하지않은해의경우−1k

∑ki=1

wibi

으로 표현하였다. 이때 k는 필요자원차원의 수이고 wi는 현재 염색체

의 i번째 필요자원차원의 필요자원의 총합이다. 적합하지 않은 해의

적합도는항상음수이기때문에적합한해와적합하지않은해는하나

의해집단에들어있어도문제가되지않는다.

4.1.3 교차와변이

교차는랜덤하게결정되는 n점교차를,변이는 5개이하의유전자

를랜덤하게변경시켰다.

4.1.4 선택

선택은 룰렛휠을 사용하였다. 추첨확률은 최고의 염색체가 선택

될확률이최악의염색체에비하여 3배가되도록하였다.

4.1.5 대치

앞에서언급하였듯 GATF는해가희박한상황에서도적합하지않

은 해를 feasible하게 바꿀 수 있는 Tendency function을 생성하지만 실

패하는횟수는늘어나게된다.따라서보간이실패하는상황이나오게

된다.이러한경우 GA에서해당비적합해가앞으로얼마나유용햘지

를확인하여효용이높은순으로다음세대로가져가는전략이필요하

다.이미비적합해역시 global optimum을찾기위해서는필요함을[11]

에서확인하였다.이를위해서대치에서는적합해와비적합해를따로

23

Page 32: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

구분하지않고오직적합도의순서대로기존해집단을대치한다.이는

비적합해의적합도가항상음수이기때문에가능하다.이때 1개의해

집단으로비적합해를적합한값과운용할경우한번해집단이적합한

값으로 채워지면 [11]에서 보듯 비적합한 해로 도달이 가능한 부분을

상실할 수 있다. 이는 대치시에 세대교체 방법으로 전체 해집단의 일

부를무조건새로운값중좋은값으로바꾸어주는방법을사용했다.

즉상위 30%에만 elitism을적용하고나머지부분은새로이생성된해

를 다음 세대로 가져감으로서 해를 풍부하게 유지하려 하였다. 엘리

트주의 적용은 다양한 해집단을 유지하기 위하여 손실된 수렴속도를

보상하기 위해서이다. 또한 GATF와 같이 집단화를 적용하여 협소한

검색을피할수있도록하였다.

4.1.6 보간알고리즘

보간 알고리즘으로는 경향함수를 사용하였다. 경향 상수는 기존

의경향함수를위한유전알고리즘에서얻어사용하게된다.

4.1.7 지역최적화알고리즘

기본적으로는 3opt를 사용하지만 복잡도가 O(n3)으로 시간이 너

무오래걸리기때문에 3-opt를변형하여사용하였다.모든클래스중 3

개의클래스를고른후 3개의클래스를클러스터라하고이안에있는

모든아이템을더하게되면 1클러스터는 1클래스가 k개의아이템으로

이루어 졌을 때 k3개의 아이템으로 이루어지게 된다. 이를 적합도순

으로정렬해두면구축에는클레스를모으는데(n

3

)이들게되고각클

러스터의 3개의아이템을더해서정렬을하면 k3 logk만큼이들게된다

24

Page 33: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

즉복잡도는 O(n3k3 logk)이된다하지만 k의값은전체공간에서매우

작으므로 (5 또는 10) 결론적으로 O(n3)이라고 할 수 있다. 이는 3-opt

의복잡도와같지만클러스터의경우현재까지적합하다고인정이된

가장부분값의합이큰클러스터를찾으면이후에는해당클러스터의

값보다 큰 값만 검색하면 된다. 선택될 확률이 동일하고 모든 클러스

터의같은위치의값은유사하다고할때첫 cluster에서선택되는값은

각각 1k3이된다.이를바탕으로다음클러스터의검색대상은 k3

2 + 1가

된다.즉 3log2 k이후의클러스터의기대검색횟수는 1이된다.따라서

시간을크게단축할수있었다.

25

Page 34: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

제 5장

실험결과

5.1 실험준비

실험의대상은 OR Library에서제공하는 mknapcb데이터셋으로

다른 논문의 데이터와의 비교를 위하여 일반적인 데이터를 선택하였

다. mknapcb데이터셋은원래MKP를위한데이터셋으로일반적으로

5개의아이템을 1개의클래스로인식하여사용한다.이렇게형성된클

래스수는가장쉬운 20개의문제에서최대 100개이고문제의차원은

5개에서 30개까지이다. 그리고 이 데이터셋이 형성하는 문제공간을

어렵게만들기위하여제약강도값 f(constraint strength value)라는값을

두어최대허용자원에일괄적으로해당값을곱하여사용하였다.즉기

존최대허용자원이 100이고 f가 0.7이라면새로운최대허용자원은 70

이된다[12] CP는 psuedo-code와같이구현하고 infeasible해에대해서

적용하였으며 Random 대조군은 100만번을 random하게 해를 생성하

고 몇개의 해가 feasible한지를 확인하였다. GATF의 population size는

30이고 generation은최대 300으로제한하였다.또한 Tendency function

의반복적용은최대 50회로제한하였고생성된 Probabilitychromosome의

fitness-value책정을위한 feasible check은 30회로셋팅하였다.

GATF는 GA가 최적해를 찾는동안 90%의 신뢰도와 10%의 최대

오차를 갖도록 설계하였고 GA가 끝나는 조건에 도달하면 Population

에서가장좋은 Chromosome 3개를골라 99%의신뢰도와 1%의최대오

26

Page 35: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

차로해를찾도록하였다.따라서 sample의수는각각 70.56개와 16384

개가 되어 이 infeasible한 sample에 tendency fucntion을 적용하게 되었

다. 또한 코드는 C++언어를 사용하였고 MS의 Visual Studio를 사용하

여 컴파일하였다. 동작환경은 intel 코어듀오 E4500 컴퓨터 상에서 동

작하였다.

5.2 경향함수의성능

경향함수의성능을확인하기위하여 mknapcb8데이터셋을준비

하였다. 해당 데이터 셋에서 f 값을 0.90에서 0.75까지 변화 시키고 각

각백만번씩비적합랜덤해를만들어적합성여부를판단하였다.이로

확인한 해 밀도는 그림8와 같다. 결과를 보면 0.82을 기준으로 거의 0

에 가까운 값을 확인할 수 있었다. 이러한 상황에서 CP 방식과 경향

함수 두가지를 비교 하였다. 역시 mknapcb8번 데이터를 가지고 두 알

고리즘으로각각 10,000번씩비적합해를적합한해로바꾸기위해각

각의알고리즘을적용하였다.이때 CP는원래무게대비값을가지고

만드는 초기해로 부터 시작해야 하나 초기해를 작성하는 것은 적합

도를 늘리기 위해서 임으로 여기서는 초기해를 비적합해로 랜덤하게

생성하였다.결과는그림9와같으며경향함수가 0.75근처에서도 40%

의비적합해를적합하게만드는반면 CP알고리즘은해의밀도가일정

수준일때는 비적합해를 적합하게 바꾸어내나 해의 밀도가 떨어지면

제대로비적합해를적합하게바꾸어내지못한다.

27

Page 36: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

0

50000

100000

150000

200000

250000

300000

0.750.760.770.780.790.80.810.820.830.840.850.860.87

그림 8: Desity of feasible solution in solution space.

0

2000

4000

6000

8000

10000

0.750.760.770.780.790.80.810.820.830.840.850.860.87

TRENDCP

그림 9: Generation feasible solution from CP and tendency function

28

Page 37: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

5.3 MMKP문제의해결

위에서인지된경향함수의성능을바탕으로기존해당데이터모

음에서 가장 좋은 값을 얻어낸 MPGA와 비교를 하였다. 비교 대상은

MPGA 논문[11]에 실린 모든 데이터 셋(mknapcb07, mknapcb08, mk-

napcb09)을비교하였다.비교결과 f가 0.9인경우 MPGA와같은값즉

최적해를찾는것을확인할수있었다.하지만 f가 0.8이하인어려운문

제에서는 항상 더 좋거나 같은 값을 찾아냈다. 또한 MPGA가가장 큰

데이터 셋인 mknapcb09문제에서 0.73까지 해를 찾을 수 있었던 반면

HGAMMKP는 0.72에서도항상해를찾을수있었다.

29

Page 38: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

표 1: Experimental result on Mknapcb7

f testset HMMKPMPGA HGMMKP

MAX AVR MIN MAX AVR MIN

0.9

0 17510 18627 18549.1 18524 18627 18627.0 186271 17948 17688 18081.0 18081 18081 18081.0 180812 17049 17688 17688.0 17688 17688 17688.0 176883 17833 17935 17935.0 17935 17935 17935.0 179354 17315 18550 18548.7 18483 18550 18550.0 185505 18318 18707 18705.1 18614 18707 18707.0 187076 18045 18141 18140.6 18119 18141 18141.0 181417 17301 18122 18122.0 18122 18122 18122.0 181228 17563 18881 18869.1 18803 18881 18881.0 188819 16691 17286 17239.1 17184 17286 17286.0 17286

0.84

0 15617 17482 17443.1 17351 17482 17478.5 174471 15951 17120 17026.9 17025 17120 17063.0 170252 14080 16655 16607.8 16421 16655 16655.0 166553 14876 17041 16991.5 16846 17041 17041.0 170414 15595 17531 17531.0 17531 17531 17531.0 175315 15791 17742 17617.6 17602 17742 17723.8 177166 15484 17425 17394.9 17385 17425 17425.0 174257 14963 16985 16855.9 16774 16985 16985.0 169858 16160 17763 17759.5 17616 17763 17763.0 177639 13098 16325 16323.6 16289 16325 16316.4 16254

0.8

0

N/A

15799 15559.6 15404 15799 15680.0 156801 15783 15724.6 15665 15816 15775.2 157352 15503 15410.3 14951 15503 15496.2 154693 15869 15822.3 15709 16015 16015.0 160154 16300 16300.0 16300 16300 16300.0 163005 16742 16742.0 16742 16742 16742.0 167426 16401 16088.8 15966 16401 16151.8 160457 15290 15015.0 14836 15290 15169.22 150298 16564 16559.9 16541 16564 16564.0 165649 15033 14862.1 14772 15033 14994.1 14863

30

Page 39: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

표 2: Experimental result on Mknapcb8

f testset HMMKPMPGA HGMMKP

MAX AVR MIN MAX AVR MIN

0.9

0 45493 45982 45982.0 45982 45982 45982.0 459821 47130 47291 47291.0 47291 47291 47291.0 472912 45390 45673 45658.6 45616 45673 45673.0 456733 45810 45810 45808.0 45804 45810 45810.0 458104 45270 45361 45358.8 45317 45390 45390.0 453905 46611 46611 46611.0 46611 46611 46611.0 466116 46064 46375 46375.0 46375 46375 46375.0 463757 45450 45491 45486.1 45459 45491 45491.0 454918 47156 47159 47159.0 47159 47159 47159.0 471599 45859 46149 46148.8 46139 46149 46149.0 46149

0.8

0 38523 43487 43209.9 42872 43530 43460.2 433941 41185 44843 44629.9 44450 44904 44838.6 447792 41259 43365 43108.3 42806 43388 43365.1 432903 40066 43011 42778.7 42513 43114 43001.6 429264 38262 43308 43040.2 42726 43368 43368.0 433685 39670 43486 43258.2 42993 43510 43462.5 432986 38547 43799 43574.6 43330 43823 43798.9 437507 39445 42520 42225.2 41957 42529 42458.5 423218 40954 44713 44446.4 44006 44714 44644.0 446039 39834 43582 43380.2 43062 43618 43535.7 43489

0.75

0

N/A

38933 38391.6 37519 39171 39160.8 389671 40105 39704.1 38946 40334 40197.1 399602 39147 38798.0 38392 39271 39207.4 392043 38826 38442.9 38013 38905 38754.2 385734 38508 38728.0 38201 39438 39205.6 390195 37829 37003.0 35777 38090 37683.9 372546 38475 37592.2 36747 38706 38339.8 380167 38322 37925.2 37632 38324 38184.3 380968 39647 38911.9 38240 39695 39287.4 390149 37380 36745.5 35689 37632 37215.5 36966

31

Page 40: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

표 3: Experimental result on Mknapcb9

f testset HMMKPMPGA HGMMKP

MAX AVR MIN MAX AVR MIN

0.9

0 92021 92025 92025.0 92025 92031 92031.0 920311 92371 92371 92371.0 92371 92371 92371.0 923712 93396 93396 93395.8 93387 93396 93396.0 933963 91815 91816 91813.3 91800 91816 91816.0 918164 93317 93317 93317.0 93317 93317 93317.0 933175 91547 91551 91550.4 91549 91553 91553.0 915536 91480 91480 91480.0 91480 91480 91480.0 914807 91672 91681 91662.8 91646 91681 91681.0 916818 93149 93149 93149.0 93149 93149 93149.0 931499 93528 93531 93531.0 93531 93531 93531.0 93531

0.75

0 74927 83268 82676.5 81838 83540 83404.4 832611 73570 81222 80528.5 79791 81646 81263.0 810222 74739 82815 81928.0 80756 83149 82961.0 827963 69813 81672 80910.2 80141 81927 81751.4 815714 74323 83572 82779.4 81719 84121 83703.6 834235 74303 82815 82049.2 81237 83045 82761.2 825396 72018 79760 78902.2 77990 80037 79658.3 793727 73777 80493 79865.2 79055 81052 80700.4 804808 74376 81970 81262.5 80557 82326 82111.3 818999 73496 83236 82535.4 81536 83676 83458.8 83154

0.73

0

N/A

78584 77801.9 76725 79008 78453.0 762411 74877 73897.2 72803 74968 74156.5 739262 76904 75552.8 73675 77082 76109.5 726813 75335 74259.5 72440 75590 75184.6 744694 78389 77104.6 75914 78567 78235.8 778885 78314 77110.2 75709 78516 77980.7 775366 73175 71956.2 69992 73523 72753.3 699977 74434 73268.5 71354 74463 73857.8 722848 76600 75811.7 73799 76913 76607.3 763379 77046 75486.8 73698 76793 76188.0 75583

32

Page 41: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

표 4: Experimental result on Mknapcb9 with f=0.72

f testset HMMKP MPGAHGMMKP

MAX AVR MIN

0.72

0

N/A N/A

73280 72989.0 726801 70017 69841.0 696172 71774 71238.0 704343 69823 69484.0 689374 74896 74682.6 745115 74536 74216.2 740406 68900 68509.4 681437 68738 68467.5 682128 73458 73208.2 730169 72020 70799.9 70110

33

Page 42: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

제 6장

결론

MMKP는하나의아이템과모든제약조건의차원이연결되는어

려운문제이다.또한값과제약사항이아무런상관관계를가지고있지

않고 제약사항 역시 다른 차원끼리는 상관관계가 없다. 하지만 어떠

한상관관계를가지지않고생성된문제공간이라할지라도어떠한경

향을 가질 수 있다는 것을 GATF로서 보일 수있었다. 그리고 이러한

특성을잡아내는데몬테카를로와 GA의조합이매우유용하다는것을

확인할수있었다.

GA자체로도 기존연구에서 보여진 비적합 한 영역의 탐색을 여러 해

집단을 이용하지 않아도 하나의 해집단을 이용하되 적합도를 음수와

양수로 나누어 서로를 분리하고 해를 그룹화 하여 그룹별로 대치함

으로서 적합해와 비적합해가 서로 원활이 교차되고 매력적인 끌개에

연연하지않고지역최적해를향할수있음을확인하였다.

하지만이번 GATF의 Tendency함수는다수실험의결과와 CP알고리즘

에서그함수최적화의뼈대를취하였다. Tendency함수의성능을좀더

증대시키기위해서는단순히자료묶음으로부터 GATF가직접인수를

구해서 함수 최적화를 구할 수 있도록 연구하는 것이 필요하다. 이를

위해서 GATF의 구조를 GA만이 아니라 GP의 구조를 가지게 된다면

좀더성능의향상이기대된다.

34

Page 43: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

참고문헌

[1] M. Moser, D. Jokanovic, and N. Shiratori, “An algorithm for the mul-

tidimensional multiple-choice knapsack problem,” IEICE transactions

on fundamentals of electronics, communications and computer sci-

ences, vol. 80, no. 3, pp. 582–589, 1997.

[2] Y. Toyoda, “A simplified algorithm for obtaining approximate so-

lutions to zero-one programming problems,” Management Science,

pp. 1417–1427, 1975.

[3] S. Khan, K. Li, E. Manning, and M. Akbar, “Solving the knapsack

problem for adaptive multimedia systems,” Stud. Inform. Univ., vol. 2,

no. 1, pp. 157–178, 2002.

[4] N. Cherfi and M. Hifi, “A column generation method for the multiple-

choice multi-dimensional knapsack problem,” Computational Opti-

mization and Applications, vol. 46, no. 1, pp. 51–73, 2010.

[5] M. Mostofa Akbar, M. Sohel Rahman, M. Kaykobad, E. Manning,

and G. Shoja, “Solving the multidimensional multiple-choice knap-

sack problem by constructing convex hulls,” Computers & operations

research, vol. 33, no. 5, pp. 1259–1273, 2006.

[6] A. Sbihi, “A best first search exact algorithm for the multiple-choice

multidimensional knapsack problem,” Journal of Combinatorial Opti-

mization, vol. 13, no. 4, pp. 337–351, 2007.

[7] J. Holland, Adaptation in natural and artificial systems. No. 53, Uni-

versity of Michigan press, 1975.

[8] B. Kernighan and S. Lin, “An efficient heuristic procedure for parti-

tioning graphs,” Bell System Technical Journal, vol. 49, no. 2, pp. 291–

307, 1970.

35

Page 44: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

[9] S. Lin and B. Kernighan, “An effective heuristic algorithm for

the traveling-salesman problem,” Operations research, pp. 498–516,

1973.

[10] M. Hifi, M. Michrafy, and A. Sbihi, “Heuristic algorithms for the

multiple-choice multidimensional knapsack problem,” Journal of the

Operational Research Society, pp. 1323–1332, 2004.

[11] Q. Zhou and W. Luo, “A novel multi-population genetic algorithm

for multiple-choice multidimensional knapsack problems,” Advances

in Computation and Intelligence, pp. 148–157, 2011.

[12] R. Parra-Hernandez and N. Dimopoulos, “A new heuristic for solving

the multichoice multidimensional knapsack problem,” Systems, Man

and Cybernetics, Part A: Systems and Humans, IEEE Transactions on,

vol. 35, no. 5, pp. 708–717, 2005.

36

Page 45: Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한

Abstract

Hybrid Genetic Algorithm for theMultiple-Choice Multidimensional

Problem with Novel RepairAlgorithm

Jaeyoung Yang

School of Computer Science & Engineering

The Graduate School

Seoul National University

English abstract.

Keywords : Genetic Algorithm, MMKP, Tendency

Student Number : 2011-20875

37