Tải bản đầy đủ (.pdf) (98 trang)

Ứng dụng các giải thuật trong điều độ time tabling để xây dựng lịch biểu giảng dạy, áp dụng cho trường FPT Polytechnic Tp. HCM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.78 MB, 98 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA

LÊ PHẠM TUẤN KIỆT

ỨNG DỤNG CÁC GIẢI THUẬT TRONG ĐIỀU ĐỘ TIME
TABLING ĐỂ XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP
DỤNG CHO TRƯỜNG FPT POLYTECHNIC TP.HCM

Chuyên ngành: KỸ THUẬT CƠNG NGHIỆP
Mã số: 60520117

LUẬN VĂN THẠC SĨ

THÀNH PHỐ HỒ CHÍ MINH, THÁNG 06 NĂM 2014


ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA

LÊ PHẠM TUẤN KIỆT

ỨNG DỤNG CÁC GIẢI THUẬT TRONG ĐIỀU ĐỘ TIME
TABLING ĐỂ XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP
DỤNG CHO TRƯỜNG FPT POLYTECHNIC TP.HCM

Chuyên ngành: KỸ THUẬT CƠNG NGHIỆP
Mã số: 60520117

LUẬN VĂN THẠC SĨ


THÀNH PHỐ HỒ CHÍ MINH, THÁNG 06 NĂM 2014

-i-


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG - HCM
Cán bộ hướng dẫn khoa học :........................................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1 :.............................................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2 :..............................................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa - ĐHQG - HCM
ngày . . . . . tháng . . . . năm . . . . .
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. . .................................................................................................................................
2. ..................................................................................................................................
3. ..................................................................................................................................
4. ..................................................................................................................................
5. ..................................................................................................................................
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa (nếu có).

CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA……………..

-ii-



ĐẠI HỌC QUỐC GIA TP.HCM

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ự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: LÊ PHẠM TUẤN KIỆT

MSHV: 12270707

Ngày, tháng, năm sinh: 17/09/1975

Nơi sinh: Đà Nẵng

Chuyên ngành: KỸ THUẬT CÔNG NGHIỆP

Mã số: 60520117

I. TÊN ĐỀ TÀI : ỨNG DỤNG CÁC GIẢI THUẬT TRONG ĐIỀU ĐỘ TIME
TABLING ĐỂ XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP DỤNG CHO
TRƯỜNG FPT POLYTECHNIC TP.HCM
II. NHIỆM VỤ VÀ NỘI DUNG:
Nhiệm vụ: Xây dựng lịch biểu giảng dạy dùng giải thuật Local và Tabu
search ứng dụng cho trường FPT Polytechic Tp.HCM.
Nội dung: Tìm hiểu về giải thuật Local và Tabu search. Tìm hiểu về trường,

phịng đào tạo. Xây dựng bài toán sắp lịch biểu cho trường dùng giải thuật trên,
phân tích kết quả, kết luận.
III. NGÀY GIAO NHIỆM VỤ : 10 – 02 – 2014
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 20 – 06 – 2014
IV. CÁN BỘ HƯỚNG DẪN: PGS.TS. HỒ THANH PHONG
Tp. HCM, ngày . . . . tháng .. . . năm 2014
CÁN BỘ HƯỚNG DẪN

CHỦ NHIỆM BỘ MÔN ĐÀO TẠO

(Họ tên và chữ ký)

(Họ tên và chữ ký)

TRƯỞNG KHOA….…………..
(Họ tên và chữ ký)

-iii-


PHẦN LÝ LỊCH TRÍCH NGANG
Họ và tên:

Lê Phạm Tuấn Kiệt

Ngày, tháng, năm sinh:

Giới tính: Nam
Nơi sinh: Đà Nẵng


17/09/1975

Địa chỉ liên lạc : 68/119 Trần Quang Khải, P.Tân Định, Q.1, Tp.HCM
QUÁ TRÌNH ĐÀO TẠO
- Từ năm 1993 đến 1997 : Học Đại Học Ngành Công Nghệ Thông Tin tại Trường
Đại Học Mở Bán Công TP.HCM
- Từ năm 2012 đến 2013 : Học Cao Học Ngành Kỹ Thuật Hệ Thống Công Nghiệp
thuộc Khoa Cơ Khí – Trường Đại Học Bách Khoa TP.HCM.
QUÁ TRÌNH CƠNG TÁC
Thời gian

Nơi cơng tác

Cơng việc đảm nhiệm

05/1997 – 01/2001

Trường Tin Học Tri Thức

Giảng viên CNTT

11/1999 – 10/2001

Xí nghiệp Điện Cao Thế - Công ty
Điện lực TP.HCM

Cán bộ Kỹ thuật quản lý
Công Nghệ Thông Tin

10/2001 – 10/2009


Công Ty Chấn Nguyên, Công Ty
TNHH Tin Học Tân Thiên Vũ,
Công Ty TNHH Tin Học Nguyễn
Sương

IT Manager

11/2009 đến
07/2011

