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

Báo Cáo Môn Học Tối Ưu Lập Kế Hoạch Đề Tài Tsp With Time Windows.pdf

19 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề TSP with Time Windows
Tác giả Lê Đức Quân, Nguyễn Quốc Việt, Phạm Việt Hoàng
Người hướng dẫn Bùi Quốc Trung
Trường học Trường Đại học Bách khoa Hà Nội, Viện Công nghệ Thông tin và Truyền thông
Chuyên ngành Tối ưu lập kế hoạch
Thể loại Báo cáo môn học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 2,61 MB

Nội dung

Trong đó ỗi phương pháp sẽ đưa ra cách mô m hình khác nhau d dàng tri n khai trên các ph n mđể ễ ể ầ ềm giải quyết bài toán tối ưu như Ortools.. Sau đó sẽ đưa ra kết quả thực nghiệm và đ

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

──────── * ───────

BÁO CÁO MÔN HỌC

HỌC PHẦN: TỐI ƯU LẬP KẾ HOẠCH

(Mã học phần: IT4663)

Đề tài:

TSP with Time Windows

Giảng viên hướng dẫn: Bùi Quốc Trung

Hà Nội, tháng năm 2027 3

Trang 2

Mc lc

Trang 3

1

Lời m u ở đầ

Bài toán người bán hàng du lịch với c a s ử ổ thời gian (TSPTW) là bài toán tìm đường đi

có chi phí t i thiố ểu đi qua từng thành ph trong t p h p các thành ph , m i thành ph ố ậ ợ ố ỗ ố đi qua chính xác một l n, vầ ới điều ki n m i thành ph phệ ỗ ố ải được thăm trong một kho ng ả thời gian nhất định TSPTW đã nhận được sự chú ý đáng kể, trong nhiều năm, vì nó là

c t lõi c a nhi u ng d ng l p lố ủ ề ứ ụ ậ ịch và định tuy n quan trế ọng trong đời th c ự Ở đây, chúng em ẽ s trình bày m s ột ố phương pháp giải được áp d ng trong môn ụ Tối ưu lập kế hoạch như: Vét cạn (Brute Force), Quy ho ch ràng bu c (CP), Quy ho ch nguyên tuy n ạ ộ ạ ế tính (IP), Tham lam (Greedy), Heuristic Trong đó ỗi phương pháp sẽ đưa ra cách mô m hình khác nhau d dàng tri n khai trên các ph n mđể ễ ể ầ ềm giải quyết bài toán tối ưu như Ortools Sau đó sẽ đưa ra kết quả thực nghiệm và đánh giá từng phương pháp

Trong quá trình làm mini-project, chúng em xin chân thành cảm ơn thầy Bùi Qu c Trung ố

đã đánh giá và hướng dẫn, có những nhận xét b ổ ích để chúng em có th hoàn thi n ể ệ

Trang 4

2

CÔNG VI C CỆ ỦA TỪNG THÀNH VIÊN

Nhận xét: Các thành viên trong nhóm đều tham gia đầy đủ và đóng góp xây dựng các phương pháp để hoàn thành bài tập lớn

Sinh viên Công vi c th c hi n ệ ự ệ

Lê Đức Quân Nhóm trưởng, mô hình và code phương pháp CP Nguyễn Quốc Việt Mô hình và code phương pháp nhánh cận, ILP

Phạm Việt Hoàng Mô hình và code phương pháp Greedy, Heuristic

Trang 5

3

I Giớ i thi u bài toán

