접근 제약이 있는 여러 여행 세일즈맨 문제를 해결하기 위한 적응형 교차 연산자를 사용한 유전 알고리즘

여러 여행 판매원을 위한 적응된 교차 연산자를 사용한 유전 알고리즘 방문 제약 문제

요약

VCSMP(Multiple Traveling Salesman Problem with Access Restrictions)는 각 도시를 여러 명의 판매원만 방문할 수 있는 전통적인 MTSP(다중 여행 외판원 문제)의 일반 버전입니다. 이 새로운 문제를 해결하기 위해 우리는 2염색체 표현 체계를 사용하여 MSTP에 유전 알고리즘(GA)을 적용했습니다 . 여기서 하나의 염색체는 도시의 방문 순서를 나타내고 다른 염색체는 판매원에 대한 도시의 할당을 나타냅니다. VCSMP를 해결하는 유전자 알고리즘의 효율성을 더욱 향상시키기 위해 세 가지 인기 있는 교차 연산자, 즉 순환 교차(CX), 순차 교차(OX) 및 부분 매핑 교차(PMX)를 수정합니다. 전통적인 TSP 실행과 유사하게 세 가지 교차 연산자는 모두 도시 서열 염색체에서 실행되며 이들의 적응성은 두 번째 염색체의 판매원 할당을 수정하는 데 있습니다. 이를 위해 도달성 매트릭스를 기반으로 수정 메커니즘을 구현하여 교차 후 생성된 솔루션을 실현 가능하게 만듭니다. 벤치마크 TSPLIB 앙상블에 의해 생성된 총 16개의 VCSMP 인스턴스에 대한 광범위한 실험에서는 적응형 유전 알고리즘이 VCSMP에 효과적으로 대처할 수 있으며 수정된 PMX를 사용한 유전 알고리즘이 전체적으로 최고의 성능을 달성한다는 것을 보여줍니다.

I.소개

다중 여행 외판원 문제(MTSP)는 전통적인 여행 외판원 문제 [1]-[3]의 일반화된 형태입니다. MTSP에서는 여러 영업사원이 서로 협력하여 여러 도시를 여행하며, 한 명의 영업사원만이 각 도시를 한 번 방문하면서 총 여행 비용을 최소화합니다. 기존 MTSP에서는 모든 영업사원이 모든 도시에 액세스할 수 있습니다. 그러나 일부 실제 시나리오에서는 일부 도시에서 특정 판매원만 이용할 수 있도록 제한될 수 있습니다. 예를 들어, 물류 발송에서 일부 위험물은 특정 트럭을 통해서만 서비스될 수 있습니다. 이 실제 문제를 시뮬레이션하기 위해 이 논문에서는 판매원에 대한 도시의 접근성이 0과 1을 포함하는 접근성 매트릭스로 표현되는 접근 제약이 있는 다중 여행 판매원 문제(VCSMP)를 설정합니다. 해당 요소가 1인 경우에만 해당 영업사원이 해당 도시에 접근할 수 있습니다. 그림 1은 MTSP의 예를 보여줍니다. 이 다이어그램에서는 도시마다 영업사원에 대한 액세스 권한이 다릅니다. 점 뒤의 숫자는 해당 도시를 방문할 수 있는 판매원의 수를 나타냅니다. 특히 포인트 규모가 클수록 해당 도시를 방문할 수 있는 세일즈맨이 많아진다.

도시 접근에 대한 복잡한 제한으로 인해 VCMTSP는 기존 MTSP보다 더 복잡하고 해결하기 어렵습니다. 특히, 접근 제한으로 인해 영업 직원을 도시에 최적으로 배치하기가 어렵고, 후속 경로 최적화도 더욱 어려워집니다[4], [5].

