temporary tsp

image mutation rate control + alien

 

image no alien no mut ctrl

image roulette wheel, 800 50 mutation control alien

468

image roulette, no mut ctrl, no alien

 

image roulette pressure 3.0 no mut ctrl, no alien

 

image  roulette, 10 ipop

 

 

image

100개 도시. roulette 3.0 10 ipop, no mut ctro, no alien

image

같이 100개 도시. no mutation - 엄청 나빠짐을 알 수 있다.

5000번 정도부터 평균값과 최저값이 거의 수렴해버렸다.

image

800개에서 2000개로 population 올렸고 20개 ipop. 여전히 수렴해버린다.

 

image

여기에 mutation을 넣었다. 지금부턴 mutation을 통해 다양성을 늘리고 있으나 수렴이 늦다. 1300대

 

 

image

역시 100개도시. mutation control을 켰다. 그리고 mutation의 25%는 완전히 새걸로 섞는다. population이 redundant한가를 avg와 best가 5% 이내 차이나냐로 하고 0.5% 스텝으로 mutation rate증가시켰다. 그러니 8%정도에서 멈춘다.

1000대로 결과가 좋게 나온다.

 

 

image

이번엔 ipop을 50으로 늘여봤다. 120초 후의 세대가 70000대로 줄었다.

역시 비슷하게 1000대 (pressure는 3.0) mut rate은 4.5%가 됐다.

2000으로 내려가는 것은 빠르고, 그 이후로는 완만하게 내려간다.

 

 

자 여기서 selection을 tournament로 바꿔보자 2단계로, 0.6 압력이다

image image

970정도 나온다. mutation rate은 9%가 됐다. 한번 더 했는데 930대. 7%

 

 

초기  mutation rate를 조금 올려보자. 1.5%였는데 5%로 올려볼까

image

1000 넘는다. 아까의 970보단 그닥 좋게 안나온다. mutation rate는 8%로 됐다.

아예 랜덤하게 selection하는 것 보단 좋다는 걸 보이겠다.

selection을 random으로 한 것과 random diversity 한 것(좋은거 하나 나쁜거 하나 offspring만들기)

image

엇 예상보다 잘나왔다. 1050 random

 

그렇다면 mutation이 거의 주 팩터라는 얘긴데(CX도 별거 아닌 건 위에서 봤음)

image

random diversity는 1100대가 나온다. selection이 조금 효과가 있긴 있다고 볼 수 있나…

 

 

mutation을 극단적으로 올려보자 초기를 45%로

image

diversity로 한 경우 1200대로 더 나빠졌다.

 

random으로 해보자

image

1300대로 더 안좋다.

 

0.15%로 돌려보자

image

1033 좋다.

 

tournament로 ipop을 20으로 했다.

image

1100대 50때가 좋다.

selection은 한껀당은 roulette가 좋지만 연산이 느려서 세대가 느리게 증가함으로 tournament가 시간제약상황에서 더 우수하다.

 

Tournament 800-20

image

980대로 예상보다 좋은 값을 가졌다

image

여기에 stage를 1로

좀더 안좋다. 1080대

선택압을 0.6에서 0.7로 올려보자

image

1060대 그다지 변화없다

그러므로 0.6 stage2로 해보자.

 

이제 30개 도시 테스트

image

470대. 예상외로 최적값이 나오지 않고 설익은 수렴했다. 450대란 걸 알고 있고 본적이 있는데 그렇게 안나온다. 두번 해봐도 마찬가지.

- 100개를 위해 최적화하다보니 어차피 안되는 최적값 찾기는 포기하고 수렴을 빨리 하도록 최적화된게 아닌가 한다.

그래서 ipop을 50으로

image

그래도 비슷하다.

image

467 ipop20다시 돌아옴.

 

랩 사람들의 얘기를 들어보니 cross over 연산자를 order cx로 바꾸면 더 성능이 잘 나온다는 것 같다.

바꿔보았다.

30개 도시

image

120초 동안 전체 34만 generation으로 cycle crossover랑 비슷한 속도. 대신에 average가 위에 있는 것이, 다양성이 많다. 최적값은 아니었지만. (최적값으로 수렴하게 하는 것은 mutation이랑 관련 있는 것 같음)

 

100개 도시

image

모양은 비슷한 것 같다. 대신에 다양성이 꽤 많아서, mutation ratio가 증가하지 않았다. 조정하는 게 좋겠고 16만 generation. 비슷하다. 900대

 

여기에 mutation ratio 조정을 시간으로 하게 해봤다.

전체 수행시간의 절반 이후는 +45%

image

그러나 그다지 좋아지지 않았다. 1000대 아까랑 비교할 때 더 안좋아진 느낌.

+10%로 해봤다

image

결과값은 조금더 좋았다. 그다지 차이는 없다 970쯤

 

여기에 ipop을 50으로 늘여봤다.

image

값 차이는 없다 추세도 비슷.

 

여기에 다시 cx 연산자를 mix해봤다. 4번에 cross simple, cross, order 2번 섞었다

image

910대로 좋아진다! 추세도 주욱 내려간다. 처음 이쪽으로 내려갔다.

수렴속도가 느려진것 같다. 그러면 여기에 replacement policy 를 수정하면?

그러나 두번째 재수행 때는 더 안좋았다. 1100대.. –;

image

 

replacement policy를 worst removal로 했다.

image

790대가 나왔다. 이걸 좀 더 다양하게 해주면?

image

victim을 g마다 랜덤하게 parent/worst로 해봤다. 870대 그닥..

 

image

victim을 worst로 cx mix를 바꿔봤다. 870쯤 ipop은 1000

Leave a Reply