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

Giải bài toán định lộ trình xe với khung thời gian hạn định bằng phương pháp kết hợp tìm kiếm tabu và lập trình ràng buộc

137 19 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 137
Dung lượng 1,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phương pháp này được dựa trên việc kết hợp tìm kiếm Tabu và lập trình ràng buộc, với ý tưởng chính là sử dụng hiệu ứng lan truyền ràng buộc trong lập trình ràng buộc để thu giảm chi phí

Trang 1

♣♣♦♣♣

NGUYỄN HỮU BẢO QUỐC

GIẢI BÀI TOÁN ĐỊNH LỘ TRÌNH XE VỚI KHUNG THỜI GIAN HẠN ĐỊNH BẰNG PHƯƠNG PHÁP KẾT HỢP TÌM KIẾM

CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học : TS Dương Tuấn Anh

Cán bộ chấm nhận xét 1 : TS Lê Văn Dực

Cán bộ chấm nhận xét 2 : TS Trần Văn Hoài

Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN

VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 25 tháng 12 năm 2006

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: NGUYỄN HỮU BẢO QUỐC .Phái: Nam

Ngày, tháng, năm sinh: 02/09/1979 .Nơi sinh: Tây Ninh Chuyên ngành: Công nghệ thông tin .MSHV: 00704177

I- TÊN ĐỀ TÀI: Giải bài toán định lộ trình xe với khung thời gian hạn định bằng phương pháp kết hợp tìm kiếm Tabu và lập trình ràng buộc

II- NHIỆM VỤ VÀ NỘI DUNG:

* Nhiệm vụ :

- Nghiên cứu những phương pháp giải đã và đang được sử dụng cho lớp bài toán định lộ trình xe

- Nghiên cứu phương pháp tìm kiếm Tabu và lập trình ràng buộc

- Đề xuất phương pháp kết hợp tìm kiếm Tabu và lập trình ràng buộc để giải bài toán định lộ trình xe với khung thời gian hạn định (Vehicle Routing Problem with time windows)

- Hiện thực mô hình và chạy thử với tập dữ liệu mẫu Solomon

* Nội dung :

- Báo cáo của luận văn bao gồm 6 phần chính : Chương 1 Phát biểu vấn đề; Chương 2 Các công trình liên quan; Chương 3 Cơ sở lý thuyết; Chương 4 Phương pháp giải quyết bài toán; Chương 5 Hiện thực mô hình và kết quả thực nghiệm; Chương 6 Kết luận và phương hướng mở rộng

- Chương trình hiện thực mô hình đề xuất đã được chạy thử nghiệm với bộ

dữ liệu mẫu Solomo và cho kết quả tốt

Trang 4

IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 30/9/2006

V- CÁN BỘ HƯỚNG DẪN : TS DƯƠNG TUẤN ANH

Trang 5

Tôi xin chân thành cảm ơn Trường Đại học Bách Khoa Tp.HCM đã tạo điều kiện cho tôi thực hiện đề tài luận văn tốt nghiệp

Em xin gửi lời cảm ơn sâu sắc đến thầy Dương Tuấn Anh đã tận tình hướng dẫn

em trong suốt thời gian thực hiện đề tài

Em xin chân thành cảm ơn các thầy cô trong trường Đại học Bách Khoa đã truyền đạt những kiến thức quý báu, giúp em có được một nền tảng lý thuyết vững chắc

để hoàn thành luận văn này

Cuối cùng, xin được nói lời cảm ơn đến gia đình, anh chị, bạn bè đã giúp đỡ, khích

lệ, góp ý giúp tôi hoàn thành công việc một cách tốt nhất

Thành phố Hồ Chí Minh, tháng 12 năm 2006

Học viên thực hiện

Nguyễn Hữu Bảo Quốc

Trang 6

TÓM TẮT LUẬN VĂN

Bài toán định lộ trình xe với khung thời gian hạn định là một dạng mở rộng của bài toán định lộ trình xe, và đã có rất nhiều công trình nghiên cứu tập trung giải quyết bài toán này vì nó mang ý nghĩa ứng dụng thực tế rất cao Mục tiêu của bài toán là xác định một tập hợp các lộ trình tối ưu cho các xe phục vụ tất cả khách hàng và phải thỏa mãn các ràng buộc về trọng tải tối đa, khung thời gian hạn định được định nghĩa trước Hàm mục tiêu của bài toán có tiêu chuẩn chính là tối thiểu số xe cần điều động, sau đó tiêu chuẩn thứ hai là tối thiểu tổng quãng đường vận chuyển của các xe

Trong luận văn này, chúng tôi đề nghị thuật toán để giải bài toán định lộ trình xe với khung thời gian hạn định theo hai giai đoạn, với hàm lượng giá thích hợp cho từng giai đoạn Thuật toán đầu tiên sẽ tối thiểu số xe cần điều động để phục vụ tất cả khách hàng, sau đó trong giai đoạn kế tiếp nó sẽ tối thiểu tổng quãng đường vận chuyển của các xe Phương pháp này được dựa trên việc kết hợp tìm kiếm Tabu và lập trình ràng buộc, với ý tưởng chính là sử dụng hiệu ứng lan truyền ràng buộc trong lập trình ràng buộc để thu giảm chi phí tính toán khi giải thuật tìm kiếm Tabu duyệt qua không gian lời giải láng giềng được định nghĩa bởi toán tử di chuyển ở mỗi bước lặp

Chương trình hiện thực giải thuật kết hợp tìm kiếm Tabu và lập trình ràng buộc

đã được áp dụng để giải 56 bài toán cụ thể trong bộ dữ liệu mẫu của Solomon Các kết quả thực nghiệm cho thấy giải thuật rất hiệu quả trong việc tối thiểu tổng số xe cần điều động và đưa ra được các lời giải có tổng quãng đường vận chuyển rất gần với kết quả tốt nhất đã được công bố

Trang 7

In this thesis, we propose a two-phase algorithm for the VRPTW with an appropriate evaluation function in each phase The algorithm first minimizes the number of vehicles, then it minimizes the total travel distance The suggested method is based on combining tabu search and constraint programming, where the basic idea is to use the constraint propagation of constraint programming to reduce computational effort when tabu search explores the neighborhood defined by move operators at each iteration

We applied the algorithm to Solomon’s 56 well-known VRPTW instances The experimental results showed that the algorithm is effective and efficient in reducing the number of vehicles and is also very competitive in terms of distance minimization

Trang 8

MỤC LỤC

Chương 1 : PHÁT BIỂU VẤN ĐỀ 1

1.1 Giới thiệu vấn đề 1

1.2 Ứng dụng của vấn đề 3

1.3 Giới thiệu về phương pháp dự định để giải quyết vấn đề 3

1.3.1 Lập trình ràng buộc 4

1.3.2 Tìm kiếm cục bộ 5

1.3.3 Cách tiếp cận kết hợp tìm kiếm Tabu và lập trình ràng buộc 6

1.4 Tóm tắt kết quả của luận văn 6

1.5 Cấu trúc của báo cáo 7

Chương 2 : CÁC CÔNG TRÌNH LIÊN QUAN 9

2.1 Phương pháp quy hoạch động 9

2.2 Tìm kiếm cục bộ 10

2.3 Xu hướng kết hợp ưu điểm của các phương pháp 12

Chương 3 : CƠ SỞ LÝ THUYẾT 14

3.1 Tìm kiếm cục bộ và tìm kiếm dựa trên meta-heuristic 14

3.1.1 Giải thuật leo đồi 16

3.1.2 Giải thuật mô phỏng luyện kim 17

3.1.3 Giải thuật di truyền 18

3.1.4 Tìm kiếm Tabu 19

3.2 Lập trình ràng buộc 25

3.2.1 Giải thuật quay lui căn bản 27

3.2.2 Giải hệ ràng buộc riêng phần 28

Chương 4 : PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 31

4.1 Phương pháp giải quyết vấn đề 31

4.1.1 Đặc tả hình thức bài toán VRPTW 31

4.1.2 Chiến lược để tìm ra lời giải láng giềng 35

4.1.3 Định nghĩa các kí hiệu 41

4.1.4 Phương pháp tiếp cận hai giai đoạn của quá trình tìm kiếm 45

4.2 Các bước để giải quyết bài toán 46

4.2.1 Giải thuật tìm kiếm Tabu kết hợp với lập trình ràng buộc 47

4.2.2 Thủ tục để tìm ra lời giải ban đầu 50

4.2.3 Các thủ tục để tìm ra lời giải chất lượng cao 52

Chương 5 : HIỆN THỰC MÔ HÌNH VÀ KẾT QUẢ THỰC NGHIỆM70 5.1 Các cấu trúc dữ liệu quan trọng 70

5.1.1 Khách hàng – class Customer: 70

5.1.2 Lộ trình – class Route: 72

5.1.3 Lời giải khả thi – class Solution: 72

Trang 9

5.1.4 Danh sách cấm – class TabuList: 75

5.2 Hiện thực giải thuật tìm ra lời giải ban đầu và lời giải chất lượng cao 76

5.2.1 Giải thuật tìm ra lời giải ban đầu 76

5.2.2 Giải thuật lời giải chất lượng cao 77

5.3 Kết quả thực nghiệm 78

5.3.1 Bộ dữ liệu mẫu của Solomon 78

5.3.2 Nhận xét về kết quả thực nghiệm 83

5.3.3 So sánh hai trường hợp có và không có sử dụng hiệu ứng lan truyền ràng buộc trong tìm kiếm Tabu 97

Chương 6 : KẾT LUẬN VÀ PHƯƠNG HƯỚNG MỞ RỘNG 102

6.1 Kết luận của đề tài 102

6.2 Các đóng góp của đề tài 103

6.3 Phương hướng phát triển mở rộng 103

THƯ MỤC THAM KHẢO 105

LÝ LỊCH TRÍCH NGANG 1 PHỤ LỤC A : HƯỚNG DẪN CÀI ĐẶT CHƯƠNG TRÌNH……… A 1 PHỤ LỤC B : MỘT SỐ LỜI GIẢI TỐT NHẤT CỦA CHƯƠNG

Trang 10

DANH MỤC CÁC HÌNH

Hình 1.1 : Một lời giải cho bài toán VRPTW có kích thước 18 khách hàng 2

Hình 3.1: Thủ tục tìm kiếm cục bộ 15

Hình 3.2 : Thủ tục mô phỏng luyện kim 18

Hình 3.3 : Thủ tục tìm kiếm Tabu 20

Hình 3.4 : Lưu đồ giải thuật tìm kiếm Tabu 22