Bài toán: M t nhân viên giao hàng l y hàng ộ ấ ở kho (điểm 0) và cần đi giao hàng cho 𝑁 khách hàng 1,2, … , 𝑁 Khách hàng n𝑖 ằm ở điểm 𝑖 và có yêu c u giao hàng trong kho ng thầ ả ời gian từ 𝑒(𝑖) đến 𝑙(𝑖) và giao hàng hết 𝑑(𝑖) đơn vị thời gian ( ) Bi t r ng , ) là th i gian di 𝑠 ế ằ 𝑡(𝑖 𝑗 ờ chuy n tể ừ điểm 𝑖 đến điểm 𝑗 Nhân viên giao hàng xu t phát t kho t i thấ ừ ạ ời điểm𝑡0, hãy tính toán l trình giao hàng cho nhân viên giao hàng sao cho t ng th i gian di chuy n là ng n nh ộ ổ ờ ể ắ ất

II Các phương pháp giải

1 Thu toán nhánh c n ật ậ

1.1 Mô hình hóa bài toán

1.1.1 T p các bi n ậ ế

1.1.2 Mi n giá tr ề ị

1.1.3 Định nghĩa

Trang 6

4

1.1.4 Ràng buộc và hàm mục tiêu

1.2 X lý bài toán ử

1.2.1 Kh i t o các biở ạ ến

1.2.2 Gi i thu t nhánh c n ả ậ ậ

Trang 7

5 1.2.3 Hàm c t t a ắ ỉ

1.3 K t qu ế ả thực nghi m và th i gian ch y ệ ờ ạ

Trang 8

6

2 Quy ho ch ràng bu c (Constraint Programming) ạ ộ

Mô hình bài toán theo Quy ho ch Ràng buạ ộc:

Gọi 𝑉 = 0,1,2, ,𝑛,𝑛 + 1 là tập các node, trong đó 1, , 𝑛 là các thành ph s ố ẽ thăm, và node và 0 𝑛+1 là điểm bắt đầu và kết thúc M i node liên k t v i 1 c a s ỗ ế ớ ử ổ thời gian 𝑇𝑊𝑖= [𝑎𝑖,𝑏𝑖] là khung th i gian giao hàng c a thành phờ ủ ố 𝑖 Mỗi node cũng có 1 khoảng th i gian ờ 𝑑𝑢𝑟𝑖, đại di n cho th i gian giao hàng t i thành phệ ờ ạ ố 𝑖 V i m i c p thành phớ ỗ ặ ố 𝑖 và , có th𝑗 ời gian di chuyển là 𝑡𝑖,𝑗

• Định nghĩa 3 biến cho mỗi node 𝒊∈𝑽:

o 𝑁𝑒𝑥𝑡𝑖 là thành ph số ẽ thăm tiếp theo của node 𝑖

o 𝐶𝑜𝑠𝑡𝑖 là chi phí từ 𝑖 đến 𝑁𝑒𝑥𝑡𝑖

o 𝑆𝑡𝑎𝑟𝑡𝑖 là thời điểm giao hàng c a node ủ 𝑖

o 𝑊𝑎𝑖𝑡𝑖 là thời gian để giao hàng t i node ạ 𝑖

• Miền giá tr : ị

o 𝐷(𝑁𝑒𝑥𝑡𝑖) = {1,…, 𝑛 +1}

o 𝐷(𝐶𝑜𝑠𝑡𝑖) = {0,…, max}

o 𝐷(𝑆𝑡𝑎𝑟𝑡𝑖) =[𝑎𝑖,𝑏𝑖]

o 𝐷(𝑊𝑎𝑖𝑡𝑖) = {0,…, 𝑚𝑎𝑥}

o 𝑆𝑡𝑎𝑟𝑡0= 0, 𝐶𝑜𝑠𝑡𝑛+1= 0, 𝑁𝑒𝑥𝑡𝑛+1=0

• Ràng buộc:

o Các đỉ nh chỉ thăm 1 lần:

𝑎𝑙𝑙𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑡([𝑁𝑒𝑥𝑡0,𝑁𝑒𝑥𝑡 ,…,𝑁𝑒𝑥𝑡1 𝑛+1])

o Không t n t i chu trình con: ồ ạ

𝑛𝑜𝑐𝑦𝑐𝑙𝑒([𝑁𝑒𝑥𝑡0,𝑁𝑒𝑥𝑡 ,…,𝑁𝑒𝑥𝑡1 𝑛])

o Cập nh t chi phí di chuyậ ển:

𝑁𝑒𝑥𝑡𝑖=𝑗 →𝐶𝑜𝑠𝑡𝑖=𝑡𝑖,𝑗 𝑣ớ𝑖 ∀ 𝑖,𝑗 ∈ 𝑉

o Cậ p nh t thời gian ch giao hàng: ậ ờ

𝑁𝑒𝑥𝑡𝑖=𝑗 →𝑊𝑎𝑖𝑡𝑖=𝑆𝑡𝑎𝑟𝑡𝑗−𝑆𝑡𝑎𝑟𝑡𝑖−𝐶𝑜𝑠𝑡 − 𝑑𝑢𝑟𝑖 𝑖 𝑣ớ𝑖 ∀ 𝑖,𝑗 ∈ 𝑉, 𝑗 ≠ 0

o Thỏa mãn th i gian giao hàng: ờ

𝑁𝑒𝑥𝑡𝑖=𝑗 →𝑆𝑡𝑎𝑟𝑡𝑖+ 𝑑𝑢𝑟𝑖+𝐶𝑜𝑠𝑡𝑖≤𝑆𝑡𝑎𝑟𝑡𝑗𝑣ớ𝑖 ∀ 𝑖,𝑗 ∈ 𝑉, 𝑗≠ 0

• Hàm m c tiêu:

Trang 9

7

𝑓 =min {𝑆𝑡𝑎𝑟𝑡𝑛+1}

Sử d ng công c ụ ụ OR-Tools để gi i quy t bài toán ả ế

➢ OR-Tools là m t b ph n m m ngu n m tộ ộ ầ ề ồ ở ối ưu hoá, được điều chỉnh để ả gi i quyết các vấn đề khó khăn nhất trên th ế giới trong việc định tuy n xe, ế luồng, l p trình sậ ố nguyên và tuyến tính cũng như lập trình ràng buộc

➢ Sau khi mô hình hóa vấn đề ử ụ, s d ng trình giải CP-SAT Solver để ả gi i

Chi tiết cài đặt phương pháp ở trong file /Code/CP.ipynb

Kết qu ả cài đặt được thống kế ở mục III

3 Integer Linear Programing

3.1 Mô hình hóa bài toán

3.1.1 T p các bi n ậ ế

3.1.2 Miền giá tr ị

3.1.3 Ràng bu c ộ

Trang 10

8

3.1.4 Hàm m c tiêu ụ

3.2 Giải quy t bài toán ế

3.2.1 Kh i t o các biở ạ ến

3.2.2 Khai báo ràng bu c ộ

Trang 11

9 3.2.3 Khai báo hàm m c tiêu ụ

Trang 12

10 3.3 K t qu ế ả thực nghi m và th i gian ch y ệ ờ ạ

Trang 13

11

4 Thu t toán tham lam (Greedy)

- Mục tiêu của các chiến lược greedy là tổng thời gian di chuyển trên toàn bộ tuyến đường là nhỏ nhất

4.1 Các chiến lược tham lam

4.1.1 Chiến lược Nearest node first:

- Mô tả: Node có thời gian di chuyển gần nhất với node hiện tại sẽ được chọn làm node để đi tới tiếp theo

- Mã giả:

4.1.2 Chiến lược Nearest start-time first:

- Mô tả: Node có thời gian bắt đầu giao gần nhất với thời gian hiện tại sẽ được chọn làm node để đi tới tiếp theo

- Mã giả:

4.1.2 Chiến lược Nearest end-time first:

- Mô tả: Node có thời gian kết thúc giao gần nhất với thời gian hiện tại sẽ được chọn làm node để đi tới tiếp theo

- Mã giả:

Trang 14

12

4.2 K t qu : ế ả

- K t qu ế ả thực nghi m và th i gian ch y trên b d liệ ờ ạ ộ ữ ệu được cung c p ấ

5 Thuật toán Heuristic

5.1 Nguyên tắc cơ bản thuật toán 2-OPT:

• Thay thế hai cạnh không liền kề trong lời giải hiện tại bằng hai cạnh khác và kiểm tra điều kiện, tạo thành một lời giải mới có chi phí thấp hơn

• Điều này được thực hiện liên tục cho đến khi không còn cải thiện nữa

• Về lý thuyết số lượng chu trình mới tối đa có thể sinh ra là n(n 3) (O(n^2)) từ một nút -khởi đầu

Hàm mục tiêu: tổng thời gian di chuyển nhỏ nhất

Trang 15

13

5.2 Các hàm quan trọng

- Hàm khởi tạo trạng thái ban đầu

+ Thực hiện vét cạn không gian đường đi đã shuffle để tạo tính ngẫu nhiên

+ Khi có đường đi thoả mãn điều kiện ràng buộc lấy đường đi đó làm giá trị khởi tạo

- Mã giả thuật toán Local search

Trang 16

14

- Mã giả thuật toán Iterated local search

- Mã giả thuật toán Simulated annealing:

5.3 Thử nghiệm trên bộ dữ liệu tự tạo

- V i b d u t t o ớ ộ ữ liệ ự ạ

Trang 17

15

• Với các khởi tạo khác nhau, kết quả cuối có thể là local optimum hoặc global optimum

• Tăng số lượng vòng lặp làm tăng khả năng hội tụ của thuật toán

- V i b d ớ ộ ữ liệu được cung c p: ấ

Trang 18

16

III Kế t qu th c nghi m và nh n xét ả ự ệ ậ

Kiểm tra các phương pháp giải bằng bộ dữ liệu được cung cấp bởi lớp học, các test case có kho ng giá tr tả ị ừ [𝟓,𝟏𝟎𝟎𝟎], phù hợp để ể ki m tra tính hi u qu c a tệ ả ủ ừng phương pháp Bảng sau đây là kết quả thu được sau khi ch y t ng thu t toán, k t qu ạ ừ ậ ế ả được ểbi u di n b i lễ ở ời giải thu được, thời gian chạy chương trình (đơn vị giây)

n Kết qu g c ố ả Brute Force CP ILP

Metaheuristic Iterated local search Simulated annealing Result Time Result Time Result Time Result Time Result Time

5 465 465 0.001 465 0.01 465 0.01 465 0.0003 465 0.0002

10 779 779 0.003 779 0.04 779 0.02 779 0.006 779 0.006

100 57815 - - 57815 3.71 57815 0.61 - - - -

200 101539 - - 101539 10.63 101539 2.35 - - - -

300 164756 - - 164756 28.45 164756 5.39 - - - -

500 267189 - - 267189 86.78 267189 15.79 - - - -

600 335883 - - 335883 105.06 335883 21.18 - - - -

700 368821 - - 368821 144.68 368821 31.41 - - - -

900 468147 - - 468147 233.16 468147 50.66 - - - -

1000 526522 - - 526522 297.76 526522 66.32 - - - -

- Các thu t toán tham lam ậ

n K t qu g c ế ả ố Neerest node first Nearest start-time first Nearest end-time first

Result Time Result Time Result Time

5 465 - - 465 Không đáng kể 465 Không đáng kể

10 779 - - 779 Không đáng kể 779 Không đáng kể

100 57815 - - 57815 Không đáng kể 57815 Không đáng kể

200 101539 - - 101539 Không đáng kể 101539 Không đáng kể

300 164756 - - 164756 Không đáng kể 164756 Không đáng kể

500 267189 - - 267189 Không đáng kể 267189 Không đáng kể

600 335883 - - 335883 Không đáng kể 335883 Không đáng kể

700 368821 - - 368821 Không đáng kể 368821 Không đáng kể

900 468147 - - 468147 Không đáng kể 468147 Không đáng kể

1000 526522 - - 526522 Không đáng kể 526522 Không đáng kể

Trang 19

17

Nhận xét:

• Brute Force: r t d ấ ễ để cài đặt nhưng thời gian chạy khá chậm, với bộ dữ liệu nhi u ề đỉnh thì th i gian ch y s vô cùng l n ờ ạ ẽ ớ

• CP : Cách mô hình bài toán d hi u, áp dễ ể ụng được vào được các công c gi i bài toán ụ ả tối ưu ràng buộc Vượt qua hết các test case v i th i gian nhanh, v i N = 1000 thớ ờ ớ ời gian ch y g n 5 phút, kh thi v i bài toán l p l ch trong th c t ạ ầ ả ớ ậ ị ự ế

• ILP : ch y r t nhanh, tuy nhiên phạ ấ ần định nghĩa mô hình hóa bài toán khá là khó Đối

v i nh ng b test có nhi u l i gi i thớ ữ ộ ề ờ ả ỏa mãn điều ki n, ILP tính toán r t ch m ệ ấ ậ

• Greedy: Các thuật toán greedy thường đơn giản có thời gian tính toán thấp không đáng kể Tuy nhiên chỉ cho đáp án khi giả định ban đầu là đúng Cần tiếp tục tìm

phương án cải tiến và đưa ra chiến lược bao quát hơn

• Heuristic: Thời gian ch y là trong kho ng ch p nhạ ả ấ ận được khi th trên b d ử ộ ữ liệu bé hơn 20 Cần cải thiện phương thức khởi tạo thay vì vét cạn và tăng cường thêm các thu t toán metaheuristic khác: Guided local search, Tabu search, Variable ậ neighborhood search

Ngày đăng: 13/06/2024, 09:30

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w