저작자표시-비영리-변경금지 2.0 대한민국 이용자는 아래의 조건을 따르는 경우에 한하여 자유롭게 l 이 저작물을 복제, 배포, 전송, 전시, 공연 및 방송할 수 있습니다. 다음과 같은 조건을 따라야 합니다: l 귀하는, 이 저작물의 재이용이나 배포의 경우, 이 저작물에 적용된 이용허락조건 을 명확하게 나타내어야 합니다. l 저작권자로부터 별도의 허가를 받으면 이러한 조건들은 적용되지 않습니다. 저작권법에 따른 이용자의 권리는 위의 내용에 의하여 영향을 받지 않습니다. 이것은 이용허락규약 ( Legal Code) 을 이해하기 쉽게 요약한 것입니다. Disclaimer 저작자표시. 귀하는 원저작자를 표시하여야 합니다. 비영리. 귀하는 이 저작물을 영리 목적으로 이용할 수 없습니다. 변경금지. 귀하는 이 저작물을 개작, 변형 또는 가공할 수 없습니다.
45
Embed
Disclaimer - Seoul National Universitys-space.snu.ac.kr/bitstream/10371/122926/1/000000008782.pdf다차원 다선택 배낭문제를 위한 새로운 보간알고리즘을이용한
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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
MMKP를풀기위하여분기한정법(branch-and-bound)과최고우선탐색
(best-first search)를이용하는방법을제안하였다[6].이논문의구성은
다음과같다. 2장에서는유전알고리즘와 MMKP에대한사전연구들
에대해기술하고 3장에서는경향적접근에대하여설명한다. 4장에서
는 MMKP를 풀기위한 혼합형 유전 알고리즘을 제안한다. 5장에서는
위에서제시한알고리즘을실험한결과를제시하고성능의향상을보
인다.마지막으로 6장에서는개선점과함께결론을맺는다.
3
제 2장
관련연구
2.1 유전알고리즘
유전 알고리즘은 특정문제가 가지는 차별화된 문제공간에 크게
구애받지않고문제에적용될수있는메타휴리스틱(Meta Heuristic)의
하나로 자연선택으로 대표되는 생물의 진화 원리를 모방하여 문제를
해결하는알고리즘으로 Holland[7]가기본적인이론을정립한이래로
컴퓨터공학, 생물학, 화학 등 여러가지 분야의 최적화 문제를 푸는데
사용되었다.이는유전알고리즘이가지는매우큰탐색공간에서도효
율적인공간탐색능력과문제의특별한공간을효과적으로대응할수
있는 로컬 알고리즘이나 다른 메타 휴리스틱과의 결합이 쉽기 때문
이다.
2.2 유전알고리즘의구조
유전알고리즘은기본원리는현재까지의해집단을변형시켜문제
공간에 더 맞는 나은 해집단을 생성하려 한다. 이러한 원리는 알고리
즘 1와같이구현된다.여기서 m개의해를가진해집단으로부터 n개의
새로운해를생성하여기존해집단에대치연산을통하여생성된해를
추가한다. 여기서 nm를 세대차(Generation Gap)라고 하며 세대차로 유
전알고리즘을나눌수있는데세대차가 1에가까운유전알고리즘을
4
세대형유전알고리즘(Generational Genetic Algorithm)이라고하고,세
대차가 nm에가까운알고리즘을안정상태유전알고리즘(Steady-State
Genetic Algorithm)이라고한다.세대차의차이는수렴속도와다양성에
영향을 미치게 되는데 세대형 유전 알고리즘은 수렴속도가 느린대신
해집단의다양성을유지할수있다.반면에안정상태유전알고리즘은
진행속도와수렴속도가빠른대신설익은수렴을할가능성이높다.
2.3 유전알고리즘의구성요소
• 염색체(Chromosome) 유전 알고리즘에서 하나의 해(solution)은
염색체로표현된다.해를염색체로표현하는방법은이진스트링
표현부터 1차원수열,다차원스트링등다양하다.해를염색체로
표현하는과정에서유전알고리즘이문제에적용하는효과를볼
수 있다 따라서 이러한 변환은 문제공간을 결정하는 중요한 역
할을한다.
• 해집단(Population)해집단은염색체의집합을의미한다.이러한
해집단은크기와갯수에따라유전알고리즘의성능이달라지게
된다.해집단에서특정해가차지하는비중이커지는현상을수
렴이라고하며 일반적으로 해집단이 커지면 수렴이 늦어지지만
해의다양성이좋아지고반대로작은해집단은수렴은빨라지지
만해의다양성이떨어지게된다.
• 적합도(Fitness) 유전자가 목적에 얼마나 적합한지를 나타내는
척도가된다.목적은제시된문제의답으로서의가치뿐아니라
앞으로얼마나좋은해를발현할수있는지와같은여러가지의
미로표현된다.이러한적합도를유전자로부터얻어내는함수를
5
적합도 함수(Fitness function)이라고 하며 유전 알고리즘을 문제
에접목시키는데중요한역할을한다.
• 선택연산자(Selection) 해집단 내에서 어떤 해가 교배에 선택될
지를 고르는 연산으로 선택된 유전자는 자신의 유전자 안에 내
재된성질인스키마의해집단내의밀도를높힐가능성이크다.
일반적으로선택은적합도가기준이되고적합도를반영하는정
도인 선택압(selection pressure)이라고 한다. 이러한 선택압이 높
아지면설익은수렴을하여해의다양성이떨어지게된고반대로
선택압이낮으면수렴이잘되지않아좋은해를찾는데어려움
이있다.따라서해의다양성을유지하면서도적합도를좋게하는
스키마를얻어내기위해서룰렛휠,토너먼트,순위기반등여러
방법이고안되었다.
• 교차연산자(Crossover) 교차 연산자는 유전 알고리즘의 핵심적
인연산자이다.교차연산은선택된두해의부분을결합하여새
로운해를만들어낸다.이러한교차연산은문제와염색체구조
에따라서다양한교차연산자가제안되어있다.자연의교배를
모델링한일점교차부터다차원의염색체를지원하기위한교차
연산자까지 그 종류가 매우 다양하다. 유전 알고리즘에서 교차
연산은연산자내의특성즉스키마(schema)중목적에맞는스키
마를결합하여적합도를올리는것을목적으로한다.
• 변이연산자(Mutation) 변이 연산은 선택된 해의 일부를 변화시
켜새로운해를만들어낸다.유전자의일부를변형하면해표현
에 따라 전혀 다른 해가 될 수 있다. 공간탐색의 관점에서 보면
탐험(exploitation)의 성격이 매우 강하다. 성공적인 변이 연산은
6
집단의품질향상에기여하게되고,실패한변이연산은대치시
도태되거나해집단안에서자연스럽게도태되게된다.
• 수선(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
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
수렴속도때문에라마르크형대치를사용한다.
혼합형유전알고리즘에서는유전알고리즘보다지역최적화알고
리즘의중요성이크게대두된다.혼합형유전알고리즘을사용해보면
대부분의 시간이 지역 최적화 알고리즘을 수행하는데 사용되는 것을
쉽게 알 수 있다. 이는 대부분의 지역 최적화 알고리즘이 일부분이긴
하지만 주어진 부분의 대부분을 탐색하여 좋은 해를 찾기 때문이다.
일례로 널리 알려진 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
은결정형알고리즘이다.한아이템이가지는필요자원을모두더하고
이것으로아이템이가진값으로나누어해당클래스에서가장큰값들
을모아시작해를만들고위의빼고더하기(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
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
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
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
제 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
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
구분하지않고오직적합도의순서대로기존해집단을대치한다.이는
비적합해의적합도가항상음수이기때문에가능하다.이때 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
즉복잡도는 O(n3k3 logk)이된다하지만 k의값은전체공간에서매우
작으므로 (5 또는 10) 결론적으로 O(n3)이라고 할 수 있다. 이는 3-opt
의복잡도와같지만클러스터의경우현재까지적합하다고인정이된
가장부분값의합이큰클러스터를찾으면이후에는해당클러스터의
값보다 큰 값만 검색하면 된다. 선택될 확률이 동일하고 모든 클러스
터의같은위치의값은유사하다고할때첫 cluster에서선택되는값은
각각 1k3이된다.이를바탕으로다음클러스터의검색대상은 k3
2 + 1가
된다.즉 3log2 k이후의클러스터의기대검색횟수는 1이된다.따라서
시간을크게단축할수있었다.
25
제 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
차로해를찾도록하였다.따라서 sample의수는각각 70.56개와 16384
개가 되어 이 infeasible한 sample에 tendency fucntion을 적용하게 되었