Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 91 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
91
Dung lượng
604,23 KB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA - NGUYỄN THỊ TUYẾT NGA ỨNG DỤNG TU CHỈNH LẶP CÓ TRỌNG SỐ VÀO GIẢI QUYẾT BÀI TOÁN XẾP LỊCH TRỰC Y TÁ Chuyên ngành: Công Nghệ Thông Tin Mã số ngành: 01.02.10 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, THÁNG 12 NĂM 2004 Đại học Quốc Gia Tp Hồ Chí Minh CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA - Độc lập - Tự - Hạnh phúc - NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN THỊ TUYẾT NGA Phái: Nữ Ngày tháng năm sinh: 10 - 03 - 1977 Nơi sinh: Quảng Ngãi Chuyên ngành: Công Nghệ Thông Tin Mã số: CNTT12-018 I TÊN ĐỀ TÀI: Ứng dụng phương pháp Tu chỉnh lặp có trọng số vào toán xếp lịch trực y tá II NHIỆM VỤ VÀ NỘI DUNG: Nhiệm vụ đề tài nghiên cứu ứng dụng phương pháp Tu chỉnh lặp có trọng số vào toán xếp lịch trực y tá bệnh viện III NGÀY GIAO NHIỆM VỤ: 26/02/2004 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 25/11/2004 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS- DƯƠNG TUẤN ANH CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH BỘ MÔN QUẢN LÝ NGÀNH TS-DƯƠNG TUẤN ANH Nội dung đề cương luận văn thạc só Hội Đồng Chuyên Ngành thông qua Ngày PHÒNG ĐÀO TẠO SAU ĐẠI HỌC tháng năm KHOA QUẢN LÝ NGÀNH TÓM TẮT Giải thuật Tu chỉnh lặp có trọng số xuất phát từ ý tưởng đơn giản Khi rơi vào trạng thái tối thiểu cục bộ, giải thuật tăng trọng số ràng buộc vi phạm Việc làm thay đổi giá trị chi phí lời giải lời giải lân cận trở nên chấp nhận Nhiều toán giải hệ ràng buộc thực tế thuộc dạng ràng buộc mức (có số ràng buộc nhiều) tìm thấy lời giải khả thi thoả tất ràng buộc Bài toán thường chia ràng buộc làm hai loại: ràng buộc cứng (hard constraint) ràng buộc mềm (soft constraint) Trong đó, ràng buộc cứng ràng buộc phải thoả mãn, ràng buộc mềm ràng buộc không bắt buộc phải thoả mãn Mục tiêu toán thoả mãn tất ràng buộc cứng tối thiểu số ràng buộc mềm vi phạm Đặc điểm toán ràng buộc mức gây khó khăn cho kỹ thuật Tu chỉnh lặp có trọng số Bởi vì, giải thuật dùng trọng số để phân biệt ràng buộc cứng ràng buộc mềm Tuy nhiên, suốt trình tìm kiếm, việc tăng trọng số ràng buộc vi phạm làm “méo mó” trọng số ban đầu độ quan trọng tương đối ràng buộc Kết trọng số ràng buộc mềm ngang hay lớn ràng buộc cứng Vì thế, giải thuật tìm thấy lời giải khả thi Để ứng dụng giải thuật Tu chỉnh lặp có trọng số vào toán xếp lịch trực y tá, tác giả dựa vào khái niệm “lặp lại” ràng buộc Cha et al chọn xây dựng giải thuật theo hướng “học hỏi” Thornton Sattar Mặc khác, không giống phương pháp giải cho toán xếp lịch trực y tá trước, tác giả chọn hướng tiếp cận để giải thuật Tu chỉnh lặp có trọng số vừa có chức xây dựng lời giải khả thi vừa có chức tối ưu lời giải Đồng thời qua tác giả muốn chứng minh giải thuật tìm kiếm cục hoàn toàn không bị lệ thuộc vào lời giải ban đầu Trang i Giới thiệu ABSTRACT Weighted iterative repair technique originates from a simple idea When stucking on a local optimum solution, the algorithm will increase weights of all violated constraints This changes the cost of the current solution until a lower cost solution becomes accessible Many real-world constraint satisfaction problems can be over-constrained For this reason, it is impossible to find a feasible solution that satisfies all contraints These problems contain a set of hard constraints that have to be satisfied and a set of soft constraints whose satisfaction is desirable but not mandatory The objective of the problem is to satisfy all hard constraints and to minimize the violations of soft constraints This feature of over-constrained problems causes difficulties in using weighted iterative repair techniques, because the techniques use weight to distinguish hard and soft constraints However, during the search, increasing the weights of the violated constraints can override the relative importance of constraints This can make weights of soft constraints equal or greater than those of hard constraints So the algorithm can not find feasible solutions In order to apply the weighted iterative repair techniques into the nurse scheduling, author based on concept of repeating hard constraints proposed by Cha et al and choose to build the algorithm following concept of learning of Thornton and Sattar In addition, different from previous approachs for nurse rostering problem, the author chooses the approach that weight iterative repair algorithm can produce both feasible solutions and optimized solutions On the other hand, the author also demonstrates that local search algorithm is independent of initial solutions Trang ii LỜI CẢM ƠN Lời xin bày tỏ lòng biết ơn chân thành đến Thầy TS Dương Tuấn Anh, người tận tình giúp đỡ suốt thời gian học tập thời gian làm luận án thạc só Xin bày tỏ lòng biết ơn Thầy Cô khoa Công Nghệ Thông Tin trường Đại học Bách Khoa TP.Hồ Chí Minh tận tình giảng dạy truyền đạt kiến thức hỗ trợ khác tinh thần tư liệu cho suốt thời gian học tập làm việc Xin chân thành cám ơn Thầy TS Nguyễn Thành Long, người động viên, khuyến khích góp ý cho suốt trình làm luận văn Xin chân thành cám ơn hai người thân Nguyễn Thị Tuyết Hồng Phạm Văn Vũ bên cạnh, động viên, khuyến khích, giúp in tài liệu, đọc chỉnh sửa lỗi tả luận văn Xin chân thành cám ơn bạn Bùi Văn Quang đóng góp số ý kiến tạo điều kiện thuận lợi cho việc sử dụng chương trình xếp lịch trực y tá dùng giải thuật Tìm kiếm Tabu Xin chân thành cám ơn chị Nguyễn Thị Kiều Thu, điều dưỡng trưởng khoa Tim Mạch bệnh viện Nhi Đồng I chị Phan Thị Phương Anh, điều dưỡng trưởng khoa Cấp Cứu bệnh viện Chợ Rẫy giúp nhiều việc tìm hiểu nghiệp vụ toán xếp lịch trực y tá Sau cùng, xin bày tỏ lòng biết ơn sâu sắc gia đình, bạn bè, đồng nghiệp bạn lớp cao học khoa Công Nghệ Thông Tin khoá 12 động viên quan tâm giúp đỡ suốt thời gian học tập làm luận văn Thành phố Hồ Chí Minh, 25/11/2004 Tác giả Trang iii Giới thiệu MỤC LỤC Tóm tắt i Abstract ii Lời cảm ơn iii Muïc luïc iv Danh mục hình giải thuật vii Danh mục baûng .vii CHƯƠNG : 1.1 1.2 GIỚI THIỆU Giới thiệu đề tài Baøi toán xếp lịch trực y tá 1.2.1 Mô tả toán .2 1.2.2 Các ràng buộc toaùn 1.2.3 Đánh giá toán CHƯƠNG : CÁC NGHIÊN CỨU LIÊN QUAN 2.1 Các nghiên cứu liên quan đến toán xếp lịch trực y tá .6 2.1.1 Qui hoạch toán học (Mathematical Programming) 2.1.2 Lập trình ràng buộc (Constraint Programming) 2.1.3 Nhận xét phương pháp xếp lịch trực y tá 15 2.2 Các nghiên cứu liên quan đến kỹ thuật tu chỉnh lặp .16 2.2.1 Tu chỉnh lặp có trọng số cho toán thoả mãn ràng buộc .17 2.2.2 Kỹ thuật Tu chỉnh lặp có trọng số cho toán ràng buộc mức .23 2.3 Hướng nghiên cứu luận vaên 25 CHƯƠNG : PHƯƠNG HƯỚNG GIẢI QUYẾT BÀI TOÁN .26 3.1 Kỹ thuật tu chỉnh lặp có trọng số (weighted iterative repair) .27 3.1.1 Mối quan hệ lượng thông tin, chi phí số lần lặp 28 3.1.2 Duy trì phân biệt ràng buộc cứng ràng buộc mềm 31 3.1.3 Xác định trọng số ban đầu cho ràng buộc cứng 33 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 Ứng dụng tu chỉnh lặp có trọng số vào toán xếp lịch trực y tá 35 Mô hình hoá toán 35 Lựa chọn độ sâu cho giải thuật 35 Lựa chọn tiêu chuẩn đánh giá 36 Giải thuật Tu chỉnh lặp có trọng số (Weighted Iterative Repair – WIR) 38 Ràng buộc đa biến 39 Bổ sung số heuristic để cải thiện giải thuật 42 CHƯƠNG : 4.1 THIẾT KẾ ỨNG DỤNG XẾP LỊCH TRỰC Y TÁ 44 Hiện thực giải thuật 44 Trang iv Giới thiệu 4.1.1 4.1.2 4.2 Xây dựng thư viện phần mềm cho giải thuật Tu chỉnh lặp có trọng số 44 Ứng dụng thư viện vào giải toán xếp lịch trực y tá 46 Thiết kế ứng dụng xếp lịch trực y tá 50 4.2.1 Mô hình ứng dụng xếp lịch trực y tá 50 4.2.2 Thiết kế sở liệu 52 4.2.3 Các chức hệ thống xếp lịch trực y tá 54 CHƯƠNG : 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.2 CHẠY THỬ NGHIỆM CHƯƠNG TRÌNH .58 Phương án chạy thử nghiệm 58 Mục đích .58 Phương án thử nghiệm 58 Thiết kế tập toán thử nghiệm .60 Kết thực nghiệm 60 Phân tích 64 5.2.1 Thống kê kết 64 5.2.2 Nhaän xét kết 66 5.2.3 Phân tích kết 67 5.3 Kết luận 69 CHƯƠNG : 6.1 6.2 KẾT LUẬN 70 Đóng góp đề tài .70 Hướng mở rộng đề tài 71 THƯ MỤC THAM KHẢO .72 PHỤ LỤC A: BÀI TOÁN GIẢI HỆ RÀNG BUỘC VÀ BÀI TOÁN GIẢI HỆ RÀNG BUỘC RIÊNG PHẦN PHỤ LỤC B: TÌM KIẾM HỆ THỐNG VÀ TÌM KIẾM PHI HỆ THỐNG PHỤ LỤC C: TỐI THIỂU CỤC BỘ .1 PHUÏ LUÏC D: SỬ DỤNG CHƯƠNG TRÌNH XẾP LỊCH TRỰC Y TÁ .1 BẢNG THUẬT NGỮ VIỆT-ANH ĐỐI CHIẾU Trang v Giới thiệu DANH MỤC CÁC HÌNH VÀ GIẢI THUẬT Hình 2-1: Ví dụ bảng phân công trực cho 25 y tá Hình 2-2: Ví dụ toán thoả mãn ràng buộc có bieán A, B, C, D, E 20 Hình 2-3: Bài toán thoả mãn ràng buộc mô hình hoá theo GENET 20 Hình 2-4: Bảng trọng số wxy hai nốt có xung đột 21 Hình 2-5: Ví dụ trạng thái mạng GENET hình 2.3 22 Hình 2-6: Giải thuật Breakout 23 Hình 2-7: Giải thuật Soft Constraint Heuristic .25 Hình 3-1: Ví dụ toán tô màu đồ thị có số ràng buộc mức .28 Hình 3-2: Mối quan hệ lượng thông tin, chi phí số lần lặp .29 Hình 3-3: Duy trì phân biệt trọng số ràng buộc cứng ràng buộc mềm 32 Hình 3-4: Giải thuật tăng trọng số ràng buộc vi phạm 34 Hình 3-5: Giải thuật tính độ sai biệt giá trị mục tiêu so với lời giải chọn giá trị m cho biến v .38 Hình 3-6: Giải thuật Tu chỉnh lặp có trọng số (WIR) 39 Hình 3-7: Heuristic thứ tự biến thuận 42 Hình 3-8: Heuristic thứ tự biến nghịch 43 Hình 4-1: Sơ đồ thiết kế đối tượng thư viện giải thuật Tu chỉnh lặp có trọng số 44 Hình 4-2: Đối tượng NurseRostering .48 Hình 4-3: Mô hình ứng dụng xếp lịch trực y tá 50 Hình 4-4: Lược đồ sở liệu ứng dụng Xếp lịch trực y tá .52 Hình 4-5: Các thực thể mô tả thông số toán Xếp lịch trực y tá 53 Hình 4-6: Quản lý thông tin cá nhân y tá 55 Hình 4-7: Quản lý thông tin liên quan đến yêu cầu y tá 55 Hình 4-8: Chức thiết lập thông số cho ràng buộc, toán xếp lịch trực y tá 56 Hình 4-9: Chức xem lịch trực 56 Hình 4-10: Chức thống kê tổng ràng buộc cứng mềm toán thông số bảng phân công kết 57 Hình 4-11: Chức tạo khuôn mẫu 57 Hình 5-1: Mối quan hệ số lần kẹt vào mức tối đa cục giá trị mục tiêu (WeightedScores) 65 Hình 5-2: Mối quan hệ số lần kẹt vào mức tối đa cục giá trị mục tiêu (SoftScores) 65 Hình C-1: Phác thảo trạng thái giải pháp không gian tìm kiếm .1 Trang vi Giới thiệu DANH MỤC CÁC BẢNG Bảng 5-1: Bảng thông số toán 60 Bảng 5-2: Bảng mô tả tập toán thử nghiệm 61 Bảng 5-3: Bảng số liệu kết thực thi giải thuật Tu chỉnh lặp có trọng số giải thuật Tabu .62 Baûng 5-4: Bảng số liệu kết thực thi giải thuật Tu chỉnh lặp có trọng số sử dụng gán trị ngẫu nhiên theo khuôn mẫu 63 Bảng 5-6: Bảng số liệu thống kê 64 Trang vii Giới thiệu CHƯƠNG : GIỚI THIỆU 1.1 GIỚI THIỆU ĐỀ TÀI Công việc xếp lịch trực cho y tá thường phức tạp nhiều thời gian Tuy nhiên nay, nước ta công việc làm tay Vì thế, nhu cầu nghiên cứu tìm giải pháp cho toán cần thiết Trong đó, giới toán xếp lịch trực cho y tá quan tâm nghiên cứu phát triển từ năm 1980 Trải qua nhiều giai đoạn phát triển có thành công định Một số sản phẩm đời áp dụng cho bệnh viện khác giới Thế nhưng, đến chưa thật có giải pháp giải triệt tất trường hợp Đặc điểm toán xếp lịch trực cho y tá đặc thù cho trường hợp cụ thể toán hướng mở cho nhiều nhà nghiên cứu Từ đầu năm 1980, kỹ thuật tìm kiếm cục (Local Search) tạo nhiều tiếng vang ý việc giải toán khó phức tạp Một ứng dụng quan trọng tiêu biểu phương pháp toán xếp lịch, số đó, toán phân công trực cho y tá điển hình Cùng hướng nghiên cứu giải thuật tìm kiếm cục bộ, tác giả chọn kỹ thuật Tu chỉnh lặp có trọng số (Weighted Iterative Repair) Mặc dù kỹ thuật nghiên cứu từ lâu có nhiều thành công với toán thoả mãn ràng buộc mức toán phân công trực y tá giải thuật nhiều mẻ Trang Chạy thử nghiệm chương trình • Trong vùng tìm kiếm, giải thuật Tu chỉnh lặp có trọng số hội tụ lời giải tối ưu cục nhanh Điều nhờ vào trình học hỏi từ lần lặp trước giải thuật • Tuy nhiên, giải thuật Tabu tìm thấy lời giải tối ưu Điều lý giải tính chất ngẫu nhiên giải thuật Nhờ vào việc sử dụng phương pháp hoán vị ca trực y tá (swap move double swap move [6]) giải thuật Tabu tạo nên cấu trúc không gian tìm kiếm mang tính ngẫu nhiên Việc giúp cho giải thuật di chuyển thoải mái không gian tìm kiếm Nhờ giải thuật khảo sát nhiều vùng giúp tìm thấy lời giải tối ưu Trong đó, sau tìm thấy lời giải khả thi, giải thuật Tu chỉnh lặp trọng số có huynh hướng giữ nguyên trạng thái Mặc dù sau giải thuật nỗ lực hạ số lần lặp để chuyển sang vùng tìm kiếm khác thông qua việc làm vi phạm số ràng buộc cứng khác Nhưng sau giải thuật lại bị theo ràng buộc cứng nhanh chóng làm cho thoả mãn lại mà không di chuyển sâu vào vùng tìm kiếm Việc làm giới hạn khả chọn lựa biến • Thật ra, kết luận có dễ hiểu họ giải thuật tìm kiếm cục bộ, giải thuật Tabu thuộc nhánh tìm kiếm lân cận (Neighbourhood Search) Nhóm giải thuật thường tập trung tạo khả di chuyển rộng cho giải thuật số phương pháp thường thấy hoán chuyển trị hai biến hay hai vùng biến (swapping), xáo trộn (shuffle), rung (shaking) [9], … • Giải thuật tu chỉnh lặp nói riêng giải thuật tìm kiếm cục nói chung không bị lệ thuộc vào lời giải ban đầu Mặc dù khởi đầu từ lời giải tốt giải thuật thường hội tụ lời giải tối ưu nhanh hơn, số trường hợp thực tế cho thấy giải thuật tìm thấy kết tốt từ lời giải thô ban đầu Ngoài ra, kết thực nghiệm toán khó cho thấy cần thận trọng việc xây dựng giải thuật tạo lời giải ban đầu Nhiều việc đầu tư mức vào giải thuật tạo lời giải ban đầu lại có tác dụng ngược làm giảm ưu điểm vốn có Trang 68 Chạy thử nghiệm chương trình giải thuật cục bộ, ví dụ hệ thống sử dụng giải thuật Tabu kết hợp backtracking có kiểm tra hướng tới để tạo lời giải khả thi ban đầu 5.3 KẾT LUẬN Tóm lại, bên cạnh ưu điểm bật toán thoả mãn ràng buộc, giải thuật Tu chỉnh lặp có trọng số giải tốt cho toán ràng buộc mức Nhưng giải thuật Tu chỉnh lặp có trọng số khó tìm lời giải tối ưu hoàn toàn Một đặc điểm khác không phần quan trọng chọn giải thuật tạo lời giải ban đầu cần có cân nhắc thận trọng Trang 69 Kết luận CHƯƠNG : KẾT LUẬN 6.1 • ĐÓNG GÓP CỦA ĐỀ TÀI Kết luận văn góp phần chứng minh tính khả thi giải thuật tu chỉnh lặp vào toán ràng buộc mức đồng thời qua góp phần làm phong phú phương pháp giải cho toán ràng buộc mức vốn kén giải thuật • Kết luận văn góp phần chứng minh giải thuật tìm kiếm cục hoàn toàn giải tốt toán phức tạp từ lời giải thô ban đầu Mặt khác, kết thực nghiệm cho thấy khởi đầu từ lời giải tốt giúp giải thuật hội tụ đến lời giải tối ưu nhanh Tuy nhiên xét phương diện toàn cục, việc sử dụng giải thuật tạo lời giải ban đầu phức tạp làm gia tăng tổng thời gian thực thi hệ thống Điều cho thấy việc đầu tư mức vào giải thuật hỗ trợ xây dựng lời giải ban đầu nhiều lại có tác dụng ngược làm giảm hiệu suất chung toàn hệ thống Vì vậy, xây dựng lời giải ban đầu cần có cân nhắc thận trọng • Luận văn góp phần xây dựng chiến lược đánh giá trọng số hiệu cho toán ràng buộc mức theo hướng học hỏi Trong trình tìm kiếm, giải thuật học hỏi dần để xây dựng trọng số thích hợp cho ràng buộc Nhờ giải thuật định hướng tốt việc tìm lời giải • Mặc dù điểm nằm mục tiêu luận văn qua kết thực nghiệm luận văn góp phần khẳng định ưu bật giải thuật Tu chỉnh lặp có trọng số vào toán giải hệ ràng buộc thuộc loại khó • Luận văn cung cấp thư viện mã nguồn mở cho giải thuật Tu chỉnh lặp có trọng số giúp giải toán thỏa mãn ràng buộc đặc biệt toán ràng buộc mức Trang 70 Kết luận • Một đóng góp cuối không phần quan trọng chương trình xếp lịch trực y tá có tính thực tiễn cao áp dụng cho bệnh viện Nhi Đồng I, bênh viện Chợ Rẫy bệnh viện khác có nghiệp vụ tương tự 6.2 HƯỚNG MỞ RỘNG CỦA ĐỀ TÀI Có thể mở rộng đề tài theo hai hướng sau: Hướng nghiên cứu - Tiếp tục nghiên cứu xây dựng chiến lược đánh giá trọng số ràng buộc toán ràng buộc mức - Hướng giải vấn đề ràng buộc đa biến luận văn khó áp dụng rộng rãi cho nhiều toán cụ thể, cần mở rộng nghiên cứu số phương pháp giải cho ràng buộc đa biến nhằm tạo tính tổng quát cho giải thuật - Nghiên cứu số heuristic thích hợp kết hợp với giải thuật Tu chỉnh lặp có trọng số nhằm giúp giải thuật di chuyển rộng không gian tìm kiếm giúp tạo lời giải tối ưu - Riêng với toán xếp lịch trực y tá, nghiên cứu số cách tiếp cận khác giải toán như: giải thuật Di truyền (Genetic Algorithm), giải thuật Tìm kiếm đa lân cận (Variable Neighbourhood Search), … Hướng ứng dụng - Ứng dụng giải thuật Tu chỉnh lặp có trọng số vào việc giải số toán thực tế khác - Nghiên cứu tích hợp ứng dụng phân công trực y tá vào hệ thống quản lý bệnh viện Trang 71 Thư mục tham khảo THƯ MỤC THAM KHẢO [1] Anday Hon Wai Chun Nurse Rostering at the Hospital Authority of Hong Kong Research Report, City University of Hong Kong, 2000 [2] Andrew Davenport, E P K Tsang Solving constraint satisfaction sequencing problems by iterative repair , 1999 [3] Andrew Devenport, Edward Tsang, Chang J Wang, Kangmin Zhu GENET: A connectionist architecture for solving constraint satisfaction problems by iterative improvement AAAI 94, 1994 [4] Andrew Devenport Extensions and Evaluation of GENET in Constraint Satisfaction – University of Essex - Luaän văn tiến só (1997) [5] B.Cha, K.Iwama, Y.Kambayashi, S.Miyazaki Local Search Algorithms for Partial MAXSAT In proc of AAAI 97, 1997 [6] Bùi Văn Quang, Ứng dụng tìm kiếm Tabu cho toán xếp lịch trực y tá Luận văn cao học, khoa Công Nghệ Thông Tin, Đại học Bách Khoa TPHCM, 2004 [7] D.M.Warner Scheduling Nursing Personnel According to Nursing Preference: A Mathematical Programming Approach Operations Research 24 (5), 1976 [8] E P K Tsang, C J Wang A generic neural network approach for constraint satisfaction problems, 1992 [9] Edmund Burke, Patrick De Causmaecker, Sanja Vander Berghe Variable Neighbourhood Search for Nurse Rostering Problems, 2002 [10] Edmund Burke, Patrick De Causmaeker, Greet Vanden Berghe A hybrid Tabu Search Algorithm for the Nurse Rostering Problem, 1998 [11] F Bellanti, G.Carello, F.Croce, R.Tadei A Tabu Search Approach to a Nurse Rostering Problem, 4th Metaheuristics International Conference, 2001 [12] Haral Meyer auf’m Hofe ConPlan/SIEDAplan: Personal Assignment as a Trang 72 Thư mục tham khaûo Problem of Hierarchical Constraint Satisfaction, 1996 [13] I.Ozkarahan, J.E.Bailey Goal Programming Model Subsystem of a Flexible Nurse Scheduling Support System IIE Transactions 20 (3), 1988 [14] John Richard Thornton An Enhanced Cyclic Decent Algorithm for Nurse Rostering, Griffith University, Queensland-Luận văn thạc só, 1995 [15] John Richard Thornton Constraint Weighting Local Search for Constraint Satisfaction, Griffith University, Queensland-Luaän văn tiến só, 2000 [16] John Thornton and Adbul Sattar, Dynamic Constraint Weighting for Overconstraint problems, 1998 [17] John Thornton and Adbul Sattar, Using Arc Weights to Improve Iterative Repair, 1997 [18] JohnThornton and Abdul Sattan, Applied Partial Constraint Satisfaction using Weighted Iterative Repair, 1996 [19] M Rothstein Hospital Manpower Shift Scheduling by Mathematical Programming Health Services Research Journal 8, 1973 [20] Mark D Johnston vaø Steven Minton Analyzing a Heuristic Strategy for Constraint Satisfaction and Scheduling, 1998 [21] Monte Zweben, Eugene Davis, Brian Daun, Ellen Drascher, Michael Deale vaø Megan Eskey Learning to Improve Constraint-based Scheduling Artificial Intelligence 58, 1992 [22] Monte Zweben, Eugene Davis, Brian Daun, Michael Deale Informedness vs Computational Cost of Heuristics in Iterative Repair Scheduling, 1992 [23] Monte Zweben, Eugene Davis, Brian Daun, vaø Michael J Deale Scheduling and Rescheduling with Iterative Repair (1993) [24] P Morris The breakout method for escaping from local minima In Proceedings of AAAI, 1993 [25] S Kirkpatrick, C D Gelatt, Jr., M P Vecchi Optimization by Simulated Annealing Science volumn 220, 1983 [26] Slim Abdennadher, Hans Schlenker, Nurse Scheduling using Constraint Trang 73 Thư mục tham khảo Logic Programming, 1999 [27] Stefan J.Darmoni, Alain Fajner, Nathalie, Horoplan: computer-assisted nurse scheduling using constraint-based programming, 1994 [28] Steven Minton, Mark D Johnston, Andrew B.Philips vaø Philip Laird Minimizing conflicts: a heuristic repair method for constraint satisfaction and scheduling problems Artificial Intelligence 58, 1992 [29] Suniel David Curtis, Constraint Satisfaction Approaches to Bus Driver Scheduling, University of Leeds - Luận văn tiến só, 2000 [30] TS Dương Tuấn Anh Constraint satisfaction problems Bài giảng cao học, 2002 [31] Võ Tấn Khoa, A partial Constraint Satisfaction Problem Approach to Nurse Timetabling Luận văn cao học, khoa Công Nghệ Thông Tin, Đại học Bách Khoa TPHCM, 2003 Trang 74 Phụ lục A: Bài toán thoả mãn ràng buộc toán thoả mãn ràng buộc riêng phần PHỤ LỤC A: BÀI TOÁN GIẢI HỆ RÀNG BUỘC VÀ BÀI TOÁN GIẢI HỆ RÀNG BUỘC RIÊNG PHẦN Bài toán giải hệ ràng buộc (Constraint Satisfaction Problem) Bài toán thoả mãn ràng buộc bao gồm ba P = (V, D, C) đó: V = {V1, V2, … , Vn} tập hợp biến D = { DV1 , DV2 , … , DVn } tập hợp miền trị biến C = {Cj, Cj,k, …, Ci,j,…,m, …, Cn} tập hợp ràng buộc biến, giới hạn khả lựa chọn giá trị cho biến Biến: đại lượng cần gán giá trị Ví dụ: nút cần tô màu thích hợp toán Graph Coloring, … Miền trị: tập hợp giá trị gán cho biến Ví dụ: tập giá trị màu nút toán Graph Coloring, … Ràng buộc: điều kiện mà hay nhiều biến phải thoả Ví dụ: ràng buộc toán Graph Coloring hai nút kề không phép tô màu, … Mục tiêu toán giải hệ ràng buộc tìm giá trị gán cho biến cho thoả mãn tất ràng buộc Bài toán giải hệ ràng buộc riêng phần (Partial Constraint Satisfaction Problem) Một toán giải hệ ràng buộc cố gắng thoả mãn tất ràng buộc Tuy nhiên, thực tế số toán giải hệ ràng buộc lớn phức tạp giải hoàn toàn Một giải pháp cho toán dạng phần Trang A-1 Phụ lục A: Bài toán thoả mãn ràng buộc toán thoả mãn ràng buộc riêng phần tập ràng buộc thoả mãn Những toán giải hệ ràng buộc biết đến toán giải hệ ràng buộc riêng phần Bài toán tìm thấy tình sau: - Bài toán thuộc dạng ràng buộc mức (over-constrained problem) Bài toán có số ràng buộc nhiều có giải pháp toàn vẹn thoả mãn tất ràng buộc - Bài toán khó để giải cách hoàn hảo giải pháp “đủ tốt” chấp nhận - Yêu cầu tìm giải pháp tốt giới hạn tài nguyên - Thời gian thực đòi hỏi có giải pháp tức thời, tham khảo giải pháp riêng phần Sau đó, giải pháp cải tiến có thời gian Trong toán giải hệ ràng buộc riêng phần, ràng buộc chia làm hai loại: ràng buộc cứng (hard constraint) bắt buộc phải thoả mãn ràng buộc mềm (soft constraint) Mục tiêu toán thoả mãn tất ràng buộc cứng tối thiểu số ràng buộc mềm vi phạm Bài toán xếp lịch trực y tá ví dụ nhóm toán giải hệ ràng buộc riêng phần Trang A-2 Phụ lục B: Tìm kiếm hệ thống tiềm kiếm phi hệ thống PHỤ LỤC B: TÌM KIẾM HỆ THỐNG VÀ TÌM KIẾM PHI HỆ THỐNG Các kỹ thuật tìm kiếm chia làm hai loại chính: phương pháp hoàn chỉnh (complete) phương pháp không hoàn chỉnh (incomplete) Phương pháp hoàn chỉnh đảm bảo tìm thấy giải pháp tồn tại, ngược lại xác định toán lời giải (không tồn giá trị cho biến mà thoả mãn tất ràng buộc) Phương pháp không hoàn chỉnh thường tìm thấy giải pháp toán chứng minh toán có tồn giải pháp hay không Phương pháp complete thường tổ chức không gian tìm kiếm theo quy tắc (có tính hệ thống) Điều làm hạn chế khả di chuyển tự phương pháp Thế nhưng, đặc điểm lại “ưa chuộng” phương pháp không hoàn chỉnh Vì thế, phân loại phương pháp là: tìm kiếm hệ thống tìm kiếm phi hệ thống Tìm kiếm hệ thống (Systematic Search) Trên thực tế, hầu hết phương pháp tìm kiếm hệ thống sử dụng kỹ thuật gán phần giá trị cho biến hồi quy Vì thế, tìm kiếm hệ thống gọi tên là: hồi quy (constructive backtracking) tìm kiếm dạng (tree search) Trong phương pháp này, không gian phép gán đồng nhất, nghóa không tồn xung đột biến gán Quá trình tìm kiếm bắt đầu với không gian gán rỗng Sau đó, biến gán giá trị Nhờ thế, không gian phép gán mở rộng dần Trong trình này, biến kiểm tra xem có vi phạm ràng buộc với biến gán hay không Nếu có ràng buộc không thoả mãn, giải thuật thử gán giá trị khác cho biến kiểm tra lại Không gian tìm kiếm giảm đáng kể với giá trị bị loại Trong trường hợp tất giá trị vi phạm ràng buộc, giải thuật quay lui biến gần Cuối cùng, giải thuật chắn tìm thấy giải pháp tồn tại, ngược Trang B -1 Phụ lục B: Tìm kiếm hệ thống tiềm kiếm phi hệ thống lại giải thuật chứng minh toán lời giải Vì thế, phương pháp tìm kiếm hệ thống thường có tính complete Tuy nhiên, để xác định khả có giải pháp toán, giải thuật phải khảo sát không gian tìm kiếm Không gian hàm luỹ thừa biến nên lớn Điều làm cho giải thuật tốn khoảng thời gian đáng kể Một cách để vượt qua hạn chế “hi sinh” tính complete Đó cách tiếp cận phương pháp tìm kiếm phi hệ thống Tìm kiếm phi hệ thống (Non-Systematic Search) Phương pháp tìm kiếm phi hệ thống thường tìm thấy giải pháp toán chứng minh toán có tồn giải pháp hay không Bằng cách “hi sinh” tính complete, phương pháp đạt hiệu suất tốt thông qua việc tăng cường khả di chuyển tự không gian tìm kiếm Từ giải pháp ban đầu, phương pháp tìm đến giải pháp lân cận tốt Quá trình lặp lại đạt số lần lặp xác định trước Vì đặc điểm nên tìm kiếm phi hệ thống gọi với tên như: tìm kiếm cục (local search) tu chỉnh lặp (iterative repair) Trong năm gần đây, phương pháp thu hút quan tâm nghiên cứu phát triển nhiều nhà khoa học đạt số thành tựu đáng kể Nổi bật là: min-conflicts hill-climbing (Minton, Johnston, Philips Laird, 19901992), GSAT (Selman, Levesque vaø Mitchell, 1992), GENET (Wang vaø Tsang, 1991; Davenport, Tsang Zhu, 1994) Việc phân loại phương pháp tìm kiếm mang tính chất tương đối Đặc điểm hai loại tìm kiếm không hoàn toàn loại trừ nhau, ví dụ như: giải thuật Informed-backtracking kết hợp kỹ thuật backtracking thường thấy phương pháp tìm kiếm hệ thống min-conflicts heuristic tìm kiếm phi hệ thống để tạo giải thuật tu chỉnh lặp, giải thuật Weak-commitment search Yohoo (1994) xây dựng nên để khắc phục nhược điểm incomplete phương pháp tu chỉnh lặp Nhưng hầu hết trường hợp, tính chất Trang B -2 Phụ lục B: Tìm kiếm hệ thống tiềm kiếm phi hệ thống Sự lai tạo hai loại tìm kiếm nghiên cứu phát triển chưa có kết đáng kể Trang B -3 Phụ lục C: Tối thiểu cục PHỤ LỤC C: TỐI THIỂU CỤC BỘ Trong trình tìm kiếm, hầu hết giải thuật tìm kiếm phi hệ thống rơi vào mức tối thiểu cục (local minima) hay goi tối ưu cục (local optima) Ở trạng thái không tìm thấy giải pháp lân cận tốt giải pháp Khác với mức tối thiểu toàn cục (global minima) nơi mà tất ràng buộc thoả mãn, mức tối thiểu cục bộ, giải pháp tồn t xung đột Làm để thoát khỏi mức tối thiểu cục thách thức nhà nghiên cứu kỹ thuật tìm kiếm phi hệ thống Hình vẽ phác thảo trạng thái giải pháp không gian tìm kiếm Hình C-1: Phác thảo trạng thái giải pháp không gian tìm kiếm Trang C -1 Phụ lục D: Sử dụng chương trình xếp lịch trực y tá PHỤ LỤC D: SỬ DỤNG CHƯƠNG TRÌNH XẾP LỊCH TRỰC Y TÁ Chương trình thiết kế với mục tiêu cung cấp giao diện tiện ích giúp người sử dụng dễ dàng thực công việc xếp lịch trực y tá Cài đặt Chương trình thực thi gồm hai tập tin chính: prjNRS.exe dllWIR.dll, tập tin tạo sở liệu createDb.sql Người sử dụng cần chạy tập tin setup.exe toàn chương trình cài đặt vào máy Yêu cầu máy tính phải cài MS-SQL Server Sử dụng chương trình Các bước để tiến hành xếp lịch trực y tá: Tạo thông tin y tá, thiết lập yêu cầu y tá (hình 4-6, 4-7) Thiết lập thông số cho ràng buộc giải thuật (hình 4-8, 4-11) Chọn y tá tham gia vào lịch trực chọn khuôn mẫu để tạo trị cho lời giải ban đầu (hình 4-8) Xếp lịch trực cho y tá (hình 4-8) Xem kết lịch trực (hình 4-9, 4-10) Trang D -1 Bảng thuật ngữ Việt-Anh đối chiếu BẢNG THUẬT NGỮ VIỆT-ANH ĐỐI CHIẾU Bài toán giải hệ ràng buộc Bài toán giải hệ ràng buộc riêng phần Bài toán ràng buộc mức Giải thuật di truyền Hàm chi phí Hệ ràng buộc phân cấp Khuôn mẫu Kiểm tra hướng tới Kỹ thuật hồi quy Lập trình ràng buộc Mô luyện kim Nhánh cận Nhiều pha Quy hoạch mục tiêu Quy hoạch đa chọn lọc Quy hoạch nguyên Quy hoạch toán học Quy hoạch tuyến tính Ràng buộc cứng Ràng buộc mềm Ràng buộc đa biến Tìm kiếm cục Tìm kiếm hệ thống Tìm kiếm phi hệ thống Tìm kiếm Tabu Trọng số Tu chỉnh lặp có trọng số Constraint Satisfaction Problem Partial Constraint Satisfaction Problem Over-constrained Problem Genetic Algorithm Cost function Hierachical Constraint Satisfaction Problem Pattern Forward checking Backtracking Constraint Programming Simulated Annealing Branch and Bound Multi-phase Goal Programming Multiple choice Programming Integer Programming Mathematical Programming Linear Programming Hard Constraint Soft Constraint n-ary constraint Local Search System Search Non-system Search Tabu Search Weight Weighted Iterative Repair ... hướng giải toán 3.2 ỨNG DỤNG TU CHỈNH LẶP CÓ TRỌNG SỐ VÀO BÀI TOÁN XẾP LỊCH TRỰC Y TÁ 3.2.1 Mô hình hoá toán Bài toán xếp lịch trực y tá mô tả hệ ràng buộc: Giả sử cần xếp lịch cho N y tá M ng? ?y Bài. .. cho giải thuật Tu chỉnh lặp có trọng số 44 Ứng dụng thư viện vào giải toán xếp lịch trực y tá 46 Thiết kế ứng dụng xếp lịch trực y taù 50 4.2.1 Mô hình ứng dụng xếp lịch trực y tá ... pháp giải toán xếp lịch trực y tá trình b? ?y công trình liên quan đến kỹ thuật Tu chỉnh lặp có trọng số Chương thứ ba trình b? ?y phương hướng ứng dụng kỹ thuật Tu chỉnh lặp có trọng số vào giải toán