Hình 3.5 : Mô tả hoạt động của giải thuật quay lui đơn giản 28

Hình 4.1 : Toán tử 2-opt 35

Hình 4.2 : Toán tử 2-opt* 37

Hình 4.3 : Toán tử Exchange opt 38

Hình 4.4 : Toán tử Or-opt 39

Hình 4.5 : Toán tử GENI opt 40

Hình 4.6 : Mã giả hàm kiểm tra ràng buộc khung thời gian hạn định cho một chuỗi các khách hàng 43

Hình 4.7 : Mã giả hàm kiểm tra trạng thái cấm của một bước di chuyển khả thi so với danh sách cấm 45

Hình 4.8 : Mã giả thủ tục tìm kiếm Tabu kết hợp với lập trình ràng buộc theo hai giai đoạn 47

Hình 4.9 : Mã giả thủ tục tìm kiếm theo từng giai đoạn 50

Hình 4.10 : Mã giả của thủ tục xây dựng một lịch trình vận chuyển khả thi ban đầu 51

Hình 4.11 : Mã giả thủ tục tạo các bước di chuyển khả thi được đánh giá tốt nhất 55

Hình 4.12 : Mã giả thủ tục tạo các bước di chuyển khả thi cho giai đoạn 1 56

Hình 4.13 : Mã giả thủ tục tạo các bước di chuyển khả thi cho giai đoạn 2 57

Hình 4.14 : Mã giả thủ tục tạo các bước di chuyển khả thi của toán tử 2-opt 58

Hình 4.15 : Mã giả thủ tục tạo các bước di chuyển khả thi của toán tử 2-opt* 59

Hình 4.16 : Mã giả thủ tục tạo các bước di chuyển khả thi của toán tử GENI 62

Hình 4.17 : Mã giả thủ tục tạo các bước di chuyển khả thi của toán tử Exchange 63

Hình 4.18 : Mã giả thủ tục tạo các bước di chuyển khả thi của toán tử Or-opt 65

Hình 4.19 : Mã giả thủ tục thực thi bước di chuyển khả thi được đánh giá tốt nhất 67

Hình 4.20 : Mã giả thủ tục cập nhật danh sách cấm với bước di chuyển khả thi tốt nhất 68

Hình 5.1 : Biểu diễn một lộ trình có 3 khách hàng bằng danh sách liên kết kép 70

Hình 5.2 : Đặc tả các class quan trọng - class Customer, class Route, class Solution 75

Hình 5.3 Định dạng của file dữ liệu đầu vào 77

Hình 5.4 : Đồ thị so sánh tổng quãng đường vận chuyển của chương trình VRPTWTest với các kết quả đã được công bố cho lớp bài toán C1 85

Hình 5.5 : Đồ thị so sánh tổng quãng đường vận chuyển của chương trình VRPTWTest với các kết quả đã được công bố cho lớp bài toán C2 85

Trang 11

Hình 5.6 : Đồ thị so sánh tổng quãng đường vận chuyển của chương trình VRPTWTest với các kết quả đã được công bố cho lớp bài toán R1 86

Hình 5.7 : Đồ thị so sánh tổng quãng đường vận chuyển của chương trình VRPTWTest với các kết quả đã được công bố cho lớp bài toán RC1 86

Hình 5.8 : Đồ thị so sánh tổng quãng đường vận chuyển của chương trình VRPTWTest với các kết quả đã được công bố cho lớp bài toán R2 87

Hình 5.9: Đồ thị so sánh tổng quãng đường vận chuyển của chương trình VRPTWTest với các kết quả đã được công bố cho lớp bài toán RC2 87

Hình 5.10 : Đồ thị biểu diễn theo thời gian của đại lương slr thuộc hàm lượng giá trong giai đoạn 1 của bài toán C106 với 3000 bước lặp 88

Hình 5.11 : Đồ thị biểu diễn theo thời gian của đại lương mdl thuộc hàm lượng giá trong giai đoạn 1 của bài toán C106 với 3000 bước lặp 88

Hình 5.12 :Đồ thị biểu diễn theo thời gian của hàm lượng giá trong giai đoạn 2 của bài toán C106 với 3000 bước lặp 89

Hình 5.13 :Đồ thị biểu diễn theo thời gian của đại lương slr thuộc hàm lượng giá trong giai đoạn 1 của bài toán C205 với 3037 bước lặp 89

Hình 5.14 : Đồ thị biểu diễn theo thời gian của đại lương mdl thuộc hàm lượng giá trong giai đoạn 1 của bài toán C205 với 3037 bước lặp 90

Hình 5.15 : Đồ thị biểu diễn theo thời gian của hàm lượng giá trong giai đoạn 2 của bài toán C205 với 2963 bước lặp 90

Hình 5.16 : Đồ thị biểu diễn theo thời gian của đại lương slr thuộc hàm lượng giá trong giai đoạn 1 của bài toán R101 với 3128 bước lặp 91

Hình 5.17 :Đồ thị biểu diễn theo thời gian của đại lương mdl thuộc hàm lượng giá trong giai đoạn 1 của bài toán R101 với 3128 bước lặp 91

Hình 5.18 : Đồ thị biểu diễn theo thời gian của hàm lượng giá trong giai đoạn 2 của bài toán R101 với 2872 bước lặp 92

Hình 5.19 : Đồ thị biểu diễn theo thời gian của đại lương slr thuộc hàm lượng giá trong giai đoạn 1 của bài toán R201 với 3030 bước lặp 92

Hình 5.20 :Đồ thị biểu diễn theo thời gian của đại lương mdl thuộc hàm lượng giá trong giai đoạn 1 của bài toán R201 với 3030 bước lặp 93

Hình 5.21 : Đồ thị biểu diễn theo thời gian của hàm lượng giá trong giai đoạn 2 của bài toán R201 với 2970 bước lặp 93

Hình 5.22 : Đồ thị biểu diễn theo thời gian của đại lương slr thuộc hàm lượng giá trong giai đoạn 1 của bài toán RC103 với 3176 bước lặp 94

Hình 5.23 : Đồ thị biểu diễn theo thời gian của đại lương mdl thuộc hàm lượng giá trong giai đoạn 1 của bài toán RC103 với 3176 bước lặp 94

Hình 5.24 : Đồ thị biểu diễn theo thời gian của hàm lượng giá trong giai đoạn 2 của bài toán RC103 với 2824 bước lặp 95

Hình 5.25 : Đồ thị biểu diễn theo thời gian của đại lương slr thuộc hàm lượng giá trong giai đoạn 1 của bài toán RC201 với 3030 bước lặp 95

Trang 12

Hình 5.26 : Đồ thị biểu diễn theo thời gian của đại lương mdl thuộc hàm lượng giá trong giai đoạn 1 của bài toán RC201 với 3030 bước lặp 96

Hình 5.27 : Đồ thị biểu diễn theo thời gian của hàm lượng giá trong giai đoạn 2 của bài toán RC201 với 2970 bước lặp 96

Trang 14

TÊN ĐỀ TÀI :

Giải bài toán định lộ trình xe với khung thời gian hạn định bằng phương pháp kết hợp tìm kiếm Tabu và lập trình ràng buộc

Trang 15

Chương 1 : PHÁT BIỂU VẤN ĐỀ

Trong mục 1.1 của chương này, nội dung bài toán mà đề tài giải quyết sẽ được

giới thiệu sơ lược Qua đó, chúng ta sẽ nắm bắt được các điểm chính trong nội dung bài

toán, cũng như độ phức tạp tính toán của lớp bài toán xếp lịch (scheduling problem) nói chung Mục 1.2 sẽ được dành cho việc phân tích các số liệu nhu cầu thực tiễn đã

được các tác giả trên thế giới khảo sát, từ đó hình thành động cơ thúc đẩy cho việc nghiên cứu của luận văn

Mục tiêu của luận văn được đặt ra là “giải bài toán định lộ trình xe với khung thời gian hạn định bằng phương pháp kết hợp tìm kiếm Tabu và lập trình ràng buộc”, phương pháp này sẽ được giới thiệu tại mục 1.3 Các kết quả thực nghiệm đạt được khi

áp dụng phương pháp này được sẽ trình bày tóm tắt trong mục 1.4 Cuối cùng, mục 1.5 trình bày cấu trúc tổng quát của báo cáo luận văn

1.1 Giới thiệu vấn đề

Vào năm 1959, bài toán định lộ trình xe (Vehicle Routing Problem - VRP) được

chính thức giới thiệu bởi Dantzig và Ramser Hơn bốn thập niên đã trôi qua, do nhu cầu đòi hỏi của thực tế, rất nhiều phương pháp giải đã được thiết kế để giải quyết bài toán này chủ yếu theo hai hướng tiếp cận chính là giải một cách chính xác và giải gần đúng.Vì vậy, bài toán định lộ trình xe là một bài toán có tính thực tiễn cao và đã được khảo sát rộng rãi trong cộng đồng khoa học Cho đến nay, vẫn chưa có một công bố chính thức nào trong cộng đồng khoa học về việc đã giải được hoàn toàn bài toán định

lộ trình xe đến kết quả tối ưu

Bài toán định lộ trình xe thông thường được diễn tả như sau : cho trước một tập

khách hàng cần được phục vụ bởi một tập hợp các xe (vehicle) tập trung ở một kho xe

(depot), mỗi khách hàng đều có một nhu cầu nhất định cần được phục vụ và chỉ được

phục vụ duy nhất bởi một xe, nhiệm vụ đặt ra của bài toán là xác định tập hợp các lộ trình (route) thích hợp, đều bắt đầu và kết thúc tại kho xe, cho các xe để phục vụ tất cả

các khách hàng với chi phí thấp nhất mà không vi phạm ràng buộc đã được đặt ra Cụ

thể là việc xây dựng các lộ trình không được vi phạm ràng buộc về trọng tải tối đa

(capacity constraint) của xe

Bên cạnh ràng buộc về trọng tải tối đa, bài toán này cũng thường được xem xét

với ràng buộc về khung thời gian hạn (time windows constraint) định được định nghĩa

ở mỗi khách hàng Khi đó, bài toán định lộ trình xe sẽ trở thành bài toán định lộ trình

Trang 16

xe với khung thời gian hạn định (Vehicle Routing Problem with Time Windows -

VRPTW), trong đó mỗi khách hàng phải được phục vụ trong một khoảng thời gian xác định trước

