1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Đồ Án Thuật Toán Đề Tài Thuật Toán Lập Lịch Công Việc.pdf

15 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thuật toán lập lịch công việc
Tác giả Đặng Lê Hoàng
Người hướng dẫn PGS.TSKH. Trần Quốc Chiến
Trường học Trường Đại Học Sư Phạm – Đại Học Đà Nẵng
Chuyên ngành Tin học
Thể loại Báo Cáo Đồ Án Thuật Toán
Năm xuất bản 2020
Thành phố Đà Nẵng
Định dạng
Số trang 15
Dung lượng 1,45 MB

Nội dung

Bài toán lập lịchcó thể được định nghĩa là một bài toán tìm kiếm chuỗi tối ưu để thực hiện một tập cáchoạt động chịu tác mộng của một tập các ràng buộc cần phải được thỏa mãn Người lậplị

Trang 1

KHOA TIN HỌC -

BÁO CÁO ĐỒ ÁN THUẬT TOÁNĐề tài: Thuật toán lập lịch công việc

Giảng viên hướng dẫn : PGS.TSKH Trần Quốc Chiến Sinh viên thực hiện : Đặng Lê Hoàng

Lớp sinh hoạt : 16CNTT3 Mã sinh viên : 312024161115

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Trang 3

2 Các đặc tính của bài toán lập lịch… …….……… 4

3 Một số loại bài toán lập lịch ………… …….……… 4

Chương II Các bài toán ứng dụng………5

1.Bài toán thời khóa biểu……… ….……… …….………5

1.1 Giới thiệu bài toán thời khóa biểu …….……… …….……….5

1.2 Một số hướng tiếp cận giải bài toán thời khóa biểu ………6

1.2.1 Mô phỏng luyện kim……….7

1.2.2 Tìm kiếm Tabu……….10

Chương III Cài đặt và kết quả thử nghiệm……… 12

1 Sử dụng thuật toán lập lịch cho đồ bài toán thời khóa biểu ………… …12

Kết luận……… ……… 14

Đặng Lê Hoàng- 16CNTT3 (2016-2020)

Trang 4

MỞ ĐẦU1 Lý do chọn đề tài:

Bài toán lập lịch luôn là một bài toán cổ điển thuộc lớp bài toán khó Từ lâu đã thu hútđược sự quan tâm, nghiên cứu và phát triển của nhiều tổ chức giáo dục, các nhà khoa họcbởi tính ứng dụng cao và độ phức tạp của nó Các bài toán lập lịch thường rất phong phú,đa dạng bởi các ràng buộc và yêu cầu của từng doanh nghiệp, tổ chức, trường học

Trong nhiều thập niên qua đã có rất nhiều các phương pháp giải được đưa ra Tuynhiên, tính hiệu quả của lời giải cho lớp bài toán vẫn còn nhiều bàn cãi Bài toán lập lịchcó thể được định nghĩa là một bài toán tìm kiếm chuỗi tối ưu để thực hiện một tập cáchoạt động chịu tác mộng của một tập các ràng buộc cần phải được thỏa mãn Người lậplịch thường cố gắng thử đến mức tối đa sự sử dụng các tài nguyên nhân lực, vật lực, máymóc và tối thiểu thời gian đòi hỏi để hoàn thành toàn bộ quá trình nhằm sắp xếp lịch tốiưu nhất Vì thế bài toán lập lịch là một vấn đề rất khó để giải quyết

Vì vậy em chọn đề tài: “Bài toán lập lịch công việc” để làm đề tài nghiên cứu của mìnhnhằm để có thể hiểu rõ và ứng dụng nó và thực tiễn

2 Mục tiêu:

Trong bài báo cáo này, em sẽ trình bày các đặc tính của bài toán lập lịch, một số loạibài toán lập lịch các hướng giải quyết bài toán, và bài toán ứng dung thuật toán lập lịchđồng thời đánh giá độ tối ưu của lịch trình lời giải bài toán

Trang 5

CHƯƠNG I LÝ THUYẾT:1 Thuật toán lập lịch là gì?

Lập lịch có thể được định nghĩa là một bài toán tìm kiếm chuỗi tối ưu để thực hiệnmột tập các hoạt động chịu tác động của một tập các ràng buộc cần phải được thỏa mãn.Người lập lịch thường cố gắng thử đến mức tối đa sự sử dụng các cá thể, máy móc và tốithiểu thời gian đòi hỏi để hoàn thành toàn bộ quá trình nhằm sắp xếp lịch.Vì thế bài toánlập lịch là một vấn đề rất khó để giải quyết Hiện nay có nhiều khả năng để phát triển cáckỹ thuật hiện tại để giải quyết bài toán này Những kỹ thuật đó bao gồm: các tiếp cận Trítuệ nhân tạo nhờ hệ thống tri thức cơ sở (knowledge-based systems), bài toán thoả mãnràng buộc, hệ chuyên gia, mạng Nơron và các tiếp cận của các Nghiên cứu hoạt động: lậptrình tính toán, lập trình động, tìm kiếm nhánh và đường biên, kỹ thuật mô phỏng, tìmkiếm Tabu và phương pháp nút cổ chai

Việc toán tìm kiếm chuỗi tối ưu trong bài toán lập lịch sẽ giúp ta tìm kiếm nhanhhơn và hỗ trợ rất nhiều cho các bài toán khác

2 Các đặc tính của bài toán lập lịch:

Tài nguyên: đó là các nguồn dữ liệu đầu vào của bài toán Các tài nguyên này có thể phục hồi hoặc không

Tác vụ: được đánh giá qua các tiêu chuẩn thực hiện thực thời gian thực hiện, chi phí, mức tiêu thụ nguồn tài nguyên

Ràng buộc: đây là những điều kiện cần thỏa mãn để bài toán có thể đưa ra lời giải tốt nhất

Mục tiêu: đánh giá độ tối ưu của lịch trình lời giải của bài toán Khi các mục tiêu được thỏa mãn thì các ràng buộc cũng phải được thỏa mãn

3 Một số loại bài toán lập lịch:

Lập lịch tiền định và suy diễn (Deterministic & Stochastic Scheduling): lập lịch tiềnđịnh là tất cả các thông tin dữ liệu liên quan điều đã biết trước hoặc đã chắc chắn Trongbài toán lập lịch suy diễn, thời gian sẵn sàng cho công việc hay thời gian thực hiện hoạtđộng là các biến ngẫu nhiên được mô tả bởi một hình thái thống kê đã biết hoặc sự phânbố xác suất

Lập lịch tĩnh (Static Scheduling): việc lập lịch được thực hiện dựa trên các hiểu biếthoặc dự báo về các sự kiện, tác vụ thực hiện trong hệ thống (thời điểm xuất hiện, thờigian thực hiện, hạn chót ước tính(deadline)) và được quyết định tại thời điểm thiết kế và

Đặng Lê Hoàng- 16CNTT3 (2016-2020)

Trang 6

được áp dụng cố định trong suốt quá trình hoạt động của hệ thống Các tác vụ được khởiđộng ở các thời điểm đã lập trong một bảng trước đó Một thuật toán lập lịch tĩnh đượcgọi là tối ưu nếu nó luôn luôn có thể tìm được một lịch điều phối thỏa mãn các ràng buộcđã cho trong khi một thuật toán tĩnh khác cũng tìm được một lời giải Như vậy trong lậplịch tĩnh tất cả các công việc được tiến hành lập lịch đã sẵn sàng để sử dụng đồng thời.

Lập lịch động (Dynamic Scheduling): việc thực hiện lập lịch trong quá trình thực thidựa trên cơ sở các thông tin hoạt động hiện hành của hệ thống Sơ đồ lập lịch là khôngxác định trước và thay đổi động theo quá trình thực hiện Lập lịch động linh hoạt nhưngtốn thời gian để ra quyết định và cũng không có “nhận thức” tới bối cảnh tổng thể nhưcác yêu cầu tài nguyên, sự phụ thuộc giữa các tác vụ

CHƯƠNG II BÀI TOÁN ỨNG DỤNG1.Bài toán thời khóa biểu:

1.1 Giới thiệu bài toán thời khóa biểu

* Ý tưởng: Bài toán thời khoá biểu là một trong những bài toán thuộc lớp bài toán lậplịch, bài toán yêu cầu tìm giải pháp tối ưu trong tập các tài nguyên, nguồn lực, thời gianhạn chế Vấn đề xây dựng thời khoá biểu tự động hoặc bán tự động cho các loại côngviệc khác nhau, bao gồm cả các hoạt động dạy và học trong một cơ sở đào tạo là một vấnđề cấp thiết đã và đang thu hút nhiều sự chú ý trong hai lĩnh vực nghiên cứu và ứng dụngtrong thời gian qua

* Như chúng ta đã biết chương trình đào tạo là một bản thiết kế tổng thể cho mọihoạt động đào tạo, nó được sắp xếp theo một quy trình cụ thể Và trong đó thời khoá biểulà một khâu quan trọng trong mô hình quản lý đào tạo của nhà trường

* Hình vẽ biểu diễn mối quan hệ không tách rời giữa chương trình đào tạo và thờikhoá biểu được minh hoạ như sau:

Trang 7

Thời khoá biểu như là bộ xương sống trong quá trình đào tạo và quản lý của nhàtrường, đặc biệt hiện nay một số trường đại học, cao đẳng nước ta đã và đang chuyểnsang đào tạo theo học chế tín chỉ thì một thời khoá biểu ổn định, phù hợp với sinh viên,thuận lợi cho giáo viên và có tính khoa học sẽ tạo điều kiện cho sinh viên, giáo viên lênkế hoạch học tập, nghiên cứu

Tuy nhiên, các kết quả đạt được trong lĩnh vực này hiện nay vẫn chưa có được mộtứng dụng rộng rãi do có nhiều nguyên nhân khác nhau

1.2 Một số hướng tiếp cận giải bài toán thời khóa biểu

Với các phương pháp cổ điển, những bài toán tìm kiếm tối ưu trong không gian tìmkiếm nhỏ là tương đối phù hợp Tuy nhiên để tìm được nghiệm tiệm cận tối ưu trongkhông gian tìm kiếm lớn cần thiết phải có những kỹ thuật tìm kiếm đặc biệt để giải quyếtbài toán Hiện nay đã nhiều nhà nghiên cứu dựa trên những hiểu biết về trí tuệ nhân tạovà mô phỏng các hiện tượng vật lý hay sinh học để tiếp cận giải các bài toán thuộc lớpbài toán lập lịch Trong số đó nổi bật lên là các phương pháp tìm kiếm tối ưu Monte –Carlo chúng ta sẽ tìm hiểu một số thuật giải sau

Đặng Lê Hoàng- 16CNTT3 (2016-2020)

Trang 8

1.2.1 Mô phỏng luyện kim

Mô phỏng luyện kim là một trong những phương pháp tìm kiếm Monte – Carlo tìmkiếm giải pháp tối ưu Mục đích chính của thuật toán là tìm các giá trị tối ưu trong mộtkhông gian lời giải là vô cùng lớn Ý tưởng thuật toán mô phỏng sự làm lạnh của các mẫuđược thể hiện như sau:

Như đã biết, khi đốt nóng các phân tử của thủy tinh hoặc kim loại chuyển động tự do,nhiệt độ là thước đo mức năng lượng trong từng phần tử cũng như toàn bộ hệ thống Nếunhư nhiệt độ giảm nhanh chóng, các phần tử ấy sẽ đông đặc lại như một kết cấu phứchợp Tuy nhiên nếu nhiệt độ giảm chậm hơn thì dạng tinh thể của chúng sẽ mịn hơnnhiều Trong trường hợp này những phần tử của các tinh thể rắn ấy ở trạng thái nănglượng cực tiểu Năm 1983, S Kirkpatrick, C D Gelatt và M P Vecchi đã mô phỏng lạiquá trình tự nhiên xảy ra với mạng tinh thể của thủy tinh hoặc kim loại khi làm nguội đểtìm nghiệm tối ưu, do vậy phương pháp được đề xuất có tên là: Mô phỏng luyện kim -(SA)

Để tìm hiểu kỹ thuật tìm kiếm mô phỏng luyện kim, trước hết chúng ta tìm hiểu kỹthuật tìm kiếm địa phương: Ý tưởng chung của phương pháp tìm kiếm địa phương là đốivới một tập S hữu hạn và một hàm số c: S→R cho trước, chúng ta tìm một lời giải

s¿∈ S

thoả c(s¿)≤c( s),∀ s∈ S

, tìm kiếm địa phương là một thủ tục lặp, di chuyển từmột lời giải này trong tập S đến một lời giải khác trong tập S khi cần Để tìm kiếm mộtcách có hệ thống trong tập S những sự di chuyển có thể từ một lời giải s đến một lời giảikế tiếp nên bị giới hạn trong một số điều kiện Để mô tả sự giới hạn đó chúng ta sẽ tìmhiểu cấu trúc lân cận (Neighborhood structure) N : S→2

s

trong S Với mỗi lời giải s ∈S, N(s) mô tả một tập con của S mà có thể di chuyển đến lời giải s Tập N(s) được gọi làlân cận của lời giải s

Từ các định nghĩa trên, phương pháp tìm kiếm địa phương có thể được mô tả như sau:trong mô tả như sau: trong mỗi vòng lặp chúng ta bắt đầu tại một lời giải s∈

S và lựa chọn

Trang 9

Thuật giải cải tiến vòng lặpChọn một lời giải ban đầu s∈

S

Lặp

Phát sinh lời giải tốt nhất s

'∈ N(s)