문헌에서 많은 연구자들은 MTSP를 최적화하기 위해 유전자 알고리즘을 적용합니다[6]-[10]. 처음에 MTSP를 효율적으로 해결하기 위해 연구자들은 GA에서 염색체를 인코딩하는 다양한 표현 방식을 개발했습니다. 예를 들어, [8]에서는 두 부분으로 구성된 염색체 인코딩 방법을 채택했는데, 여기서 첫 번째 부분은 도시 순서를 나타내고 두 번째 부분은 판매원을 나타냅니다. 다중 염색체 표현 메커니즘은 [11]에서 제안되었으며, 여기서 각 염색체는 판매원의 경로를 나타냅니다. 또한 일부 연구에서는 MTSP [6], [9]를 해결하기 위해 다양한 GA를 조사했습니다. 또한 길이 제약이 있는 최소-최대 MTSP[12], 용량 및 시간 창을 갖춘 MTSP[13], UAV용 MTSP[14] 등 복잡한 제약 조건을 갖는 확장된 MTSP에 초점을 맞춘 일부 연구와 실제 응용 분야에 대한 연구가 있습니다. ][15] 및 트럭용 MTSP 계획

다양한 MTSP를 해결하기 위해 다양한 GA가 공식화되었지만 우리가 아는 한 도시에 대한 접근 제한을 고려한 연구는 없습니다. 본 논문에서는 VCMTSP가 MTSP의 일반적인 형태라는 점에 착안하여 MTSP에 GA를 적용하여 NCMTSP를 다루려고 한다. 구체적으로 본 논문에서는 2염색체 표현 전략을 채택했는데, 한 염색체는 도시의 방문 순서를 담당하고 다른 염색체는 판매원에게 도시를 할당하는 역할을 담당합니다. 효율적이고 높은 타당성으로 개발하기 위해 본 논문에서는 널리 사용되는 세 가지 교차 연산자인 순환 교차(CX)[16], 순차 교차(OX)[17] 및 부분 매핑 교차(PMX)[18]를 사용합니다. GA가 VCSMP에 대처하려면

MTSP를 다루는 적응형 유전 알고리즘의 효율성을 검증하기 위해 본 논문에서는 먼저 널리 사용되는 TSPLIB [19] 벤치마크 세트에서 다양한 도시와 영업 직원 수를 사용하여 여러 MTSP 인스턴스를 생성합니다. 그런 다음 VCSMP 해결 시 적응 유전 알고리즘의 최적화 성능을 관찰하기 위해 이러한 인스턴스에 대한 실험을 수행합니다.

이 기사의 나머지 부분은 다음과 같이 구성됩니다. 섹션 2에서는 VCMTSP의 구체적인 수학적 정의를 제공합니다. 그런 다음 섹션 III에서는 GA 프레임워크와 VCMTSP에 적합한 세 가지 교차 연산자를 소개합니다. 섹션 4에서는 조정된 GA의 효율성을 입증하기 위해 여러 MTSP 계획 인스턴스에 대한 실험을 수행합니다. 마지막으로 5장에서는 논문을 마무리한다.

2. 문제의 정의

구체적으로 VCMTSP의 수학적 정의는 다음과 같습니다. n개의 도시와 m개의 판매원이 주어지면 도시 지도는 완전히 방향이 지정되지 않은 그래프 G = (V, E)로 설명될 수 있습니다. 여기서 V는 도시를 나타내고 E = {eij | i, j∈V}는 도시를 연결하는 가장자리를 나타냅니다. . 판매원에 대한 도시의 접근성을 공식화하기 위해 접근성 행렬 A=[aij]n×m을 정의합니다. 여기서 Aij=1은 판매원 j가 도시 i에 접근할 수 있음을 의미하고 Aij=0은 영업사원은 접근할 수 없습니다. 그림 2는 m명의 판매원과 n개의 도시가 있는 VCMTSP i 인스턴스에 대한 접근성 매트릭스의 예를 보여줍니다. 이 행렬에서 행은 도시를 나타내고 열은 영업사원을 나타냅니다.

 VCMTSP의 목표 기능은 모든 영업 직원의 총 출장 비용을 최소화하는 것입니다. 이는 다음과 같이 정의됩니다.

여기서 C(Routei)는 경로 i의 비용입니다. 이 목표는 다음 제약 조건을 충족함으로써 달성됩니다.

1) 모든 도시를 방문해야 합니다:

2) 각 도시마다 한 명의 영업사원만 방문합니다.

3) 세일즈맨 i는 무장애 도시에만 접근할 수 있으며 제한된 도시에는 접근이 금지되어 있습니다.

MTSP와 VCMTSP의 주요 차이점은 세 번째 제약 조건입니다. 이러한 제한으로 인해 VCSMP의 최적화는 판매 직원에 대한 도시 할당에 심각한 영향을 미치고 결과적으로 판매 직원의 경로 최적화에 영향을 미치기 때문에 더욱 어려워집니다.