Đây là một loại ràng buộc mới: ràng buộc về thời điểm đến và đi của xe khi phục vụ một khách hàng Khung thời gian hạn định xác định thời điểm sớm nhất và trễ nhất mà khách hàng phải được phục vụ bởi một xe Xe có thể đến sớm hơn thời điểm sớm nhất nhưng phải chờ đến phiên phục vụ, và không chấp nhận xe đến trễ hơn thời điểm trễ nhất Như vậy, các xe phải hoàn thành lộ trình vận chuyển trong một khoảng thời gian được hạn định trước, đây cũng chính là khung thời gian hạn định của kho xe

Hình 1.1 : Một lời giải cho bài toán VRPTW có kích thước 18 khách hàng

Bài toán định lộ trình xe có mục tiêu chính là tối thiểu tổng quãng đường vận chuyển của các xe để phục vụ hết khách hàng Trong khi đó, đối với bài toán định lộ trình xe với khung thời gian hạn định thì mục tiêu đầu tiên là tối thiểu số lượng xe cần điều động, còn mục tiêu tối thiểu tổng quãng đường vận chuyển trở thành mục tiêu ưu

tiên thứ hai theo như tác giả M.M Solomon – 1987 [24] đã trình bày Hình 1.1 minh

họa một lời giải khả thi cho bài toán VRPTW có kích thước 18 khách hàng

Bài toán định lộ trình xe với khung thời gian hạn định còn có thể được xem như

là một trường hợp đặc biệt của dạng bài toán tìm đường với tài nguyên bị ràng buộc

(Resource Constrained Routing Problem - RCRP) tổng quát hơn Một trường hợp đặc

Trang 17

biệt khác của dạng bài toán RCRP là bài toán đoàn người bán hàng du lịch với khung thời gian hạn định (Multiple Travel Saleman Problem with Time Windows -

và ảnh hưởng trực tiếp đến hiệu suất hoạt động sản xuất của các ngành kinh tế khác Các số liệu thông kê của các tác giả Olli Braysy and Michel Gendreau – 2001 [2] cho thấy doanh thu hàng năm của ngành vận tải hàng hóa ở Châu Âu vào khoảng 168 tỉ đôla Chi phí vận chuyển, phân phối hàng hóa đóng góp một phần đáng kể vào tổng chi phí của hàng hóa, đặc biệt trong các ngành chế biến thức ăn và đồ uống thì nó chiếm

đến 70% chi phí phát sinh của hàng hóa Do đó, vấn đề tối thiểu hóa chi phí vận

chuyển đóng một vai trò quan trọng trong các hoạt động điều hành hàng ngày của một công ty trong nền công nghiệp hiện nay

Bài toán định lộ trình xe với khung thời gian hạn định là một trong những bài toán tối ưu tổ hợp (combinational optimization problem) quan trọng, giữ vị trí trung tâm trong ngành quản lý phân phối Tài liệu tham khảo [2] cũng nêu ra một số ứng dụng thực tế của bài toán VRPTW là việc phân phối tiền mặt cho các chi nhánh của ngân hàng, việc giao nhận bưu phẩm trong ngành bưu điện, các ứng dụng trong ngành công nghiệp thu gom phế thải, hệ thống xe buýt trường học, dịch vụ phân phối đồ gỗ gia dụng đến từng địa điểm khách hàng với khoảng thời gian qui định trước trong ngày Theo như số liệu trong công trình của Jean-Francois Cordeau và Gilbert Laporte –

2002 [6] thì việc áp dụng các công cụ hổ trợ của khoa học máy tính trong quy trình

phân phối thường tiết kiệm được từ 5% đến 20% tổng chi phí vận chuyển

1.3 Giới thiệu về phương pháp dự định để giải quyết vấn đề

Như chúng ta đã biết, bài toán định lộ trình xe với khung thời gian hạn định

thuộc lớp bài toán tối ưu tổ hợp có độ khó NP-Hard, nhưng lại là một trong những bài

Trang 18

toán có ứng dụng thực tiễn cao và được đặc biệt chú trọng trong ngành giao thông vận tải Khi so sánh với bài toán định lộ trình xe, bài toán định lộ trình xe với khung thời gian hạn định có độ phức tạp cao hơn do phải giải quyết thêm các ràng buộc về thời

gian Cụ thể là chúng ta phải nêu ra được các phiên bản có sửa đổi của các toán tử di chuyển (move operator) để thích nghi với điều kiện có nhiều lộ trình trong lời giải và

thời gian phục vụ tại các khách hàng bị ràng buộc

Khi tham khảo tài liệu của tác giả Wanpracha Chaovalitwongse và các cộng sự -

2003 [5], chúng ta có thể tìm thấy một chứng minh đơn giản về độ phức tạp tính toán của bài toán này Nội dung của chứng minh có thể được tóm tắt như sau : bài toán định

lộ trình xe với khung thời gian hạn định có thể được phân thành hai bài toán con là xác định số xe tối thiểu cần sử dụng và tối ưu hóa tổng quãng đường vận chuyển Nếu các ràng buộc về khung thời gian được nới lỏng, chúng ta sẽ chỉ còn chú ý đến việc tối

thiểu hóa số xe cần sử dụng nên bài toán khi đó có độ phức tạp tương đương với bài toán xếp đồ vào túi ba lô (pin packing problem) Nếu các ràng buộc về trọng tải tối đa được nới lỏng, bài toán sẽ được đơn giản hóa và tương đương với bài toán định thời cho nhiều bộ xử lý (multi-processors scheduling problem) với các chi phí là thời gian

khởi tạo, giải phóng và thời điểm chấm dứt của từng công việc Vì vậy, bài toán định lộ trình xe với khung thời gian hạn định thuộc lớp bài toán có độ khó NP-Hard

Tóm lại, do bài toán VRPTW mang hai đặc điểm chính là có độ phức tạp tính toán hàm mũ nhưng có tính ứng dụng thực tiễn cao nên đã được khảo sát trong rất nhiều công trình nghiên cứu mô hình lý thuyết và ứng dụng trong cộng đồng khoa học

máy tính Một trong các xu hướng chính hiện nay là áp dụng các kỹ thuật của tìm kiếm cục bộ (Local Search) để tìm ra lời giải có chất lượng tốt trong khoảng thời gian chấp

nhận được

Mục tiêu của luận văn này mong muốn được đóng góp một cách giải mới, ứng dụng mô hình kết hợp hai phương pháp tìm kiếm Tabu và lập trình ràng buộc, để giải bài toán định lộ trình xe với khung thời gian hạn định

1.3.1 Lập trình ràng buộc

Lập trình ràng buộc (Constraint Programming - CP) là một mô hình lập trình

dùng để biểu diễn và giải quyết hiệu quả nhiều dạng bài toán khác nhau trong ngành khoa học máy tính Trong mô hình này, vấn đề cần giải quyết sẽ được biểu diễn bởi các biến, miền trị của các biến và những mối quan hệ ràng buộc giữa chúng Sau đó, các

giải thuật tìm kiếm theo chiều sâu (depth-first search) hay giải thuật nhánh-và-cận

(branch-and-bound algorithm) sẽ được dùng để tìm ra lời giải cho bài toán

Trang 19

Đặc biệt là đối với dạng bài toán tối ưu, theo nhận định của tác giả Carlos Castro và các cộng sự - 2004 [4] thì lập trình ràng buộc có thể được áp dụng như là

một trong những kỹ thuật tìm kiếm vét cạn, ở đó các bài toán thỏa mãn ràng buộc

(Constraint Satisfaction Problem - CSP) sẽ được tuần tự giải quyết bằng cách thêm các

ràng buộc phát sinh để sinh ra các cận tốt hơn trên giá trị của hàm mục tiêu (objective function) cho đến khi tồn tại một bài toán CSP không thỏa mãn ràng buộc được phát

hiện

Khi được áp dụng vào việc giải bài toán VRPTW, lập trình ràng buộc là một trong những hướng tiếp cận tốt vì phương pháp này cung cấp đặc tính mô hình hóa một cách tự nhiên các ràng buộc của vấn đề trong thế giới thực Nếu ta có thể kết hợp phương pháp này với các phương pháp tìm kiếm cục bộ thì các ứng dụng thực tế của

bài toán tối ưu này sẽ dễ dàng được hiện thực hơn Nhưng một trong những trở ngại khi kết hợp hai hướng tiếp cận này là các kỹ thuật của lập trình ràng buộc thường không phối hợp trực tiếp được với các kỹ thuật được sử dụng trong tìm kiếm cục bộ, cụ thể là kết hợp khả năng tìm kiếm vùng lân cận của lời giải hiện thời với hiệu ứng lan truyền ràng buộc (constraint propagation) hay các heuristic khác trong lập trình ràng buộc Do đó, luận văn sẽ trình bày phương pháp kết hợp thế mạnh của cả hai hướng

tiếp cận này một cách tự nhiên để giải bài toán định lộ trình xe với khung thời gian hạn định

Search) được đánh giá là có hiệu suất tốt nhất khi giải quyết dạng bài toán này

Ngoài ra, các heuristic khác bao gồm có các phương pháp xây dựng dần lời giải khả thi theo từng bước trong khi đó cố gắng giữ giá trị của hàm lượng giá ở mức thấp nhất có thể; hay các phương pháp tìm kiếm tối ưu cục bộ: ban đầu một lời giải khả thi

sẽ được tạo ra, sau đó các toán tử di chuyển được sử dụng để tìm ra lời giải chất lượng tốt hơn bằng cách tác động lên một hay nhiều thuộc tính của lời giải khả thi hiện tại Theo khảo sát của các tác giả K Q Zhu, K C Tan và L.H Lee – 1999 [26] thì các heuristic đang được sử dụng hiện nay chủ yếu là các thuật toán theo cách tiếp cận này

và thuộc thế hệ thứ ba của ngành trí tuệ nhân tạo (Artifical Intelligent), ví dụ như các giải thuật tìm kiếm cục bộ dựa vào toán tử di chuyển λ-Interchange (λ-Interchange

Trang 20

Local Search), phương pháp mô phỏng luyện kim (Simulated Annealing), giải thuật di truyền (Genetic Algorithm), tìm kiếm Tabu

1.3.3 Cách tiếp cận kết hợp tìm kiếm Tabu và lập trình ràng

buộc

Khi áp dụng kỹ thuật tìm kiếm Tabu trong thực nghiệm, nếu ta thiết kế được một mô hình tính toán đúng đắn nắm bắt được các ràng buộc của bài toán một cách hiệu quả thì kỹ thuật này sẽ đưa ra được các lời giải khá tốt, có chất lượng rất gần với lời giải tối ưu toàn cục Tuy nhiên, chi phí dùng cho việc tính toán sẽ giảm đáng kể nếu

