NHIỆM VỤ VÀ NỘI DUNG: Xây dựng phần mềm hệ hỗ trợ quyết định để xếp thời khóa biểu trường đại học – cao đẳng với tính năng và nội dung sau: - Dùng phối hợp ngôn ngữ lập trình Visual Bas
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
NGUYỄN THỊ GIANG
XÂY DỰNG HỆ HỖ TRỢ RA QUYẾT ĐỊNH
XẾP THỜI KHÓA BIỂU TRƯỜNG ĐẠI HỌC – CAO ĐẲNG
Chuyên ngành : Khoa học Máy tính
Mã số : 60.48.01
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 11 năm 2013
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP.HCM
Cán bộ hướng dẫn khoa học : PGS TS LÊ VĂN DỰC
Cán bộ chấm nhận xét 1 : TS VÕ THỊ NGỌC CHÂU
Cán bộ chấm nhận xét 2 : TS PHẠM VĂN CHUNG
Luận văn thạc sĩ được bảo vệ tại trường Đại học Bách khoa, ĐHQG Tp.HCM , ngày 24 tháng 12 năm 2013
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 PGS TS DƯƠNG TUẤN ANH
2 TS VÕ THỊ NGỌC CHÂU
3 TS PHẠM VĂN CHUNG
4 PGS TS LÊ VĂN DỰC
5 TS HUỲNH TƯỜNG NGUYÊN
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Bộ môn quản lý chuyên ngành
sau khi luận văn đã được sửa chữa (nếu có)
Trang 3TRƯỜNG ĐH BÁCH KHOA TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÒNG ĐÀO TẠO SĐH Độc lập - Tự do - Hạnh phúc
_
Tp HCM, ngày tháng 11 năm 2013
NHIỆM VỤ LUẬN VĂN THẠC SĨ
I TÊN ĐỀ TÀI:
XÂY DỰNG HỆ HỖ TRỢ RA QUYẾT ĐỊNH XẾP THỜI KHÓA BIỂU TRƯỜNG ĐẠI HỌC – CAO ĐẲNG
II NHIỆM VỤ VÀ NỘI DUNG:
Xây dựng phần mềm hệ hỗ trợ quyết định để xếp thời khóa biểu trường đại học – cao đẳng với tính năng và nội dung sau:
- Dùng phối hợp ngôn ngữ lập trình Visual Basic (.NET), cơ sở dữ liệu
MS.Access và MS.Excel để xây dựng giao diện, giải bài toán tối ưu, lưu trữ dữ liệu và trình bày kết quả
- Dùng giải thuật tô màu đồ thị để chọn tất cả các môn học có thể xếp cùng nhau, phối hợp Heuristic bậc lớn nhất của đỉnh để chọn môn học nào cần xếp trước
- Dùng giải thuật tối ưu cục bộ từng bước để lựa chọn thứ tiết và phòng, với mục tiêu tối ưu chi phí quản lý, thỏa điều kiện về thời gian Giải thuật này cũng
Trang 4được sử dụng để lựa chọn giáo viên giảng dạy theo 4 phương án: chi phí thấp nhất, rủi ro thấp nhất, rủi ro cao nhất, chất lượng tốt nhất
- Dùng giải thuật tối ưu đa mục tiêu – Giải thuật AHP để quyết định phương án chọn lựa
- Tiến hành thí nghiệm số, nhận xét kết quả
III NGÀY GIAO NHIỆM VỤ: 21/01/2013
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 22/11/2013
V CÁN BỘ HƯỚNG DẪN: PGS TS Lê Văn Dực
Trang 5i
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành và sâu sắc đến PGS.TS Lê Văn Dực, Thầy đã tận tình hướng dẫn và tạo mọi điều kiện để tôi có thể hoàn thành luận văn này
Tôi xin gởi lời cảm ơn đến Quí Thầy Cô, đặc biệt Thầy Cô trong Khoa Khoa Học & Kỹ Thuật Máy Tính, Trường Đại Học Bách Khoa – ĐHQG TP HCM đã tận tình chỉ bảo cho tôi trong suốt thời gian tôi học tập tại đây
Tôi cũng xin gởi lời cảm ơn đến gia đình, bạn bè và đồng nghiệp đã quan tâm, chia sẻ và giúp đỡ cho tôi trong suốt quá trình tôi học tập và làm luận văn tốt nghiệp
Trang 6ii
TÓM TẮT
Bài toán xếp thời khóa biểu trong trường học nói chung và cho trường đại học – cao đẳng nói riêng là một trong những bài toán xếp lịch Đối với loại bài toán này cần phải tìm ra một phương án xếp lịch thỏa mãn tất cả các ràng buộc cũng như khai thác hiệu quả nguồn tài nguyên hiện có, giảm thiểu thời gian, chi phí thực hiện cũng như tư vấn cho người quản lý nhằm tạo ra một thời khóa biểu phù hợp với tình hình cụ thể của đơn vị
Bài toán xếp thời khóa biểu thuộc lớp các bài toán NP-đầy đủ Complete) Nó có đặc trưng nổi bật là chưa có một lời giải nhanh nào được tìm thấy(http://en.wikipedia.org/wiki/NP-complete) Đây là một bài toán không mới và
(NP-đã có nhiều giải thuật được đưa ra để giải quyết như giải thuật luyện kim, giải thuật
tô màu đồ thị, giải thuật di truyền Mỗi phương pháp có những ưu điểm và nhược điểm riêng Phương pháp được chọn ở đây là kết hợp giải thuật tô màu đồ thị với Heuristic bậc lớn nhất của đỉnh; giải thuật tham lam (Greedy) và bài toán tối ưu đơn mục tiêu; giải thuật AHP và bài toán tối ưu đa mục tiêu
Mục đích của đề tài này là xây dựng hệ hỗ trợ quyết định xếp thời khóa biểu các môn học theo học chế tín chỉ chotrường đại học – cao đẳng Mục tiêu là tìm ra phương án thoả mãn các ràng buộc xếp lịch, giảm chi phí phòng và tìm ra được một phương án xếp giáo viên giúp làm hài hòa giữa chi phí giảng dạy và chất lượng giáo viên Những kết quả mà luận văn đã đạtđược như sau:
- Về phương pháp: kết hợp thành cônggiải thuật tô màu đồ thị với Heuristic bậc lớn nhất của đỉnh để chọn môn học được xếp Kết hợp hiệu quảgiải thuật tham lam với bài toán tối ưu đơn mục tiêu trong việc chọn thứ tiết phòng và giáo viên cho môn học vừa kể trên Kết hợp hợp lý giữa phương pháp phân tích thứ bậc (Analytic Hierarchy Process) hay giải thuật AHP với bài toán tối ưu đa mục tiêu
để hỗ trợquyết định chọn lựa phương án tốt nhất
Trang 7iii
-Về tính toán: Thiết kế và xây dựng hòan tất hệ hỗ trợ quyết định xếp thời khóa
biểu theo học chế tín chỉ cho trường đại học-cao đẳng, và đã tiến hành thử nghiệm số với kết quả hợp lý trên nhiều bộ dữ liệu khác nhau
Trang 8iv
ABSTRACT
Problem on schedule arrangement for the school, in general, and for the university-college, in particular, is one of the scheduling problems For this problem, it is necessary to figure out a scheduling plan satisfies all the constraints
as well as the efficient exploitation of existing resources, reducing the time and cost
of implementation, supporting managerto create a schedule in accordance with the specific situation of the agency
Scheduling problem is in the class of NP-complete The most notable characteristic of NP-complete problems is that no fast solution to them is known
(http://en.wikipedia.org/wiki/NP-complete) This problem is not new, and there have been many algorithms given for solving as Annealing algorithm, Graph
Coloring algorithm, Genetic algorithm, etc Each method has its own advantages and disadvantages The method chosen here is the combination of the Graph
Coloring algorithm and the largest degree heuristic; the Greedy algorithm and single-objective optimization problem; the AHP algorithm and multi-objective optimization problem
The purpose of this thesis is to build a decision support system for scheduling credit courses at a university-college It aims to find a way to satisfy scheduling constraints, reduce classroom management costs and find out a way to schedule for teachers to harmonize between cost and quality of teaching staff The obtained results of the thesis are as follows:
- On method: the successful combination of the Graph Coloring algorithm and the
largest degree heuristic to choose a course scheduled The efficientcombination
of the Greedy algorithm and single-objective optimization to choose time slot, classroom and teacher for that course The reasonable combination of the AHP algorithm and multi-objective optimization to support for decision on the selection of best alternative
Trang 9v
- In computation: Completely design and build a decision support system for
scheduling credit courses at a university-college and implementing the numerical
tests on various data sets with the reasonable results
Trang 10
Ngày 22 tháng 11 năm 2013
Nguyễn Thị Giang
Trang 11vii
MỤC LỤC
LỜI CẢM ƠN i
TÓM TẮT ii
ABSTRACT iv
LỜI CAM ĐOAN vi
MỤC LỤC vii
DANH MỤC CÁC TỪ VIẾT TẮT xi
DANH MỤC BẢNG BIỂU xii
DANH MỤC HÌNH ẢNH xiii
Chương 1: TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Giới thiệu 1
1.2 Lý do chọn đề tài 1
1.3 Mục đích nghiên cứu 2
1.4 Phương pháp nghiên cứu 2
1.5 Đánh giá giải pháp 3
1.6 Cấu trúc luận văn 3
Chương 2: TỔNG QUAN CÁC CÔNG TRÌNH LIÊN QUAN 5
2.1 Các giải thuật xếp thời khóa biểu 5
2.1.1 Ứng dụng giải thuật tô màu đồ thị 5
2.1.2 Về quy hoạch toán học 5
2.1.3 Về lập trình ràng buộc 5
2.1.4 Meta-heuristic mô phỏng luyện kim 5
2.1.5 Meta-heuristic tìm kiếm Tabu 5
2.1.6 Meta-heuristic giải thuật di truyền 6
2.2 Các hệ hỗ trợ quyết định xếp thời khóa biểu 6 2.2.1 A GA-based decision support system for professional course scheduling at Ford Service Organisation, Ulrich Derigs and Olaf Jenal,
2005 6
Trang 12viii
2.2.2 L.R Foulds, D.G Johnson, SlotManager: a microcomputer-based decision support system for university timetabling, Decision
Support Systems 27 (2000) 367 – 381 7
2.2.3 An Optimization-Based Decision Support System for a University Timetabling Problem: An Integrated Constraint and Binary Integer Programming Approach 8
2.2.4 Towards a Generic Object Oriented Decision Support System For University Timetabling: An Interactive Approach 9
2.3 Kết chương 9
Chương 3: CƠ SỞ LÝ THUYẾT 11
3.1 Hệ hỗ trợ quyết định (Decision Support System – DSS) 11
3.1.1 Khái niệm về DSS 11
3.1.2 Những lợi ích chính của DSS 11
3.1.3 Các thành phần của DSS 11
3.1.4 Các bước của quá trình ra quyết định 12
3.2 Giải thuật tô màu đồ thị 12
3.2.1 Giới thiệu giải thuật 12
3.2.2 Xây dựng heuristic bậc lớn nhất của đỉnh 13
3.2.3 Ứng dụng giải thuật tô màu và heuristic bậc lớn nhất của đỉnh13 3.3 Bài toán tối ưu 14
3.5.1 Giới thiệu bài toán tối ưu 14
3.5.2 Phân loại các bài toán tối ưu 14
3.5.3 Các giải thuật cho bài toán tối ưu 15
3.4 Giải thuật tham lam (Greedy) 15
3.4.1 Giới thiệu giải thuật 15
3.4.2 Ứng dụng giải thuật Greedy 18
3.5 Giải thuật tối ưu đa mục tiêu AHP (Analytic Hierachy Process) 19
3.5.1 Giới thiệu 19
3.5.2 Chức năng của AHP 19
3.5.3 Các bước thực hiện giải thuật AHP 19
3.5.4 Một ví dụ minh họa 20
Trang 13ix
3.6 Kết chương 25
CHƯƠNG 4 MÔ HÌNH BÀI TOÁN 26
4.1 Mô hình bài toán 26
4.1.1. Giới thiệu .26
4.1.2 Các biến chỉ số 26
4.1.3 Các tham số 26
4.1.4 Các ràng buộc 29
4.1.5 Hàm mục tiêu 30
4.2 Các giai đoạn của quy trình xếp lịch 31
4.2.1 Giai đoạn 1 31
4.2.2 Giai đoạn 2 33
4.3 Giải thuật cho từng vấn đề của từng giai đoạn 34
4.3.1 Giai đoạn 1 34
4.3.2 Giai đoạn 2 38
4.4 Mô phỏng giải thuật dựa trên bộ dữ liệu mẫu 39
4.4.1 Cơ sở dữ liệu 39
4.4.2 Dữ liệu dẫn xuất 46
4.4.3 Xếp lịch 47
4.5 Nhận xét kết chương 69
Chương 5: HIỆN THỰC CHƯƠNG TRÌNH 71
5.1 Cơ sở dữ liệu (CSDL) 71
5.1.1 Mô hình quan hệ CSDL 71
5.1.2 Mô tả cơ sở dữ liệu 71
5.2 Hiện thực 74
5.2.1 Cập nhật CSDL 75
5.2.2 Xếp thời khoá biểu 80
5.2.3 Xem thời khóa biểu 83
5.2.4 In thời khoá biểu 85
Chương 6: KẾT QUẢ THỰC NGHIỆM 87
Trang 14x
6.1 Thực nghiệm giai đoạn xếp lịch 87
6.2.1 Các tham số thực nghiệm 87
6.2.2 Dữ liệu thực nghiệm 87
6.2.3 Kết quả thực nghiệm 87
6.2.4 Nhận xét 89
6.2 Thực nghiệm giai đoạn hỗ trợ ra quyết định trường hợp 1 .89
6.2.1 Tham số thực nghiệm 89
6.2.2 Dữ liệu thực nghiệm 89
6.2.3 Kết quả thực nghiệm 90
6.2.4 Nhận xét 90
6.3 Thực nghiệm giai đoạn hỗ trợ ra quyết định trường hợp 2 90
6.3.1 Tham số thực nghiệm 91
6.3.2 Dữ liệu thực nghiệm 91
6.3.3 Kết quả thực nghiệm 92
6.3.4 Nhận xét 95
7.1 Kết quả đạt được 96
7.2 Hạn chế 96
7.3 Hướng phát triển 97
TÀI LIỆU THAM KHẢO xiii
LÝ LỊCH TRÍCH NGANG xvi
Trang 15xi
DANH MỤC CÁC TỪ VIẾT TẮT
Cơ sở dữ liệu (CSDL)
Hệ hỗ trợ ra quyết định (Decision Support Systems – DSS)
Thời khóa biểu (TKB)
Giải thuật Analytic Hierachy Process (giải thuật AHP)
Phương án 1 (PA1)
Phương án 2 (PA2)
Phương án 3 (PA3)
Phương án 4 (PA4)
Phương án quyết định (PAqđ)
Lập trình ràng buộc (CSP: Constraint Satisfaction Programming)
Bài toán quy hoạch tuyến tính (BTQHTT)
Bài toán quy hoạch phi tuyến (BTQHPT)
Bài toán quy hoạch lồi (BTQHL)
Bài toán quy hoạch toàn phương (BTQHTP)
Trang 16xii
DANH MỤC BẢNG BIỂU
Bảng 2 Dữ liệu phòng học 40
Bảng 3 Dữ liệu sinh viên 40
Bảng 4 Dữ liệu sinh viên đăng kí môn học 41
Bảng 5 Dữ liệu giáo viên 44
Bảng 6 Dữ liệu giáo viên – môn học 46
Bảng 7 Độ xung đột giữa các môn học 46
Bảng 8 Tổng sinh viên xung đột, sinh viên đăng kí, số tiết liên tục của từng môn 47 Bảng 9 Kết quả xếp lịch tại giai đoạn 1 .64
Bảng 10 Chi tiết chi phí, chất lượng rủi ro của giáo viên đối với từng môn học 65
Bảng 11 Kết quả sắp xếp giáo viên cho PA1, PA2 .67
Bảng 12 Kết quả sắp xếp giáo viên cho PA3, PA4 .67
Bảng 13 Kết quả tính toán của các phương án theo các tiêu chí 68
Bảng 14 Chuẩn hóa về thang 1 độ ưu tiên của từng phương án trên từng tiêu chí 68 Bảng 15 Ma trận độ ưu tiên của các phương án theo các tiêu chí 69
Bảng 16 Ma trận (3x1) độ ưu tiên của các tiêu chí 69
Bảng 17 Kết quả đánh giá độ ưu tiên của từng phương án 69
Bảng 18 Dữ liệu thực nghiệm thời gian chạy và chi phí phòng – ghế 87
Bảng 19 Kết quả thực nghiệm thời gian chạy và chi phí phòng – ghế 88
Bảng 20 Dữ liệu thực nghiệm chi phí giáo viên 89
Bảng 21 Kết quả thực nghiệm chi phí giáo viên 90
Bảng 22 Ma trận ưu tiên của các phương án theo các tiêu chí 91
Bảng 23 Các bộ giá trị tham số thực nghiệm cho từng tiêu chí .91
Bảng 24 Kết quả tính tóan độ ưu tiên cho trường hợp chi phí biến đổi 92
Bảng 25 Kết quả tính toán độ ưu tiên cho trường hợp chất lượng biến đổi 93
Bảng 26 Kết quả tính toán độ ưu tiên cho trường hợp rủi ro biến đổi 94
Trang 17xiii
DANH MỤC HÌNH ẢNH
Hình 1 Cây phân cấp AHP 20
Hình 2 Luồng giải thuật của hệ thống 34
Hình 3 Mô hình quan hệ của CSDL 71
Hình 4 Cập nhật thông tin Giáo viên 76
Hình 5 Cập nhật thông tin Môn học 77
Hình 6.Cập nhật thông tin Sinh viên 78
Hình 7 Cập nhật thông tin Phòng 78
Hình 8 Tìm kiếm thông tin đăng ký môn học 79
Hình 9 Cập nhật giáo viên – môn học 80
Hình 10 Kết quả xếp lịch phòng toàn trường 81
Hình 11 Các phương án xếp lịch giáo viên 81
Hình 12.Định nghĩa mục tiêu 82
Hình 13 Đánh giá mục tiêu theo AHP 82
Hình 14 Kết quả đánh giá các phương án 83
Hình 15 Tìm kiếm và xem TKB theo môn học 83
Hình 16 Tìm kiếm và xem TKB theo phòng học 84
Hình 17 Tìm kiếm và xem TKB theo sinh viên 84
Hình 18 Tìm kiếm và xem TKB theo giáo viên 85
Hình 19 TKB chuyển sang Excel 86
Hình 20 Biểu đồ thời gian chạy theo số lớp-môn 88
Hình 21 Biểu đồ chi phí phòng_ghế theo số lớp môn .89
Hình 22 Biểu đồ chi phí giáo viên theo số lớp môn .90
Hình 23 Biểu đồ độ ưu tiên biến đổi theo chi phí 93
Hình 24 Biểu đồ độ ưu tiên biến đổi theo chất lượng 94
Hình 25 Biểu đồ độ ưu tiên biến đổi theo độ rủi ro 95
Trang 18Trang 1
Chương 1: TỔNG QUAN VỀ ĐỀ TÀI
Chương này giới thiệu chung về đề tài, mục đích nghiên cứu và phương pháp nghiên cứu Cấu trúc nội dung của quyển luận văn được trình bày ở cuối chương
1.1 Giới thiệu
Ngày nay, công nghệ thông tin đã và đang đóng vai trò rất quan trọng trong đời sống kinh tế, xã hội của nhiều quốc gia trên thế giới, và là một phần không thể thiếu trong xã hội năng động, ngày càng hiện đại hóa Vì vậy, việc tin học hóa vào một số lĩnh vực ứng dụng là hoàn toàn phù hợp với xu hướng hiện nay, đặc biệt là
trong lĩnh vực giáo dục
Theo chương trình đào tạo học chế tín chỉ, vào đầu mỗi học kỳ, học viên đăng ký môn học (môn bắt buộc và môn tự chọn) Sau đó quản lý đào tạo sẽ xếp lịch học cho các lớp theo môn học ta gọi là lớp-môn Các lớp ở đây được hình thành từ tập hợp của các sinh viên cùng đăng kí chung mộtmôn học
Với một cơ sở dữ liệu lớn của trường đại học, cao đẳng như hiện nay thì việc xếp lịch bằng tay sẽ tốn rất nhiều sức lực, và tiền bạc Ngòai ra, việc tổ chức xếp lịch để sử dụng nguồn tài nguyên: cán bô giảng dạy và lớp học như thế thì chưa chắc đã đạt được hiệu quả Vì thế, trong luận văn này, sẽ tìm giải pháp khả dĩ giúp cho công việc xếp lịch được tự động và hợp lý hơn.
Vấn đề đặt ra ở đây là tạo ra công cụ hỗ trợ quyết định (DSS) nhằm giúpthực hiện xếp lịch học sao cho giảm thiểu chi phí quản lý, sử dụng hiệu quả nguồntài nguyên, mà chất lượng giảng dạy vẫn được đảm bảo
1.2 Lý do chọn đề tài
Sắp xếp được một thời khóa biểu hợp lý và hiệu quả luôn là một yêu cầu cấp thiết đối với tất cả các cơ sở đào tạo từ bậc tiểu học cho đến trung học, cao đẳng,
Trang 19Trang 2
đại học Trước đây công việc xếp lịch này thường được thực hiện bằng tay do đó tốn rất nhiều tiền bạc và công sức, tuy nhiên chất lượng của lịch xếp lại không cao, nhiều khi thiên theo ý chủ quan của người xếp lịch, và đặc biệt là tính chất tối ưu của lịch xếp khó có thể đạt được
Hiện nay có không ít phần mềm xếp lịch đã được giới thiệu, tuy nhiên những phần mềm này chủ yếu tập trung vào việc xếp lịch sao cho đáp ứng được yêu cầu về thời gian và không gian mà chưa thật sự chú ý đến chi phí cũng như chất lượng của thời khóa biểu, và đặc biệt ít chú ý đến tính chất tư vấn cho người lập lịch nhằm tạo ra một thời khóa biểu phù hợp với tình hình cụ thể của đơn vị quản
lý
Vì vậy, trong luận văn này sẽ tập trung nghiên cứu thực hiện đề tài : Xây dựng hệ hỗ trợ quyết định nhằm hỗ trợ cho công việc xếp thời khóa biểu trường đại học – cao đẳng
1.4 Phương pháp nghiên cứu
Thu thập, phân tích, nghiên cứu các tài liệu và dữ liệu liên quan đến đề tài
Áp dụng giải thuật tô màu đồ thị kết hợp với heuristic bậc lớn nhất của đỉnh
để xếp môn học
Áp dụng giải thuật tham lam để cố gắng chọn thứ tiết phòng sao cho hạn chế đến mức thấp nhất lịch phải xếp vào buổi tối, thứ 7 và chủ nhật Bên cạnh đó việc chọn phòng đảm bảo mật độ học viên phù hợp với dung lượng chứa của lớp, giảm
Trang 20Sử dụng giải thuật AHP trong việc giải quyết bài toán tối ưu đa mục tiêu
Sử dụng phối hợp ngôn ngữ lập trình VB.Net, cơ sở dữ liệu MS Access, và
MS Excel để tạo lập chương trình
1.5 Đánh giá giải pháp
Phương pháp được sử dụng trong luận văn không chắc đạt được tối ưu toàn cục, nhưng cho phép người sử dụng có thể chọn lựa phương án xếp lịch khả dĩ gần với lời giải tối ưu
1.6 Cấu trúc luận văn
Nội dung luận văn được trình bày trong các chương sau:
CHƯƠNG 1 MỞ ĐẦU
Chương này giới thiệu về đề tài, mục đích của nghiên cứu và nêu phương pháp nghiên cứu
CHƯƠNG 2 TỔNG QUAN VỀ CÁC CÔNG TRÌNH LIÊN QUAN
Chương này sẽ nêu lên các công trình có liên quan đến đề tài và các nhận xét cá nhân
CHƯƠNG 3 CƠ SỞ LÝ THUYẾT
Chương này sẽ trình bày nội dung cơ sở lý thuyết để giải quyết bài toán: khái niệm liên quan đến hệ hỗ trợ ra quyết định; giải thuật tô màu đồ thị, heuristic bậc lớn nhất của đỉnh; bài toán tối ưu ; giải thuật tham lam; giải thuật AHP CHƯƠNG 4 MÔ HÌNH BÀI TOÁN
Trang 21Trang 4
Chương này trình bày mô hình bài toán xếp lịch, bao gồm: nội dung bài toán, các ràng buộc, các tham số liên quan và giải thuật dùng để giải quyết bài toán
Mô phỏng giải thuật trên dữ liệu thực tế
CHƯƠNG 5 HIỆN THỰC CHƯƠNG TRÌNH
Chương này sẽ trình bày chi tiết phần hiện thực hệ thống xếp lịch
CHƯƠNG 6 KẾT QUẢ THỰC NGHIỆM
Chương này trình bày kết quả thực nghiệm và cácbiểu đồ dựatrên các tham số thực nghiệm Từ đó rút racác nhận xét và đánh giá
CHƯƠNG 7 TỔNG KẾT ĐÁNH GIÁ
Chương này tổng kết lại những gì đã làm được, những hạn chế và hướng phát triển
Trang 22Trang 5
Chương 2: TỔNG QUAN CÁC CÔNG TRÌNH
LIÊN QUAN Chương này sẽ trình bày một số công trình liên quan và các nhận xét
2.1 Các giải thuật xếp thời khóa biểu
2.1.1 Ứng dụng giải thuật tô màu đồ thị
Tác giả Carter (1986) đã có một khảo sát về việc ứng dụng giải thuật tô màu
đồ thị để giải quyết bài toán xếp thời khóa biểu, trong đó đã nêu ra rất nhiều công trình của các tác giả khác nhau đã ứng dụng giải thuật tô màu đồ thị cho việc xếp lịch học và lịch thi [8]
2.1.2 Về quy hoạch toán học
Đã có rất nhiều tác giả đã xây dựng các công trình của mình trong đó sử dụng mô hình quy hoạch toán học như là: Birbas, Daskalaki & Housos (1997) [9], Tripathy (1984) [13], Tripathy (1992) [19] và Daskalaki, Birbas
& Housos (2004) [14]
2.1.3 Về lập trình ràng buộc
Omer S Benli & A Reha Botsalı (2004) [15] đã xây dựng một hệ hỗ trợ ra quyết định trong đó kết hợp cả lập trình ràng buộc và quy hoạch toán học để giải quyết bài toán xếp thời khóa biểu Ngoài ra SYLVAIN PIECHOWIAK, CHRISTOPHE KOLSKI (2003) [16] cũng đã sử dụng lập trình ràng buộc để xây dựng một hệ hỗ trợ ra quyết định cho vấn đề xếp thời khóa biểu
2.1.4 Meta-heuristic mô phỏng luyện kim
Johnson (1990) [22] đã sử dụng mô phỏng luyện kim cho mô hình của mình với một tập rất lớn các biến nhị phân để xếp lịch thi
2.1.5 Meta-heuristic tìm kiếm Tabu
Tác giả Quản Thành Thơ và Nguyễn Tuấn Anh của trường cao đẳng Nguyễn Tất Thành đã xây dựng một “HỆ THỐNG RA QUYẾT ĐỊNH SẮP THỜI KHÓA BIỂU THÔNG MINH” [3], ở đây tác giả đã ứng dụng giải thuật
Trang 23Trang 6
Tabu để xây dựng một Module xếp thời khóa biểu thông minh và một kiến trúc cho phép tích hợp module này vào bất kì hệ thống có sẵn nào
2.1.6 Meta-heuristic giải thuật di truyền
Khi giải thuật di truyền ra đời thì đã có rất nhiều ứng dụng trong việc giải quyết các loại bài toán khác nhau, trong đó có thể áp dụng để giải quyết vấn
đề xếp thời khóa biểu Đã có rất nhiều công trình xếp thời khóa biểu ứng dụng giải thuật di truyền, ta có thể tìm thấy nó trong một khảo sát của các tác giả Corne, Ross & Fang (1994) [23] and Burke & Petrovic (2002) [6] Ngoài ra Ulrich Derigs and Olaf Jenal(2005) [18] cũng đã xây dựng một hệ
hỗ trợ quyết định sử dụng giải thuật di truyền cho vấn đề xếp thời khóa biểu
2.2 Các hệ hỗ trợ quyết định xếp thời khóa biểu
2.2.1 A GA-based decision support system for professional course scheduling at Ford Service Organisation, Ulrich Derigs and Olaf Jenal,
tiếp với web được thực hiện thông qua Internet
Phương pháp GA có ý nghĩa quan trọng với DSS, nó cho phép người lập lịch có thể tạo ra một lịch (gần) tối ưu, và DSS cũng cho phép anh ta thực hiện được những phân tích What-if và tìm kiếm mục tiêu mà không phải mất
Trang 24microcomputer- Bài báo này, tác giả giới thiệu một DSS xếp thời khóa biểu trường học với giao diện thân thiện, menu xổ xuống [17] Điều đặc biệt là hệ thống được viết bằng MS Access, môi trường Windows Hệ thống đã cung cấp những tính năng tiện dụng, quan trọng vàcó những ứng dụng theo hướng hệ hỗ trợ
raquyết định
Mặc dù là DSS chuyên dụng nhưng cũng dễ dàng trở nên phổ dụng vì nó có thể tự do thay đổi những yêu cầu khác nhau cho phù hợpnhu cầu
Slotmanager được chia làm 3 thành phần chính của hệ hỗ trợ ra quyết định:
Giao diện người dùng
Cơ sở mô hình
Cơ sở dữ liệu
Slotmanager được hiện thực với mạng cục bộ cung cấp truy cập tới các tập tin cơ sở dữ liệu lưu trữ ở trung tâm DSS được phát triển bằng cách xây dựng các prototype ( các phiên bản dạng như là bản nháp, làm ra chỉ để thử nghiệm, sau đó sẽ bỏ đi, cứ tiếp tục như thế và phát triển dần cho đến khi hoàn chỉnh) Đây là cách phổ biến nhất trong quy trình xây dựng một DSS Các yêu cầu thêm vào, các chỉnh sửa được hoàn thiện dần tại mỗi giai đoạn Bằng cách phát triển dần từ các prototype, người dùng thử nghiệm có thể đưa ra được các phản hồi có giá trị đối với việc hoàn thiện DSS
Hướng tiếp cận của tác giả không phải là việc tạo tự động một thời khóa biểu mà nỗ lực để làm thỏa tất cả các ràng buộc và loại bỏ những phiền toái
đã tồn tại Hơn thế nữa, mục đích của DSS là hỗ trợ người lập lịch tạo ra một thời khóa biểu từ thời điểm ban đầu hoặc hiệu chỉnh thời khóa biểu đã tồn tại, kiểm tra độ xung đột của nó Và một điều quan trọng nữa là DSS hoàn
Trang 25hỗ trợ tất cả các giai đoạn ra quyết định Nó kết hợp cơ sở dữ liệu, cơ sở mô hình và các kỹ thuật trình bày kết quả Nó chú trọng đến tính năng dễ sử dụng, giao diện thân thiện: dễ dàng điều khiển, linh hoạt và thích nghi Có thể tương tác khádễ dàng với các hệ thống máy tính khác để thực hiện công việc download và upload thông tin
2.2.3 An Optimization-Based Decision Support System for a University Timetabling Problem: An Integrated Constraint and Binary Integer Programming Approach
Omer S Benli và A Reha Botsalı [15] đã xây dựng một hệ hỗ trợ quyết định xếp thời khóa biểu dựa trên lập trình ràng buộc (CSP) và quy hoạch nguyên nhị phân
Cấu trúc của bài toán CSP gồm có: tập các biến, mỗi biến có một miền trị tương ứng với nó, tập các ràng buộc trên các biến
Vì bài toán xếp thời khóa biểu thuộc lớp NP-Complete, khi kích thước của bài toán tăng thì thời gian tính toán tăng nhanh và rất khó để tìm ra lời giải trong thời gian có thể chấp nhận được Để khắc phục vấn đề này, tập những ràng buộc sẽ được chia nhỏ thành những tập con Bấy giờ bài toán xếp thời khóa biểu là sự tổ hợp của những bài toán con để giải quyết vấn đề xếp giờ học cho mỗi ngày, sau đó thực hiện việc xếp phòng học cho giờ học tương ứng Bài toán được giải quyết qua ba giai đoạn: 2 giai đoạn đầu là xây dựng
mô hình cho bài toán và giải quyết việc xếp giờ học cho các môn học bằng lập trình ràng buộc, giai đoạn 3 là xếp phòng học cho lớp học đã xếp bằng quy hoạch nguyên nhị phân
Hệ thống có 3 thành phần chính đó là:
Cơ sở mô hình
Trang 26Trang 9
Cơ sở dữ liệu
Giao diện người dùng
Quan điểm hệ hỗ trợ quyết định nằm ở chỗ: người lập lịch có thể thêm vào hay loại bỏ các ràng buộc từ đó có thể đạt được những thời khóa biểu khác nhau và có thể so sánh chúng để chọn ra thời khóa biểu thích hợp
2.2.4 Towards a Generic Object Oriented Decision Support System For University Timetabling: An Interactive Approach
Tác giả SYLVAIN PIECHOWIAK và CHRISTOPHE KOLSKI [16] đã sử
dụng lập trình ràng buộc để xây dựng hệ thống Hệ thống là một hệ hỗ trợ ra quyết định đểquản lý thời khóa biểu cho trường đại học với 3 tiêu chí: tiêu chí thứ nhất là xây dựng một công cụ rõ ràng, có thể phát triển trong nhiều cách khác nhau, để đạt được điều này tác giả xây dựng theo hướng tiếp cận hướng đối tượng, định nghĩa những đối tượng chỉ định cho thời khóa biểu; tiêu chí thứ hai là phải xây dựng một mô hìnhcấu trúc tốt cho thời khóa biểu; tiêu chí cuối cùng là tính dễ sử dụng đối vớinhiều đối tượng người dùng khác nhau
Các bước để xây dựng hệ hỗ trợ ra quyết định gồm: thu thập yêu cầu; phân tích yêu cầu cần thiết cho hệ thống; xây dựng mô hình; mô tả hệ ràng buộc;
Quan điểm hỗ trợ quyết định của hệ thống theo tác giả nằm ở chỗ: hệ thống được xây dựng phảicó khả năng tương thích cao Nghĩa là người lập lịch vẫn có thể sử dụng thời khóa biểu đã tồn tại ở thời điểm bắt đầu, còn hệ thống chỉ hỗ trợ người lập lịch trong giai đoạn ra quyết định mà thôi Vì thế mà hệ thống này rất linh hoạt, dễ tương thích, hướng mở, giao diên thân thiện và chứa đựng khánhiều thông tin Mục tiêu việc lưu trữ nhiều thông tin là để giữ cho chúng luôn đượcmạch lạc, rõ ràng và cũng được dùngđể giải thích cho những thành phần nhập nhằng ngay khi chúng xuất hiện Những thuộc tính nêu trên cũng chính là những đặc trưng cơ bản của một công cụ hỗ trợ ra quyết định
2.3 Kết chương
Các hệ hỗ trợ quyết định trên đây chưa đề cập tới vấn đề xếp được lịch ban ngày và vào các thứ trong tuần tránh xếp vào ngày nghỉ, chưa quan tâm tới vấn đề tối thiểu chi phí phòng học
Trang 27Trang 10
Chưa quan tâm tới việc tư vấn cho người quản lý để chọn ra một phương án xếp lịch sao cho phù hợp với tình hình tài chính của đơn vị mà vẫn đảm bảo chất lượng giảng dạy
Chưa kết hợp được vấn đề đơn mục tiêu và đa mục tiêu
Vì vậy mà luận văn này được thực hiện với mong muốn sẽ giải quyết được những vấn đề nêu trên
Sử dụng giải thuật tô màu đồ thị để chọn những môn có thể xếp cùng giờ với nhau; sử dụng heuristic bậc lớn nhất của đỉnh để chọn ra môn học được xếp trước tránh càng nhiều xung đột càng tốt Sử dụng giải thuật tham lam trong việc chọn phòng, thứ tiết Giải thuật này cũng được sử dụng khi chọn giáo viên nhằm tối ưu mục tiêu theo từng phương án xếp Cuối cùng giải thuật tối
ưu đa mục tiêu AHP được sử dụng để quyết định một phương án
Trang 28Trang 11
Chương 3: CƠ SỞ LÝ THUYẾT
Chương này sẽ trình bày nội dung cơ sở lý thuyết để giải quyết bài toán: khái niệm liên quan đến hệ hỗ trợ ra quyết định; giải thuật tô màu đồ thị, heuristic
bậc lớn nhất của đỉnh; bài toán tối ưu ; giải thuật tham lam; giải thuật AHP
3.1 Hệ hỗ trợ quyết định (Decision Support System – DSS)
3.1.1 Khái niệm về DSS
DSS là một hệ thống thông tin trên nền máy tính giao tiếp, được phát triển
để hỗ trợ việc giải quyết các vấn đề không có tính cấu trúc nhằm nâng cao hiệu quả của việc thực hiện quyết định
3.1.2 Những lợi ích chính của DSS
- Khả năng hỗ trợ giải quyết các vấn đề phức tạp
- Đáp ứng nhanh với sự thay đổi của vấn đề
- Sự giao tiếp tiện lợi
- Nâng cao hiệu quả công việc
- Tiết kiệm chi phí
3.1.3 Các thành phần của DSS
- Hệ thống con quản lý dữ liệu: bao gồm cơ sở dữ liệu, hệ quản trị cơ sở
dữ liệu, thư mục dữ liệu
- Hệ thống con quản lý mô hình: là một gói phần mềm bao gồm những mô hình tài chính, thống kê, khoa học quản lý, các mô hình định lượng khác nhằm cung cấp khả năng phân tích của hệ thống, và một sự quản lý phần mềm tích hợp
- Hệ thống con quản lý kiến thức: là thành phần dùng để cung cấp những khả năng chuyên môn cần thiết để giải quyết một số khía cạnh của vấn đề
và cung cấp tri thức để nâng cao sự điều hành của các thành phần DSS khác
Trang 29Trang 12
- Hệ thống giao tiếp người dùng : cung cấp giao diện người dùng và giao tiếp với người sử dụng, bao gồm menu, lệnh, biểu mẫu, ngôn ngữ tự nhiên, thao tác trên đối tượng đồ họa
- Người sử dụng: là nhà quản lý hay người ra quyết định
3.1.4 Các bước của quá trình ra quyết định
- Có hai hướng để giải quyết: hoặc là dùng phương pháp định tính hoặc là dùng phương pháp định lượng Chỉ sử dụng phương pháp định tính để ra quyết định, khi người giải quyết tin tưởng vào quyết định của mình hoặc kinh nghiệm giải quyết các bài toán tương tự trong quá khứ Trong vài trường hợp thì phương pháp này là thích hợp, tuy nhiên trong nhiều trường hợp ta dùng phương pháp định lượng để phục vụ cho quá trình quyết định
- Người ra quyết định dùng phương pháp định lượng khi họ cảm thấy các bài toán đó có thể được giải quyết bởi các kỹ thuật có sẵn đã được xây dựng và áp dụng cho các bài toán tương tự, khi một bài toán lặp lại hoặc khi bài toán rất phức tạp liên quan đến nhiều biến
- Kỹ năng phân tích định lượng thường phải dùng công cụ toán học, cả lý thuyết lẫn ứng dụng, và kinh nghiệm nghề nghiệp Kỹ thuật tối ưu được ứng dụng trong đời sống thực và thường thấy trong các bài toán quản lý phức tạp
- Một bài toán có nhiều kết quả khác nhau và quá trình tìm kết quả tốt nhất được gọi là tối ưu
Toàn bộ thông tin trên đây được tham khảo từ [2]
3.2 Giải thuật tô màu đồ thị
3.2.1 Giới thiệu giải thuật
Input: Đồ thị G(V,E) Trong đó V: là tập hợp các đỉnh của đồ thị G, E là tập hợp các cạnh của đồ thị E
Output: đồ thị G(V,E) có các đỉnh đã được gán màu
Các bước:
Trang 30(4) Loại khỏi E’ các đỉnh đã tô màu Sắp xếp lại các đỉnh trong É theo thứ tự bậc giảm dần Đặt i := i + 1 và quay lại bước (2)
3.2.2 Xây dựng heuristic bậc lớn nhất của đỉnh
Chúng ta gọi bậc của đỉnh v trong đồ thị vô hướng là số cạnh liên thuộc với
nó và sẽ kí hiệu là d(v)
Các đỉnh được sắp xếp theo bậc Chúng ta sẽ duyệt hết danh sách các đỉnh,
tô càng nhiều đỉnh có thể được vào màu đầu tiên càng tốt, ta loại bỏ đỉnh đó khỏi danh sách, tính toán lại bậc của các đỉnh và sắp xếp lại danh sách, sau đó trở về đầu danh sách tiếp tục cho màu thứ hai, và cứ như vậy cho đến khi tất cả các đỉnh
đều được duyệt hết [4], [5]
3.2.3 Ứng dụng giải thuật tô màu và heuristic bậc lớn nhất của đỉnh
- Ánh xạ bài toán tô màu đồ thị xuống bài toán xếp thời khóa biểu như sau:
Bậc của đỉnh i: tổng tất cả các trọng số trên cạnh nối giữa đỉnh i đến các đỉnh liền kề với i Ta gọi là tổng_xung _đột(i)
Trang 31Trang 14
- Thực hiện:
Bước 1: Chọn môn i mà có tổng_xung_đột(i) là lớn nhất để xếp Tìm thứ l tiết bắt đầu k thích hợp cho i Xếp i vào thứ l, tiết bắt đầu k Cập nhật tổng_xung_đột cho tất cả các môn liền kề với i
Bước 2: Duyệt tất cả các môn học không liền kề với các môn i đã xếp, để xếp vào thứ l và tiết bắt đầu k (xếp càng nhiều càng tốt nếu có thể), trong quá trình chọn môn học để xếp vào cùng thứ tiết này cũng phải đảm bảo môn được chọn xếp trước phải có tổng_xung_đột lớn nhất Chú ý là sau mỗi môn được xếp lịch thì phải cập nhật
tổng_xung_đột cho tất cả các môn liền kề với môn vừa xếp
Bước 3: Nếu các môn đã được xếp hết thì giải thuật kết thúc, ngược lại thì sang bước 4:
Bước 4: Loại tất cả những môn đã được xếp ra khỏi danh sách cần xếp, quay lại Bước 1
Chú ý rằng, thực chất giải thuật tô màu đồ thị cũng dựa trên giải thuật tham lam
3.3 Bài toán tối ưu
3.5.1 Giới thiệu bài toán tối ưu
Tối ưu hóa là một trong những lĩnh vực kinh điển của toán học có ảnh hưởng đến hầu hết các lĩnh vực khoa học – công nghệ và kinh tế – xã hội Trong thực tế, việc tìm giải pháp tối ưu cho một vấn đề nào đó chiếm một vai trò hết sức quan trọng Phương án tối ưu là phương án hợp lý nhất, tốt nhất, tiết kiệm chi phí, tài
nguyên, nguồn lực mà lại cho hiệu quả cao [1]
3.5.2 Phân loại các bài toán tối ưu
Các bài toán tối ưu, cũng còn được gọi là các bài toán quy hoạch toán học, được chia ra thành các lớp sau [1]:
Bài toán quy hoạch tuyến tính (BTQHTT)
Trang 32Trang 15
Bài toán tối ưu phi tuyến hay còn gọi là bài toán quy hoạch phi tuyến (BTQHPT), bao gồm cả bài toán quy hoạch lồi (BTQHL) và bài toán quy hoạch toàn phương (BTQHTP),
Bài toán tối ưu rời rạc, bài toán tối ưu nguyên và hỗn hợp nguyên
Bài toán quy hoạch động
Bài toán quy hoạch đa mục tiêu: không phải chỉ có 1 mục tiêu duy nhất
mà có một số mục tiêu không tương thích với nhau (nghĩa là không có lời giải nào tối ưu theo mọi mục tiêu) cho nên cần dung hòa các mục tiêu theo cách nào hợp lý và hữu hiệu nhất
Bài toán quy hoạch ngẫu nhiên/mờ
3.5.3 Các giải thuật cho bài toán tối ưu
Các cách tiếp cận cổ điển giải bài toán tối ưu đa mục tiêu được phát triển từ các giải thuật để giải bài toán tối ưu đơn mục tiêu như: Tìm kiếm ngẫu nhiên; Tham lam; Nhánh và cận; Quy hoạch động; Giải thuật di truyền; Mô phỏng luyện kim; Tìm kiếm Tabu, thì bài toán tối ưu đa mục tiêu vẫn còn các phương pháp khác như: phương pháp ràng buộc, phương pháp đo lường trọng số của các ưu tiên ra quyết định (Analytic Hierachy Process), Ở lĩnh vực này vẫn còn rất nhiều vấn đề mở đang được nghiên cứu và phát triển
3.4 Giải thuật tham lam (Greedy)
3.4.1 Giới thiệu giải thuật
Giải thuật tham lam [25] là một thuật toán giải quyết một bài toán để tìm
kiếm lựa chọn tối ưu địa phương ở mỗi bước đi với hy vọng tìm được tối ưu toàn cục Chẳng hạn áp dụng giải thuật tham lam với bài toán hành trình của người bán hàng ta có giải thuật sau: "Ở mỗi bước hãy đi đến thành phố gần thành phố hiện tại nhất"
Tính chất tham lam thể hiện ở chổ : Chúng ta có thể lựa chọn giải pháp nào được cho là tốt nhất (phụ thuộc vào hàm đánh giá) ở thời điểm hiện tại và sau
đó giải bài toán con nảy sinh từ việc thực hiện lựa chọn vừa rồi Thuật toán tiến
Trang 33Trang 16
triển theo kiểu thực hiện các chọn lựa theo một vòng lặp, cùng lúc đó thu nhỏ bài toán đã cho về một bài toán con nhỏ hơn Đây là sự khác biệt giữa giải thuật tham lam và giải thuật quy hoạch động Giải thuật quy hoạch động duyệt hết các trường hợp và luôn đảm bảo tìm thấy lời giải tối ưu tòan cục Tại mỗi bước của thuật toán, quy hoạch động đưa ra quyết định dựa trên các quyết định của bước trước, và có thể xét lại đường đi của bước trước hướng tới lời giải Trong khi
đó, giải thuật tham lam quyết định sớm và chọn đường đi thuật toán theo quyết định đó, và không bao giờ xét lại các quyết định cũ
Ví dụ: Xét không gian trạng thái được biểu diễn bởi đồ thị sau:
Tìm đường đi ngắn nhất với trạng thái ban đầu là A, trạng thái kết thúc là B Giá trị của hàm đánh giá là các số ghi ở mỗi đỉnh, chỉ được phép đi cùng chiều với cạnh nối 2 đỉnh
Quá trình tìm kiếm Greedy diễn ra như sau:
Đầu tiên phát triển đỉnh A sinh ra các đỉnh kề là C, D và E Trong ba đỉnh này, đỉnh D có giá trị hàm đánh giá nhỏ nhất, nó được chọn
Từ D ta có thể phát triển theo F, I Trong hai đỉnh này, đỉnh I có giá trị hàm đánh giá nhỏ nhất, nó được chọn
Từ I, ta có thể phát triển sang đỉnh B là đích
Vậy kết quả như sau: A-D-I-B, với tổng giá trị hàm mục tiêu là 20+6+8+0 =
34 Lời giải này không chắc là lời giải tối ưu tòan cục
Trang 34Trang 17
Còn đối với phương pháp quy họach động [4], [26], thì ta phải triển khai hết tất cả các khả năng có thể có, như sau:
Ta gọi đường đi ngắn nhất đến 1 đỉnh là SP(Shorted Path)
Như vậy để đến đích B từ đỉnh xuất phát A ta có: SP(AB) = min{SP(AF)+0; SP(AI)+0; SP(AG)+0; SP(AH)+0}
Bây giờ ta đi tính đường đi ngắn nhất cho từng bài toán con:
Như vậy trong 4 cấu trúc con ở trên thì SP(AG) được chọn: đường đi ngắn nhất từ A đến B là A >E >G >B có tổng giá trị hàm mục tiêu = 32
SP(AD)+8=20+6+8=34 > Được chọn
SP(AI)+5=34+5=39 SP(AE)+5=20+7+5=32 > Được chọn
SP(AG)+3=32+3=35 > Được chọn
Chọn
Trang 35Trang 18
Và đáp án là A-E-G-B, với tổng giá trị cực tiểu của hàm mục tiêu là 32 < lời giải của giải thuật tham lam (34), chính là đáp án của phương pháp quy họach động Lời giải này là lời giải tối ưu (cực tiểu) tòan cục
3.4.2 Ứng dụng giải thuật Greedy
Tại giai đoạn 1 của quá trình xếp lịch, ta xếp môn vào thứ, tiết phòng, với mỗi môn học được chọn xếp ta cứ cố gắng chọn các tiết học ban ngày và các thứ được chọn cũng cố gắng chọn từ thứ 2 đến thứ 6 > chọn thứ l và tiết bắt đầu k tốt nhất trong những tiết còn trống Tiếp theo là việc chọn phòng ta cũng cố gắng chọn những phòng có đủ sức chứa tổng số sinh viên đăng kí học mà có chi phí phòng thấp nhất và số ghế trống trong phòng cũng là ít nhất > đây cũng là phòng “tốt” nhất trong những phòng còn trống
Tại giai đoạn 2 của quá trình xếp lịch, ứng với 4 phương án xếp giáo viên là phương án 1 – chi phí thấp nhất, phương án 2 – rủi ro thấp nhất, phương án
3 – rủi ro cao nhất, phương án 4 – chất lượng tốt nhất Với mỗi môn học đã được xếp vào phòng thứ tiết tại giai đoạn 1, ta chọn giáo viên sao cho sự lựa chọn đó là tốt nhất Ví dụ, với phương án 1 thì ta chọn giáo viên có khả năng giảng dạy môn học này, đang rãnh vào thời điểm này và có chi phí phải trả cho giáo viên là thấp nhất
Những mục tiêu mà ta cố gắng để đạt tới cũng chính là giá trị hàm đánh giá
để lựa chọn thứ tự xếp lịch cho các môn học
Giải thuật được minh họa rõ ở phần mô phỏng tại chương 4
Trang 36- AHP được viết tắt từ Analytic Hierarchy Process ( tiến trình phân tích phân cấp) là một kỹ thuật có cấu trúc dùng để tổ chức và phân tích các quyết định phức tạp Giải pháp này hỗ trợ đa mục tiêu bằng cách tính toán các tiêu chí thành các EigenVector kèm theo việc sử dụng phương pháp phân tích Pairwise matrix để chuyển đổi so sánh định tính thành định lượng
3.5.2 Chức năng của AHP
Bằng cách tổ chức và đánh giá các khả năng theo cấu trúc phân cấp các mục tiêu cần phải thỏa mãn, giải thuật AHP cung cấp một công cụ hiệu quả và được kiểm chứng giúp giải quyếtcác quyết định phức tạp
3.5.3 Các bước thực hiện giải thuật AHP
- Mô hình bài toán thành một cây phân cấp chứa các mục tiêu quyết định, các giải pháp thực hiện và các tiêu chí đánh giá các giải pháp này
- Một cây phân cấp là một hệ thống phân tầng của việc xếp hạng và tổ chức người, vật, các ý tưởng,… trong đó mỗi thành phần của hệ thống phụ thuộc vào một hoặc nhiều các thành phần khác ngoại trừ nút gốc
- Cây phân cấp AHP gồm một mục tiêu tổng quát, một nhóm các lựa chọn hoặc giải pháp để đạt được mục tiêu đó và một nhóm các nhân tố hay tiêu chí liên quan tới các khả năng dẫn đến đích Hơn nữa, các tiêu chí có thể được phân rã ra thành các tiêu chí nhỏ hơn và các tiêu chí nhỏ hơn này có thể được phân rã thành tiêu chí nhỏ hơn nữa,… thành nhiều cấp độ mà vấn
đề yêu cầu Cấp bậc cuối cùng thường bao gồm các phương án có thể lựa chọn
Trang 37Trang 20
Hình 1 Cây phân cấp AHP
- Khởi tạo giá trị ưu tiên của các nhân tố trong cây phân cấp bằng cách đưa ra một chuỗi đánh giá dựa trên các so sánh đối xứng từng cặp
- Một khi cây phân cấp được hình thành thì những người tham gia phân tích
nó thông qua một chuỗi các so sánh ma trận đối xứng mà dẫn xuất từ các độ
đo bằng số thập phân trên các nút Các tiêu chí được so sánh đối xứng với các tiêu chí tham khảo
- Giải thuật Eigenvector được sử dụng để tính toán trọng số từ ma trận đối xứng, sau đó chuẩn hóa nó
- Nhiệm vụ quan trọng của người ra quyết định là cho trọng số ban đầu của mỗi tiêu chí lựa chọn
- Tổng hợp các đánh giá thành một độ ưu tiên tổng quan cây phân cấp
- Kiểm tra tính chặt chẽ của các đánh giá
- Đi đến quyết định cuối cùng
3.5.4 Một ví dụ minh họa
Quyết định mua một chiếc xe hơi mới dựa trên các tiêu chí: kiểu dáng, độ tin cậy và mức độ tiết kiệm nhiên liệu Ở đây các phương án có thể lựa chọn là : CIVIC COUPLE, SATURN COUPLE, FORD ESCORT, MAZDA MIATA
Trang 38Trang 21
Đầu tiên AHP đánh giá mức độ ưu tiên của mỗi tiêu chí trên thang điểm
từ 1 đến 9, trong đó 1 là ưu tiên thấp nhất và 9 là ưu tiên cao nhất
(2) Tìm Eigenvector bằng cách tính tổng các dòng rồi sau đó chuẩn hóa
về thang 1 Tức là tính tổng mỗi dòng, lấy tổng mỗi dòng / tổng các dòng cho ta giá trị Eigenvector (chú ý rằng tổng giá trị của Eigenvector bằng 1)
(3) Lặp lại 2 bước trên cho đến khi khác biệt giữa Eigenvector của 2 lần tính toán nhỏ hơn một mức sai số cho phép
Ma trận đầu tiên tương đương với ma trận:
Trang 39Tính tổng từng dòng ma trận trên ta thu được vector:
Chuẩn hóa vector này (quy đổi về thang 1) bằng cách lấy từng dòng chia cho tổng tất cả các dòng ta thu được Eigenvector sau:
Lặp lại bình phương ma trận mới:
Tiếp tục tính tổng trọng số các dòng và chuẩn hóa để tìm Eigenvector:
0.3194
0.5595
0.1211
72.5000 48.3316
27.6659 15.8336
27.6669 126.6656 10.5551 6.0416 27.6661
115.9995
202.6641
44.2628
0.3196 0.5584 0.1220
Trang 40Trang 23
Sai số giữa Eigenvector của lần lặp trước với lần lặp này là:
Giả sử mức sai số cho phép là nhỏ hơn 0.0001 thì ta lại tiếp tục thực hiện các bước bình phương ma trận và tính toán Eigenvector và tính lại sai số cho đến khi sai số này nhỏ hơn 0.0001 thì dừng Nhưng thật là may mắn bởi sau một lần lặp nữa ta thấy kết quả đã hội tụ, Eigenvector cuối cùng thu được sẽ cho ta thứ hạng ưu tiên tương đối giữa các tiêu chí
Từ đó ta thu được một cây phân cấp với các trọng số tiêu chí như sau:
Bây giờ ta xét trong từng tiêu chí, ta lại tiếp tục thực hiện phương pháp so sánh từng cặp các phương án để xếp thứ hạng ưu tiên của các phương án tương
tự như đã làm đối với tiêu chí và công việc này được thực hiện dựa vào việc khảo sát thực tế những người có hiểu biết về những dòng xe này dựa trên 3 tiêu
Kiểu dáng 0.3196 > Ưu tiên thứ nhì
Độ tin cậy 0.5584 > Ưu tiên cao nhất
Tiết kiệm nhiên liệu 0.1220 > Ưu tiên thấp nhất
0.3194
0.5595
0.1211
0.3196 0.5584 0.1220
- 0.0002 0.0011
- 0.0009