3. VCMTSP에 적합한 어댑터

위에서 정의한 VCSMP 문제를 효과적으로 해결하기 위해 본 논문에서는 도달성 행렬을 기반으로 유전자 알고리즘의 교차 연산자를 수정합니다.

A.유전자 알고리즘

이 논문에서는 VCMTSP에 대한 실행 가능한 솔루션을 나타내기 위해 2염색체[20] 표현을 사용합니다. 구체적으로, 그림 3(a)에 표시된 것처럼 각 실현 가능한 솔루션은 두 개의 염색체로 구성됩니다. 첫 번째 염색체는 도시의 배열이고, 다른 염색체는 첫 번째 염색체와 관련된 도시에 판매원을 할당합니다. 이러한 표현 메커니즘을 이용하면 동일한 판매원이 있는 도시를 첫 번째 염색체에 나타나는 순서대로 배열하여 각 판매원의 경로를 얻을 수 있습니다.

이러한 표현 메커니즘을 기반으로 유전자 알고리즘의 전반적인 과정을 알고리즘 1에 개괄적으로 설명한다. 처음에는 탐욕스러운 전략을 통해 NP 개체가 초기화됩니다. 구체적으로, 첫 번째 염색체는 전통적인 TSP 유전자 알고리즘과 마찬가지로 그리디 전략을 통해 초기화되고, 두 번째 염색체는 도달 가능성 행렬을 기반으로 초기화됩니다. 첫 번째 염색체의 각 도시에 대해 한 명의 영업사원만 도시를 방문할 수 있는 경우 해당 도시는 해당 영업사원에게 할당됩니다. 그렇지 않고, 여러 판매원이 방문할 수 있는 도시라면 동일한 확률로 판매원 중 한 명에게 무작위로 할당됩니다.

모집단(라인 1)을 초기화한 후 GA는 반복적으로 진화하기 위해 메인 루프(라인 4-21)에 들어갑니다. 먼저, 룰렛 선택 전략(라인 5)을 사용하여 교배할 인구 중에서 개인을 선택합니다. 선택 후에는 크로스오버 작업이 계속됩니다. 전통적인 TSP 유전자 알고리즘과 달리 이 논문은 먼저 모집단을 무작위로 섞은 다음(라인 6) 개체를 쌍으로 만듭니다. 각 개인 쌍에 대해 [0, 1] 내에서 무작위로 생성된 실수가 교차 확률보다 낮으면 두 개인에 대해 교차 연산자를 수행하여 그들을 대체할 두 자손을 생성합니다(라인 9-11). 교차 후 각 개체에 대해 [0, 1] 내에서 균일하게 생성된 실수가 돌연변이 확률보다 낮으면 해당 개체에 대해 돌연변이 연산자가 실행됩니다(15-17행).

위의 메인 루프는 종료 조건이 충족될 때까지 계속됩니다. 알고리즘의 끝에 도달하면 전역 최적 솔루션이 최종 출력으로 얻어집니다.

알고리즘 1에서 교차 연산자는 한편으로는 유망한 자손을 생성하기 위한 유전자 교환을 담당하기 때문에 자손 생성에서 중요한 역할을 합니다. 반면에 전통적인 TSP 유전자 알고리즘에서는 교차 확률이 일반적으로 높습니다. . 따라서 효과적인 교차 운영자는 위험 관리 전략 문제를 해결하는 데 있어 유전 알고리즘의 성능에 큰 영향을 미칩니다. 다음에서는 VCMTSP 문제를 효과적으로 해결하기 위해 널리 사용되는 세 가지 교차 연산자를 GA에 적용합니다.

B. 부분적으로 매핑된 크로스오버 부분적으로 매핑된 크로스오버

부분 맵 교차(PMX) 연산자는 원래 Goldberg와 Lingle이 고전적인 TSP[18]를 해결하기 위해 제안했습니다. 두 부모가 교배되기 위해 PMX는 먼저 염색체에서 서로 다른 두 지점을 무작위로 선택한 다음 두 부모 염색체에서 선택된 두 대립 유전자 사이의 유전자 세그먼트를 교환하여 두 자손을 생산합니다.