chúng ta tận dụng tốt các ràng buộc đã được đặt ra khi thuật toán Tabu duyệt qua không gian các lời giải khả thi của bài toán ở từng bước lặp của giải thuật

Vì vậy, lập trình ràng buộc sẽ được sử dụng để giảm bớt được một phần lớn chi phí tính toán của giải thuật Tabu bằng cách áp dụng hiệu ứng lan truyền của các ràng

buộc nhằm mục đích thu giảm miền trị của các biến Hệ quả là, không gian vùng lân cận của một lời giải sẽ được thu giảm đáng kể và giải thuật sẽ tiết kiệm được chi phí tính toán khi duyệt qua không gian lời giải khả thi Đây cũng là nền tảng để hình thành

mô hình kết hợp điểm mạnh của hai phương pháp tìm kiếm Tabu và lập trình ràng

buộc, trong đó các kỹ thuật của lập trình ràng buộc sẽ được nhúng vào bộ khung chính của quá trình tìm kiếm là giải thuật tìm kiếm Tabu

1.4 Tóm tắt kết quả của luận văn

Nhiệm vụ của luận văn đặt ra bao gồm : phân tích yêu cầu bài toán định lộ trình

xe với khung thời gian hạn định, từ đó đề nghị và thiết kế giải thuật kết hợp tìm kiếm Tabu với lập trình ràng buộc theo hướng tiếp cận hai giai đoạn Ở mỗi giai đoạn, quá trình tìm kiếm đòi hỏi hàm lượng giá các lời giải láng giềng khác nhau Giải thuật đã tận dụng được hiệu ứng lan truyền ràng buộc, là thế mạnh của lập trình ràng buộc, bổ sung cho phương pháp tìm kiếm Tabu

Chương trình hiện thực giải thuật đã chạy thử trên bộ dữ liệu mẫu Solomon [24] của lớp bài toán VRPTW và cho kết quả rất tốt Cụ thể là chương trình đã tối ưu được

mục tiêu ưu tiên thứ nhất 84% trong tổng số 56 bài toán của bộ dữ liệu mẫu Solomon

Về mục tiêu thứ hai, chương trình cho kết quả tổng quãng đường vận chuyển của lịch

trình lệch không quá 4% so với kết quả tốt nhất được công bố đối với 32/56 tổng số bài

toán thuộc bộ dữ liệu chuẩn của Solomon

Trang 21

1.5 Cấu trúc của báo cáo

Báo cáo luận văn cao học đề tài “Giải bài toán định lộ trình xe với khung thời gian hạn định bằng phương pháp kết hợp tìm kiếm Tabu và lập trình ràng buộc” được chia làm sáu chương chính như sau :

Chương 1 - Giới thiệu vấn đề bao gồm bốn đề mục chính : Giới thiệu vấn đề,

Ứng dụng của vấn đề, Giới thiệu về phương pháp dự định để giải quyết vấn đề, và Tóm tắt kết quả nghiên cứu Qua đó, chúng tôi giới thiệu về nội dung của đề tài cần giải

quyết và cách tiếp cận kết hợp hai phương pháp tìm kiếm Tabu và lập trình ràng buộc

để giải quyết bài toán VRPTW Nội dung chủ yếu của chương này là xác định động cơ thúc đẩy nhu cầu nghiên cứu, giới hạn nội dung nghiên cứu của luận văn, và tóm tắt kết quả nghiên cứu đạt được

Chương 2 – Các công trình liên quan, các công trình nghiên cứu có liên quan

đến đề tài luận văn của các tác giả trên thế giới cũng như ở Việt Nam sẽ được khảo sát

và trình bày tóm lược Nhìn chung, các công trình nghiên cứu rất đa dạng, phong phú

nhưng được tập trung chủ yếu vào các hướng nghiên cứu chính là Phương pháp quy hoạch động (Dynamic programming) , Tìm kiếm cục bộ, Lập trình ràng buộc Đáng

chú ý nhất là xu hướng mới kết hợp điểm mạnh của các phương pháp này một cách hiệu quả

Chương 3 – Cơ sở lý thuyết, phương pháp được đề nghị để giải bài toán

VRPTW đặt nền tảng dựa trên hai mô hình lý thuyết là tìm kiếm cục bộ và lập trình ràng buộc Vì vậy chương này bao gồm hai đề mục sẽ được dành riêng để trình bày các nội dung chính của hai mô hình được sử dụng khá phổ biến hiện nay

Chương 4 – Phương pháp giải quyết vấn đề bao gồm hai đề mục chính Đề

mục đầu tiên được dùng để đặc tả hình thức bài toán VRPTW, đặc biệt chú trọng đến

việc mô tả các ràng buộc và xác định cấu trúc không gian lời giải khả thi Phần tiếp

theo, luận văn đưa ra cách tiếp cận hai giai đoạn kết hợp khả năng giới hạn vùng tìm kiếm của lập trình ràng buộc được nhúng vào bộ khung của tìm kiếm Tabu để giải bài toán VRPTW Đây là một dạng mô hình lai ghép tận dụng thế mạnh của cả hai phương

pháp tìm kiếm cục bộ và lập trình ràng buộc

Chương 5– Hiện thực mô hình và kết quả thực nghiệm, mô hình lai ghép dựa

trên phương pháp kết hợp tìm kiếm Tabu và lập trình ràng buộc được thiết kế và hiện thực với các cấu trúc dữ liệu thích hợp cho giải thuật đã được trình bày ở Chương 4

Chương trình đã được chạy thử trên tập dữ liệu kiểm tra mẫu của M M Solomon –

Trang 22

1987 [24] và cho kết quả tốt Bảng kết quả thực nghiệm và các nhận xét, đánh giá cũng

được trình bày trong chương này

Chương 6 – Kết luận và phương hướng mở rộng trình bày các kết luận được

rút ra sau khi đánh giá và so sánh kết quả nghiên cứu với các công trình liên quan đã

được công bố, cùng với phương hướng phát triển mở rộng của đề tài trong tương lai

Trang 23

Chương 2 : CÁC CÔNG TRÌNH LIÊN QUAN

Bài toán định lộ trình xe với khung thời gian hạn định là một trong những bài

toán tối ưu tổ hợp kinh điển có độ phức tạp NP-Hard, nhưng lại có sức hấp dẫn rất lớn

đối với các nhà khoa học Bởi vì lý do chính đó là có rất nhiều ứng dụng trong thực tế,

đặc biệt trong nghiên cứu điều hành (Operations Research) Rất nhiều vấn đề đặt ra có

thể được mô hình hóa về dạng bài toán này để giải quyết Bên cạnh đó, theo như chúng tôi được biết thì vẫn chưa có một tài liệu nghiên cứu được công bố nào khẳng định là

đã giải quyết trọn vẹn bài toán VRPTW nên các nhà nghiên cứu vẫn đang tiếp tục đóng góp các phương pháp giải quyết vấn đề mới cho bài toán này

Trong mục 2.1, một phương pháp giải kinh điển của bài toán VRPTW là phương

pháp quy hoạch động được khảo sát với các công trình nghiên cứu theo hướng tiếp cận

giải chính xác Một hướng tiếp cận khác dựa trên các heuristic sẽ trình bày trong mục 2.2 với đại diện là các phương pháp tìm kiếm cục bộ Đáng chú ý nhất là xu hướng kết

hợp ưu điểm của các cách tiếp cận khác nhau mới xuất hiện trong thời gian gần đây

như được trình bày trong mục 2.3

2.1 Phương pháp quy hoạch động

Các cách tiếp cận dựa vào quy hoạch động phát triển bởi A W J Kolen và các cộng sự – 1987 [17] được sử dụng khá hiệu quả để giải quyết bài toán định lộ trình xe với khung thời gian hạn định với kích thước nhỏ Bài toán có tối đa 15 khách hàng đã được giải quyết với kết quả tối ưu toàn cục một cách chính xác

Cách tiếp cận dựa vào kỹ thuật sinh cột (column generation) được hiện thực khá

thành công với công trình của tác giả M Desrochers và các cộng sự – 1992 [8], nó đã tìm được lời giải tối ưu toàn cục cho bài toán có kích thước dưới 100 khách hàng Thực

ra, thuật toán này là sự kết hợp phương pháp nới lỏng ràng buộc và kỹ thuật sinh cột

Căn cứ theo một khảo sát được tiến hành gần đây bởi hai tác giả David Pisinger and Stefan Ropke – 2004 [21], các phương pháp giải chính xác đã được đề nghị bởi B Kallehauge và J.Larsen, O.B.G.Madsen-2001 ; Stefan Irnich và Daniel Villeneuve-2003; Alain Chabrier-2003 Các phương pháp này có thể tìm ra lời giải tối ưu cho các bài toán có kích thước bị hạn chế dưới 50 khách hàng Ngoài ra, một số cá biệt các bài toán có kích thước lớn nhưng có một số đặc điểm đặc biệt có thể được tận dụng để tạo

Trang 24

ra lời giải theo phương pháp chính xác, ví dụ như tác giả Kallehange đã tuyên bố tìm ra lời giải tối ưu cho một bài toán đặc biệt có kích thước khoảng 1000 khách hàng

Tuy nhiên, một trong những yêu cầu khi áp dụng các giải thuật giải bài toán định lộ trình xe với khung thời gian hạn định vào thực tiễn là tính ổn định của giải thuật khi kích thước bài toán gia tăng Chính vì lý do này, nên các nghiên cứu gần đây

thường đi theo xu hướng là áp dụng các meta-heuristic để giải quyết bài toán này

2.2 Tìm kiếm cục bộ

Bài toán định lộ trình xe với khung thời gian hạn định cho đến nay vẫn còn là mục tiêu nghiên cứu của rất nhiều đề tài khoa học, và hầu như mọi heuristic đều đã từng được áp dụng để giải bài toán này Nhưng nhìn chung, trong công trình của Gilbert Laporte và các cộng sự - 1999 [18] có nêu ra hai kỹ thuật cơ bản được dùng để xây dựng lời giải cho bài toán định lộ trình xe với khung thời gian hạn định là kết hợp các lộ trình hiện có để tối thiểu hàm chi phí; và phương pháp từng bước chèn từng khách hàng vào các lộ trình đang xây được dựng sao cho chi phí phát sinh là thấp nhất

Các heuristic cổ điển

Công trình được nêu ở trên cũng khảo sát thuật toán quét (Sweep algorithm)

được phổ biến rộng rãi bởi Gillett, B.E và Miller – 1974 [12] dùng để giải quyết bài toán định lộ trình xe với khung thời gian hạn định trong không gian tọa độ hai chiều Trước hết, các cung sẽ được hình thành bằng cách dùng một tia quét có gốc ở kho xe

