1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tóm tắt Luận văn Thạc sĩ Công nghệ thông tin: Bài toán thuê xe du lịch có hạn ngạch

24 43 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 1,04 MB

Nội dung

Luận văn trình bày về bài toán thuê xe có hạn ngach q-CaRS, sau đó là giới thiệu chung về hai phương pháp metaheuristic là thuật giải di truyền và phương pháp tối ưu hóa đàn kiến giải bài toán toán tối ưu tổ hợp. Tiếp theo luận văn trình bày cụ thể về hai phương pháp trên giải bài toán q-CaRS và chương trình thực nghiệm.

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ HÀ NỘI Đinh Thị Thủy BÀI TOÁN THUÊ XE DU LỊCH CĨ HẠN NGẠCH Ngành: Cơng nghệ thơng tin Chun ngành: Khoa học máy tính Mã số: 64080101 TĨM TẮT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2018 Chương Bài toán thuê xe du lịch có hạn ngạch 1.1 Quy hoạch nguyên 1.1.1 Dạng tổng quát toán Bài toán quy hoạch nguyên tổng quát biểu diễn dạng: f ( x ) = c T x → min(max ) với điều kiện: Ax ≤ b x≥0 x ∈ Zn 1.1.2 Ứng dụng toán Ứng dụng toán phát triển dựa vào biến thể toán quy hoạch nguyên hỗn hợp toán quy hoạch nguyên 0-1 Lập kế hoạch sản xuất Bài toán lập lịch Mạng di động 1.1.3 Các phương pháp tiếp cận giải toán quy hoạch nguyên Sử dụng tổng số đơn modulo Thuật tốn xác Phương pháp Heuristic 1.2 Bài toán người chào hàng(Traveling Salesman Problem - TSP) Bài tốn phát biểu sau: Có người giao hàng cần giao hàng n thành phố(hoặc điểm tiêu thụ) C = {c1 , c2 , , cn } độ dài đường trực tiếp từ ci đến c j dij Anh ta xuất phát từ thành phố đó, qua thành phố khác để giao hàng trở thành phố ban đầu, thành phố đến lần Hãy tìm chu trình (một đường khép kín thỏa mãn điều kiện trên) cho tổng độ dài cạnh nhỏ 1.3 Bài toán thuê xe du lịch có hạn ngạch(q-CaRS) Bài tốn xuất phát từ nhu cầu thực tiễn người du lịch Khi người du lịch tham quan khu vực, họ thường đặt mục tiêu hấp dẫn địa điểm Tuy nhiên số lý tài thời gian họ khơng thể tham quan tất Do mục tiêu đặt thỏa mãn mức độ hài lòng đồng thời chi phí tiết kiệm Bài tốn đặt nghiên cứu không đề cập đến thời gian di chuyển mà tập trung vào mức độ hấp dẫn địa điểm tham quan chi phí di chuyển Bài tốn có số ràng buộc sau: -Một xe bị thuê nhiều lần -Một ràng buộc gán với thành phố gọi mức độ hấp dẫn -Tour du lịch bắt đàu kết thúc thành phố với nơi bắt đầu, gọi sở Mơ hình tốn học toán: Đây toán biến thể toán TSP Input: -C: tập xe thuê -V: tập các thành phố -A: tập cạnh (đường nối hai thành phố)) - Một ràng buộc qi , i = 1, , n, gán với thành phố i ∈ V ω tổng ràng buộc tối thiểu cần thiết thu suốt tour du lịch -Giá để thuê c ∈ C canh (i, j) ∈ A dijc -Số tiền bổ sung γijc phải trả c thuê thành phố j di chuyển đến thành phố i với i = j, giá trị tương ứng với thuế phải trả để chuyển c j Các biến số: - f ijc có giá trị xe c di chuyển cạnh (i, j) từ i tới j có giá trị trường hợp khác -wijc có giá trị xe c thuê j chuyển tới i -aic nhận giá trị c thuê i -eic có giá trị xe c chuyển tới i - Giá trị nguyên ui định nghĩa vị trí đỉnh i tour Đỉnh gọi thành phố sở Các ràng buộc: -Tour bắt đầu kết thúc thành phố ∑∑ c ∈ C j ∈V f 1jc = ∑∑ c ∈ C i ∈V f 1jc = (1.3.1) -Mỗi đỉnh đến thăm lần xe đến đỉnh i sau phải có xe khác rời khỏi đỉnh i sumc∈C ∑ f ihc = i ∈V ∑∑ c ∈ C j ∈V c ≤ 1∀ h ∈ V f hj (1.3.2) -Các cặp biến aic f ijc biểu diễn xe c thuê thành phố i, (i = j) xe c sử dụng để di chuyển từ i đến thành phố j có xe c đến thành phố i từ thành phố h   aic = ∑ f ijc ∑  j ∈V ∑ f hic ∀c ∈ C, i ∈ V, i > 1 (1.3.3) c ∈C,c =C h∈V -Tương tự điều kiện [1.3.3], biến eic f ijc  eic = ∑ f ijc j ∈V  ∑  ∑ f ihc ∀c ∈ C, i ∈ V, i > 1 (1.3.4) c ∈C,c =C h∈V - Các cặp biến wijc , aic , eic omegaijc = acj eic ∀c ∈ C, ∀i, j ∈ V (1.3.5) ∑ a1c = (1.3.6) ∑ a1c ≤ 1∀c ∈ C (1.3.7) -Có xe thuê đỉnh c∈C -Mỗi xe thuê lần i ∈V -Nếu xe c thuê sau trả lại ∑ a1c = ∑ e1c ∀c ∈ C i ∈V (1.3.8) i ∈V -Phải đảm bảo mức độ hài lòng ∑ ∑∑ f ijc qi ≥ω (1.3.9) c ∈ C j ∈V i ∈V -Khơng có tour du lịch ≤ ui ≤ n∀i = 2, , n ui − u j + ≤ (n − 1)(1 − ∑ f ic j)∀i, j = 2, , n (1.3.10) (1.3.11) c∈C -Các biến nhị phân biến ui số nguyên dương f ijc , ωijc , aijc , eijc ∈ [0, 1] (1.3.12) ui ∈ N (1.3.13) Hàm mục tiêu Chi phí cho chuyến đảm bảo thấp ∑ ∑ dijc fijc + ∑ ∑ γijc ωijc c ∈ C j ∈V c ∈ C j ∈V (1.3.14) Chương Các phương pháp metaheuristic 2.1 Thuật giải di truyền 2.1.1 Thuật toán di truyền cổ điển GA cổ điển Holland (1975) giới thiệu để tối ưu hoá toán: max { f ( x )/x ∈ M ⊂ Rn } (2.1.1) nhờ biểu diễn gene dạng nhị phân, M hình hộp in=1 [ , bi ] không gian véc tơ thực n chiều Rn , f nhận giá trị dương M Để thực thủ tục GA, trước hết cần mã hóa phần tử tập M Mỗi x M mã hoá xâu nhị phân độ dài m z = (z1 , z2 , , zm ) gọi nhiễm sắc thể hay cá thể, zi gọi gene Phương pháp mã hoá giải mã Mã hóa Giả sử ta cần tìm cực đại hàm f với sai số biến xi 10− p Ta chia đoạn [ , bi ] thành (bi − )10 p đoạn ký hiệu mi số tự nhiên nhỏ thoả mãn: (bi − )10 p 2m i − Khi x = ( x1 , , xi , , xn ) xi thuộc đoạn thứ k xi mã hố xâu nhị phân độ dài mi có dạng cho thỗ mãn yêu cầu độ xác x biễu diễn xâu nhị phân có độ dài Giải mã Với đoạn gene (bmi −1 , , b0 ) ta xác định ki theo hệ số 10 : m −1 k i = ∑ j=i (b j j )10 ( bi − a i ) 2m i −1 m −1 (b − a ) + ∑ j=i (b j j )10 2mi i −i1 có xi = + k i Hay xi = Mô tả lược đồ GA Hình 2.1: Cấu trúc tổng qt thuật tốn di truyền Các bước để xây dựng chương trình tiến hóa Đối với tốn cần giải P, để xây dựng chương trình tiến hố giải nó, người ta thường tiến hành theo năm bước sau: • Bước Chọn cấu trúc nhiễm sắc thể / kiểu gene biễu diễn lời giải tiềm tốn cho chứa đủ thơng tin quan trọng dễ làm việc Tuy nhiên khơng có hướng dẫn cách chọn Thiết kế chương trình mã hóa giải mã • Bước Khởi tạo tập lời giải ban đầu Việc khởi tạo ngẫu nhiên hay áp dụng vài thuật toán heuristic, phải đảm bảo cho ràng buộc tốn đảm bảo • Bước Chọn hàm đánh giá mức độ tốt lời giải (để đánh giá cá thể quần thể lời giải theo độ thích nghi chúng ) • Bước Thiết kế toán tử di truyền Các toán tử thiết kế nên dựa kiểu gene/ nhiễm sắc thể , đặc điểm toán ràng buộc • Bước 5: Xác định tham số cho toán Các tham số khơng thay đổi q trình tiến hố tự điều chỉnh tham số theo thời gian 2.2 Phương pháp tối ưu hóa đàn kiến 2.2.1 Cách tìm đường kiến tự nhiên Hình 2.2: Phân bố đàn kiến đường từ tổ tới nguồn thức ăn 2.2.2 Kiến nhân tạo Thực nghiệm cầu đôi cho thấy đàn kiến tự nhiên sử dụng luật di chuyển theo xác suất, dựa thơng tin địa phương để tìm đường ngắn hai địa điểm Vết mùi đàn kiến cho phép liên tưởng tới cách học tăng cường (reinforcement learning) toán chọn tác động tối ưu, gợi mở mơ hình mơ cho tốn tìm đường đingắn hai nút (tương ứng tổ nguồn thức ăn) đồ thị, tác tử (agent) đàn kiến nhân tạo 2.2.3 Phương pháp ACO tổng quát Thuật toán tổng quát Với toán tổng quát trên, lý thuyết ta cú thể áp dụng thủ tục mở rộng để xây dựng X ∗ chọn lời giải tốt phương pháp vét cạn, thực tế, bùng nổ tổ hợp số phần tử n C lớn ta không thực tốn thuộc loại NP-khó Để giải tốn người ta đưa tốn tìm đường tối ưu đồ thị cấu trúc cho lời giải chấp nhận s ứng với đường < x1 , , xn >, xi thuộc tập đỉnh (thành phần C) đồ thị, x1 thuộc tập đỉnh C0 (tham khảo phương pháp constructive heuristics) Đồ thị cấu trúc thường đồ thị đầy đủ có trọng số G = (V, E, H, τ ) V tập đỉnh tương ứng với tập thành phần C trên, E tập cạnh, H vectơ trọng số heuristic cạnh/đỉnh tương ứng, τ vectơ vết mùi tích lũy ban đầu với khởi tạo τ0 Thông tin heuristic vết mùi để đỉnh cạnh đồ thị tùy theo đặc điểm toán dùng để định hướng tìm kiếm heuristic ngẫu nhiên xây dựng lời nhờ mở rộng từ đỉnh C0 theo đặc điểm thứ toán tổng quát Dựa đồ thị cấu trúc này, ta xây dựng thủ tục bước bước tìm lời giải cho kiến nhân tạo Thơng thường ta có phương pháp heuristic để tim lời giải đủ tốt cho toán Các thuật toán ACO kết hợp thông tin heuristic với phương pháp học tăng cường nhờ mô hành vi đàn kiến để tìm lời giải tốt Với quy tắc cập nhật mùi, tham số, số kiến điều kiện dừng (thường số lần lặp Nc định trước) chọn thuật tốn mơ tả hình thức hình 2.3 Hình 2.3: Lược đồ thuật tốn ACO tổng quát Chương Thuật giải di truyền cho toán q-CaRS 3.1 Biểu diễn quần thể Trong toán ta biểu diễn nhiễm sắc thể dạng nguyên Mỗi nhiễm sắc thể mảng hai chiều với hàng tập thành phố đến thăm hàng tập xe sử dụng Hình 3.1: Nhiễm sắc thể Thuật tốn láng giềng gần sử dụng để xây dựng đường dẫn thành phố theo chi phí cạnh xe gắn liền với đường Tour bắt đầu thành phố Xe c1 chọn ngẫu nhiên để di chuyển từ thành phố tới thành phố ngẫu nhiên i (c1 trả lại i) Nếu giá trị ràng buộc tối thiểu không thu thập, thành phố i điểm khởi tạo phần tour Một xe c2 thành phố chưa đến thăm j chọn ngẫu nhiên Một đường dẫn tạo thành phố i j việc xem xét đến thành phố chưa đến thăm Tiến trình tiếp diễn thu giá trị ràng buộc nhỏ Chu trình đóng với cạnh từ thành phố cuối tour đến thành phố Bài toán biến thể xem xét đến nghiên cứu khơng cho phép xe thuê nhiều lần, nên khơng xe thêm xe cuối sử dụng dể di chuyển đến thành phố 10 khác thu giá trị buộc tối thiểu 3.2 Quá trình tái tạo Quá trình tái tạo thực dựa vào toán tử di truyền biến dị Toán tử tương giao chéo: Khi khởi tạo quần thể, tập cá thể tốt chọn gọi tập elite Trong lần tái tạo ta chọn ngẫu nhiên cá thể quần thể cá thể tập cá thể tốt để tương giáo chéo với điểm tương giao chéo ngẫu nhiên Sau tái tạo tập cá thể tốt cập nhật lại Toán tử biến dị: Tốn tử biến dị đoạn plasmid đoạn gen chọn từ tập elite Một đoạn gen cá thể chọn lọc để tái tạo thay thể tương ứng với plasmid Hình 3.2: Plasmid Ví dụ hình 3.2 cá thể sol chọn từ quần thể cá thể sol’ chọn từ tập elite Một đoạn plasmid chọn từ sol’ Tương tự ta loại bỏ đoạn gen ngẫu nhiên có kích thước với plasmid từ sol cho kết sol" Thay thể đoạn gen bị loại bỏ plasmid ta có kết sol”’ 11 3.3 Thủ tục tìm kiếm địa phương Để tăng cường chất lượng lời giải "sol" ta có thủ tục tìm kiếm địa phương multiOperatorsSearch với thủ tục: -removeSaving -invertSol -replaceSavingCity -insertSavingCity -replaceSavingCar - 2-opt 3.4 Thuật toán MemPlas Mã giả thuật toán MemPlas biểu diễn (thuật toán 1) Đầu vào thuật tốn có tham số: số lượng quần thể (sizePop), kích thước plasmid (sizePlas), tỉ lệ tái tổ hợp (#cross), kích thước lớp (#elite) số lần lặp tối đa (limitIter) Tâp giá trị elite chứa #elite tốt từ quần thể Plasmid bao gồm đoạn gen thu tập elite Trong lần lặp, nhiễm sắc thể tái tổ hợp Trong lần lặp cuối cùng, plasmid sử dụng để thay đổi nhiễm sắc thể chọn Hình 3.3: Thuật tốn MemPlas 12 3.5 Kết thực nghiệm 3.5.1 Bộ liệu chuẩn Trong phần giới thiệu kết việc tính tốn thực nghiệm dựa 40 trường hợp q-CaRS Dữ liệu lấy từ http://www.dimap.ufrn.br/lae/en/projects/CaRS.php Các thông số file: DIMENSION: Số lượng thành phố CARS_NUMBER: Số lượng xe để thuê NODE_COORD_SECTION: Tọa độ thành phố EDGE_WEIGHT_SECTION: Giá thuê xe thành phố RETURN_RATE_SECTION: Giá thuế trả lại xe thành phố Chí phí di chuyển từ thành phố i đến thành phố j với xe c tính theo cơng thức sau: 2Lc [i ] + 3Lc [ j] + d[i ][ j] (3.5.1) dijc = Mức độ hài lòng thành phố tạo ngẫu nhiên khoảng(0, 100); 3.5.2 Tiến hành chạy thực nghiệm 3.5.3 Kết thực nghiệm Phần thực với hai tham số khác để đánh giá mức độ ảnh hưởng thay đổi tham số đầu vào Tiến hành thực nghiệm với tham số Tham số Số lượng quần thể( sizePop) Số lượng vòng lặp Tỉ lệ tái tổ hợp(#cross) Tỉ lệ chọn cá thể tối ưu ( #elite) Kích thước plasmid(sizePlas) Giá trị 150 10 0.4 0.3 [3, 0.4s] với s kích thước cá thể chứa plasmid 13 Hình 3.4: Kết thực nghiệm GA 14 Tiến hành thực nghiệm với tham số Tham số Số lượng quần thể( sizePop) Số lượng vòng lặp Tỉ lệ tái tổ hợp(#cross) Tỉ lệ chọn cá thể tối ưu ( #elite) Kích thước plasmid(sizePlas) Giá trị 150 10 0.5 0.5 [3, 0.4s] với s kích thước cá thể chứa plasmid Hình 3.5: Kết thực nghiệm GA Bảng thống kê kết sau 10 lần chạy thực nghiệm đối vởi 35 Trong hàng thể cho liệu Kết trung bình kết chạy trung bình 10 lần chạy, kết tốt kết tốt 10 lần chạy Tương ứng thời gian chạy với kết 15 Chương Thuật toán ACO giải toán q-CaRS 4.1 Đồ thị cấu trúc Giải toán tối ưu tổ hợp thuật toán ACO việc quan trọng xây dựng cấu trúc đồ thị Ta có: A = a1 , a2 , , an tập thành phố C = c1 , c2 , , cm tâp xe để di chuyển Đồ thị cấu trúc toán G = {V, E} xây dựng sau: Đồ thị bao gồm l tầng hình 4.1 Mỗi đỉnh bao gồm thành phố xuất phát xe để di chuyển đến thành phố : vic = (i, c) : i ∈ A, c ∈ C Các cạnh đồ thị ei j = (vic , vcj ) : vi , v j ∈ A, i < j, c, c ∈ C nối đỉnh đồ thị Thông tin heuristic đặt cạnh đồ thị kí hiệu τ (vic , vcj ) Quy tắc cập nhật vết mùi áp dụng theo thuật toán SMMAS[??] 16 Hình 4.1: Đồ thị cấu trúc Thuật tốn xây dựng đây: Bước Khởi tạo ma trận vết mùi, tập K gồm k kiến Bước Thực lặp chưa thoả mãn điều kiện dừng Với kiến ta tiến hành bước sau: 2.1 Khởi tạo đỉnh xuất phát vic cách chọn thành phố sở xe di chuyển c thuộc C Cập nhật lại A = A − i 2.2 Thực lặp với t >= Chọn đỉnh vcj = ( j, c ) với xác suất ]β vc vc i j ∑l ∈ A,c ∈C [τ c c ]α [η c c ] β v v v v i l i l [τ Pvc vc = i j vc vc i j ]α [η Cập nhật lại A = A − i Nếu đỉnh trước chọn có xe c = c ta cập nhật lại C = C − c 2.3 Thực tìm kiếm cục lời giải tốt kiến tìm để cải thiện chất lượng lời giải 2.4 Cập nhật lại lời giải tốt 2.4 Cập nhật vết mùi theo quy tắc SMMAS dựa lời giải tốt Bước Lưu lại lời giải tốt Sơ đồ thuật toán việc xây dựng lời giải π kiến phác thảo đây: 17 Hình 4.2: Xây dựng lời giải kiến 4.2 Vết mùi thông tin heuristic Vết mùi τ (vic , vcj ) cạnh τ (vic , vcj ) khởi tạo τmax cập nhật lại theo vòng theo cơng thức Thơng tin heuristic đươc tính theo cơng thức: ηv c v c = i j dijc + γijc (4.2.1) dijc chi phí di chuyển từ thành phố i đến thành phố j γijc chi phí trả lại xe j xe c không thuê 4.3 Quy tắc cập nhật mùi Sau tất kiến xây dựng lời giải, lời giải kiến tốt áp dụng thủ tục tìm kiếm cục để tăng chất lượng lời giải Lời giải tốt sử dụng để cập nhật vết mùi cạnh theo quy tắc cập nhật mùi SMMAS: τ (vic , vcj ) = (1 − ρ)τ (vic , vcj ) + ∆vc ,vc i 18 j (4.3.2) đó: ∆vc ,vc = i j  ρτ nếu(vic , vcj ) ∈ bestsolution ρτ / bestsolution (vic , vcj ) ∈ max (4.3.3) Trong τmax τmin tham số cho trước, ρ ∈ (0, 1) tham số bay cho trước quy định thuộc tính, ρ nhỏ thể việc tìm kiếm quanh thơng tin học tăng cường, ρ lớn thể tính khám phá 4.4 Thủ tục tìm kiếm cục Để tăng cường chất lượng lời giải, ta sử dụng thêm thủ tục tìm kiếm địa phương Thục tục tìm kiếm cục phần áp dụng hàm multiOperatorsSearch thuật toán GA phần 4.5 Kết thực nghiệm Thực nghiệm tiến hành để so sánh với thuật toán GA nên sử dụng liệu chuẩn GA với cấu hình máy tương tự Vì ACO lớp thuật tốn meta-heuristic nên lần chạy cho kết cụ thể khác nhau, nên tơi tiến hành chạy chương trình 10 lần liệu, thống kê kết thu được, so sánh thơng qua tiêu trí kết tốt nhất, kết xấu kết trung bình 10 lần chạy Để so sánh với thuật toán GA ta chạy thực nghiệm ACO với số lời giải Như giới thiệu trên, GA sử dụng số lượng quần thể 150 số vòng lặp 10, ACO ta sử dụng 10 kiến đẩy số lượng vòng lặp 150 4.6 Kết thực nghiệm đánh giá Tương tự với thuật toán GA ta thực nghiệm với hai tham số khác để đánh giá mức độ ảnh hưởng tham số 19 Tiến hành thực nghiệm với tham số Tham số Giá trị Tham số bay hơi( ρ) 0.03 α β Số kiến ban đầu 10 Số vòng lắp 150 τmax 0.1 τmin 0.008 Kết chạy: Hình 4.3: Kết thực nghiệm ACO 20 Tiến hành thực nghiệm với tham số Tham số Giá trị Tham số bay hơi( ρ) 0.03 α β Số kiến ban đầu 10 Số vòng lắp 150 τmax 0.1 τmin 0.008 Kết chạy: 21 Hình 4.4: Kết thực nghiệm ACO Bảng thống kê kết sau 10 lần chạy thực nghiệm đối vởi 35 Trong hàng thể cho liệu Kết trung bình kết chạy trung bình 10 lần chạy, kết tốt kết tốt 10 lần chạy Tương ứng thời gian chạy với kết Kết cho thấy tham số bay nhỏ thực nghiệm tốt Điều cho thấy việc học tăng cường toán quan trọng 22 So sánh với kết thực nghiệm thuật toán GA Trong phần ta so sánh kết hai thuật toán GA ACO với tham số cho kết tốt Hình 4.5: So sánh kết thực nghiệm ACO GA Từ bảng so sánh ta thấy thuật toán ACO cho kết tốt GA nhiều chất lượng thời gian chạy nhiều trường hợp Chỉ có trường hợp in đậm tổng số 35 trường hợp tức khoảng 11.5% kết cho thấy GA tốt Như tùy yêu cầu toán thời gian chất lượng, yêu cầu thời gian chạy thấp ta hồn tồn sử dụng ACO để tìm kiếm lời giải.Tuy nhiên mức độ ảnh hưởng tham số lớn, cần linh hoạt bước lựa chọn tham số 23 ... kiện trên) cho tổng độ dài cạnh nhỏ 1.3 Bài tốn th xe du lịch có hạn ngạch( q-CaRS) Bài toán xuất phát từ nhu cầu thực tiễn người du lịch Khi người du lịch tham quan khu vực, họ thường đặt mục... Chương Bài tốn th xe du lịch có hạn ngạch 1.1 Quy hoạch nguyên 1.1.1 Dạng tổng quát toán Bài toán quy hoạch nguyên tổng quát biểu diễn dạng: f ( x... biến số: - f ijc có giá trị xe c di chuyển cạnh (i, j) từ i tới j có giá trị trường hợp khác -wijc có giá trị xe c thuê j chuyển tới i -aic nhận giá trị c thuê i -eic có giá trị xe c chuyển tới

Ngày đăng: 19/01/2020, 15:18

TỪ KHÓA LIÊN QUAN

w