세그먼트 교환 후, 중복된 도시와 누락된 도시로 인해 두 개의 결과 자손이 실현 가능하지 않을 수 있습니다. 이 두 하위 항목을 수정하기 위해 도시 매핑 시퀀스는 교체된 두 선분을 기반으로 정의됩니다. 그런 다음 정의된 도시 매핑을 기반으로 스왑 세그먼트 외부의 중복 도시가 그에 따라 교체됩니다.

PMX 연산자의 작동 방식을 직관적으로 이해하기 위해 그림 4는 9개 도시의 두 부모에 대한 PMX 프로세스의 예를 보여줍니다. 먼저, 두 개의 서로 다른 대립유전자인 3과 6이 무작위로 선택됩니다. 그런 다음 부모 A와 부모 B의 두 대립유전자 사이의 두 세그먼트, 즉 3−4−5−6과 2−1−3−6이 교환됩니다. 따라서 두 개의 하위 용어, 즉 1−2−2−1−3−6−7−8−9 및 8−5−3−4−5−6−4−9−7이 생성됩니다.

조각 교환 후 첫 번째 자식에서는 도시 1과 2가 중복되고 두 번째 자식에서는 도시 4와 도시 5가 중복되므로 두 자식은 실현 가능하지 않습니다. 이러한 단점을 해결하기 위해 먼저 두 교환의 분할을 기반으로 도시 교환 시퀀스를 정의합니다. 구체적으로, 도시는 그림 4의 음영처리된 그림의 중앙 부분과 같이 3‐2, 4‐1, 5‐3, 6‐6으로 매핑된다. 이러한 매핑을 기반으로 교환 세그먼트 외부의 중복 도시는 관련 도시로 대체됩니다. 예를 들어, 매핑 4를 기준으로 Child 1의 교환 세그먼트 외부 도시 1이 도시 4 ← 1로 대체됩니다. 매핑 3을 기준으로 Child 1의 도시 2가 먼저 도시 3 ‐ 2로 대체되지만 도시 3도 반복됩니다. . 따라서 지도 5를 기준으로 도시 3은 도시 5 ⇔ 3으로 추가로 대체됩니다.

수정 후 생성된 두 자손은 4−5−2−1−3−6−7−8−9 및 8−2−3−4−5–6−1−9−7입니다. 이 두 개는 이제 모두 가능합니다. .

C. 주문 교차

단계 교차(OX)[17]는 세그먼트 전환 측면에서 PMX와 유사합니다. 유일한 차이점은 중복된 도시를 처리하는 것입니다. 특히, PMX와 유사하게, OX는 먼저 염색체에서 두 개의 서로 다른 대립 유전자를 무작위로 선택한 다음 두 개의 부모 염색체에서 선택된 두 대립 유전자 사이의 유전자 세그먼트를 교환하여 두 개의 자손을 생산합니다.

이후 중복된 도시를 처리하기 위해 OX는 먼저 교체된 세그먼트를 제외하고 두 자손 염색체의 요소를 모두 비워 둡니다. 그런 다음 자식이 연관된 부모로부터 가능한 한 많은 정보를 상속받도록 하기 위해 OX는 스왑 세그먼트 뒤의 첫 번째 요소의 연관된 부모로부터 남은 액세스 시퀀스로 빈 요소를 채웁니다. 나머지 접속 순서에는 교환 세그먼트에 나타나는 도시가 포함되지 않는다는 점에 유의해야 합니다.

OX의 작업과정을 직관적으로 이해하기 위해 그림 5에 9개 도시의 예를 나타내었다. 먼저, 두 개의 서로 다른 대립유전자인 3과 6이 무작위로 선택됩니다. 그런 다음, 두 대립유전자 사이의 두 세그먼트가 교환되어 두 개의 자손, 즉 ×-×−2−1−3−6−×-×-× 및 ×-×-3−4−5 −6−가 생성됩니다. 교환된 분절을 제외하고 두 자손 염색체의 다른 요소는 비어 있음을 언급해야 합니다. 그런 다음 빈 요소는 연관된 상위 요소의 액세스 시퀀스로 채워집니다. 특히 하위 요소 1의 경우 요소는 교체된 세그먼트 다음의 첫 번째 요소인 7−8−9−4−5부터 시작하여 상위 요소 A의 나머지 액세스 시퀀스로 채워집니다. 따라서 sub1은 4−5−2−1−3−6−7−8−9가 됩니다. 마찬가지로, 하위 2의 빈 요소는 상위 B의 나머지 액세스 시퀀스인 9−7−8−2−1로 채워집니다. 따라서 sub2는 2−1−3−4−5−6−9−7−8이 됩니다.