Sau đó các lộ trình sẽ được tạo bằng cách giải các bài toán người bán hàng du lịch với khung thời gian hạn định (Travel Saleman Problem with Time Windows - TSPTW)

trên từng cụm khách hàng Kết quả tính toán của giải thuật này phụ thuộc khá nhiều vào các giải thuật dùng để giải quyết các bài toán TSPTW, bị hạn chế trong không gian hai chiều, và không tận dụng được các cung nối giữa các cụm khách hàng khác nhau

Giải thuật Cluster First-Route Second được đề nghị bởi hai tác giả Fisher, M.L

và Jaikumar, R – 1981 [10] là một bước cải tiến đáng kể của giải thuật quét Nó đã giải phóng được sự phụ thuộc của thuật toán vào phương pháp quét hình học Các khách

hàng sẽ được gom nhóm thành các cung bằng cách giải quyết bài toán gán tổng quát

(Generalized Assignment Problem - GAP) với mục tiêu là khi gán khách hàng vào một cung phải thỏa mãn các ràng buộc và có chi phí thấp nhất Trong bước phân hoạch ban đầu, các cung được khởi tạo bởi một số khách hàng ngẫu nhiên trong từng vùng riêng biệt

Trang 25

Trong tài liệu [18] cũng có đề cập đến thuật toán Saving được đề nghị bởi

Clarke và Wrigth-1964 có hai phiên bản khác nhau: phiên bản song song và phiên bản tuần tự Khi hiện thực thuật toán này, các tác giả thường kết hợp với toán tử di chuyển 3-opt được đề nghị bởi Lin-1965 Thực nghiệm cho kết quả khả quan với 6,71% thấp hơn khi so với các kết quả tốt nhất được biết vào năm 1999 Tác giả Gilbert Laporte và các cộng sự cũng nhận xét các phiên bản cải tiến đã được đề nghị bởi Gaskell-1967, Yellow-1970, Golden-1977, Paessens-1988 và Nelson-1985 chỉ là những bước cải tiến nhỏ đáng khích lệ, nhưng chưa thực sự tạo ra được sự vượt trội đáng kể Các vấn đề được tập trung giải quyết chỉ là giảm thời gian tính toán và dung lượng vùng nhớ vật lý được sử dụng

Các phương pháp chèn được đề nghị bởi Mole, R.H và Jameson, S.R – 1976 [20] có thể tóm tắt như sau: tại một thời điểm chỉ chèn một khách hàng vào một lộ trình Nhưng chúng ta cũng có thể sử dụng xen kẽ các bước xây dựng tuần tự và song song các lộ trình Các phương pháp này đều được kết hợp với các phương pháp tìm

kiếm cục bộ sử dụng toán tử di chuyển 3-opt Kết quả tính toán cho thấy các phương

pháp này vẫn chưa thể hiện được sự vượt trội so sánh với các phương pháp hiện nay

Các meta-heuristic thông dụng

Trong khi các heuristic truyền thống đã được phát triển từ những năm 1960 đến

1990, thì khoảng mười lăm năm trở lại đây, các meta-heuristic là các phương pháp giải

quyết vấn đề thông dụng nhất được đề nghị để giải quyết bài toán định lộ trình xe Một

đặc điểm chung của các meta-heuristic là chúng thường quét qua hầu như toàn bộ

không gian lời giải trong quá trình tìm kiếm, đôi khi chấp nhận sự sụt giảm chất lượng của lời giải hiện tại hay thậm chí tạm chấp nhận sự xuất hiện các lời giải trung gian không khả thi

Một số meta-heuristic còn giữ lại tập hợp các lời giải có chất lượng tốt để từ đó

sinh ra các lời giải tiềm năng chứa các đặc điểm được đánh giá là tốt của chúng Theo phân loại trong công trình của các tác giả Jean-Francois Cordeau và Gilbert Laporte –

2002 [6], các meta-heuristic được chia làm các dạng chính là : phương pháp mô phỏng luyện kim, tìm kiếm Tabu, giải thuật di truyền, hệ thống mô phỏng hoạt động của loài ong (Ant Colony Optimisation), và mạng thần kinh nhân tạo (Neutral Network)

Khi tham khảo công trình của Hoong Chuin Lau, Melvyn Sim và Kwong Meng

Teo - 2003 [19], chúng tôi có nhận xét là đa số các meta-heuristic gần đây được dùng

để giải bài toán định lộ trình xe với khung thời gian hạn định đều dựa vào cách tiếp cận hai giai đoạn Đầu tiên, một heuristic sẽ được áp dụng để xây dựng nhanh lời giải khả thi ban đầu tốt nhất có thể được Sau đó, một thủ tục lặp dựa vào các heuristic khác sẽ

Trang 26

bắt đầu thực thi trên lời giải ban đầu, lặp lại việc tìm kiếm một lời giải có chất lượng tốt hơn trong vùng lân cận của lời giải hiện tại với một số vòng lặp xác định Trong giai đoạn sau, đã có rất nhiều kỹ thuật đã được đề nghị để định hướng quá trình tìm kiếm thoát khỏi các vùng tối ưu cục bộ và khám phá vùng không gian tìm kiếm rộng hơn

Không gian lời giải trong tìm kiếm dựa vào meta-heuristic

Đối với các meta-heuristic, các miền tìm kiếm triển vọng nhất trong không gian lời giải sẽ được xét bởi sự kết hợp các kỹ thuật tìm kiếm theo vùng lân cận như các quy tắc di chuyển, cấu trúc vùng nhớ lưu trữ các lời giải đã được xem xét, tổ hợp các thuộc tính được đánh giá là tốt Do đó, chất lượng lời giải cuối cùng được sinh ra bởi các meta-heuristic nhìn chung sẽ có chất lượng tốt hơn các lời giải của phương pháp tìm kiếm sử dụng các heuristic, nhưng chi phí tính toán cũng sẽ gia tăng

Theo một khảo sát được tiến hành bởi Gilbert Laporte và các cộng sự - 1999 [18], tên gọi của các thuật toán tìm kiếm Tabu cho bài toán định lộ trình xe với khung

thời gian hạn định theo hướng tiếp cận này có thể được liệt kê như sau: Taburoute, Adaptive Memory Procedure, Granular Tabu Search

Mặc dù số lượng các meta-heuristic được đề nghị không phải là ít, nhưng vẫn chưa có một meta-heuristic nào chứng tỏ khả năng tìm kiếm vượt trội về mọi mặt như theo nhận định của David Pisinger and Stefan Ropke – 2004 [21] Trong tài liệu tham khảo này, một số meta-heuristic được đánh giá khá tốt khi đưa ra được kết quả gần với lời giải tối ưu trên tập khách hàng có kích thước khoảng 100 khách hàng có thể liệt kê

là : David Mester và Olli Braysy – 2004; còn đối với các bài toán có kích thước nhỏ hơn thì các phương pháp của Bent và Van Hentenryck-2004 , hay của Homberger và Gehring-2004 cũng tỏ ra khá hiệu quả

2.3 Xu hướng kết hợp ưu điểm của các phương pháp

Một xu hướng mới đã được hình thành vào những năm 90 để giải quyết bài toán định lộ trình xe với khung thời gian hạn định là hướng nghiên cứu việc kết hợp thế mạnh của các phương pháp đã được trình bày ở phần trên, đặc biệt là hướng tiếp cận sử dụng lập trình ràng buộc và tìm kiếm cục bộ

Một trong những công trình tiêu biểu đã được công bố của Paul Shaw – 1998

[23] đã đề nghị giải thuật tìm kiếm trong vùng lân cận lớn (Large Neighbourhood

Search - LNS), trong đó việc khảo sát không gian tìm kiếm lân cận của lời giải hiện tại được thực hiện bằng cách thao tác trên các lộ trình hiện tại sau khi xóa và chèn một số

Trang 27

khách hàng của chúng Ý tưởng cơ bản của giải thuật trong công trình này là nhúng thủ tục tìm kiếm cục bộ vào bộ khung chính là lập trình ràng buộc, do đó quá trình tìm

kiếm sẽ được định hướng bởi thủ tục nhánh-và-cận của lập trình ràng buộc Thủ tục tìm kiếm cục bộ chỉ được sử dụng để cải thiện lời giải hiện thời khi cần thiết Sau đó, tác giả Bruno De Backer và các cộng sự [7] cũng đã tiếp tục phát triển ý tưởng này

Ngoài ra, đã có một số công trình xem xét đến việc kết hợp các ưu điểm của các meta-heuristic để giải quyết bài toán tối ưu tổ hợp có ràng buộc nói chung và bài toán VRPTW nói riêng để đạt đến một lời giải có chất lượng tốt hơn một cách hiệu quả

Chẳng hạn như tác giả Gendreau M và các cộng sự – 1994 [11] đã tích hợp kỹ thuật

mô phỏng luyện kim và tìm kiếm Tabu với mục đích gia tăng tính ổn định của thuật

toán khi tập dữ liệu đầu vào được đa dạng hóa Kết quả được đánh giá trên bộ dữ liệu kiểm tra mẫu của Solomon và so sánh với các meta-heuristic trước kia tốt hơn trung

bình khoảng 1.7% vào thời điểm đó Tuy nhiên trong báo cáo của tác giả lại không

trình bày tường minh sự phối hợp giữa hai phương pháp và chưa đưa ra được một mô hình phân tích để đánh giá các kết quả thực nghiệm

Kết luận :

Nhìn chung, trong chương này luận văn đã khảo sát một số công trình nghiên cứu liên quan theo các hướng tiếp cận khác nhau để giải bài toán định lộ trình xe với khung thời gian hạn định, và đặt trọng tâm vào hai hướng tiếp cận chính là phương pháp quy hoạch động và tìm kiếm cục bộ Từ đó, chúng tôi đặc biệt chú ý đến các phương pháp kết hợp thế mạnh của các kỹ thuật đã được sử dụng để giải quyết bài toán này Các kết quả tốt nhất đã được công bố trên trang web

http://web.cba.neu.edu/~msolomon/heuristi.htm là các lời giải tốt nhất của các phương pháp đề nghị được so sánh với nhau trong suốt thời gian qua, nên rất khó có thể tạo nên một bước độ phá để vượt qua

Giải pháp được đề nghị trong luận văn nhằm mục đích mở ra một hướng nghiên cứu tiềm năng để giải các bài toán có kích thước khoảng 100 khách hàng trở lên

Trang 28

Chương 3 : CƠ SỞ LÝ THUYẾT

