Xét bài toán lập lịch gia công trên 2 máy, là trƣờng hợp riêng của bài toán lập lịch sản xuất đƣợc đề cập trong mục 2.1. Bài toán đƣợc phát biểu nhƣ sau:
Mỗi một chi tiết trong số n chi tiết D1, D2,…, Dn cần phải đƣợc lần lƣợt gia công trên hai máy A, B. Thời gian gia công chi tiết Di trên máy A là aj, trên máy B là bj, j=1,2,..,n. Hãy tìm lịch (trình tự gia công) các chi tiết trên hai máy sao cho việc hoàn thành gia công tất cả các chi tiết là sớm nhất có thể đƣợc.
Ví dụ: Xét bài toán khi n=5. Thời gian gia công các chi tiết trên các máy đƣợc cho trong bảng sau:
Chi tiết
Máy D1 D2 D3 D4 D5
A 3 4 6 5 6
B 3 3 2 7 3
Bảng 3: Bài toán gia công trên 2 máy
Giả sử thực hiện việc gia công các chi tiết theo lịch (D1, D2, D3, D4, D5) thì thời gian hoàn thành việc gia công là: 28
Bài toán đƣợc giải nhanh chóng nhờ thuật toán đơn giản và độc đáo do S.Johnson đề xuất vào năm 1954, thuật toán nhƣ sau:
33
1. Chia các chi tiết thành hai nhóm: Nhóm N1 gồm các chi tiết Di thỏa mãn ai< bi tức là min(ai,bi) đạt đƣợc tại ai, và nhóm N2 gồm các chi tiết Di thỏa mãn ai>bi, tức là min(ai,bi) đạt đƣợc tại bi. Các chi tiết Di thỏa mãn ai = bi thì xếp vào nhóm nào cũng đƣợc.
2. Sắp xếp các chi tiết trong nhóm N1 theo chiều tăng của các ai và sắp xếp các chi tiết trong nhóm N2 theo chiều giảm của các bi
3. Nối N2 vào sau N1, dãy thu đƣợc (đọc từ trái qua phải) sẽ là lịch gia công tối ƣu.
Quay trở lại ví dụ, theo thuật toán Johnson: các kết quả đƣợc tính trong từng bƣớc nhƣ sau:
1. Chia nhóm: N1 = {D1, D4}; N2={D2, D3, D5}
2. Sắp xếp N1 theo chiều tăng của các ai và sắp xếp N2 theo chiều giảm dần của các bi ; N1=(D1,D4) ; N2 =(D2, D5, D3)
3. Nối N2 vào sau của N1, ta thu đƣợc lịch gia công tối ƣu là: (D1, D4, D2, D5, D3)với thời gian hoàn thành việc gia công là: 26