Cơng Ty cổ phần chứng khốn
Thăng Long (TLS)

Chuyên viên IT

08/2011 đến
11/2011

Công ty cổ phần hệ thống GEN

Trưởng nhóm kinh doanh
dự án CNTT

12/2011 đến
05/2012

Cơng ty cổ phần Tin Học Sáng
Tạo.


Trưởng phòng kỹ thuật

08/2012 đến nay

Trường Đại học FPT

Giảng viên CNTT

-iv-


LỜI CẢM ƠN
Lời đầu tiên, tôi xin chân thành cám ơn Thầy Hồ Thanh Phong đã tận tình
hướng dẫn tơi thực hiện và hồn thành luận văn này. Tơi cũng xin cám ơn thầy Đỗ
Ngọc Hiền, thầy Nguyễn Tuấn Anh, cô Lê Ngọc Quỳnh Lam và các thầy cô trong
Bộ môn Kỹ Thuật Hệ Thống Công Nghiệp đã tận tâm truyền đạt kiến thức, kinh
nghiệm trong suốt hơn quãng thời gian học cao học.
Xin chân thành cám ơn bạn bè, đồng nghiệp phòng Đào Tạo trường FPT
Polytechnic đã tạo điều kiện thuận lợi cho tơi trong q trình thực hiện đề tài này.
Và cuối cùng tôi xin chân thành cám ơn Ba Mẹ, gia đình và người thân đã
động viên khuyến khích và là nguồn động lực vững chắc cho tơi vượt qua những
khó khăn trong suốt q trình học để cuối cùng hoàn thành luận văn này.
Dù đã rất cố gắng để hồn thành đề tài nhưng vẫn cịn nhiều thiếu sót khơng
thể tránh khỏi, tơi rất mong nhận được sự đóng góp ý kiến từ q thầy, cơ, bạn bè
và đồng nghiệp để phát triển đề tài ngày một tốt hơn.
Trân trọng.
Tp.HCM, Ngày 20 tháng 06 năm 2014
Lê Phạm Tuấn Kiệt

-v-



TÓM TẮT LUẬN VĂN
Ngày nay, điều độ là hoạt động không thể thiếu trong mọi lĩnh vực sản xuất,
kinh doanh, dịch vụ của các doanh nghiệp. Trong đó, ngành giáo dục cũng khơng
ngoại lệ, việc sắp xếp thời khố biểu giảng dạy đã thật sự là vấn đề khó khăn đối
với cán bộ cơng nhân viên phịng đào tạo của các trường đại học, cao đẳng cũng
như bậc phổ thông.
Nhiều thập niên gần đây đã có rất nhiều tài liệu nghiên cứu về các giải thuật
trong điều độ lịch biểu (Time Tabling) giúp cho việc sắp xếp thời khoá biểu giảng
dạy được tự động hố, nhanh chóng và hiệu quả cao. Trong luận văn này ta sẽ
nghiên cứu giải bài toán điều độ lịch biểu giảng dạy dùng giải thuật Local Search và
Tabu Search áp dụng cho trường cao đẳng FPT Polytechnic Thành Phố Hồ Chí
Minh.

-vi-


MỤC LỤC
Chương I: GIỚI THIỆU ĐỀ TÀI ................................................................................1
1.1. ĐẶT VẤN ĐỀ ..................................................................................................1
1.2. NỘI DUNG .......................................................................................................3
1.3. MỤC TIÊU .......................................................................................................4
1.4. GIỚI HẠN VÀ PHẠM VI ĐỀ TÀI ..................................................................4
Chương II: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN ..............5
2.1. ĐIỀU ĐỘ TIME TABLING .............................................................................5
2.1.1. Giới thiệu kỹ thuật điều độ .........................................................................5
2.1.2. Mơ hình tổng qt của bài tốn Time Tabling ..........................................5
2.1.3. Các giải thuật lập lịch biểu (Time tabling) .................................................7
2.2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THƠNG TIN .............................15

2.3. NGƠN NGỮ LẬP TRÌNH C# VÀ SQL SERVER ........................................17
2.4. CÁC NGHIÊN CỨU LIÊN QUAN ...............................................................19
Chương III: PHƯƠNG PHÁP LUẬN ......................................................................21
3.1. PHƯƠNG PHÁP NGHIÊN CỨU ..................................................................21
3.2. PHƯƠNG PHÁP LUẬN ................................................................................22
3.2.1. Nghiên cứu về Time Tabling....................................................................23
3.2.2. Thu thập số liệu & phân tích tình trạng sắp lịch biểu giảng dạy..............23
3.2.3. Phân tích và thiết kế hệ thống ..................................................................23
3.2.4. Lựa chọn thuật giải điều độ và viết code cho ứng dụng...........................23
3.2.5. Triển khai ứng dụng và kiểm thử .............................................................24
3.2.6. Kết luận ....................................................................................................24
Chương IV: XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP DỤNG CHO TRƯỜNG
FPT POLYTECHNIC TP.HCM ...............................................................................25
4.1. GIỚI THIỆU TRƯỜNG FPT POLYTECHNIC ............................................25
4.2. THỰC TRẠNG SẮP XẾP LỊCH BIỂU TẠI TRƯỜNG FPT
POLYTECHNIC TP.HCM ....................................................................................26
4.2.1. Phòng học .................................................................................................27