Phần đầu của chương này, mục 3.1, được dành riêng cho việc khảo sát các

phương pháp tìm kiếm trên không gian lời giải đã được định nghĩa trước Các mô hình tiêu biểu đại diện cho phương pháp tìm kiếm cục bộ và phương pháp tìm kiếm dựa trên meta-heuristic sẽ lần lượt được xem xét

Kế tiếp, phương pháp lập trình ràng buộc sẽ được trình bày trong mục 3.2 Mục

đích của chương này là xây dựng các khái niệm lý thuyết nền tảng cho phương pháp kết hợp tìm kiếm Tabu và lập trình ràng buộc để giải bài toán VRPTW

3.1 Tìm kiếm cục bộ và tìm kiếm dựa trên meta-heuristic

Khi giải quyết các bài toán tối ưu tổ hợp, một cách tiếp cận khá phổ biến được

đa số các nhà khoa học máy tính thường sử dụng là xây dựng một không gian các lời giải của bài toán và duyệt qua không gian tìm kiếm này bằng các kỹ thuật tìm kiếm cục

bộ Không gian các lời giải có thể được xây dựng như sau: đối với mỗi lời giải khả thi s

∈ S không gian các lời giải, ta định nghĩa N(s) ⊆ S là tập hơp các lời giải thuộc S mà ta

có thể phát hiện ra nếu đã biết s Hay nói cách khác, ta đã định nghĩa một mối quan hệ tường minh giữa một lời giải s’∈ N(s) và lời giải s

Các cách giải theo hướng tiếp cận này thông thường bao gồm hai bước chính là :

xây dựng lời giải khả thi ban đầu s 0 và sau đó là quá trình lặp tìm kiếm lời giải có chất lượng tốt hơn trong miền lân cận của lời giải hiện tại và thay thế lời giải hiện tại bằng lời giải mới tìm ra trong bước lặp kế tiếp Do đó, trong số các thủ tục dùng để giải quyết các bài toán tối ưu tổ hợp, các kỹ thuật lặp đóng một vai trò quan trọng vì chưa có thủ tục nào được biết có thể tìm thấy ngay được lời giải tối ưu toàn cục Ý tưởng chính của một thủ tục tìm kiếm cục bộ có thể tóm tắt thành bốn bước như được trình bày trong

hình 3.1

Trang 29

Hình 3.1: Thủ tục tìm kiếm cục bộ

a) Tìm kiếm cục bộ

Trong công trình của hai tác giả Olli Braysy và Michel Gendreau – 2001 [3], chúng ta có thể tham khảo các lời khuyên rất bổ ích khi thiết kế một giải thuật tìm kiếm cục bộ Ví dụ như, khi tiến hành thiết kế một thuật toán tìm kiếm cục bộ, chúng ta cần cân nhắc kỹ lưỡng các lựa chọn sau đây: phương pháp nào sẽ dùng để thiết lập lời giải ban đầu, cơ chế dùng để di chuyển đến một lời giải láng giềng, và điều kiện dừng của quá trình lặp Cơ chế di chuyển thông thường tạo ra các lời giải láng giềng bằng cách thay đổi một hay nhiều thuộc tính của lời giải hiện tại

Trong các thuật toán tìm kiếm cục bộ, quá trình tìm kiếm cục bộ sẽ tiếp tục diễn

ra với một lời giải láng giềng có chất lượng tốt hơn đối với lời giải hiện tại Trong trường hợp có nhiều hơn một lời giải láng giềng có chất lượng tốt hơn thì khi thiết kế ta

có hai lựa chọn: chọn lời giải láng giềng đầu tiên tìm thấy có chất lượng tốt hơn lời giải hiện tại, hoặc duyệt qua hết vùng lân cận của lời giải hiện thời và chọn ra cái có chất lượng tốt nhất

Lời giải tối ưu cuối cùng của các phương pháp tìm kiếm cục bộ phụ thuộc rất nhiều vào lời giải ban đầu và cơ chế di chuyển đến lời giải láng giềng Mặt khác, nó có thể chỉ là lời giải tối ưu cục bộ và chất lượng kém xa so với lời giải tối ưu toàn cục Lý

do cơ bản là vì thuật toán chỉ chấp nhận các lời giải láng giềng có chất lượng tốt hơn lời giải hiện tại

b) Tìm kiếm dựa trên meta-heuristic

Các cách tiếp cận dựa vào meta-heuristic là những phương pháp không nhất thiết tìm ra lời giải tối ưu toàn cục một cách chính xác, mà có xu hướng tìm ra lời giải tốt có chất lượng rất gần với lời giải tối ưu toàn cục Các thuật toán dựa vào heuristic có một đặc điểm là thường cho kết quả cuối cùng có kết quả tốt khi lời giải ban đầu có chất lượng tốt Trong đa số trường hợp, các meta-heuristic này sẽ được phân tích đánh giá

Bước 1: Xây dựng một lời giải ban đầu s 0

Bước 2: Nếu điều kiện dừng chưa được xác lập thì di chuyển sang các lời giải láng

giềng s’ ∈ N(s) Lượng giá chi phí cho mỗi lời giải s’ và quyết định chọn

một lời giải hiện thời mới

Nếu thỏa điều kiện dừng thì thoát khỏi vòng lặp.Đi đến bước 4

Bước 3: Quay lại bước 2

Bước 4: Kết thúc thủ tục

Trang 30

thông qua thực nghiệm, được kiểm tra trên một tập dữ liệu mẫu cho trước để so sánh hiệu suất hoạt động với nhau

Các kết quả thực nghiệm cho thấy rằng các phương pháp giải chính xác tốt nhất cũng chỉ có thể giải được những bài toán có kích thước nhỏ để có thể áp dụng vào một ứng dụng trong thực tế Do đó, cách tiếp cận heuristic với khả năng tìm ra lời giải khả thi có chất lượng tốt trong thời gian chấp nhận được là một lựa chọn khả dĩ nhất

Mặt khác, các tác giả Olli Braysy và Michel Gendreau – 2001 [3] cũng cho rằng việc đánh giá hiệu suất của bất kỳ một phương pháp dựa trên heuristic cũng được tiến hành dựa trên một số điều kiện có liên quan đến các khía cạnh khác nhau của thuật toán Các điều kiện có thể liệt kê là thời gian chạy, chất lượng lời giải, tính dễ dàng được hiện thực, tính ổn định và tính linh hoạt mềm dẻo Khi áp dụng một mô hình để giải quyết các bài toán thực tế, các thuật toán dựa vào heuristic có tính linh hoạt mềm dẻo cao được đặt biệt chú ý vì chúng có thể xử lý tốt các thay đổi của bài toán, trong các điều kiện ràng buộc và cấu trúc của hàm lượng giá chi phí

Hiện nay, ba giải thuật dựa trên cách tiếp cận meta-heuristic được dùng khá phổ biến để giải các bài toán tối ưu tổ hợp và đã được đánh giá cao thông qua các kết quả

thực nghiệm là: giải thuật mô phỏng luyện kim, giải thuật di truyền, và tìm kiếm Tabu

Các đặc điểm cơ bản của ba giải thuật này sẽ được trình bày ở các đề mục kế tiếp

3.1.1 Giải thuật leo đồi

Phương pháp tìm kiếm tối ưu cục bộ là một trong những phương pháp truyền thống để giải bài toán định lộ trình xe với khung thời gian hạn định Phương pháp này, trong một số trường hợp, không những có khả năng tìm được lời giải có chất lượng tốt với chi phí tính toán tương đối thấp, mà còn được sử dụng như là một thành phần dùng

để xây dựng lời giải ban đầu trong đa số các thuật toán dựa vào meta-heuristic

Hiện nay, một kỹ thuật tìm kiếm cục bộ cơ bản tiêu biểu có thể kể đến là giải thuật leo đồi (Hill Climbing algorithm) là một thủ tục tìm kiếm cục bộ dùng kỹ thuật

lặp Nó cũng bao gồm các bước cơ bản của tìm kiếm cục bộ như được trình bày ở hình 3.1, nhưng có đặc điểm riêng là chỉ xem xét một lời giải được đánh giá là tốt nhất được biết cho đến thời điểm hiện tại Do đó, việc tìm kiếm trên không gian các lời giải rất dễ

bị rơi vào những điểm tối ưu cục bộ, vì bước di chuyển sang một lời giải láng giềng s’ chỉ xảy ra khi và chỉ khi hàm lượng giá f(s’) có giá trị tốt hơn giá trị tốt nhất được biết

tại thời điểm đang xét

Trang 31

Khi áp dụng vào thực tiễn, đối với bài toán có kích thước rất lớn hay có nhiều điểm tối ưu cục bộ trong không gian tìm kiếm, thì các giải thuật tìm kiếm cục bộ cần phải được cải tiến để chúng vẫn duy trì được khả năng tìm ra lời giải có chất lượng tốt trong điều kiện tài nguyên tính toán bị giới hạn Đây cũng chính là điểm khởi đầu cho

việc thiết kế các giải thuật tìm kiếm dựa trên meta-heuristic

3.1.2 Giải thuật mô phỏng luyện kim

Giải thuật mô phỏng luyện kim thuộc lớp các giải thuật tìm kiếm dựa vào heuristic được đề nghị bởi S.Kirkpatrick và các cộng sự - 1983 [16] Nó có nền tảng lý thuyết dựa trên một nhánh của nghiên cứu điều hành, và cố gắng mô phỏng lại các đặc

meta-tính của quá trình làm lạnh của kim loại khi xem xét quá trình hình thành các tinh thể

trong khối kim loại ở nhiệt độ cao khi dần giảm nhiệt độ

Giải thuật mô phỏng luyện kim làm việc với một lời giải khả thi ban đầu, sau quá trình mô phỏng luyện kim, khi giải thuật dừng lại, lời giải khả thi tốt nhất hiện thời

sẽ được chọn làm kết quả cuối cùng Ban đầu lời giải khả thi phải được khởi động bằng một thủ tục dựa vào các heuristic và các đặc điểm riêng biệt của bài toán Mỗi lời giải

khả thi sẽ được gán một giá trị tùy thuộc vào hàm lượng giá chi phí (evaluation

function) được xây dựng dựa vào yêu cầu cụ thể của bài toán đặt ra

Quá trình mô phỏng luyện kim sẽ di chuyển từ lời giải khả thi này đến lời giải

khả thi khác khi nhiệt độ giảm dần Các lời giải khả thi được liên kết với nhau bằng mối quan hệ láng giềng (neighborhood relation) biểu diễn bởi một thủ tục cụ thể được xây

