Ví dụ minh họa

Một phần của tài liệu Chuyên đề thuật toán đồ thị trong lập trình căn bản (Trang 90 - 96)

D bằn g9 và tớ iA bằng 7 ,E có khoảng cách tới cây hiện tại bằng 15, và F

Ví dụ minh họa

Tổng chi phí ACEBDA là 8+4+15+10+14 = 51

•• Bước 3: Nếu còn đỉnh chưa viếng thăm thì quay lại bước 2. •• Bước 4: Quay lại đỉnh V.

Bài toán có năm thành phố với khoảng cách giữa các thành phố được tính bằng km. Sử dụng thuật toán láng giềng gần nhất, bắt đầu lần lượt từ mỗi đỉnh, tìm đường đi thích hợp cho người bán hàng, cửa hàng đặt tại A và cần đi qua tất cả thành phố còn lại.

Bắt đầu với đỉnh A

•• Từ A, đỉnh gần nhất là C, chiều dài AC = 8 •• Từ C, đỉnh chưa viếng thăm gần nhất là E, CE = 4 •• Từ E, đỉnh chưa viếng thăm gần nhất là B, EB = 15 •• Từ B, đỉnh chưa viếng thăm gần nhất là D, BD = 10

•• Không còn đỉnh chưa viếng thăm, vì vậy quay về A, DA = 14 Tổng chi phí ACEBDA là 8 + 4 + 15 + 10 + 14 = 51

Lặp lại bắt đầu với những đỉnh khác:

Đỉnh bắt đầu Đường đi Tổng chiều dài

A ACEBDA 51 B BACEDB 50 C CEABDC 45 D DCEABD 45 E ECABDE 50 E ECDBAE 45

Có ba đường đi có chiều dài 45 km là giống nhau. Một nhân viên bán hàng có cửa hàng tại A, đường đi tốt nhất tìm ra bởi thuật toán láng giềng gần nhất là ABDCEA = 45 km

Công thức

Công thức: Bước đầu tiên để giải quyết trường hợp của TSPs lớn phải để tìm một công thức toán học tốt của vấn đề. Trong trường hợp của các vấn đề nhân viên bán hàng đi du lịch, các cấu trúc toán học là một đồ thị, ở mỗi thành phố được biểu thị bằng một điểm (hoặc nút) và dòng được rút ra kết nối hai nút (gọi là vòng cung hoặc cạnh). Liên kết với mỗi dòng là một khoảng cách (hoặc chi phí). Khi nhân viên bán hàng có thể nhận được từ mỗi thành phố để mọi thành phố khác trực tiếp, sau đó đồ thị được cho là hoàn chỉnh. Một chuyến đi vòng quanh những thành phố tương ứng với một số tập hợp con của các dòng, và được gọi là một tour du lịch hoặc một chu trình Hamilton (Đường đi Hamilton) trong lý thuyết đồ thị. Chiều dài của một tour du lịch là tổng độ dài của các đường trong chuyến đi vòng quanh.

Tùy thuộc vào có hay không sự chỉ đạo, trong đó một cạnh của đồ thị là đi qua các vấn đề,một trong những phân biệt đối xứng từ đối xứng đi vấn đề nhân viên bán hàng. Xây dựng các bất đối xứng TSP trên m thành phố, một trong những giới thiệu không-một biến

Bài toán người bán hàng 89

và do thực tế là tất cả các nút của đồ thị phải có đúng một cạnh chỉ tay về phía nó và một trong những chỉ đi từ nó, có được một vấn đề chuyển nhượng cổ điển. Những khó khăn này một mình là không đủ vì công thức này sẽ cho phép "subtours", có nghĩa là, nó sẽ cho phép các vòng phân chia xảy ra. Vì lý do này, một mô hình thích hợp của các vấn đề đi du lịch nhân viên bán hàng không đối xứng phải loại bỏ những subtours từ xem xét việc bổ sung "subtour loại bỏ" hạn chế. Vấn đề sau đó trở thành

nơi mà K là bất kỳ tập hợp con thích hợp khác rỗng trong những thành phố 1,..., m. Chi phí c ij được phép khác với chi phí c ji. Lưu ý rằng có m (m-1) không-một biến trong công thức này.

Xây dựng các đối xứng đi vấn đề nhân viên bán hàng, người ta ghi nhận rằng hướng đi qua là không đáng kể, do đó c ij = c ji. Từ hướng không quan trọng bây giờ, người ta có thể xem xét các đồ thị, nơi chỉ có một vòng cung (vô hướng) giữa hai nút. Vì vậy, chúng tôi cho x j e { 0,1 } là biến quyết định nơi j chạy qua tất cả các cạnh E của đồ thị vô hướng và c j là chi phí đi cạnh đó. Để tìm một tour du lịch trong biểu đồ này, người ta phải chọn một tập hợp con của các cạnh như vậy mà tất cả các nút được chứa trong hai chính xác của các cạnh được lựa chọn. Như vậy, vấn đề có thể được xây dựng như một vấn đề 2 khớp trong đồ thị G v có m (m-1) / 2 không-một biến, tức là một nửa số lượng các công tác xây dựng trước đó. Như trong trường hợp bất đối xứng, subtours phải được loại bỏ thông qua hạn chế loại bỏ subtour. Vấn đề do đó có thể được xây dựng như:

gắng để tìm ra giải pháp khả thi trong một nỗ lực duy nhất được gọi là công nghệ tự động xây dựng trong khi các thuật toán đó lặp đi lặp lại thay đổi và cố gắng cải thiện một số giải pháp bắt đầu được gọi là công nghệ tự động cải thiện. Khi một giải pháp có được phụ thuộc vào điểm xuất phát ban đầu của thuật toán, cùng một thuật toán có thể được sử dụng nhiều lần từ nhiều điểm khởi đầu (ngẫu nhiên). Đối với một cuộc khảo sát tuyệt vời của công nghệ tự động cải thiện ngẫu nhiên, xem Junger, Reinelt và Rinaldi (1994)[2]. Thông thường, nếu một trong những nhu cầu một giải pháp nhanh chóng, người ta có thể giải quyết cho một thuật toán heuristic được thiết kế tốt đã được chứng minh bằng thực nghiệm để tìm tour du lịch "gần như tối ưu" đến nhiều vấn đề TSP. Nghiên cứu của Johnson (1990)[3], và Junger, Reinelt và Rinaldi (1994) mô tả thuật toán tìm giải pháp cho TSPs rất lớn (vấn đề với hàng chục ngàn, thậm chí hàng triệu biến) để trong vòng 2% của tối ưu trong thời gian rất hợp lý. Đối với phương pháp tiếp cận thuật toán di truyền để TSP, xem Potvin (1996)[4], cách tiếp cận ủ mô phỏng thấy Aarts, et al. (1988), cách tiếp cận mạng lưới thần kinh, xem Potvin (1993)[5], và cách tiếp cận tìm kiếm kỵ, xem Fiechter (1990)[6]. Bảo lãnh thực hiện cho chẩn đoán được đưa ra trong Johnson và Papadimitriou (1985)[7], phân tích xác suất của công nghệ tự động sẽ được thảo luận trong Karp và Steele (1985)[8], và sự phát triển và thử nghiệm thực tế về chẩn đoán được báo cáo trong Golden và Stewart (1985)[9].

Để biết về sự gần gũi của các ràng buộc trên với giá trị tối ưu, người ta cũng phải biết một thấp hơn ràng buộc về giá trị tối ưu. Nếu trên và giới hạn dưới trùng, một bằng chứng của tối ưu là đạt được. Nếu không, một ước tính bảo thủ của sai số tương đối thực sự của các ràng buộc trên được cung cấp bởi sự khác biệt của phần trên và phần dưới bị ràng buộc chia cho ràng buộc thấp hơn. Do đó, cần cả trên và kỹ thuật ranh giới thấp hơn để tìm thể chứng minh giải pháp tối ưu cho các vấn đề tổ hợp khó khăn hoặc thậm chí để có được các giải pháp đáp ứng một sự đảm bảo chất lượng.