-vii-


4.2.2. Ca học .......................................................................................................28
4.2.3. Lớp học .....................................................................................................28
4.2.4. Điều kiện và quy trình thực hiện sắp xếp lịch biểu ..................................29
4.2.5. Số lượng giảng viên: ................................................................................29
4.2.6. Thời gian thực hiện sắp xếp lịch biểu hiện tại: ........................................29
4.3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG XÂY DỰNG LỊCH BIỂU
GIẢNG DẠY .........................................................................................................30
4.3.1. Yêu cầu của bài tốn ................................................................................30
4.3.2. Quy trình sắp xếp lịch biểu.......................................................................30

4.3.3. Thiết kế cơ sở dữ liệu và triển khai cao sở dữ liệu trên SQL Server .......31
4.4. GIẢI QUYẾT BÀI TOÁN BẰNG KỸ THUẬT ĐIỀU ĐỘ ..........................32
4.4.1. Định nghĩa bài toán: .................................................................................33
4.4.2. Định nghĩa các ràng buộc .........................................................................35
4.4.3. Giải bài toán với ràng buộc cứng .............................................................36
4.4.4. Giải bài toán với ràng buộc mềm .............................................................45
4.5. SỬ DỤNG NGÔN NGỮ C# XÂY DỰNG ỨNG DỤNG LỊCH BIỂU
GIẢNG DẠY .........................................................................................................50
4.6. KẾT QUẢ THỰC NGHIỆM ..........................................................................52
Chương V: KẾT LUẬN VÀ KIẾN NGHỊ ...............................................................54
5.1. KẾT LUẬN.....................................................................................................54
5.1.1. Kết quả đạt được ......................................................................................54
5.1.2. Hạn chế .....................................................................................................54
5.2. KIẾN NGHỊ ....................................................................................................55
TÀI LIỆU THAM KHẢO
PHỤ LỤC A - SỐ LIỆU THỰC TẾ TẠI FPOLY
PHỤ LỤC B - CODE C# CỦA LỚP TIMETABLING

-viii-


DANH MỤC HÌNH
Hình 2.1: Giải thuật Hill-Climbing.............................................................................8
Hình 2.2: Giải thuật Min-Conflict Random Walk .......................................................9
Hình 2.3: Giải thuật SimulatedAnnealing.................................................................10
Hình 2.4: Giải thuật di truyền (Genetic Algorithm) .................................................11
Hình 2.5: Giải thuật Tabu Search .............................................................................13
Hình 2.6: Pseudo-code Tabu Search ........................................................................14
Hình 3.1: Quy trình nghiên cứu ................................................................................22
Hình 4.1: Sơ đồ tổng thể giải bài tốn TimeTabling cho FPOLY ............................32

Hình 4.2: Cluster đụng độ .........................................................................................34
Hình 4.3: Giải thuật Backtracking-free kết hợp Local Search và Look-Ahead ........37
Hình 4. 4: Giải thuật sắp xếp thứ tự meeting ............................................................40
Hình 4. 5: Giải thuật sắp xếp thứ tự giảng viên........................................................40
Hình 4.6: Giải thuật chọn biến .................................................................................41
Hình 4.7: Giải thuật chọn trị phịng .........................................................................42
Hình 4.8: Giải thuật chọn trị giảng viên ...................................................................43
Hình 4.9: Giải thuật SolveConflict dùng IterativeSearch .........................................44
Hình 4.10: Hàm đánh giá vi phạm ràng buộc mềm ..................................................46
Hình 4.11: Mơ tả giải thuật Local Repair – Tabu Mechanism .................................47
Hình 4.12: Giải thuật repair_constraint ...................................................................49
Hình 4.13: Giao diện đăng nhập ứng dụng ..............................................................50
Hình 4.14: Giao diện màn hình làm việc chính ........................................................51
Hình 4.15: Giao diện hiển thị thời khóa biểu ...........................................................51
Hình 4.16: Kết quả sắp xếp học kỳ Spring 2014 .......................................................52
Hình 4.17: Kết quả sắp xếp học kỳ Summer 2014 ....................................................53

-ix-


Chương I: GIỚI THIỆU ĐỀ TÀI
1.1. ĐẶT VẤN ĐỀ
Ngành giáo dục đóng vai trị rất quan trọng trong việc tạo ra nguồn nhân lực
chất lượng cao phục vụ cho nền kinh tế cũng như chính trị xã hội của đất nước.
Hiện nay, ngành giáo Việt Nam cần có nhiều thay đổi để đào tạo ra nguồn nhân lực
đồi dào, chất lượng cao góp phần xây dựng đất nước hùng mạnh.
Ngay từ năm 1999, nhận thấy nhu cầu nguồn nhân lực chất lượng cao là yếu
tố sống còn của việc phát triển Tập đồn và ngành cơng nghiệp CNTT, FPT đã phối
hợp với tập đoàn đào tạo CNTT hàng đầu thế giới Aptech Ấn độ triển khai hệ thống
các trung tâm đào tạo Lập trình viên Quốc tế Aptech và Mỹ thuật đa phương tiện

