GA trong tối ưu tổ hợp

Một phần của tài liệu (LUẬN văn THẠC sĩ) bài toán thuê xe du lịch có hạn ngạch luận văn ths máy tính 604801 (Trang 26 - 29)

Chương 2 Các phương pháp metaheuristic

2.1. Thuật giải di truyền

2.1.3. GA trong tối ưu tổ hợp

Thuật toán di truyền giải các bài toán tối ưu tổ hợp có cùng lược đồ với GA cổ điển được mô tả trong hình I.1. Trong ứng dụng, ta thường gặp nhiều bài toán thực tiễn mà hàm mục tiêu chưa có dạng tường minh. Khi đó ta cần xây dựng bài toán tói ưu cho nó và áp dụng GA để tìm lời giải. Cách tiếp cận này mở ra các phương pháp tính toán tiến hóa (Evolutionary computation viết tắt là EC)

Lược đồ tính toán tiến hóa

Trong tối ưu hóa, thuật ngữ tính toán tiến hóa có thể hiểu theo hai tiếp cận. Theo nghĩa rộng, EC dùng để chỉ các phương pháp lặp tạo sinh hoặc phát triển

quần thể lời giải, trong đó chất lượng lời giải được cải thiện theo thời gian. Theo nghĩa hẹp mà ta dùng trong mục này, EC dùng để chỉ các phương pháp giải các bài toán nhờ ứng dụng GA. Khí áp dụng EC, ta cần đưa bài toán được xét về bài toán tìm lời giải tối ưu để áp dụng GA để giải. Chương trình áp dụng EC để giải bài toán gọi là chương trình tiến hóa.

Mối liên hệ giữa EC và GA đươc minh hoạ bởi sơ đồ trong hình I.2.

Hình 2.2: Sơ đồ quan hệ áp dụng tính toán tiến hóa

Các bước cơ bản để5 xây dựng chương trình tiến hóa

Đối với một bài toán cần giải P, để xây dựng một chương trình tiến hoá giải nó, người ta thường tiến hành theo năm bước cơ bản sau:

Bước 1. Chọn cấu trúc nhiễm sắc thể / kiểugene biễu diễn lời giải tiềm năng của bài toán sao cho nó chứa đủ các thông tin quan trọng và dễ làm việc. Tuy nhiên không có sự hướng dẫn nào về cách chọn này. Thiết kế chương trình mã hóa và giải mã

Bước 2. Khởi tạo tập lời giải ban đầu. Việc khởi tạo là ngẫu nhiên hay có thể áp dụng một vài thuật toán heuristic, nhưng phải đảm bảo sao cho các ràng buộc của bài toán được đảm bảo.

Bước 3. Chọn hàm đánh giá mức độ tốt của lời giải (để đánh giá các cá thể trong quần thể lời giải theo độ thích nghi của chúng ).

Bước 4. Thiết kế các toán tử di truyền. Các toán tử này được thiết kế nên dựa trên kiểugene/ nhiễm sắc thể , đặc điểm bài toán và các ràng buộc của nó.

Bước 5: Xác định các tham số cho bài toán. Các tham số này có thể không thay đổi trong quá trình tiến hoá hoặc có thể tự điều chỉnh tham số theo thời gian.

Một số nhận xét

GA có phổ ứng dụng rộng, dễ sử dụng và hướng tới lời giải tối ưu toàn cục nên được người dùng ưa thích. Tuy nhiên khi cáp dụng GA, cần lưu ý các điểm sau.

1. Trong tối ưu liên tục, GA thích hợp cho các bài toán nhiều cực trị và không khả vi. Đối với các bài toán đã có phương pháp truyền thống thì thường GA mất nhiều thời gian chạy hơn. Với các bài toán nhiều cực trị nhưng áp dụng được phương pháp gradient thì có thể khởi tạo nhiều điểm xuất phát có phân bố đều và áp dụng tìm kiếm gradient để chọn lời giải tốt nhất sẽ hiệu quả hơn GA.

2. Trong tối ưu tổ hợp, việc chọn cấu trúc nhiễm sắc thể và kiểu gene rất quan trọng đối với hiệu quả thuật toán. Kiểu gene chọn tốt sẽ thỏa mãn được nhiều ràng buộc, hạn chế phạm vi tìm kiếm trong không gian trạng thái.

3. Việc tìm kiếm trong các thuật toán giải các bài toán tối ưu tổ hợp thường có 2 cơ chế chính: tìm kiếmtăng cường (intensification)/khai thác(exploitation) quanh miền có lời giải tốt tìm được vàkhám phá(exploration)/đa dạng(diver- sification) nhằm tạo sinh các lời giải đa dạng để mở rộng tìm kiếm hướng tới tối ưu toán cục. Trong GA, thủ tục chọn lọc là khâu chính hướng tới tìm kiếm tăng cường còn các toán tử di truyền hướng tới sự khám phá. Khi áp dụng GA cần cân bằng giữa hai cơ chế này. Việc chọn tham số cho các toán tử di truyền cũng rất quan trọng đối với hiệu quả thuật toán

4. GA là thuật toán dễ sử dụng cho cả tối ưu liên tục và tối ưu tổ hơp. Tuy nhiên khi dùng cho tối ưu liên tục, nó thích hợp cho các bài toán không khả vi và có nhiều cực trị địa phương. Đối với các bài toán đã có các phương pháp truyền thống tốt thì GA chạy lâu và chất lượng lời giải thường kém hơn. Các toán tử di truyền có thể vận dụng mềm dẻo và đa dạng để tăng tính khám phá của thuật toán.

5. Khi áp dụng GA, việc chọn biễu diễn gene và cấu trúc nghiếm sắc thể rất quan trọng. Một cách chọn biễu diễn gene thích hợp sẽ cho phép đáp ứng nhiều ràng buộc, thu hẹp không gian tìm kiếm và dễ xây dựng các toán tử di truyền.

Một phần của tài liệu (LUẬN văn THẠC sĩ) bài toán thuê xe du lịch có hạn ngạch luận văn ths máy tính 604801 (Trang 26 - 29)

Tải bản đầy đủ (PDF)

(71 trang)