Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

4.

Hybrid heuristic algorithm


Trong phần này, một thuật toán lai bao gồm giải thuật tối ưu hóa bầy
đàn (PSO) và giải thuật mô phỏng quá trình tôi luyện (SA) được đề xuất để giải
quyết mô hình SPTS. Trước tiên, tác giả trình bày một giản đồ mã hóa để tạo
lịch trình. Sau đó, ứng dụng của các thuật toán SA và PSO. Cuối cùng, thuật
toán lai được trình bày.

4.1. Lược đồ mã hóa


Sự trình bày các lịch trình phù hợp sẽ ảnh hưởng đến hiệu quả của bất
kỳ thuật toán nào. Mỗi lịch trình cụ thể bằng thứ tự các chuyến tàu, thể hiện
mức độ ưu tiên của các đoàn tàu trong việc đi qua các đoạn đường. Sử dụng
các khóa ngẫu nhiên (RKs) làm sơ đồ mã hóa giúp dễ dàng điều chỉnh theo các
thuật toán PSO và SA (Chang và cộng sự, 2009; Tavakkoli-Moghaddam và
cộng sự, 2009). Phương pháp khóa ngẫu nhiên được sử dụng để trình bày thứ
tự của các đoàn tàu trong việc đi qua các đoạn đường.
Trong bài báo này, hành động đi qua một đoạn đường bằng tàu hỏa được
gọi là quá cảnh. Mức độ ưu tiên của các đoàn tàu đi qua các đoạn khối được thể
hiện thông qua các khóa ngẫu nhiên. Vì mục đích này, một giá trị ngẫu nhiên từ
0 đến 1 được gán cho mỗi phương tiện và các khóa ngẫu nhiên này hiển thị thứ
tự tương đối của các đoàn tàu trong các đoạn khối đi qua. Ví dụ, hãy xem xét
một bài toán với ba đoàn tàu và hai đoạn khối. Giả sử rằng mỗi đoàn tàu cần
phải vượt qua các đoạn khối 1 và 2, và do đó trong bài toán này, có sáu phương
án đưa ra {1 1 2 2 3 3}. Đối với mỗi phương tiện, một giá trị ngẫu nhiên được
tạo ngẫu nhiên từ sự phân bố đồng đều giữa 0 và 1 như trong Bảng 2. Sau đó,
các RKs này được sắp xếp để tìm thứ tự tương đối của các lần chuyển tuyến
như minh họa trong Bảng 3. Bảng này cho biết thứ tự của các chuyến tàu để
vượt qua khối Phần 1 và 2 tương ứng là {2-3-1} và {3-1-2}.

4.2. Simulated annealing (SA)


Mô phỏng quá trình tôi luyện (SA) là một phương pháp tiếp cận thông
minh được thiết kế để đưa ra giải pháp tối ưu hoặc gần tối ưu nhất trong một
thời gian tính toán hợp lý, cung cấp một phương pháp để thoát khỏi hệ thống
tối ưu cục bộ bằng cách xem xét các chuyển động làm xấu đi giá trị hàm mục
tiêu. Động lực cho thuật toán này đến từ sự tương đồng giữa quá trình tôi luyện
vật lý của vật liệu rắn và các bài toán tối ưu hóa. Trong quá trình tôi luyện, đầu
tiên một kim loại được nung đến nhiệt độ cao và sau đó được làm nguội với tốc
độ rất chậm đến nhiệt độ phòng. Trong SA, có thể nói rằng: làm lạnh càng
chậm thì cơ hội tìm ra giải pháp tối ưu càng cao, nhưng thời gian thực hiện
càng lâu. Để biết thêm chi tiết, mọi người có thể tham khảo (Kirkpatrick và
cộng sự, 1983).
Các ký hiệu được sử dụng trong SA được đề xuất như sau.
K: biến đếm lặp lại
Tk: Nhiệt độ trong lần lặp thứ k
Sk: lịch trình thứ k
T0: nhiệt độ ban đầu
Sbest: giải pháp tốt nhất được tìm thấy
f (s): giá trị hàm mục tiêu cho lịch trình s
α: hệ số làm mát
Paccept(s,s’,T): hàm xác suất để chấp nhận giải pháp không cải tiến s’