Arena tại Việt nam.
Ngày 08/09/2006, Chính phủ đã có Quyết định số 208/2006/QĐ-TTg cho
phép chính thức thành lập Trường Đại học Tư thục FPT. Trường Đại học FPT xây
dựng mơ hình của một trường Đại học thế hệ mới, có triết lý giáo dục hiện đại, gắn
liền đào tạo với thực tiễn cuộc sống và nhu cầu nhân lực của đất nước, góp phần
đưa ngành CNTT Việt nam lên ngang tầm các nước tiên tiến trên thế giới.
Sự khác biệt của Trường Đại học FPT so với các trường đại học khác là đào
tạo kỹ sư công nghiệp, nghĩa là đào tạo theo hình thức liên kết chặt chẽ với các
doanh nghiệp CNTT, gắn đào tạo với thực tiễn, với nghiên cứu - triển khai và các
công nghệ hiện đại nhất. Triết lý và phương pháp giáo dục hiện đại; Đào tạo con
người tồn diện, hài hịa; Chương trình ln được cập nhật và tn thủ các chuẩn
công nghệ quốc tế; Đặc biệt chú trọng kỹ năng ngoại ngữ; Tăng cường đào tạo quy
trình tổ chức sản xuất, kỹ năng làm việc theo nhóm và các kỹ năng cá nhân khác là
những điểm sẽ đảm bảo cho sinh viên tốt nghiệp có những cơ hội việc làm tốt nhất
tại tập đoàn FPT và các doanh nghiệp hàng đầu khác.

-1-


Ngày 13/07/2010, trường cao đẳng thực hành FPT (FPT Polytechnic), trực
thuộc đại học FPT, được thành lập với sứ mệnh cung cấp dịch vụ đào tạo tốt trên
các tiêu chí: phù hợp với năng lực học tập của sinh viên; đáp ứng nhu cầu lớn của
doanh nghiệp; và cung cấp dịch vụ đào tạo chuẩn mực dựa trên các chuẩn đã được
cơng nhận.
Với nhận định Việt Nam có hàng trăm nghìn doanh nghiệp, các chuyên
ngành đào tạo của FPT Polytechnic đều nhắm tới nhu cầu xã hội lớn như: mỗi
doanh nghiệp đều cần có nhân viên kế tốn, nhân viên tiếp thị và bán hàng; các
doanh nghiệp đều cần có website quảng bá sản phẩm và giao dịch do đó đều cần
một nhân viên thiết kế, quản trị website; các doanh nghiệp có hệ thống máy tính đều
cần nhân viên lập trình để xây dựng các ứng dụng hữu ích và đảm bảo hệ thống

được vận hành hiệu quả.
Chương trình đào tạo của FPT Polytechnic tuân theo chuẩn khung chương
trình của BTEC, Vương quốc Anh. Sách giáo trình, tài liệu học tập được chuyển
ngữ sang Tiếng Việt từ các bộ sách uy tín của các NXB lớn trên thế giới như
Pearson, Cengage, Mc-Graw Hills, … Học liệu được các cán bộ có uy tín của
Trường Đại học FPT thiết kế, biên tập và chuyển tải trên việc áp dụng hệ thống
công nghệ thông tin hiện đại.
Hiện nay, hệ thống FPT Polytechnic đã được thành lập tại 06 thành phố lớn
trên cả nước như:
 FPT Polytechnic Hà Nội
 FPT Polytechnic Đà Nẵng
 FPT Polytechnic TP. Hồ Chí Minh
 FPT Polytechnic Quảng Ninh
 FPT Polytechnic Thanh Hóa
 FPT Polytechnic Đắk Lắk
-2-


Với sự thành công của hệ thống FPT Polytechnic cùng với đội ngũ giảng
viên giàu kinh nghiệm và nhiệt tình, số lượng sinh viên ngày càng tăng mạnh, trong
tương lai FPT Polytechnic sẽ mở thêm nhiều cơ sở khác tại các tỉnh thành, đó là
chiến lược phát triển của hệ thống FPT Polytechnic.
Là thành viên trong hệ thống FPT Polytechnic, FPT Polytechnic TP. Hồ Chí
Minh cũng đã phát triển rất nhanh, chiếm tỷ trọng tăng trưởng cao nhất hệ thống
năm 2012. Với số lượng sinh viên (trên 4000SV), lớp học, giảng viên ngày càng
tăng mạnh, Phịng Đào Tạo gặp khó khăn trong vấn đề sắp xếp lịch biểu học và
giảng dạy cho sinh viên cũng như giảng viên. Hiện tại có 2 nhân viên làm lịch biểu
cho mỗi học kỳ và trung bình khoảng mất từ 15 đến 20 ngày. Ngun nhân chính là
hiện tại Phịng Đào Tạo dùng cách sắp xếp lịch đơn giản bằng phương pháp thủ
công, sử dụng kinh nghiệm và dùng phần mềm Excel để nhập lịch biểu.

