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 0 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

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

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ô mhì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

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: ồạ

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

• 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

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w