위의 순차적 채우기 후에 결과로 나온 두 자손 모두 이제 실행 가능합니다.

D. 사이클 교차 사이클 교차

순환 교차(CX) 연산자는 Oliver 등이 처음 제안했습니다. [16]. 위의 두 크로스오버와 달리 CX는 반복을 통해 두 부모(부모 A와 부모 B라고 가정)로부터 정보를 상속하고 한 번에 하나씩 자식을 생성합니다. 처음에 OX는 두 부모(선택한 부모가 부모 a라고 가정) 중 하나의 위치를 ​​자식의 시작 위치로 무작위로 선택합니다. 그런 다음 다른 부모(예: 부모 B)와 동일한 위치에 저장된 도시를 사용하여 해당 도시와 동일한 하위 위치를 채웁니다. 그 후, 마지막 라운드에서 채워진 도시와 동일하게 부모 B의 위치에 저장된 도시는 해당 도시와 동일한 하위 B의 위치를 ​​채우는 데 사용됩니다. 위의 프로세스는 충돌이 발생할 때까지 계속됩니다. 즉, 채워질 다음 도시가 이미 자식에게 있습니다. 그 후, 자식의 채워지지 않은 다른 요소는 부모 A로부터 직접 상속됩니다. 이러한 방식으로 자녀는 두 부모로부터 동시에 귀중한 액세스 시퀀스를 상속받을 수 있습니다.

CX가 어떻게 작동하는지 직관적으로 이해하기 위해 그림 6에는 9개 도시의 CX 프로세스 예시가 나와 있습니다. 먼저 하위 개체가 null로 설정된 다음 무작위로 선택된 위치에서 상위 개체 A의 도시를 상속하기 시작합니다. 이 예에서는 선택한 위치가 1입니다. 따라서 상위 A의 위치 1에 저장된 도시 1은 하위 위치 1을 채우는 데 사용됩니다. 다음으로, 다른 상위 개체(상위 개체 B)의 동일한 위치(위치 1)에 있는 도시(예: 8)를 사용하여 채울 하위 개체의 다음 위치를 찾습니다. 즉, 자식의 위치 8은 부모 A의 위치 8에 있는 도시를 상속받습니다. 이후에도 같은 방법으로 9번 위치를 채운다. 프로세스는 위치 4까지 계속됩니다. 4를 기준으로 다음 위치를 찾으면 다음 위치는 위치 1이 됩니다. 그러나 위치 1은 자식 개체에 이미 채워져 있으므로 부모 개체 A의 상속이 순환을 형성합니다. 이 경우 상위 요소 A로부터의 상속이 중단되고 하위 요소의 채워지지 않은 나머지 위치는 상위 요소 B의 관련 요소와 함께 상속됩니다.

마지막으로, 하위 항 1−5−2−4−3−6−7−8−9가 얻어지며 이는 실현 가능합니다.

마. 영업사원 배정 수정

위에 소개된 교차 연산자는 모두 적응 유전 알고리즘의 첫 번째 염색체에서 실행된다는 점에 유의해야 합니다. 두 번째 염색체의 경우 이 기사는 먼저 부모로부터 판매 할당을 직접 상속받습니다. 그러나 부모의 영업사원 할당은 교차 후 첫 번째 염색체의 액세스 순서 변경으로 인해 접근성 제약 조건을 위반할 수 있습니다. 이 문제를 완화하기 위해 이 문서에서는 먼저 접근성을 기반으로 잘못된 영업사원 할당을 식별합니다. 그런 다음 각각의 잘못된 작업에 대해 먼저 해당 도시에 접근할 수 있는 영업사원을 찾습니다. 단 한 명의 영업사원만이 도시에 접근할 수 있는 경우 잘못된 영업사원을 이 영업사원으로 교체하여 잘못된 할당을 수정하세요. 두 명 이상의 영업사원이 해당 도시에 접근할 수 있는 경우 잘못 할당된 영업사원은 해당 영업사원 중에서 동일한 확률로 무작위로 선택된 영업사원으로 대체됩니다.

