유전 알고리즘을 인코딩, 최적화 및 디코딩하여 다시 살펴 보았습니다. 나의 첫번째 시도는 큰 일을했던 주문한 십자가를 지닌 여행 세일즈맨이었다. 나는 2 차원 패킹 문제를 최적화하면서 더 복잡한 게놈을 최적화하려고 시도한 기사를 발견했습니다.단두대 절단 최적화를위한 유전 알고리즘
저자는 의미있는 역방향 폴란드어 표기법을 사용하여 문제를 인코딩합니다. 그것은 파트와 V 또는 H 중 하나를 오퍼레이터로 사용합니다. 내 최종 레이아웃 하나 개 스택 요소로 해석 될 필요 스택 디코딩 즉 34H5V
. 즉, 특정 지점까지의 운영자 수는 동일한 지점까지의 부품 수보다 1 작아야합니다. 그런 다음 작성자는 부품에 대한 교차 크로스 오버와 연산자에 대한 바이너리 크로스 오버를 사용하여 혼합 크로스 오버를 사용했다고 명시합니다.
나는 이것을 극복했으나 성능을 평가하기 전에 파트와 연산자를 분리하고 재결합하는 방법을 이해할 수 없으며 세부 사항을 거의 제공하지 않습니다. 이진 크로스 오버가 발생하면 부품을 "X"로 교체하여 상대 위치를 유지하므로 크로스 오버 후 재조합 될 수 있지만 작업자와 부품 간의 관계는 사실이 아닙니다.
비슷한 시나리오를 다루는 사람이 있거나 아마도 성공적으로이 자원을 사용하고있는 사람이있을 것입니다.