Các bước chính của thuật toán SA đề xuất cho bài toán SPTS như sau.
Vòng ngoài:
Bước (1) Đặt các tham số SA, dựa trên Mục 4.2.4 (Điều chỉnh tham số): T 0 và
α. Cho k←0
Bước (2) Chọn một giải pháp ban đầu s, dựa trên Phần 4.2.2, (Tạo giải pháp
ban đầu).
Bước (3) Nếu s không khả thi, chuyển sang Bước 2; ngược lại, gán
Sbest ← s và chuyển sang Bước 4.
Bước (4) Tạo giải pháp lân cận, s’, dựa trên Phương pháp 1 được đề cập trong
Phần 4.2.3, (Tạo giải pháp lân cận).
Bước (5) Nếu s’ không khả thi, chuyển sang Bước 4; nếu không, chuyển đến
Bước 6. Kiểm tra tính không khả thi dựa trên Phần 4.2.1, (Giải pháp khả thi).
Bước (6) Nếu f(s’) ≤ f(s) hoặc random [0, 1] ≤ Paccept , gán s←s’ . Tiếp tục, nếu
f(s’) ≤ f(sbest) , gán Sbest←S.
Vòng trong:
Bước phụ (1) Tạo giải pháp lân cận, s’, dựa trên Phương pháp 2 được đề
cập trong Phần 4.2.3, (Tạo giải pháp lân cận).
Bước phụ (2) Nếu s’ không khả thi, chuyển sang Bước phụ 1; nếu
không, chuyển đến Bước phụ 3.
Bước phụ (3) Nếu f (s’) ≤ f (s) hoặc random [0, 1] ≤ Paccept thì s←s’. Tiếp
tục nếu f (s’) ≤ f(sbest) thì Sbest← S
Bước (7) Nếu tiêu chí kết thúc không thỏa mãn thì Tk= αTk – 1, k←k+1 và
chuyển sang Bước 4; nếu không, dừng quá trình và trả kết quả Sbest

1 nếu f (s ’)<f (s)

