Thuật giải đề nghị

Một phần của tài liệu Luận văn công nghệ thông tin nghiên cứu bài toán xếp lịch trực cho y tá (Trang 38 - 41)

Hình 3.6. Thuật giải cho bài toán xếp lịch y tá

Giai đoạn 2: Xếp lịch trựccho y Đúng Sai Sai Đúng Bước chuyển ca trực (Steepest Descent) Lịc đ cải tiến Khởi tạo lịch trực (Greedy)

Lời giải có tổng điểm phạt nhỏ hơn

Bước xáo trộn tham lam

(Steepest Descent)

Lời giải có tổng điểm phạt nhỏ hơn

Giai đoạn 1: Xếp lịch làm việc cho y tá

Bước chuyển đơn

(Tabu search)

Bước cải tiến lịch tệ nhất

(Tabu search)

Khởi tạo lịch làm việc

(Greedy)

Số lần liên tiếp không cải thiện < N

Đúng

Sai

Số lần liên tiếp không cải thiện < N Đúng Sai Thời gian lặp t < MaxTime Sai Xóa và xếp lại lịch cho một số y tá (Greedy)

Iterated Local Search

Đúng

32

Thuật giải sẽ phân chia chu kỳ xếp lịch theo từng tuần, mỗi tuần áp dụng thuật giải như nhau gồm hai giai đoạn dưới đây để tạo lịch từng tuần. Ở giai đoạn 1, xếp lịch làm việc cho y tá, mỗi bước trong giai đoạn này luôn thoả hầu hết các ràng buộc cứng trừ ràng buộc H1: y tá phải làm đủ số ngày làm việc trong tuần theo hợp đồng làm việc. Trong khi ở giai đoạn 2, xếp lịch trực cho y tá sẽ luôn thoả mọi ràng buộc cứng. Sơ lược các bước như sau:

Giai đoạn 1: Xếp lịch làm việc cho y tá

Thuật giải được sử dụng trong giai đoạn này là thuật giải lai Hybrid Metaheuristic, lai giữa Lặp tìm kiếm cục bộ Iterated Local Search và Xáo trộn tham lam Greedy Shuffling. Trong đó thuật giải Lặp tìm kiếm cục bộ dùng Local Search là thuật giải Tabu Search. Thuật giải xếp lịch làm việc gồm các bước sau:

- Bước 1: Tạo ra một lời giải ban đầu của bài toán từ ý tưởng của thuật giải Tham lam nhưng bỏ qua vấn đề y tá phải làm đủ số ngày làm việc trong tuần đã ký theo hợp đồng làm việc, nghĩa là ta sẽ giả sử một y tá có thể làm bao nhiêu ngày cũng được.

- Bước 2: Lặp tìm kiếm cục bộ Iterated Local Search: tập trung giải quyết các vi phạm ràng buộc cứng:

o Bước 2a: Local Search dùng thuật giải Tabu Search:

 Áp dụng bước move cơ bản là Bước chuyển đơn để tạo ra các lời giải láng giềng. Bước này giảm đáng kể số lượng y tá được phân công không đủ số ngày làm việc trong tuần (vi phạm H1).

 Sau đó tập trung cải thiện chất lượng lịch làm việc của y tá có lịch tệ nhất, tức là y tá có tổng điểm phạt vi phạm ràng buộc

nhiều nhất. Bước này xét những Bước hoán chuyển đồng loạt các ca làm việc giữa y tá có lịch tệ nhất với y tá khác trong khoảng thời gian từ một đến bốn ngày.

o Bước 2b: L m n iễu perturbation: Đây là bước giúp tăng tính đa dạng của không gian lời giải, giúp thoát khỏi điểm tối ưu cục bộ. Bước này sẽ xoá hết lịch làm việc trong tuần của một số y tá trong đó có các y tá còn

33

vi phạm ràng buộc của bài toán, rồi xếp lại lịch cho những y tá này. Sau đó quay trở lại bước 2a. Local Search để tìm ra lời giải tối ưu cục bộ

khác. Lời giải tốt hơn trong số lời giải tối ưu cục bộ vừa tìm được và lời giải tối ưu hiện tại sẽ được chọn làm lời giải đầu vào cho bước làm nhiễu tiếp theo. Việc này được lặp đi lặp lại cho đến khi thời gian của số vòng lặp đạt đến thời gian tối đa cho phép.

- Bước 3: Xáo trộn t am lam Greedy Shuffling: cải thiện lịch cho tất cả y tá. Sau khi thực hiện xong thuật giải Lặp tìm kiếm cục bộ, lời giải thu được là lời giải hợp lệ do không còn vi phạm ràng buộc cứng. Tuy nhiên trong bước cải thiện lịch làm việc của y tá có lịch tệ nhất của thuật giải Lặp tìm kiếm cục bộ,

nếu không thể cải thiện lịch cho y tá có lịch tệ nhất, thì những y tá còn lại cũng không được xem xét để cải thiện chất lượng lịch cho họ. Do đó, bước 3 sẽ dùng Xáo trộn tham lamđể cải thiện lịch cho tất cả y tá. Bước xáo trộn tham lam này rất có hiệu quả trong việc trải đều ca trễ cho các y tá. Thuật giải Steepest Descent được áp dụng cho bước này với tập láng giềng được tạo bởi Bước hoán

chuyển đồng loạt các ca làm việc giữa hai y tá bất kỳ trong khoảng thời gian từ

một đến bốn ngày.

Giai đoạn 2 Xếp lịc trực cho y tá: Từ lời giải thu được ở giai đoạn 1, ta tạo lời giải ban đầu cho lịch trực thoả mọi ràng buộc cứng của bài toán, sau đó dùng thuật giải Steepest Descent để cải thiện chất lượng lời giải.

Lặp lại hai giai đoạn trên để lần lượt tạo lịch cho mỗi tuần với tổng điểm phạt được tính riêng trên từng tuần, riêng hàm tính điểm phạt của ràng buộc Trải đều ca trễ cho các y tá (mỗi y tá chỉ nên làm từ một đến hai ca trễ trong suốt thời gian bốn tuần xếp

lịch: mục tiêu quan trọng) sẽ được tính trên cả bốn tuần. Chi tiết từng bước trong từng giai đoạn được trình bày chi tiết ở những phần kế tiếp.

34

Một phần của tài liệu Luận văn công nghệ thông tin nghiên cứu bài toán xếp lịch trực cho y tá (Trang 38 - 41)

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

(71 trang)