Do đó, vấn đề này đang được Trường FPT Polytechnic TP. Hồ Chí Minh
quan tâm. Từ đó việc xây dựng một phần mềm sắp xếp lịch biểu cho Trường FPT
Polytechnic TP. Hồ Chí Minh là việc cần thiết cho trường hiện nay. Với kinh
nghiệm về lập trình và các kỹ thuật điều độ được học trong lớp cao học ISE – 2012,
tôi chọn đề tài: “ỨNG DỤNG CÁC GIẢI THUẬT TRONG ĐIỀU ĐỘ TIME
TABLING ĐỂ XÂY DỰNG LỊCH BIỂU GIẢNG DẠY, ÁP DỤNG CHO
TRƯỜNG FPT POLYTECHNIC TP.HCM” làm luận văn thạc sĩ.
1.2. NỘI DUNG
 Tìm hiểu kỹ thuật điều độ trong sản xuất và dịch vụ, kỹ thuật điều độ lịch
biểu, từ đó chọn thuật tốn sắp xếp lịch biểu đa mục tiêu hợp lý cho mục
tiêu của đề tài.
 Tìm hiểu quy trình sắp xếp lịch biểu tại Phịng Đào Tạo - Trường FPT
Polytechnic TP. Hồ Chí Minh.
 Thu thập thông tin về lớp học, môn học, giảng viên cơ hữu, giảng viên
thỉnh giảng, các ràng buộc cứng và mềm…
-3-


 Tổng hợp, phân tích và thiết kế hệ thống thông tin (Thiết kế giao diện, cơ
sở dữ liệu, xây dựng phần mềm, tài liệu hướng dẫn…)
 Đánh giá kết quả phần mềm và đưa kiến nghị phát triển phần mềm.
1.3. MỤC TIÊU
Xây dựng phần mềm sắp xếp lịch biểu giảng dạy tại Trường FPT Polytechnic
TP. Hồ Chí Minh với 03 chỉ số đánh giá:
 Giảm thời gian lên lịch.
 Tối ưu việc sử dụng phòng học.
 Tối ưu việc sắp xếp giảng viên.
1.4. GIỚI HẠN VÀ PHẠM VI ĐỀ TÀI
Phần mềm sắp xếp lịch biểu giảng dạy tự động cho Trường FPT Polytechnic
với 2 chức năng chính:

 Sắp xếp phòng học cho các lớp.
 Sắp xếp giảng viên theo môn học cho các lớp
Do hạn chế về thời gian và nhằm đảm bảo tính hiệu quả của đề tài nên nội
dung đề tài chỉ tập trung vào nghiên cứu và xây dựng phần mềm sắp xếp lịch biểu
với hai chức năng chính trên, trong tương lai sẽ phát triển thêm nhiều tính năng nữa.
Dữ liệu mẫu sử dụng của học kỳ Spring 2014 và Summer 2014 (Phụ lục đính
kèm)

-4-


Chương II: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU
LIÊN QUAN
2.1. ĐIỀU ĐỘ TIME TABLING
2.1.1. Giới thiệu kỹ thuật điều độ
Điều độ là một q trình ra quyết định đóng vai trò rất quan trọng trong hầu
hết các hoạt động, các ngành công nghiệp sản xuất và dịch vụ. Chức năng điều độ
trong một công ty là sử dụng các kỹ thuật toán học hay một số phương pháp định
lượng khác để phân phối hợp lý nguồn tài nguyên có hạn phục vụ công việc. Sự
phân phối nguồn tài nguyên thích hợp sẽ cho phép cơng ty đạt được mục tiêu tối ưu
mong muốn như: cực tiểu thời gian hoàn thành, cực tiểu các cơng việc trễ hạn… Ví
dụ: dự án lắp đặt hệ thống máy tính, chế tạo động cơ, dây chuyền lắp ráp ôtô, hệ
thống đặt chỗ thuê xe trước, điều độ y tá trong bệnh viện… đều cần đến kỹ thuật
điều độ nhầm đạt được mục tiêu tối ưu mong muốn.
Chức năng điều độ trong một hệ thống sản xuất hay một tổ chức dịch vụ phải
tương tác với nhiều chức năng khác. Các sư tương tác này thường thơng qua mạng
máy tính, nhưng trong nhiều tình huống, sự tương tác giữa điều độ và các chức năng
ra quyết định khác xảy ra trong các buổi họp hay thư báo.
2.1.2. Mơ hình tổng qt của bài tốn Time Tabling
Bài tốn Time tabling có hai giai đoạn để giải quyết là giai đoạn thỏa mãn

ràng buộc cứng (CSP) và tối ưu ràng buộc mềm (COP).

CSP

• Thỏa mãn ràng buộc cứng

COP