{
Paccept(s,s’,Tk) = exp f (s) − f ( s ') trong các trường ℎợp còn lại
( Tk )
4.2.1. Giải pháp khả thi
Lịch trình được tạo dựa trên các đơn đặt hàng, được cung cấp cho các
chuyến đi. Phương pháp này luôn dẫn đến một giải pháp khả thi theo phương
pháp cổ điển nhưng không khả thi trong lập kế hoạch định kỳ.
Nhận xét 1. Độ dài chu kỳ ảnh hưởng đến giải pháp. Người ta có thể nói
rằng khi độ dài chu kỳ cho một vấn đề cụ thể tăng lên, giải pháp tối ưu không
bao giờ xấu đi. Mặt khác, nếu độ dài chu kỳ giảm thì giải pháp tối ưu không
được cải thiện. Luôn luôn có một giới hạn cho độ dài chu kỳ, trong đó, nếu
thấp hơn giới hạn này sẽ không tồn tại giải pháp khả thi. Hơn nữa, giới hạn
dưới cho giới hạn này là Max b ∈B (∑ t ib ). Nói cách khác, tổng thời gian di
i ∈R
chuyển của tất cả các đoàn tàu khi đi qua một đoạn khối cụ thể phải luôn nhiều
hơn độ dài chu kỳ.
Nhận xét 2. Nếu ∃b∈B, sao cho ∑ t ib >T , thì không tồn tại giải pháp khả
i ∈R
thi cho bài toán đã cho.
Nhận xét 3. Đối với mỗi phần khối, mỗi chuyến được chỉ định cần được
di chuyển trong một khoảng thời gian nhỏ hơn độ dài chu kỳ. Hình 2 mô tả một
SPTS không khả thi để làm rõ vấn đề. Nó được thiết kế để lập lịch trình năm
lần chuyển đổi trong khoảng thời gian T trong một phần khối. Trong hình này,
việc phân bổ lần đầu tiên là không khả thi vì không có khoảng thời gian để chỉ
định chuyến tàu 5 trong độ dài khoảng thời gian, trong khi lần thứ hai là khả
thi.

4.2.2. Tạo giải pháp ban đầu


Giải pháp là xác định thời gian khởi hành của các đoàn tàu từ đầu các
đoạn khối và thời gian của các đoàn tàu đến cuối các đoạn khối, sao cho các
Ràng buộc (4) đến (6) được thỏa mãn. Trong bài báo này, để có được một giải
pháp ban đầu tốt, có thể sử dụng từng cách tiếp cận sau đây.
- Dựa trên quy tắc nghỉ trước được phục vụ trước (FLFS). Trong
phương pháp này, thời gian sớm nhất có thể được ấn định cho các chuyến tàu.
Trong trường hợp hai hoặc nhiều đoàn tàu cạnh tranh cho cùng một đoạn khối,
thì quyền ưu tiên được ưu tiên cho đoàn nào rời đoạn khối trước.
- Dựa trên quy tắc nhập trước xuất trước (FIFO). Trong phương pháp
này, thời gian sớm nhất có thể được ấn định cho các chuyến tàu. Trong trường
hợp hai hoặc nhiều đoàn tàu cạnh tranh cho cùng một đoạn khối, quyền ưu tiên
sẽ được ưu tiên cho đoàn tàu đã chờ nhiều hơn.
- Dựa trên các khóa ngẫu nhiên. Trong phương pháp này, như đã giải
thích trong Phần 4.1, đối với mỗi đoàn tàu đi qua một đoạn khối, một số ngẫu
nhiên được ấn định. Mức độ ưu tiên của các đoàn tàu trong các đoạn khối đi
qua được dựa trên các phím ngẫu nhiên này.
Ý tưởng đằng sau việc xác định ba cách tiếp cận thực tế là không có sự
đảm bảo nào để tìm ra giải pháp khả thi bằng cách sử dụng các quy tắc FLFS
và FIFO.

4.2.3. Tạo giải pháp lân cận


Hai phương pháp được sử dụng để tìm ra giải pháp lân cận.
Phương pháp 1: Phương pháp này dựa trên phương pháp toán tử điểm
đơn. Trong phương pháp này, RK của một đoàn tàu được chọn ngẫu nhiên từ
lịch trình s được tạo ra một cách ngẫu nhiên.
Phương pháp 2: Trong phương pháp này, chuyến tàu i đầu tiên được
chọn ngẫu nhiên. Sau đó, thời gian khởi hành từ điểm xuất phát của chuyến tàu
thứ i, arr io - t io ,được tạo lại ngẫu nhiên sao cho thời gian được ấn định mới vẫn
i i

nằm trong khoảng [li, ui]. Lưu ý rằng trong phương pháp này, các khóa ngẫu
nhiên và sau đó độ ưu tiên của đoàn tàu trong các đoạn khối đi qua vẫn cố định.

4.2.4. Điều chỉnh tham số


Việc gán giá trị thích hợp cho các tham số của thuật toán ảnh hưởng
đáng kể đến chất lượng của thuật toán. Để điều chỉnh các tham số SA (tức là,
T0 và α ), một thiết kế giai thừa đầy đủ trong phương pháp thiết kế thử nghiệm
(DOE) được áp dụng. Bảng 4 cho thấy ba mức cho các tham số. Do đó, một
thiết kế 32 được áp dụng. Hơn nữa, 15 trường hợp được tạo ngẫu nhiên và được
giải bằng thuật toán SA đề xuất, giả sử mỗi trường hợp trong số 32 kết hợp của
(T0, α ). Thuật toán được kết thúc sau khi thực hiện 3000 lần lặp.

Để so sánh các trường hợp, chỉ số độ lệch tương đối (RDI) thu được
bằng công thức sau đây được sử dụng

F k − Min
RDIk = 100
Max − Min

trong đó Fk là giá trị hàm mục tiêu của tổ hợp thứ k. Min và Max lần lượt là giá
trị hàm mục tiêu đạt được tốt nhất và kém nhất trong số 32 kết hợp.
Tất cả (15 x 32=¿) 135 trường hợp được giải quyết và kết quả được phân
tích bằng phương pháp phân tích phương sai (ANOVA). Tính bình thường, tính
đồng nhất của phương sai và mức độ độc lập của phần dư được phân tích. Kết
quả chứng minh rằng không có mô hình cụ thể nào trong các thí nghiệm. Hình
3 mô tả biểu đồ tương tác cho các tham số T 0 và α . Kết quả cho thấy sự kết hợp
của T 0=50 và α =0,99 tốt hơn về mặt thống kê so với các kết hợp được đánh giá
khác.

You might also like