그림 4의 PMX 교차로 얻은 하위 항목 1을 예로 들면 그림 7에 표시된 것처럼 하위 항목 4−5−2−1−3−6−7−8−9는 상위 항목 A의 판매 할당을 직접 상속합니다. 그러나 그림 2의 접근성 매트릭스에 따르면 5번 도시와 2번 도시의 영업사원 할당이 잘못된 것으로 나타났다. 2. 접근성 매트릭스에서 City 5는 판매원 1만 접근할 수 있고, City 2는 판매원 1과 판매원 2가 접근할 수 있음을 알 수 있습니다. 따라서 도시 5의 경우 잘못된 판매원 2가 판매원 1로 대체됩니다. 도시 2의 경우 잘못된 판매원 3은 판매원 1과 판매원 2 중에서 동일한 확률로 무작위로 선택된 판매원으로 대체됩니다. 이 예에서는 판매원 2가 선택되었습니다.

마찬가지로 위의 영업사원 할당 정확성은 OX 및 CX에 의해 생성된 자손에 사용될 수 있습니다.

 

그러나 CX 운영자 프로세스를 자세히 살펴보면 영업사원 할당도 첫 번째 염색체의 도시 교차와 교차할 수 있음을 알 수 있습니다. 즉, 첫 번째 염색체를 기준으로 자식 염색체의 요소를 채우는 동안 그에 따라 해당 판매원 할당을 자식 염색체의 두 번째 염색체에 채울 수 있습니다.

첫 번째 영업사원 배정의 정확성을 구별하기 위해 본 문서에서는 위 영업사원 배정을 상속받은 CX를 "CX+"로 정의합니다. 그림 6에서 생성된 하위 항목을 예로 들면, 그림 8에서는 CX+의 영업사원 할당 상속 프로세스를 보여줍니다. 이 그림을 통해 모회사 B로부터 상속받은 도시인 4−7−8−9의 경우 영업사원 배치는 모회사 B로부터 직접 상속되고, 모회사 A의 도시인 경우에는 1을 알 수 있습니다. −5−2− 3−6, 영업사원 배치는 모회사 A로부터 직접 상속됩니다.

CX와 비교하여 CX+는 부모의 도시 방문 순서와 판매 업무를 동시에 상속받을 수 있습니다. 따라서 CX+가 포함된 GA는 CX가 포함된 GA보다 더 유망한 성능을 달성할 수 있을 것으로 예상되며 이는 다음 섹션의 실험에서 입증됩니다.

4. 실험

VCSMP를 다룰 때 3개의 적응형 크로스오버 연산자를 사용하는 GA의 최적화 성능을 관찰하기 위해 본 논문에서는 먼저 TSPLIB 벤치마크 세트에서 도시 수가 다른 4개의 인스턴스, 즉 att48, kroA100, kroA150 및 kroA200을 선택합니다. 다음으로 이 문서에서는 영업사원의 네 가지 숫자(2, 4, 6, 8)를 할당합니다. 그 후, 영업사원 수의 각 인스턴스에 대해 무작위로 접근성 매트릭스를 구성합니다. 따라서 총 16개의 VCMTSP가 생성되었으며 이러한 인스턴스는 참조용으로 생성된 소스 코드와 함께 https://gitee.com/sorel/tspresearch.git에서 찾을 수 있습니다.

실험에서는 매개변수 미세 조정의 예비 실험을 기반으로 모집단 크기 NP는 100, 돌연변이 확률은 P m = 0.1, 교차 확률은 P c = 0.5입니다. 또한 최대 생성 GEN max는 10000으로 설정됩니다.

표 I은 16개의 VCSMP 인스턴스에 대한 GA와 3개의 크로스오버 연산자의 비교 결과를 보여줍니다. 이 표의 "최고", "최악" 및 "평균"은 각각 30번의 독립적 실행에서 관련 알고리즘을 통해 얻은 모든 영업사원의 최소, 최대 및 평균 총 여행 비용을 나타냅니다. 세 가지 지표에 대한 최상의 결과는 굵게 강조 표시되어 있습니다. 표 I에서 우리는 다음과 같은 결과를 얻었습니다.

• 3가지 지표 측면에서 GA-PMX는 16개 인스턴스 중에서 가장 좋은 전체 성능을 달성했습니다. 또한 도시 수와 영업 인력이 증가함에 따라 다른 두 GA에 비해 GA-PMX의 장점이 점점 더 분명해졌습니다. 또한, GA-PMX는 '최고'와 '최악' 결과 사이에 거의 차이가 없을 정도로 좋은 안정성을 보여줍니다.

•GA-OX는 16개 사례에서 3개 GA 중 최악의 유효성을 보였다. 특히 도시나 판매원 수가 많은 경우에는 성능이 특히 나쁩니다.

•GA-CX의 성능은 GA-OX보다 훨씬 우수하지만 GA-PMX보다 성능이 약간 떨어집니다. 특히 연구 결과, 도시 수나 영업 인력이 늘어날수록 GA-CX의 최적화 성능은 급격히 떨어지는 것으로 나타났다.

CX와 관련하여 이전 섹션에서 이 기사에서는 또 다른 영업사원 할당 정확성 메커니즘을 설계하여 CX+라는 새 버전의 CX를 만들었습니다. 효율성을 검증하기 위해 이 문서에서는 16개 VCSMP 인스턴스에서 GA와 두 CX 운영자의 최적화 성능을 비교합니다. 표 II는 두 명의 CX 운영자를 대상으로 30번의 독립적 실행을 통해 GA에서 얻은 16개 인스턴스에 걸쳐 모든 영업사원의 평균 출장 비용을 보여줍니다.

 

 

이 표에서 우리는 16개의 인스턴스에서 GA-CX+가 GA-CX보다 더 나은 성능을 달성한다는 것을 알 수 있습니다. 특히, 연구 결과에 따르면 도시 수나 영업 인력이 늘어날수록 GA-CX에 비해 GA-CX+의 개선이 점점 더 뚜렷해지는 것으로 나타났습니다. GA-CX에 비해 GACX+가 우월한 이유는 주로 모기업으로부터 유망한 영업 인력 할당을 물려받을 수 있는 영업 인력 할당의 정확성 때문입니다.

GA와 세 가지 운영자 간의 차이점을 더 자세히 관찰하기 위해 이 기사에서는 세 가지 GA가 최상의 실행에서 얻은 최상의 경로를 표시합니다. 그림 9, 10, 11 및 12는 네 가지 예에서 모든 영업사원에 대한 최적의 경로를 보여줍니다.

이 수치를 보면 도시와 영업사원의 수가 적을수록 3개 GA 간 도시 분포의 차이는 작지만 영업사원의 동선 차이는 더 크다는 것을 알 수 있다. 도시나 영업사원의 수가 늘어날수록 3개 GA 간 도시 할당의 차이가 점점 커지며 결과적으로 최적화 성능의 차이도 커집니다.

위의 실험을 통해 VCMTSP를 처리하는 데에는 OX 및 CX보다 PMX가 GA에 더 유망하다는 것을 알 수 있었습니다.

5. 결론

본 논문에서는 판매원에 대한 도시의 접근성을 고려하여 새로운 MTSP를 공식화하여 VCMTSP를 탄생시켰습니다. 이 새로운 문제를 해결하기 위해 본 논문에서는 이중 염색체 표현 메커니즘을 기반으로 부분 매핑된 교차(PMX), 순차 교차(OX) 및 순환 교차(CX)라는 세 가지 고전적인 교차 연산자를 수정하고 유전자 알고리즘을 개선했습니다. . 특히, 주요 변형은 두 번째 염색체로 대표되는 판매원의 분포에 있습니다.

인기 있는 TSPLIB 벤치마크 세트에서 생성된 16개의 VCSMP 인스턴스에 대한 실험이 수행되었습니다. 실험 결과에 따르면 3개의 적응형 교차 연산자를 사용하는 유전 알고리즘은 VCSMP를 처리할 수 있으며 PMX를 사용하는 유전 알고리즘은 16개의 VCSMP 인스턴스에서 최고의 전체 성능을 달성합니다. 실험에 따르면 PMX를 사용하여 GA와 협력하여 VCSMP를 처리하는 것이 좋습니다.

추천

출처blog.csdn.net/qq_45874683/article/details/129743485