• Tối ưu hóa ràng buộc mềm

-5-


 Bài toán thỏa mãn ràng buộc (Contraint Satisfaction Prolem - CSP)
Bài toán CSP được định nghĩa bao gồm:
Biến V: là tập hữu
hạn các biến

Ràng buộc: giới hạn hành động gán trị
cho biến.
-

C là tập các ràng buộc, mỗi ràng
buộc là bộ (W,Q)
W= (w1,…,wk) là một bộ các
biến từ tập V
Qi là các ràng buộc

Miền trị D


Lời giải của bài toán là một hàm f (hàm gán trị) quy định cách gán trị
cho toàn bộ các biến sao cho:
-

Với mỗi biến v  V, f(v)  Dv

-

Với mỗi ràng buộc ((w1,…,wk),Q) thì (f(w1),…, f(wk))  Q

Để giải bài tốn thỏa mãn ràng buộc ta có rất nhiều thật tốn tìm kiếm, ở đây
ta dùng các giải thuật Local Search.

-6-


 Bài toán tối ưu tổ hợp (Combinatorial Optimization Problem - COP)
Bài toán COP được định nghĩa bao gồm bộ 03 tập (S, F, f), trong đó:
-

S: tập hữu hạn các lời giải.

-

F: tập lời giải khả thi.

-

f: hàm mục tiêu đánh giá chất lượng lời giải.


Giải quyết bài toán tối ưu tổ hợp là tìm một lời giải tối ưu toàn cục
x*  F sao cho f(x*) <= f(x) x  F.
Thuật giải sử dụng trong bước này thường dùng Tabu Search hoặc di truyền
(Genetic Algorithm)…
Mơ hình tổng qt để giải bài toán Time tabling với hai giai đoạn thỏa mãn
ràng buộc cứng (CSP) và tối ưu ràng buộc mềm (COP) có thể được giải quyết tối
ưu bằng các thuật tốn tìm kiếm trình bày bên dưới.
2.1.3. Các giải thuật lập lịch biểu (Time tabling)
Có rất nhiều giải thuật chuyên về lập lịch biểu giảng dạy đã được nghiên cứu
và phát triển trong nhiều thập kỷ qua, điển hình là các giải thuật:
Tìm kiếm cục bộ (Local Search) dựa vào một ý tưởng tổng quát và đơn
giản. Gọi P là một bài toán tối ưu tổ hợp cần giải, và s là lời giải hiện hành giả sử là
một lời giải khả thi của P, và có hàm chi phí f(s). Miền lân cận N(s) được định
nghĩa cho s, là tập những lời giải láng giềng khả thi s’ của s sao cho từ s ta có thể
đạt tới s’ nhờ vào một bước chuyển m. Bước chuyển có tác dụng biến đổi s thành ra
một lời giải láng giềng. Thao tác biến đổi này được lặp cho đến khi hội tụ về một lời
giải tốt. Lời giải này là lời giải cận tối ưu, mà trong một số bài tốn thực tế, khơng
sai biệt gì nhiều với lời giải tối ưu.

-7-


 Thuật giải leo đồi (Hill-climbing)
Thuật giải leo đồi chính là nền tảng cơ sở của các kỹ thuật tìm kiếm cục bộ. Mặc dù
đây là Thuật giải đơn giản nhưng lại nó lại rất mạnh và hiệu quả trong việc giải
quyết các bài toán CSP lớn. Thuật ngữ “leo đồi” (hill-climbing) xuất phát từ cơ chế
“tu chỉnh lập”: ở mỗi bước của việc tìm kiếm, chúng ta sẽ chọn một bước chuyển
mà nó cải thiện giá trị hàm mục tiêu để thực hiện. Trong Thuật giải leo đồi, chỉ
những bước chuyển cải thiện được hàm chi phí hoặc khơng làm cho hàm chi phí
thay đổi mới được chọn vì vậy việc tìm kiếm sẽ liên tục bước lên vị trí cao hơn cho

đến khi nó gặp điều kiện dừng.
Procedure HillClimbling
Begin
Pick a random solution Sbest  N(s)
repeat
Pick a random solution S  N(s)
Repeat
s’ = perturbation(s)
if fitness(s’) > fitness(s) then s = s’ end if
until no filter perturbation os s exist
if fitness(s) > fitness(Sbest) then Sbest = s end if
until no time remains
return Sbest
end

Hình 2.1: Giải thuật Hill-Climbing

-8-


 Xung đột tối thiểu (Min-conflict)
Thuật giải xung đột tối thiểu, viết tắt là MC đã được dùng khá phổ biến để
giải hệ ràng buộc quá mức. Thuật giải MC chọn ngẫu nhiên một biến nào đó dính
líu đến một ràng buộc bị vi phạm và rồi chọn một trị từ miền trị của biến này sao
cho tối thiểu hoá số lượng những vị phạm ràng buộc có thể xảy ra. Thuật giải Minconflict thuần túy có thể khơng thốt ra được điểm tối ưu cục bộ, Thuật giải thường
kết hợp với một chiến lược bước ra ngẫu nhiên (random walk). Với một biến nào đó
được chọn, chiến lược bước ra ngẫu nhiên lấy ngẫu nhiên một trị từ miền trị của
biến này với xác xuất p, và áp dụng theo Thuật giải MC với xác xuất 1- p. Giá trị
của thơng số p có ảnh hưởng lên hiệu quả của Thuật giải. Thuật giải này được gọi là
Min-Conflict Random Walk.

Procedure MCRD (Min-Conflict Random Walk)
Begin
generate a random configuration s
nb_moves = 0
while f(s) > 0 and nb_moves < max_moves do
if probability p verified then
choose randomly a variable V in conflict
choose randomly a variable v’ for V
else
choose randomly a variable V in conflict
choose a variable v’ that minimises the number of conflict for V
(the current value is chosen only if all the other value increase
the number of violated constraints)
end if
if v’ is different from the current value of v then
assign v’ to V
nb_moves = nb_moves + 1
end if
end while
output(s)
end

Hình 2.2: Giải thuật Min-Conflict Random Walk

-9-


 Thuật giải mô phỏng luyện kim (Simulated Annealing)
Mô phỏng luyện kim (SA) là một kỹ thuật tìm kiếm ngẫu nhiên (stochastic
search) mà tỏ ra rất hữu hiệu cho những bài tốn tối ưu hóa qui mơ lớn. Trong kỹ

thuật này, nhiệt độ là biến được khởi tạo ở một giá trị cao và dần dần giảm dần
xuống trong quá trình tìm kiếm. Tại những trị nhiệt độ cao, các bước chuyển được
chấp nhận một cách ngẫu nhiên bất luận chúng là bước chuyển có cải thiện hàm chi
phí của lời giải hay không. Khi nhiệt độ được giảm xuống, xác xuất để chấp nhận
một lời giải có cải thiện sẽ tăng lên và xác xuất để chấp nhận một lời giải khơng cải
thiện sẽ giảm xuống. Có một số cách thức giảm nhiệt độ dần xuống được dùng
trong một Thuật giải SA, được gọi là lịch biểu làm nguội (cooling schedule).
Procedure SimulatedAnnealing
Begin
Chọn lời giải ban đầu s0;
Chọn nhiệt độ ban đầu t0 <0;
Chọn hàm thu giảm nhiệt độ α;
repeat
Chọn ngẫu nhiên s N(s); /* s là lời giải láng giềng của s0 */
 = f(s) – F(s0); /* tính sự thay đổi của hàm chi phí */
if  < 0 then
s0 = s
else
sinh ngẫu nhiên một số x  [0,1];
if x < exp(-/t0) then
s0 = s
end if
end if
until số_lần_lặp = nrep; /* nrep: số lần lặp lại ở mỗi nhiệt độ t */
return s0
end

Hình 2.3: Giải thuật SimulatedAnnealing
-10-



 Thuật giải di truyền (Genetic Algorithm)
Thuật giải di truyền (GA) (Goldberg, 1989) đã tỏ ra khá thành công trong
một số những áp dụng. GA mượn ý tưởng trong quá trình tiến hóa của sinh vật. Ý
tưởng chính của Thuật giải là duy trì một quần thể các lời giải ứng viên. Các lời giải
ứng viên này sẽ được cho cơ hội riêng lẻ để sản sinh ra con cái tùy thuộc vào độ
thích nghi (fitness) của chúng. Độ thích nghi được đo bằng một hàm mục tiêu.
Thuật giải GA đã được áp dụng vào việc giải hệ ràng buộc. Việc dùng Thuật giải
GA vào các bài toán tối ưu hóa có ràng buộc làm phát sinh nhiều vấn đề mà các nhà
nghiên cứu phải quan tâm giải quyết. Một trong những vấn đề quan trọng là làm thế
nào để đưa các ràng buộc vào các hàm thích nghi (fitness function) để điều khiển
q trình tìm kiếm một cách đóng đắn.
Giải thuật di truyền:
Bước 1:


k =1



Lựa chọn N cá thể ban đầu S1,1 ,... , S1,N dựa trên giải thuật kinh
nghiệm



Tính giá trị cho các cá thể

Bước 2:



Tạo các cá thể mới bằng cách kết hợp giữa các cá thể trong quần thể
hiện tại bằng cơ chế lai tạo và đột biến



Duy trì số lượng cá thể N cho thế hệ tiếp theo bằng cách loại bỏ một số
cá thể khơng tốt.



Tính giá trị cho các cá thể và hình thành thế hệ tiếp theo



Sk+1,1 ,... , Sk+1,N

Bước 3:


k = k+1



Nếu điều kiện dừng = true



Thì trả về cá thể có giá trị tốt nhất và STOP




Ngược lại thì quay lại bước 2

Hình 2.4: Giải thuật di truyền (Genetic Algorithm)
-11-


 Tìm kiếm Tabu (Tabu Search)
Tìm kiếm Tabu được đề xuất bởi Glover năm 1986. Phương pháp dị tìm
trong khơng gian lời giải bằng cách di chuyển từ một lời giải s tại lượt lặp t về một
lời giải tốt nhất s’ trong tập con N* của miền lân cận N(s). Vì s’ khơng nhất thiết cải
thiện chi phí của s, một cơ chế được đặt ra để ngăn chặn q trình khỏi lặp vịng
trên một chuỗi các lời giải. Một cách để tránh sự lặp vòng là cấm quá trình tìm kiếm
quay về những lời giải đã gặp rồi, nhưng làm như vậy đòi hỏi phải lưu trữ khá nhiều
thơng tin. Thay vì làm thế, chỉ một vài thuộc tính của những lời giải đã gặp sẽ được
lưu trong danh sách tabu (tabu list) và bất kỳ lời giải nào sở hữu những thuộc tính
này sẽ khơng được xét đến trong  lần lặp. Cơ chế này thường được gọi là bộ nhớ
ngắn hạn và  được gọi là kỳ hạn tabu. Tìm kiếm tabu được phát triển thành nhiều
dạng cải tiến như tìm kiếm tabu thích nghi (reactive tabu search) và tìm kiếm tabu
với hai danh sách tabu: bộ nhớ ngắn hạn và bộ nhớ dài hạn.

-12-


Giải thuật Tabu Search:
Bước 1.


k=1




Chọn 1 bảng điều độ ban đầu S1 bằng cách dùng vài giải thuật kinh
nghiệm và đặt Sbest = S1

Bước 2.


Xác định vùng phụ cận N(Sk)



Chọn Sc  N (Sk) từ bảng điều độ tốt nhất hiện có.



Nếu bước Sk  Sc này bị cấm bởi 1 cặp hốn chuyển trên tabu-list thì
sang bước 2.



Ngược lại thì gán Sk+1 = Sc


Đưa 2 phần từ vừa được điều độ lên vị trí đầu tiên của tabu-list



Đẩy các phần tử khác trong tabu-list xuống 1 vị trí




Xóa phần tử cuối cùng của tabu-list



Nếu F(Sc) tốt hơn F(Sbest) thì gán Sbest = Sc



Di chuyển đến Bước 3.

Bước 3.


k = k+1 ;



Nếu điều kiện dừng = true thì STOP



Ngược lại di chuyển đến Bước 2

Hình 2.5: Giải thuật Tabu Search

-13-



Pseudo-code: Tabu Search
1: s ← s0
2: sBest ← s
3: tabuList ← null
4: while (not stoppingCondition())
5:

candidateList ← null

6:

for(sCandidate in sNeighborhood)

7:

if (not containsTabuElements(sCandidate, tabuList))

8:

candidateList ← candidateList + sCandidate

9:

end

10:

end

11:


sCandidate ← LocateBestCandidate(candidateList)

12:

if (fitness(sCandidate) < fitness(sBest))

13:

sBest ← sCandidate

14:

tabuList ← featureDifferences(sCandidate, sBest)

15:

while(size(tabuList) > maxTabuListSize)

16:

ExpireFeatures(tabuList)

17:

end

18:

end


19: end
20: return(sBest)

Hình 2.6: Pseudo-code Tabu Search

-14-


2.2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THƠNG TIN
Phân tích và thiết kế hệ thống thơng tin là q trình tìm hiểu về hệ thống
thơng tin, từ đó sẽ phân tích các quy trình nghiệp vụ của hệ thống thông tin, xây
dựng các thực thể trong hệ thống, thiết kế cơ sở dữ liệu, thiết kế giao diện và cuối
cùng là viết phần mềm ứng dụng cho hệ thống.
Theo quan điểm của hệ thống thì một hệ thống thơng tin quản lý thường có 3
thành phần:
 Thành phần quyết định: thực hiện chức năng ra quyết định.
 Thành phần thông tin: thực hiện chức năng tiếp nhận, xử lý, truyền tin và lưu
trữ thông tin trong hệ thống.
 Thành phần tác nghiệp: là thành phần bảo đảm các hoạt động cơ sở của một
tổ chức.
Ví dụ: hệ thống thơng tin quản lý trong một xí nghiệp có thành phần quyết định là
Ban Giám đốc, thành phần thông tin là các phòng ban chức năng, thành phần tác
nghiệp là các phân xưởng, cơ sở sản xuất.
Bây giờ chúng ta đi đến một định nghĩa có tính chất mơ tả của một hệ thống
thông tin:
Hệ thống thông tin của một tổ chức là tập hợp các phương tiện, nhân lực,
thông tin và phương pháp xử lý tin nhằm cung cấp các thơng tin cho q trình ra
quyết định đúng thời hạn và đủ độ tin cậy.
Trong đó:

 Tổ chức: có thể là cơ quan, xí nghiệp, trường học...
 Phương tiện (phần cứng-phần mềm): cơ sở vật chất dùng để thu nhập, xử lý,
lưu trữ, chuyển tải thông tin trong hệ thống như máy tính, máy in, điện thoại
...
-15-


×