2 Vấn đề ngược của vấn đề tối thiểu hóa thời gian trễ tối đa của các
2.2.2. Điều kiện cần và đủ của vấn đề 1kLmax
Định nghĩa 2.1. Đối với một trình tự sắp xếp π cho trước, một công việc Tπ(r)
được gọi là chủ chốt nếu nó có thời gian trễ tối đa Tπ(r) = Tmax(π).
Định lý 2.2. Một trình tự sắp xếp π là tối ưu đối với vấn đề 1kLmaxnếu và chỉ nếu có một công việc chủ chốt Tπ(r) sao cho dπ(i) ≤ dπ(r),∀ i < r.
Chứng minh. Giả sử π là một giải pháp tối ưu. Chúng ta chúng minh điều kiện cần bằng cách đánh số các công việc chủ chốt của π.
Đầu tiên, xét trường hợp chỉ có một công việc chủ chốt. Nếu có tồn tại một
i < r sao cho dπ(i) > dπ(r), thì π(..., π(i), ..., π(r), ...) có thể thay đổi thành
π0(..., π(r), π(i), ...). Dễ thấy thời gian trễ tối đa củaTπ(r) đối vớiπ0nhỏ hơnTπ(r) đối vớiπvà thời gian trễ của các công việc khác không tăng. Vì vậyLmax(π0) < Lmax(π), điều này mâu thuẫn với sự tối ưu của π .
Tiếp theo, giả sử điều kiện cần giữ nguyên tất cả các trình tự tối ưu nhỏ hơn k
công việc chủ chốt và xét trường hợp dãyπ có k ≥2công việc chủ chốt. Nếu khẳng định không giữ nguyên đối với π, thì đối với công việc chủ chốt đầu tiên Tπ(r), tồn tại i < r sao cho dπ(i) > dπ(r). Như vậy, chúng ta có thể thay đổi công việc Tπ(i)
tới vị trí ngay sau Tπ(r) và làm choTπ(r) không còn là công việc chủ chốt nữa. Kết quả này trong một trình tự tối ưu π có ít hơn k công việc chủ chốt. Điều này mẫu thuẫn với giải thiết quy nạp.
Ngược lại, giả sử có một công việc chủ chốt Tπ(r) sao cho dπ(r) ≤ dπ(i),∀ i > r. Chúng ta có thể giả sử rằng dπ(r) ≤dπ(j),∀ i > r. Nếu điều này không đúng đối với một vài j, thì
mâu thuẫn với Lπ(r) =Lmax(π) do vậy dπ(i) ≤dπ(r) ≤ dπ(j),∀ i < r < j.
Như vậy chúng ta có thể sắp xếp lại thứ tự các công việc trước π(r) và các công việc sau π(r) tương ứng theo quy tắc EDD và có được một trình tự sắp xếp mới π0. Do π0 tuân theo quy tắc EDD vậy nó là tối ưu. Và do thứ tự sắp xếp ở trên không làm thay đổi Lπ(r), dẫn đếnLmax(π) < Lmax(π0) và như vậy π cũng là tối ưu. Định
lý được chứng minh.
Ví dụ 2.2. Ở bài toán 1.1, xét vấn đề 1kLmax, trong đó
n = 6, p= (3,1,4,1,3,2), d = (2,10,6,4,11,12).
Biết thời gian trễ tối đa (maximum latenes):
Lmax = max{Lj}
trong đó Lj =Cj −dj là thời gian trễ của nhiệm vụ Tj. Ta có:
d1 < d4 < d3 < d2 < d5 < d6.
Theo quy tắc EDD ta tìm được trình tự tối ưu là {d1, d4, d3, d2, d5, d6}. Với C1 = 3;C4 = 4;C3 = 8;C5 = 12;C6 = 14.
Ta có L1 = 1;L4 = 0;L3 = 2;L2 = 1;L5 = 1;L6 = 2. Trễ tối đa Lmax = 2.
Định lý 2.3. Dãy công việc π = (1,2, ..., n) là tối ưu đối với bài toán 1kLmax nếu và chỉ nếu tồn tại một công việc k sao cho hai điều kiện dưới đây được thỏa mãn:
Ck −dk ≥ Cj −dj với 1≤ j ≤ n, (2.1)
dj ≤dk với 1≤ j ≤ k−1. (2.2) Nhận thấy rằng có thể tồn tại một số công việc thỏa mãn (2.1) cùng với giá trị