dựng riêng cho từng bài toán Mã giả của giải thuật mô phỏng luyện kim trong trường

hợp tổng quát được trình bày trong hình 3.2

Một ứng dụng phổ biến của giải thuật mô phỏng luyện kim là việc tìm kiếm các lời giải tốt chấp nhận được cho các bài toán tối ưu tổ hợp có kích thước lớn khi mà lời giải chính xác khó có thể tìm được trong một khoảng thời gian hạn định

Trang 32

Hình 3.2 : Thủ tục mô phỏng luyện kim

3.1.3 Giải thuật di truyền

Giải thuật di truyền là giải thuật tìm kiếm được phát triển bởi John Holland Giải

thuật này có nền tảng lý thuyết dựa trên một nhánh của ngành di truyền học Nhiễm sắc thể (chromosome) là dạng vật chất mang thông tin di truyền trong sinh vật học Giải

thuật di truyền mô phỏng lại các hoạt động của chọn lọc tự nhiên và hiện tượng di

truyền giữa các thế hệ khi xem xét sự tiến hóa của các cá thể trong một quần thể

(population) Một trong số cá thể có thể là lời giải chính thức có thể chấp nhận được ở một thế hệ nào đó khi giải thuật dừng lại

Ban đầu quần thể phải được khởi động bằng một tập các lời giải (có thể khả thi hay không khả thi) được tuyển chọn dựa vào các heuristic và đặc điểm riêng của bài toán Một cá thể thường được biểu diễn là một chuỗi các bit (hay một nhiễm sắc thể) và việc diễn dịch chuỗi bit này là việc đặc tả bài toán cụ thể, mỗi bit tương ứng với một gen – đơn vị nhỏ nhất mang thông tin di truyền Mỗi chuỗi bit trong quần thể sẽ được

Chạy một giải thuật để kiến tạo tập lời giải khả thi ban đầu S o

Chọn một lời giải s 0 trong S o làm trạng thái khởi đầu cho giải thuật mô phỏng luyện kim

Lời giải khả thi tốt nhất được biết được khởi tạo là s 0

Xác định nhiệt độ t 0 ban đầu cho quá trình luyện kim

Xác định số lần lặp N ở một nhiệt độ nhất định

Hàm giảm nhiệt độ t = t *α (ví dụ α = 0.998)

Trong khi t vẫn còn lớn hơn nhiệt độ t min (ví dụ t min = 0.00001)

Trong khi vẫn chưa vượt quá số lần lặp N tại nhiệt độ t

Chọn lời giải láng giềng s’ ∈ N(s) bởi toán tử di chuyển Tính hàm chi phí của lời giải láng giềng s’

Tính độ thay đổi chi phí Ψ giữa lời giải s’ và lời giải tốt nhất hiện thời s

Nếu Ψ < 0 thì lời giải s’ sẽ là lời giải hiện thời và nếu s’ có chi phí nhỏ hơn cả

lời giải khả thi tốt nhất thì lời giải khả thi tốt nhất sẽ là s’,

Trang 33

gán một giá trị tùy thuộc vào hàm lượng giá độ thích nghi (Fitness function) được xây dựng dựa vào yêu cầu cụ thể của từng bài toán đặt ra

Quá trình chọn lọc tự nhiên sẽ chọn ngẫu nhiên các cá thể trong quần thể cũ nhưng có nghiêng về các cá thể có độ thích nghi cao Các cá thể này sẽ được kết hợp

với nhau bằng các toán tử di chuyển áp dụng trên các các chuỗi-bit như toán tử hoán đổi gen (crossover operator) hay toán tử đột biến gen (mutation operator), để tạo nên

các cá thể con có chuỗi-bit mang thông tin mới được kỳ vọng là thích nghi tốt hơn so với các cá thể trong quần thể cũ

Nhìn chung, giải thuật di truyền có một số đặc điểm đặc trưng mà ta cần chú ý khi mô hình hóa một bài toán trong hiện thực :

• Làm thế nào để biểu diễn cá thể (đại diện cho lời giải tiềm năng) dưới góc nhìn mà ta quan sát các nhiễm sắc thể ? Cách biểu diễn nào tự nhiên và phù hợp nhất cho bài toán cụ thể của chúng ta ?

• Hàm toán học dùng để đánh giá độ thích nghi của từng cá thể (dựa vào đó để đánh giá độ chính xác của lời giải) được xây dựng dựa vào các điều kiện nào? Ràng buộc của bài toán có thể bị vi phạm hay không ? Cách đánh giá độ

vì nó là nơi lưu chứa quá khứ của quá trình tìm kiếm và được truy cập nhiều nhất

Trang 34

Ý tưởng cơ bản của giải thuật tìm kiếm Tabu là : quá trình tìm kiếm bắt đầu bằng một lời giải ban đầu s0 , bước kế tiếp các lời giải lân cận với s sẽ được xem xét và

chọn ra được lời giải tốt nhất mà không thuộc danh sách cấm (tabu list).Lời giải này sẽ

là lời giải hiện thời trong lần lặp tiếp theo Quá trình lặp sẽ được dừng nếu các điều kiện dừng được đồng thời xác lập Các bước thực thi chính của giải thuật tìm kiếm Tabu

được trình bày ở hình 3.3 và lưu đồ của giải thuật này cũng được trình bày ở hình 3.4

Hình 3.3 : Thủ tục tìm kiếm Tabu

Giải thuật tìm kiếm Tabu thể hiện rõ nét nhất điểm đặc trưng của phương pháp tìm kiếm dựa vào meta-heuristic vì bản thân nó chứa một số heuristic khác Vai trò chính của nó là định hướng ở mức toàn cục cho các thủ tục dựa vào các heuristic tìm kiếm khác có tính cục bộ cao hơn

a) Những thành phần cơ bản của giải thuật tìm kiếm Tabu

Một khi quyết định áp dụng giải thuật tìm kiếm Tabu để giải quyết các vấn đề thực tế, chúng ta cần chú ý đến các điểm cơ bản sau trong việc mô hình hóa bài toán

*- Toán tử di chuyển và tập lời giải láng giềng

Bước 1 : Chọn một lời giải khởi đầu s 0 trong không gian lời giải S

Gán lời giải hiện tại s cur = s 0

Bước 2 : Duyệt tập lời giải láng giềng N(s cur ) của lời giải s cur dùng toán tử di chuyển, chọn ra

lời giải có giá trị hàm lượng giá tốt nhất s best : ∀s’∈ N(s cur ) : f(s best ) < f(s’)

Bước 3 : Nếu s best không thuộc danh sách cấm hay thỏa mãn một trong những điều kiện kỳ

vọng a i thì gán s cur = s best

Ngược lại thì N(s cur ) = N(s cur ) – {s best} và quay lại bước 2

Bước 4 : Nếu s best có chất lượng tốt hơn lời giải tốt nhất được biết thì lưu giữ lại s best

Bước 5 : Cập nhật danh sách cấm tương ứng với bước chuyển sinh ra lời giải s best Loại bỏ

các bước di chuyển đã bị cấm K vòng lặp ra khỏi danh sách cấm (K là nhiệm kỳ

Tabu)

Bước 6 : Nếu các điều kiện dừng được xác lập thì thoát, ngược lại tiếp tục bước 2

Trang 35

Một yếu tố rất quan trọng trước khi áp dụng một kỹ thuật tìm kiếm cục bộ là tập

hợp tất cả các lời giải khả thi S phải có một quan hệ được xác định trước Dựa vào mối

quan hệ này, bài toán phải được chứng minh là xuất phát từ một lời giải bất kỳ luôn tồn tại một thứ tự các bước di chuyển hữu hạn để di chuyển đến một lời giải bất kỳ khác

Sở dĩ cần phải có điều kiện này là vì phải bảo đảm là chúng ta không bỏ xót một trường hợp lời giải nào mà không thể tiếp cận được khi xuất phát từ một lời giải ban đầu

Ta định nghĩa kí hiệu toán tử di chuyển ⊕ đại diện cho quan hệ đã được xác định

trước, khi đó tập lời giải láng giềng N(s) trong trường hợp tổng quát sẽ được định nghĩa như sau :

N(s) = {s’ | s S và s’ là lời giải có được khi áp dụng toán tử trên s}

Các bài toán định lộ trình xe thường được mô hình với toán tử λ, trong đó λ cạnh

sẽ được xóa khỏi một hay nhiều lộ trình của lời giải s S và tất cả các cách ghép nối λ

cung được sinh ra sẽ được xem xét để tạo nên các lời giải láng giềng s’ N(s) Độ phức tạp tính toán cho toán tử này là O(nλ) Các trường hợp đặc biệt của toán tử này có thể liệt kê là Or-opt, 2-opt, 2-opt*, 3-opt

Ngoài ra, các toán tử hoán đổi các cạnh giữa các lộ trình còn được phân loại theo cách sau :

• Phép ghép chéo (string cross) : hai chuỗi khách hàng sẽ được trao đổi

bằng cách ghép chéo hai cạnh của hai lộ trình khác nhau

• Phép trao đổi (string exchange) : hai chuỗi khách hàng với tối đa k phần

tử sẽ được trao đổi giữa hai lộ trình

• Phép phân phối (string relocation) : một chuỗi con khách hàng với tối đa

k phần tử sẽ được chuyển từ một lộ trình đến một lộ trình khác

Qua đánh giá thực nghiệm, các tác giả của tài liệu [5] đã chứng minh rằng việc kết hợp các toán tử di chuyển được xác định là hiệu quả cho bài toán định lộ trình xe với khung thời gian hạn định so với việc chỉ dùng một toán tử di chuyển

Trang 36

Hình 3.4 : Lưu đồ giải thuật tìm kiếm Tabu

Chọn ra lời giải có giá trị hàm lượng giá tốt nhất s best : ∀s’∈ N(s cur ) : f(s best ) < f(s’)

Trang 37

*- Hàm lượng giá

Sau khi chúng ta đã xác định rõ được cấu trúc của không gian các lời giải S cho quá trình tìm kiếm, việc kế tiếp cần phải làm là định nghĩa một hàm lượng giá f : S Æ

R Mục đích của việc sử dụng hàm lượng giá là định hướng quá trình tìm kiếm chọn lọc

các lời giải có chất lượng tốt, đánh giá đúng các lời giải phát sinh có đặc điểm nổi trội,

và quyết định chuyển hướng đúng lúc trong khi giải thuật duyệt qua không gian các lời giải Vì vậy, hàm lượng giá có vai trò hết sức quan trọng trong việc tìm ra được lời giải

có chất lượng tốt sau cùng

