Lịch biểu tích cực

Một phần của tài liệu Nghiên cứu các bài toán lịch biểu và ứng dụng (Trang 67 - 69)

4.2. Các luật ưu tiên của Giffler và Thompson 4.2.1. Thuật toán Giffler - Thompson (GT)

Thuật toán GT là một thuật toán rất quan trọng và được sử dụng rộng rãi trong lập lịch. Mục tích của thuật toán là nó sinh ra các lịch biểu tích cực. Dưới đây luận văn xin trình bày một số các định nghĩa được sử dụng trong thuật toán.

a) Một thao tác nếu không phải là thao tác được lập lịch đầu tiên trên một máy đều có hai thao tác đi trước trực tiếp:

2 4 6 8 10 12 14 16 18 20

M1

M2

- Thao tác đi trước cùng công việc được ký hiệu bởi ( ) là thao tác được lập lịch ngay trước thao tác trong tuần tự công nghệ.

- Thao tác đi trước cùng máy được ký hiệu ( ) là thao tác được lập lịch gần đây nhất trên máy đó, hay thao táccó thời gian hoàn thành lớn nhất trong số tất cả các thao tác đã được lập lịch ở trên cùng một máy với thao tác .

Ví dụ, trong bài toán được cho trong bảng 4.1 chúng ta có ( ) = và theoHình 4.1 thì ( ) = . Một thao tác được lập lịch tại thời điểm đơn vị thời gian 0 nếu không có một công việc và không có một máy nào trước đó. Nếu chỉ có một công việc và một máy trước đó tồn tại thì được lập lịch ngay sau khi các thao tác trước đó hoàn thành.

b) Một thao tác chưa được lập lịch được gọi là có thể được lập lịch khi cả hai thao tác đi trước cùng công việc và thao tác đi trước cùng máy (nếu chúng tồn tại) đều đã được lập lịch. Tất cả các thao tác có thể được lập lịch được ký hiệu là .

c) Thời gian được bắt đầu sớm nhất của thao tác được ký hiệu là ( ) và thời hoàn thành sớm nhất của thao tác được ký hiệu là ( ) được xác định như sau:

( ) = max { ( ) , ( ) } và ( ) = ( ) + ( ). Trong đó, ( ) và ( ) là thời gian hoàn thành của hai thao tác đi trước trên cùng công việc và trên cùng máy của thao tác .

d) Thao tác hoàn thành sớm nhất ∗ trong với máy là một thao tác mà thời gian hoàn thành sớm nhất của nó ( ∗ ) là nhỏ nhất trong số các thao tác trong :

∗ = min { ( )/ ∈ } (4.1)

e) Cho một thao tác có thể hoàn thành sớm nhất ∗ và nếu có − 1 thao tác đã được lập lịch ở trên máy , tập cạnh tranh , là một tập các thao tác ứng viên cho việc lập lịch tiếp theo ở trên máy được định nghĩa như sau:

, = { ∈ / ( ) < ∗ } (4.2) Lưu ý rằng ∗ ∈ , .

Mục tiêu của thuật toán GT là lập lịch cho các thao tác sao cho tránh được thời gian nghỉ của máy đủ dài cho phép một phép dịch trái. Do đó mà tập , ⊂ . Chỉ cần thao tác tiếp theo được chọn từ tập cạnh tranh này, một thời gian nghỉ sẽ được giữ đủ ngắn và lịch biểu kết quả đảm bảo là tích cực. Một lịch biểu tích cực có được bởi việc lặp lại thuật toán GT cho tới khi tất cả các thao tác được lập lịch.

Một phần của tài liệu Nghiên cứu các bài toán lịch biểu và ứng dụng (Trang 67 - 69)