Vì vậy, làm thế nào để có được và cải thiện thấp hơn ràng buộc? Một thư giãn của một vấn đề tối ưu hóa là một vấn đề tối ưu hóa mà bộ các giải pháp khả thi đúng có chứa tất cả các giải pháp khả thi của vấn đề ban đầu và có giá trị hàm mục tiêu nhỏ hơn hoặc bằng với đúng giá trị hàm mục tiêu cho các điểm khả thi cho vấn đề ban đầu. Do đó chúng tôi thay thế các "true" vấn đề bằng một với một khu vực có tính khả thi hơn đó là khả năng giải quyết dễ dàng hơn. Thư giãn này được tiếp tục tinh chế để thắt chặt các khu vực có tính khả thi để nó đại diện cho chặt chẽ hơn vấn đề thực sự. Các kỹ thuật tiêu chuẩn để đạt được giới hạn thấp hơn trên các vấn đề TSP là sử dụng một thư giãn mà là dễ dàng hơn để giải quyết hơn vấn đề ban đầu. Những nới lỏng có thể có một trong hai bộ khả thi rời rạc hay liên tục. Một số nới lỏng đã được xem xét cho TSP. Trong số đó là thư giãn n-đường dẫn, thư giãn chuyển nhượng, thư giãn 2 phù hợp, thư giãn 1-cây, và các chương trình thư giãn tuyến tính. Để tạo ra một cách ngẫu nhiên TSPs không đối xứng, vấn đề có đến 7500 thành phố đã được giải quyết bằng cách sử dụng thư giãn khoán, trong đó cho biết thêm subtours trong một khuôn khổ chi nhánh và ràng buộc và trong đó sử dụng một phỏng đoán ranh giới trên dựa trên subtour vá, (Miller và Pekny, 1991) [10]. Đối với TSP đối xứng, thư giãn 1-cây và nới lỏng 2 phù hợp đã thành công nhất. Những nới lỏng đã được nhúng vào một khuôn khổ chi nhánh và cắt.

Quá trình tìm kiếm hạn chế được vi phạm bởi một thư giãn nhất định, được gọi là một máy bay cắt kỹ thuật và tất cả những thành công cho các vấn đề TSP lớn đã sử dụng máy bay để cắt liên tục thắt chặt việc xây dựng của vấn đề. Điều quan trọng cần nhấn mạnh rằng tất cả các phương pháp tính toán thành công với TSP sử dụng khía cạnh-định bất bình đẳng như cắt máy bay. Máy bay cắt chung loại của văn học lập trình số nguyên sử dụng đơn cơ sở-đại diện để có được cắt giảm, chẳng hạn như Gomory hoặc cắt giảm giao lộ, từ lâu đã bị bỏ rơi vì tính chất hội tụ nghèo.

Bài toán người bán hàng 91 Một trong những cắt giảm đơn giản đã được chứng minh để xác định các khía cạnh của TSP polytope cơ bản là cắt giảm loại bỏ subtour. Bên cạnh những khó khăn, bất bình đẳng lược, sự bất bình đẳng cây bè lũ, con đường, xe cút kít và xe đạp bất bình đẳng, bất bình đẳng thang và vương miện đã được hiển thị để xác định các khía cạnh của polytope này. Lý thuyết cơ bản của thế hệ khía cạnh cho việc đi lại vấn đề nhân viên bán hàng đối xứng được cung cấp trong Grötschel và Padberg (1985)[11] và Junger, Reinelt và Rinaldi (1994). Các mô tả thuật toán như thế nào chúng được sử dụng trong việc cắt giảm các cách tiếp cận chiếc máy bay sẽ được thảo luận trong Padberg và Rinaldi (1991) và Junger, Reinelt và Rinaldi (1994). Triển khai thực hiện xử lý song song được trình bày trong Christof và Reinelt (1995) [12] và Applegate, et al. (1998)[13]. Cắt giảm các thủ tục máy bay sau đó có thể được nhúng vào một cây tìm kiếm được gọi là chi nhánh và cắt giảm. Một số vấn đề TSP lớn nhất giải quyết đã sử dụng xử lý song song để hỗ trợ trong việc tìm kiếm tối ưu. Theo sự hiểu biết của chúng ta về cấu trúc toán học cơ bản của vấn đề TSP được cải thiện, và với sự tiến bộ liên tục trong công nghệ máy tính, có khả năng là nhiều vấn đề tối ưu hóa tổ hợp khó khăn và quan trọng sẽ được giải quyết bằng cách kết hợp cắt thủ tục thế hệ máy bay, chẩn đoán, sửa chữa biến thông qua tác động hợp lý và giảm chi phí và tìm kiếm cây.

Ứng dụng

Người ta có thể hỏi, tuy nhiên, cho dù vấn đề để nhận được tất cả sự chú ý của nó có. Ngoài việc là một "polytope" của một vấn đề tối ưu hóa tổ hợp khó khăn từ một phức tạp điểm lý thuyết của xem, có những trường hợp quan trọng của các vấn đề thực tế có thể được xây dựng như các vấn đề TSP và nhiều vấn đề khác là những khái quát của vấn đề này. Bên cạnh việc khoan mạch in bảng mô tả ở trên, vấn đề có cấu trúc TSP xảy ra trong phân tích cấu trúc của các tinh thể, (Bland và Shallcross, 1987)[14], các đại tu động cơ tuốc bin khí (Pante, Lowe và Chandrasekaran, 1987)[15], trong xử lý vật liệu trong một nhà kho (Ratliff và Rosenthal, 1981)[16], trong việc cắt giảm các vấn đề chứng khoán, (Garfinkel, 1977), các phân nhóm của các mảng dữ liệu, (Lenstra và Rinooy Kạn, 1975), trình tự các công việc trên một máy tính duy nhất (và Gilmore Gomory, 1964) và phân công các tuyến đường cho máy bay của một hạm đội quy định (Boland, Jones, và Nemhauser, 1994). Biến thể có liên quan về vấn đề nhân viên bán hàng đi du lịch bao gồm các nguồn tài nguyên hạn chế đi du lịch vấn đề nhân viên bán hàng trong đó có các ứng dụng trong lập kế hoạch với thời hạn tổng hợp (Pekny và Miller, 1990). Nghiên cứu này cũng cho thấy giải thưởng thu thập đi vấn đề nhân viên bán hàng (Balas, 1989)[17] và các vấn đề Orienteering (Golden, Levy và Vohra, 1987) là trường hợp đặc biệt của tài nguyên hạn chế TSP. Quan trọng nhất là vấn đề nhân viên bán hàng đi du lịch thường thể hiện như một bài toán con trong nhiều vấn đề tổ hợp phức tạp, là nổi tiếng và quan trọng nhất trong số đó là vấn đề định tuyến xe, có nghĩa là, vấn đề xác định cho một đội xe mà khách hàng sẽ được phục vụ bởi mỗi chiếc xe và theo thứ tự mỗi chiếc xe nên đến các khách hàng được giao. Đối với các cuộc điều tra có liên quan, xem Christofides (1985) và Fisher (1987).

Thuật toán tối ưu hóa đã được áp dụng cho nhiều vấn đề tối ưu hóa tổ hợp khác nhau, từ phân bậc hai với Proteingấp hoặc định tuyến xe (Vehicle routing problem) và rất nhiều phương pháp có nguồn gốc đã được thích nghi với các vấn đề năng động trong thực tế các biến ngẫu nhiên, các vấn đề ngẫu nhiên, đa mục tiêu và triển khai song song. Nó cũng đã được sử dụng để sản xuất các giải pháp gần tối ưu cho vấn đề nhân viên bán hàng đi du lịch. Họ có lợi thế hơn mô phỏng luyện kim (Simulated annealing) và thuật toán di truyền (Genetic algorithm) của phương pháp tiếp cận vấn đề tương tự khi đồ thị có thể thay đổi tự động; thuật toán đàn kiến có thể chạy liên tục và thích ứng với những thay đổi trong thời gian thực. Đây là quan tâm trong mạng định tuyến (Network routing) và các hệ thống giao thông đô thị.

1. Nó phải đến mỗi thành phố đúng một lần.

2. Một thành phố xa xôi có ít cơ hội được lựa chọn (khả năng hiển thị. 3. Cường độ cao hơn đường mòn pheromone đặt ra trên một cạnh giữa hai thành phố, lớn hơn xác suất mà cạnh đó sẽ được chọn.

4. Đã hoàn thành cuộc hành trình của nó, là kiến gia gửi pheromone hơn trên tất cả các cạnh nó đi qua, nếu cuộc hành trình ngắn.

5. Sau mỗi lần lặp, những con đường mòn các kích thích tố bay hơi.

Độ phức tạp tính toán

Phiên bản quyết định của bài toán người bán hàng là NP-đầy đủ. Ngay cả khi khoảng cách giữa các thành phố là khoảng cách Euclide, bài toán vẫn là NP-khó. (adsbygoogle = window.adsbygoogle || []).push({});

- Với n thành phố thì có: 1/2 × (n − 1)! đường đi.

+ Giả sử n = 16 =>> 1/2 * 15! = 6.54 ×1011 đường đi =>> Số đường đi quá lớn.

Độ phức tạp của tính xấp xỉ

Trong trường hợp tổng quát, bài toán người bán hàng là NPO-đầy đủ. Khi các khoảng cách thỏa mãn bất đẳng thức tam giác và đối xứng, bài toán là APX-đầy đủ và thuật toán Christofides có thể tìm lời giải xấp xỉ không quá 1,5 lần lời giải tối ưu.

Khi các khoảng cách là bất đối xứng nhưng thỏa mãn bất đẳng thức tam giác, thuật toán tốt nhất hiện nay đạt tỉ lệ

Bài toán người bán hàng 93

Một phần của tài liệu Chuyên đề thuật toán đồ thị trong lập trình căn bản (Trang 90 - 96)