*- Danh sách cấm

Khi cố gắng thoát khỏi trường hợp bị mắc kẹt trong một vùng không gian chứa lời giải tối ưu cục bộ, các quá trình tìm kiếm Tabu sẽ chấp nhận các di chuyển sang lời giải láng giềng có chất lượng kém hơn trong một số trường hợp Nhưng khi đó sẽ dễ xảy ra trường hợp xét lại các lời giải đã viếng thăm trong quá trình tìm kiếm trước đây, đây là hiện tượng lặp vòng Vì vậy giải thuật cần phải ghi nhớ lại các lời giải đã xét để tránh xảy ra nguy cơ này

Danh sách cấm đóng vai trò như là một bộ nhớ ngắn hạn (short-term memory)

để hướng việc tìm kiếm thoát khỏi vùng chứa tối ưu cục bộ Do đó, nhiều vùng của không gian tìm kiếm sẽ được xét đến hơn Tuy nhiên các dạng phức tạp hơn của tìm

kiếm Tabu có sử dụng cơ chế tìm kiếm tăng cường (intensification search) và tìm kiếm

đa dạng hóa (diversification search) thì sử dụng bộ nhớ một cách tường minh hơn

Danh sách cấm có các đặc điểm chính sau đây cần được xác định rõ trước khi

thiết kế giải thuật: nội dung cần lưu giữ trong danh sách và nhiệm kỳ Tabu (tabu

tenure) Nội dung danh sách cấm thường được thiết kế sao cho chỉ lưu giữ lại các bước

di chuyển đã được thực hiện hay các thuộc tính được lựa chọn của lời giải, chứ không giữ lại toàn bộ lời giải trong danh sách vì việc này sẽ gây lãng phí về tài nguyên tính toán Nhiệm kỳ Tabu được định nghĩa là số lần lặp mà một thuộc tính bị cấm không được xuất hiện trong khi duyệt không gian lời giải lân cận

*- Nhiệm kỳ Tabu

Việc điều chỉnh tham số nhiệm kỳ Tabu cũng đóng một vai trò hết sức quan trọng Rất nhiều công trình nghiên cứu đã đề xuất các mẫu thiết kế khác nhau khi hiện thực danh sách cấm Tùy vào từng bài toán cụ thể mà ta có thể áp dụng các lựa chọn thích hợp, ví dụ như, trong một số trường hợp, nhiệm kỳ Tabu được hiện thực như là

Trang 38

chiều dài danh sách cấm Chiều dài danh sách này có thể được cố định, biến đổi một cách ngẫu nhiên khi thực thi giải thuật, hay theo một quy luật nào đó được quan sát bởi người thiết kế khi giải quyết bài toán

*- Tiêu chuẩn kỳ vọng (Aspiration criterion)

Nếu ta giữ lại T lời giải đã xét thì ở lần lặp k thì giải thuật tìm kiếm Tabu có thể tránh được hiện tượng lặp vòng với chiều dài tối đa là T Tuy nhiên để việc tính toán được hiệu quả hơn, chúng ta chỉ lưu giữ lại các bước chuyển để dẫn xuất ra T lời giải đã xét này Khi đó, nội dung thông tin được lưu giữ trong bộ nhớ sẽ bị hạn chế vì các lời giải trong quá khứ không được lưu lại thông tin một cách đầy đủ

Do đó, theo công trình của Alain Hertz và các cộng sự - 1995 [14] thì hiện tượng lặp vòng với chiều dài tối đa T vẩn có thể xảy ra Một hạn chế khác cần được xét đến là quá trình tìm kiếm có thể bỏ xót các lời giải khả thi chưa được xét đến trong miền lân cận ứng với một trạng thái nhất định của bộ nhớ Các lời giải bi cấm này rất có thể có chất lượng tốt hơn lời giải tốt nhất tính đến thời điểm đang xét

Để khắc phục hạn chế này, chúng ta thông thường sẽ đặt ra một tiêu chuẩn kỳ vọng: một lời giải bị cấm vẫn sẽ được chấp nhận nếu nó có chất lượng tốt hơn lời giải tốt nhất tính đến thời điểm đang xét

b) Các kỹ thuật được sử dụng trong tìm kiếm Tabu

Để hiện thực giải thuật tìm kiếm Tabu một cách hiệu quả đòi hỏi phải thiết kế

mô hình một cách đúng đắn ngay từ đầu Tìm kiếm Tabu bắt đầu từ một lời giải ban

đầu x 1 và di chuyển ở mỗi lần lặp t từ x t đến lời giải láng giềng có chất lượng tốt nhất

x t+1 cho đến khi điều kiện dừng được xác lập Bên cạnh nguyên tắc cơ bản này, tìm kiếm Tabu còn được bổ sung bởi các cơ chế tính toán khác như tìm kiếm tăng cường và tìm kiếm đa dạng hóa

Một phương pháp khá hiệu quả đã được đề nghị bởi các tác giả Yves Rochat và

Éric D Taillard – 1995 [22] là tìm kiếm tăng cường cho phép duyệt không gian tìm kiếm theo chiều sâu tập trung xung quang vị trí của lời giải hiện thời có chất lượng tốt nhằm tìm ra lời giải tối ưu cục bộ Và tìm kiếm đa dạng hóa định hướng quá trình tìm kiếm đi đến các vùng tiềm năng chưa được khám phá Tìm kiếm tăng cường có thể

được hiện thực bằng cách bắt đầu lại quá trình duyệt không gian tìm kiếm từ một trong những lời giải có chất lượng tốt đã được lưu giữ lại, hay điều chỉnh lượng số của các thuộc tính được đánh giá là tốt của hàm lượng giá để ưu tiên việc tìm kiếm các lời giải mới mang các đặc điểm tương tự với các thuộc tính này

Trang 39

Việc sử dụng xen kẽ hai giai đoạn tìm kiếm tăng cường và tìm kiếm đa dạng hóa cho phép việc tìm lời giải tối ưu toàn cục đạt độ chính xác cao hơn Đây cũng là nhận định trong công trình của các tác giả O Hajji, S Brisset và P Brochet – 2004 [13] Hơn nữa, công trình bày cũng đưa ra nhận xét là tính hiệu quả của một giải thuật tìm kiếm Tabu phụ thuộc vào kích thước của miền lân cận của lời giải hiện thời và số lần lặp mà một thuộc tính bị giữ lại trong danh sách tabu

Các kỹ thuật tận dụng thông tin quá khứ của quá trình tìm kiếm

Quá trình tìm kiếm sẽ hiệu quả hơn nếu giải thuật không những chỉ giữ lại thông tin cục bộ (giá trị của hàm lượng giá là một ví dụ), mà còn cả các thông tin liên quan đến quá trình tìm kiếm toàn cục Việc sử dụng có hệ thống bộ nhớ là một đặc tính thiết yếu của quá trình tìm kiếm Tabu Thông tin lưu trữ sẽ được sử dụng để định hướng cho quá trình di chuyển sang lời giải láng giềng bằng cách cấm các di chuyển sang một số lời giải láng giềng đã xét trong vùng lân cận của lời giải hiện tại

Hàm lượng giá chi phí có thể được thay đổi để hỗ trợ cho tìm kiếm tăng cường

và tìm kiếm đa dạng hóa Thực ra, đây cũng là một dạng sử dụng bộ nhớ không tường minh để hỗ trợ cho quá trình tìm kiếm ở mức chi tiết hơn Đối với tìm kiếm tăng cường, việc hỗ trợ có thể được hiện thực bằng cách tăng độ ưu tiên cho các lời giải láng giềng chia sẽ một số đặc điểm chung với lời giải hiện tại Từ đó, một số vùng trong không gian tìm kiếm sẽ được tập trung khảo sát sâu hơn để tìm kiếm các lời giải tiềm năng Ngược lại, đối với tìm kiếm đa dạng hóa, hàm lượng giá sẽ gia tăng chi phí khi đánh giá các lời giải láng giềng nào có đặc điểm gần giống với lời giải hiện tại

3.2 Lập trình ràng buộc

Một bài toán thỏa mãn ràng buộc thường đưa ra các yêu cầu với một số biến hữu hạn và ràng buộc lẫn nhau giữa chúng Miền trị của các biến thường là hữu hạn Mục đích chính của lập trình ràng buộc là tìm ra một tập hợp các giá trị thuộc các miền trị được gán cho các biến sao cho thỏa mãn tất cả các ràng buộc mà bài toán đã đề ra

Gọi V = {v 1 , v 2 , …, v n} là tập hợp các biến của bài toán Các biến này sẽ đại diện

cho các đại lượng cần xác định trong bài toán thực tế Ứng với mỗi biến v i sẽ có tập hợp

các giá trị thuộc miền trị D i

Gọi D = {D 1 ,D 2 , …, D n} là tập hợp các miền trị Các giá trị trong một miền trị qui định các giá trị được phép gán cho một biến

Trang 40

Định nghĩa C = {c 1 ,c 2 , …,c m } là tập hợp các ràng buộc Trong đó, ràng buộc c i là một quan hệ được xây dựng trên các miền trị của các biến có tham gia vào ràng buộc này Vì vậy, miền trị của một biến sẽ bị thu hẹp bởi các ràng buộc mà nó có tham gia

Cụ thể là nếu một biến v i bị ràng buộc bởi c i nhận được giá trị làm vi phạm c i, thì các

biến v j khác cùng bị ràng buộc trong ci sẽ không thể nhận các giá trị tương ứng với giá

trị của biến v i , nghĩa là miền trị của các biến v j đã bị thu hẹp Đây chính là hiệu ứng lan truyền ràng buộc được sử dụng rất hiệu quả khi giải các bài toán tối ưu tổ hợp

Các ràng buộc trong tập C có thể được phân loại như sau :

• Ràng buộc cứng (hard constraint) : là loại ràng buộc không thể bị vi

phạm Ràng buộc loại này thường qui định chặt chẽ các nguyên tắc nghiệp vụ liên quan đến tính khả thi của lời giải trong bài toán.Ví dụ, một

xe không thể chuyên chở quá trọng tải tối đa của xe trong một lộ trình

• Ràng buộc mềm (soft constraint) : là các ràng buộc có thể vi phạm được,

nhưng để có được lời giải tối ưu thì các ràng buộc này không nên bị vi phạm Ví dụ, các xe có thể đến sớm hơn thời gian quy định nhưng phải chờ đến phiên phục vụ của mình

Từ đây, Bài toán thỏa mãn ràng buộc được định nghĩa một cách hình thức là bộ

R V V V

Ngày đăng: 10/02/2021, 09:28

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w