Nếu c(s')<c ( s )

thìs:=s

'

Cho đến khi c(s'

)≥c( s)Thuật giải này sẽ kết thúc cùng với một lời giảis

Một phương pháp tìm kiếm khác tránh rơi vào cực tiểu địa phương là phương pháp tìmkiếm mô phỏng luyện kim Đây là một phương pháp ngẫu nhiên vì:

- s được chọn một cách ngẫu nhiên từ N(s)- Tại bước lặp thứ i, lời giải s

Trang 10

- Trong đó {t } là một dãy các tham số kiểm soát dương và i

lim

i→∞

ti=0 Và,t =αti+1i, 0<α<1

Diễn giải ý nghĩa xác suất này như sau: nếu c(s'c

Procedure Simulated_Anneaning;Begin

i:=0;Chọn một lời giải ban đầu s ∈

S;best:=c(s); //lưu giá trị tốt nhất tạm thời

Repeat

Tạo một lời giải ngẫu nhiên s

'∈ N(s)

If random[0,1]< min{1, exp(

Trang 11

Until cho đến khi thoả tiêu chí dừng.End.

Thuật giải mô phỏng luyện kim có thuận lợi là có thể thoát khỏi cực tiểu địa phương.Tuy nhiên bất lợi chính của hai phương pháp trên là có khả năng quay trở lại các lời giảiđã xét qua Do đó việc dao động quanh một cực tiểu địa phương là hoàn toàn có thể xảyra và điều này dẫn đến việc mất nhiều thời gian cho công việc tính toán trên một phầnnhỏ của không gian lời giải

1.2.2 Tìm kiếm Tabu

Một cách để tránh những nhược điểm của phương pháp tìm kiếm mô phỏng luyện kimlà lưu trữ tất cả những lời giải đã xét qua vào trong một danh sách gọi là danh sách Tabuvà chỉ chấp nhận những lời giải mà không có mặt trong danh sách này Tuy nhiên việclưu trữ và kiểm tra xem liệu một lời giải ứng viên có nằm trong danh sách Tabu haykhông tốn rất nhiều thời gian và bộ nhớ Do đó thay vì lưu trữ tất cả các lời giải chúng tachỉ lưu trữ các thuộc tính đặc trưng cho tập lời giải đó Tất cả mọi di chuyển từ một lờigiải nào đó đến một lời giải có thuộc tính nằm trong danh sách Tabu điều bị từ chối Bêncạnh danh sách Tabu, một tiêu chí tham vọng cũng được liên kết với từng thuộc tính Nếusự di chuyển từ một lời giải hiện hành s đến lời giải s

'

mà lời giải s

'

có thuộc tính nằmtrong danh sách Tabu thì sự di chuyển này có thể chấp nhận

Ta biểu diễn thuật giải Tabu Search như sau:

Procedure Tabu_searchBegin

Chọn một lời giải ban đầu s ∈

S;best:=c(s); //best:lưu giá trị tốt nhất hiện tạis* :=s;

Tabu_List:= Ø

Đặng Lê Hoàng- 16CNTT3 (2016-2020)

Trang 12

o Chọn lời giải s

'

∈N(s)o Cập nhật danh sách Tabu_List;

o s :=s'

o If c(s) < best then

 s* := s; best:=c(s

Trang 13

CHƯƠNG III CÀI ĐẶT VÀ KẾT QUẢ THỬ NGHIỆM1 Sử dụng thuật toán lập lịch cho đồ bài toán thời khóa biểu bằng:* Cài đặt chương trình:

Đặng Lê Hoàng- 16CNTT3 (2016-2020)

Trang 14

*Kết quả cài đặt:

Trang 15

KẾT LUẬN

1 Qua phần trình bày ở báo cáo đã tìm hiểu rõ được thuật toán lập lịch trong côngviệc, các đặc tính và các bài toán sử dụng thuật toán lập lịch để giải quyết, đồng thờiđã tìm ra được lời giải và áp dụng thuật toán lập lịch vào bài toán thời khóa biểu.2 Các bài toán lập lịch thường rất phong phú, đa dạng bởi các ràng buộc và yêu cầu

của từng doanh nghiệp, tổ chức, trường học bởi tính ứng dụng cao và độ phức tạpcủa nó

3 Những bài toán liên quan đến thuật toán lập lịch luôn thuộc lớp bài toán khó nhưngnó luôn thu hút được nhiều sự quan tâm nghiên cứu và phát triển từ mọi người bởitính thực tiển và có thể áp dụng vào việc giải quyết các vấn đề trong đời sống hằngngày hiện nay

Đặng Lê Hoàng- 16CNTT3 (2016-2020)

Ngày đăng: 23/09/2024, 15:00

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN