Phương pháp local search cho một bài toán giao hàng trong thực tế

113 2K 11
Phương pháp local search cho một bài toán giao hàng trong thực tế

Đ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

Phần mở đầu Lý do thực hiện và mục tiêu của đề tài Lớp bài toán điều phối xe (Vehicle Routing Problem – VRP) có ứng dụng rất rộng rãi trong nhiều lĩnh vực của đời sống, đặc biệt là trong lĩnh vực giao thông vận tải. Mỗi bài toán VRP thực tế thường có các ràng buộc đặc trưng riêng, nhưng nhìn chung tất cả đều là bài toán NPkhó. ðề tài này tậptrung nghiên cứu và giải quyết một bài toán VRP thực tế, bắt nguồn từ nhu cầu điềuphối các xe giao hàng của công ty Cổ phần sữa Việt Nam (Vinamilk), cơ sở TP.HCM. Hiện nay, Vinamilk thực hiện việc điều phối xe giao hàng bằng tay với quy trình như sau: mỗi ngày, công ty sẽ nhận các đơn đặt hàng của khách hàng (sốlượng đơn hàng từ vài trăm đến hơn một ngàn), đến cuối ngày, nhân viên điều phối sẽ tổng hợp lại toàn bộ các đơn đặt hàng đã nhận trong ngày, và bộ phận điều phối thường phải mất khoảng 6 đến 8 tiếng (đôi khi phải thức cả đêm) để thực hiệnviệc phân bổ đơn hàng lên xe và xác định đường đi cho các xe vào ngày hôm sau. Cáchlàm này tốn khá nhiều thời gian và công sức mà đôi khi lời giải thu được lại chưa hẳn tốt. Do đó, vấn đề tự động hóa trong khâu điều phối xe là một nhu cầu rấtcần thiết. ðiểm đặc biệt của bài toán này là ngoài vấn đề điều phối xe, bài toáncòn yêu cầu phải xếp lịch vào kho cho các xe, yêu cầu có thể được mô hình hóa dưới dạng bài toán Flexible Job Shop Scheduling – một bài toán thuộc lớp bài toán NP – khó. Sự lồng ghép của hai bài toán khó khiến cho bài toán giao hàng của Vinamilk trở nên khá phức tạp. ðề tài đã đề nghị một thuật giải metaheuristic dựa trên local search để giải quyết bài toán này, kết quả thực nghiệm được so sánh với kết quả xếp tay được lấy từ thực tế và kết quả đã được công bố dưới dạng bài báo của một phương pháp dựa trên quy hoạch động (áp dụng trên cùng bài toán). Bố cục luận văn Luận văn gồm có 5 chương: 2 Chương 1: trình bày tổng quan về bài toán điều phối xe (Vehicle Routing Problem) – bao gồm định nghĩa bài toán, các biến thể của bài toán và sơ lược về các hướng tiếp cận hiện nay để giải quyết bài toán. Chương 2: trình bày chi tiết về bài toán mà luận văn tập trung nghiên cứu và giải quyết bài toán giao hàng của Công Ty Cổ Phần Sữa Việt Nam – Vinamilk. Chương 3: trình bày các kĩ thuật liên quan mà luận văn sẽ sử dụng để giải quyết bài toán giao hàng của Vinamilk Chương 4: trình bày chi tiết về thuật giải metaheurisitic dựa trên local search mà luận văn đề nghị để giải quyết bài toán giao hàng của Vinamilk Chương 5: trình bày kết quả thực nghiệm khi áp dụngthuật giải đã đề nghị lên một số bộ dữ liệu thực tế của Vinamilk. Chương 6: trình bày kết luận và các hướng phát triển của đề tài

ðẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ðẠI HỌC KHOA HỌC TỰ NHIÊN ðẶNG THỊ THANH NGUYÊN PHƯƠNG PHÁP LOCAL SEARCH CHO MỘT BÀI TOÁN GIAO HÀNG TRONG THỰC TẾ Ngành: KHOA HỌC MÁY TÍNH Mã số: 02 08 4801 31 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS ðINH BÁ TIẾN Thành phố Hồ Chí Minh - 2011 i Lời cảm ơn Tôi xin chân thành cảm ơn thầy ðinh Bá Tiến vì sự chỉ bảo, giúp ñỡ và hướng dẫn tận tâm của thầy trong suốt thời gian tôi thực hiện ñề tài này. Tôi xin ñược gởi lời cảm ơn ñến Quý Thầy Cô trong trường ñã tận tình giảng dạy, trang bị cho tôi những kiến thức quý báu trong suốt những năm học vừa qua. Tôi xin bày tỏ lòng cảm ơn sâu sắc ñến ba mẹ và các anh chị, bạn bè ñã ủng hộ, ñộng viên, giúp ñỡ tôi trong suốt thời gian vừa qua. Học viên thực hiện ðặng Thị Thanh Nguyên ii Mục lục Lời cảm ơn i Mục lục ii Danh mục các bảng iv Danh mục các hình v Phần mở ñầu 1 Lý do thực hiện và mục tiêu của ñề tài 1 Bố cục luận văn 1 Chương 1. Tổng quan về bài toán Vehicle Routing 3 1.1. Giới thiệu bài toán Vehicle Routing (VRP) 3 1.2. Các biến thể của bài toán VRP 4 1.3. Các hướng tiếp cận cho bài toán VRP 8 Chương 2. Bài toán giao hàng của công ty cổ phần sữa Việt Nam - Vinamilk 15 2.1. Một số khái niệm và ñặc trưng của bài toán 15 2.2. Ràng buộc của bài toán và thành phần của lời giải 17 2.3. Mục tiêu của bài toán 18 2.4. Các bài toán liên quan 18 2.5. Sự khác biệt của bài toán so với các bài toán VRP ñã ñược công bố 18 Chương 3. Các kĩ thuật liên quan 20 3.1. Thuật giải Tabu Search 20 3.2. Thuật giải Large Neighborhood Search 21 3.3. Bài toán Flexible Job Shop Scheduling 24 Chương 4. Thuật giải ñề nghị 32 iii 4.1. Bước 1: tạo ra một lời giải của bài toán nhưng bỏ qua vấn ñề xếp lịch vào kho của các xe 33 4.2. Bước 2: Xếp lịch vào kho cho các xe 39 4.3. Bước 3: Chỉnh sửa các chuyến của các xe trễ (nếu có) 44 4.4. Bước 4: Thêm xe mới vào lời giải hiện tại 46 Chương 5. Kết quả thực nghiệm 49 Chương 6. Kết luận và hướng phát triền 54 6.1. Kết luận 54 6.2. Hướng phát triển 55 Tài liệu tham khảo 56 Danh mục các công trình của tác giả 62 iv Danh mục các bảng Bảng 2.1. Thông tin chi tiết về ñội xe của Vinamilk 15 Bảng 4.1. Sự tương quan giữa các khái niệm trong bài toán giao hàng của Vinamilk với các khái niệm trong bài toán FJSP 41 Bảng 5.1. Thông tin 19 bộ dữ liệu của Vinamilk 49 Bảng 5.2. Kết quả thực nghiệm (với bài báo [38]) 52 Bảng 5.3. Kết quả thực nghiệm mới 53 Danh mục các hình và đồ thị v DANH MỤC CÁC HÌNH VÀ ĐỒ THỊ Trang Hình 1.1. Cấu trúc bộ gene của HPV 3  Hình 1.2. Cấu trúc của protein E7 5 Hình 1.3. Tác động của protein E7 lên các quá trình nội bào 6 Hình 1.4. Hệ thống phát hiện trực tiếp 13 Hình 1.5. Hệ thống avidin-biotin. 13 Hình 1.6. Hệ thống polymer – kháng thể thứ cấp – enzyme 14 Hình 1.7. ELISA và immuno PCR. Nguyên lý và độ nhạy của hai phương pháp 15 Hình 1.8. Immuno-PCR cổ điển, sử dụng protein lai giữa protein A và streptavidin 17  Hình 1.9. Immuno-PCR phổ biến. 18 Hình 1.10. Sơ đồ mô tả đoạn DNA marker được gắn cộng hợp vào kháng thể. 19 Hình 1.11. Immuno-PCR trực tiếp. 20 Hình 1.12. Immuno-PCR sử dụng các hạt từ phủ kháng thể 21 Hình 1.13. Immuno-PCR sử dụng “bio-barcode” 21 Hình 1.14. Immuno-PCR sử dụng LG protein và hệ thống phát hiện Tus-Ter 22 Hình 2.1. Buồng đếm hồng cầu 31 Hình 2.2. Sơ đồ phương pháp ELISA 38 Hình 2.3. Sơ đồ phương pháp checkerboard 38 Hình 2.4. Sơ đồ phương pháp immuno-PCR 39 Hình 3.1. Mô hình phương pháp lai hóa tế bào miễn dịch sử dụng trong đề tài. 41 Hình 3.2. Lai hóa tế bào miễn dịch sử dụng KTĐD 1D5 trên dòng tế bào HeLa và C33A với các nồng độ kháng thể 10 µg/ml (A1, A2), 5 µg/ml (B1, B2), 2,5 µg/ml (C1, C2). 42  Hình 3.3. Lai hóa tế bào miễn dịch sử dụng KTĐD 4H5 trên dòng tế bào HeLa và C33A với các nồng độ kháng thể 10 µg/ml (A1, A2), 5 µg/ml (B1, B2), 2,5 µg/ml (C1, C2). 43  Danh mục các hình và đồ thị vi Hình 3.4. Lai hóa tế bào miễn dịch sử dụng kháng thể 1D5 (10 µg/ml) trên các dòng tế bào HeLa (A), C33A (B), CHO-K1 chuyển vector pEGFP-E7HPV18 (C), CHO- K1 chuyển vector pEGFP-C2 (D), CaSki (E) 44  Hình 3.5. Lai hóa tế bào miễn dịch sử dụng kháng thể 4H5 (10 µg/ml) trên các dòng tế bào HeLa (A), C33A (B), CHO-K1 chuyển vector pEGFP-E7HPV18 (C), CHO- K1 chuyển vector pEGFP-C2 (D), CaSki (E) 45  Hình 3.6. Lai hóa tế bào miễn dịch trên dòng tế bào HeLa với kháng thể 1D5 (10 µg/ml), sử dụng tác nhân bộc lộ kháng nguyên là citrate pH 6 10 mM (A), EDTA pH 8 1 mM (B), không xử lý với tác nhân bộc lộ kháng nguyên (C). 46  Hình 3.7. Lai hóa tế bào miễn dịch trên mẫu tế bào HeLa (A), CaSki (B), C33A (C) xử lý theo phương pháp ly tâm và trải lên. 47  Hình 3.8. Lai hóa tế bào miễn dịch trên các mẫu tế bào dịch phết cổ tử cung 49 Hình 3.9. Mô hình kĩ thuật immuno-PCR và ELISA sử dụng trong đề tài. 50 Hình 3.10. Đồ thị xác định hằng số ái lực của KTĐD 4H5-biotin với kháng nguyên E7 HPV 18 tái tổ hợp tinh sạch. 53  Hình 3.11. PCR tạo DNA đánh dấu biotin. 54 Hình 3.12. Đồ thị khảo sát nồng độ kháng thể “bắt giữ” 1D5 55 Hình 3.13. Đồ thị khảo sát nồng độ kháng thể “phát hiện” 4H5-biotin 56 Hình 3.14. Đồ thị khảo sát nồng độ STV-AP 57 Hình 3.15. Tối ưu hóa nồng độ DNA đánh dấu biotin sử dụng cho immuno-PCR. . 58 Hình 3.16. Tối ưu hóa nồng độ streptavidin sử dụng cho immuno-PCR. 59 Hình 3.17. Tối ưu hóa tác nhân khóa giếng. 60 Hình 3.18. Kết quả immuno-PCR với protein E7 HPV 18 tái tổ hợp 61 1 Phần mở ñầu Lý do thực hiện và mục tiêu của ñề tài Lớp bài toán ñiều phối xe (Vehicle Routing Problem – VRP) có ứng dụng rất rộng rãi trong nhiều lĩnh vực của ñời sống, ñặc biệt là trong lĩnh vực giao thông vận tải. Mỗi bài toán VRP thực tế thường có các ràng buộc ñặc trưng riêng, nhưng nhìn chung tất cả ñều là bài toán NP-khó. ðề tài này tập trung nghiên cứu và giải quyết một bài toán VRP thực tế, bắt nguồn từ nhu cầu ñiều phối các xe giao hàng của công ty Cổ phần sữa Việt Nam (Vinamilk), cơ sở TP.HCM. Hiện nay, Vinamilk thực hiện việc ñiều phối xe giao hàng bằng tay với quy trình như sau: mỗi ngày, công ty sẽ nhận các ñơn ñặt hàng của khách hàng (số lượng ñơn hàng từ vài trăm ñến hơn một ngàn), ñến cuối ngày, nhân viên ñiều phối sẽ tổng hợp lại toàn bộ các ñơn ñặt hàng ñã nhận trong ngày, và bộ phận ñiều phối thường phải mất khoảng 6 ñến 8 tiếng (ñôi khi phải thức cả ñêm) ñể thực hiện việc phân bổ ñơn hàng lên xe và xác ñịnh ñường ñi cho các xe vào ngày hôm sau. Cách làm này tốn khá nhiều thời gian và công sức mà ñôi khi lời giải thu ñược lại chưa hẳn tốt. Do ñó, vấn ñề tự ñộng hóa trong khâu ñiều phối xe là một nhu cầu rất cần thiết. ðiểm ñặc biệt của bài toán này là ngoài vấn ñề ñiều phối xe, bài toán còn yêu cầu phải xếp lịch vào kho cho các xe, yêu cầu có thể ñược mô hình hóa dưới dạng bài toán Flexible Job Shop Scheduling – một bài toán thuộc lớp bài toán NP – khó. Sự lồng ghép của hai bài toán khó khiến cho bài toán giao hàng của Vinamilk trở nên khá phức tạp. ðề tài ñã ñề nghị một thuật giải metaheuristic dựa trên local search ñể giải quyết bài toán này, kết quả thực nghiệm ñược so sánh với kết quả xếp tay ñược lấy từ thực tế và kết quả ñã ñược công bố dưới dạng bài báo của một phương pháp dựa trên quy hoạch ñộng (áp dụng trên cùng bài toán). Bố cục luận văn Luận văn gồm có 5 chương: 2 - Chương 1: trình bày tổng quan về bài toán ñiều phối xe (Vehicle Routing Problem) – bao gồm ñịnh nghĩa bài toán, các biến thể của bài toán và sơ lược về các hướng tiếp cận hiện nay ñể giải quyết bài toán. - Chương 2: trình bày chi tiết về bài toán mà luận văn tập trung nghiên cứu và giải quyết - bài toán giao hàng của Công Ty Cổ Phần Sữa Việt Nam – Vinamilk. - Chương 3: trình bày các kĩ thuật liên quan mà luận văn sẽ sử dụng ñể giải quyết bài toán giao hàng của Vinamilk - Chương 4: trình bày chi tiết về thuật giải metaheurisitic dựa trên local search mà luận văn ñề nghị ñể giải quyết bài toán giao hàng của Vinamilk - Chương 5: trình bày kết quả thực nghiệm khi áp dụng thuật giải ñã ñề nghị lên một số bộ dữ liệu thực tế của Vinamilk. - Chương 6: trình bày kết luận và các hướng phát triển của ñề tài 3 Chương 1. Tổng quan về bài toán Vehicle Routing 1.1. Giới thiệu bài toán Vehicle Routing (VRP) Bài toán ñiều phối xe (Vehicle Routing Problem) [59] - gọi tắt là VRP - là bài toán mà trong ñó ta có sẵn một tập các xe (vehicle) và một tập các khách hàng (customer), mỗi khách hàng yêu cầu một số lượng hàng nhất ñịnh, yêu cầu của bài toán là phải phân phối hàng và tìm ñường ñi giao hàng cho các xe dựa trên một số mục tiêu cho trước sao cho tất cả các khách hàng ñều phải ñược giao hàng, một trong những mục tiêu phổ biến nhất là cực tiểu hóa tổng thời gian vận chuyển của tất cả các xe. Bài toán quen thuộc người ñưa thư (Travelling Salesman Problem - gọi tắt là TSP) [16] chính là một trường hợp ñặc biệt của bài toán VRP với một xe giao hàng duy nhất (người ñưa thư). Bài toán VRP và các biến thể của nó ñều thuộc lớp các bài toán NP-khó [55]. ðây là một trong những bài toán có ứng dụng thực tế rất rộng lớn và ñã nhận ñược sự quan tâm, nghiên cứu của rất nhiều nhà khoa học trên thế giới trong suốt 50 năm qua [4]. Trong bài toán này, các xe sẽ xuất phát từ các kho hàng (depot) và ñi giao hàng cho các khách hàng, sau ñó quay trở về lại kho hàng. Một số khái niệm chính của bài toán gồm: - Xe (vehicle): các phương tiện dùng ñể chuyên chở hàng, có thể có nhiều loại xe khác nhau, chẳng hạn như xe tải nhỏ, xe tải lớn, xe gắn máy, Các khái niệm gắn liền với loại xe bao gồm: sức chứa của xe (capacity) – thông số này cho biết số lượng hàng tối ña mà xe có thể chở, chi phí vận chuyển (gồm hai loại thông dụng: chi phí cố ñịnh - fixed cost - là chi phí cần thiết ñể xe có thể khởi hành, chi phí này không phụ thuộc vào ñộ dài quãng ñường mà xe phải ñi; chi phí ñộng - variable cost là chi phí tiêu tốn trên từng ñơn vị quãng ñường mà xe phải ñi), quãng ñường tối ña mà xe có thể ñi trong một ngày (maximum route length), loại mặt hàng (commodity type) mà xe có thể chở, … [...]... VRPM): trong bài toán này, m i xe có th ch y nhi u hơn m t chuy n, nghĩa là m t chi c xe có th xu t phát t kho hàng, ñi giao hàng, quay tr v kho hàng và l i l y hàng ñi giao ti p cho ñ n khi t ng th i gian giao hàng c a xe ch m m c cho phép - Bài toán VRP cho phép chia nh ñơn hàng (VRP with split delivery) [13]: trong bài toán này, m i ñơn ñ t hàng c a khách hàng ñư c phép phân nh ra thành các ñơn ñ t hàng. .. Khái ni m khách hàng( customer) trong bài toán VRP lý thuy t s tương ng v i khái ni m ñơn hàng trong bài toán th c t này – khi ñó, các ñơn hàng khác nhau có th thu c cùng m t ñ a ñi m M t ñơn hàng bao g m các thông tin sau: - ð a ch giao hàng - Lo i m t hàng (m i ñơn hàng ch thu c m t lo i m t hàng duy nh t) - S lư ng hàng yêu c u - Kho hàng ch a ñơn hàng này (hàng ñ giao cho m i ñơn hàng s ñư c ñóng... a bài toán so v i các bài toán VRP ñã ñư c công b - Bài toán c a Vinamilk khác v i các bài toán CVRP cơ b n vì có ñ n hai lo i m t hàng, và s c ch a c a các xe cũng tùy thu c vào t ng lo i m t hàng 19 - Bài toán c a Vinamilk tuy có nhi u kho hàng, nhưng l i khác v i bài toán Multi-depot VRP trong lý thuy t vì: ñ i v i bài toán Multi-depot VRP, m i xe s thu c m t kho c ñ nh duy nh t, trong khi bài toán. .. th c: Th i gian l y hàng = t ng s thùng hàng * t c ñ l y (giao) hàng àng h Trong bài toán này, th i gian làm th t c t i kho ñư c quy ñ nh là 15 phút, th i gian l à làm th t c t i m i ñ a ch giao hàng là 10 phút, t c ñ l y (giao) hàng là 3 giây/thùng Hình 2.1 Hình minh h a các khái ni m trong bài toán giao hàng c a Vinamilk b 2.2 Ràng bu c c a bài toán và thành ph n c a l i gi i Bài toán có 7 ràng bu c... các hàng hóa nguy hi m, t o m i quan h thân quen gi a tài x và khách hàng T t nhiên, các bi n th trên c a bài toán VRP có th k t h p l i v i nhau ñ t o nên các bi n th m i cho phù h p v i bài toán th c t c th Ch ng h n như: k t h p bài toán CVRP (bài toán VRP v i ràng bu c s c ch a c a xe) và bài toán AVRP (bài toán VRP v i ñ th bi u di n ñư ng ñi là ñ thì có hư ng), ta có bài toán ACVRP (bài toán bài. .. a Vinamilk, các xe có th ñ n b t kì kho hàng nào ñ l y hàng; m t khác, các khách hàng trong bài toán Multi-depot VRP có th nh n hàng t b t c kho hàng nào, trong khi bài toán c a Vinamilk, m i ñơn hàng ñã ñư c ch ñ nh s n kho ch a, và các xe b t bu c ph i giao ñúng ki n hàng c a ñơn hàng t i kho ñã ch ñ nh - Có l ng ghép m t bài toán NP-khó khác bên trong – bài toán Flexible Job Shop Scheduling [49]:... m t bài toán Flexible Job Shop Scheduling [49] – m t l p bài toán con thu c l p bài toán Machine Scheduling, và cũng thu c l p bài toán NP khó S l ng ghép gi a hai bài toán khó (VRP và Flexible Job Shop Scheduling) khi n cho bài toán c a Vinamilk tr nên r t ph c t p Theo kh o sát c a tác gi thì cho ñ n nay, bài toán VRP k t h p v i bài toán x p l ch vào kho l y hàng như v y ch m i ñư c ñ c p ñ n trong. .. hàng trư c, r i m i có hàng ñ giao ñ n cho ngư i nh n Như v y, trong bài toán này s có thêm m t lo i ràng bu c m i: ràng bu c th t ñ n g p khách hàng (precedence constraint) Các xe ph i tuân th th t này, nghĩa là ph i 6 g p khách hàng ñ t giao hàng trư c, r i m i ñư c ñ n g p khách hàng c n nh n hàng - Bài toán VRP v i yêu c u giao hàng trư c (VRP with Backhauls, g i t t là VRPB): tương t như bài toán. .. tương t như bài toán VRPPD, bài toán này cũng cho phép xe giao hàng và nh n hàng, nhưng có m t chút khác bi t: xe không ñ n g p khách hàng ñ l y hàng r i giao cho khách hàng khác n a mà ràng bu c th t g p khách hàng ñây s là: xe ph i ñi giao hàng cho t t c các khách hàng c n nh n (linehaul customers) trư c, r i sau ñó m i ñ n g p các khách hàng c n giao (backhaul customers) ñ l y hàng ñem v kho Wade và... VRPPD): bài toán này cho phép xe th c hi n c hai ch c năng - l y hàng (pickup) t m t s khách hàng (linehaul customer) và ñem ñi giao (delivery) cho khách hàng khác (backhaul customer), bài toán này thư ng áp d ng cho các d ch v v n chuy n hàng, trong ñó, khách hàng s yêu c u xe ñ n ch mình ñ nh n hàng và giao ñ n cho ngư i nh n (m t khách hàng khác) Khi ñó, t t nhiên xe ph i ñ n g p khách hàng th nh . hơn một lần trong suốt chu kì. Mỗi khách hàng sẽ có một tham số ñi kèm, quy ñịnh số lần mà xe phải ñến giao hàng cho khách trong suốt chu kì. Một ứng dụng thực tế của bài toán này là bài toán. khách hàng cần nhận hàng. - Bài toán VRP với yêu cầu giao hàng trước (VRP with Backhauls, gọi tắt là VRPB): tương tự như bài toán VRPPD, bài toán này cũng cho phép xe giao hàng và nhận hàng, . ñường. - Bài toán VRP với ñơn ñặt hàng theo chu kì (Periodic VRP): trong bài toán này, các xe giao hàng cho mỗi khách hàng trong nhiều ngày (gọi là một chu kì), mỗi xe có thể gặp một khách hàng

Ngày đăng: 07/07/2014, 23:00

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan