BÀI 4. LẬP LỊCH TRÌNH CÔNG VIỆC<br />
(SCHEDULING)<br />
<br />
1. Khái quát về lập lịch trình công việc<br />
<br />
1. Khái quát về lập lịch trình công việc<br />
2. Sơ đồ Gantt<br />
3. Phân công công việc dựa trên phương pháp quy<br />
hoạch tuyến tính<br />
4. Xác định trình tự công việc<br />
5. Trình tự công việc qua hai trung tâm<br />
6. Trình tự công việc có tính đến thời gian thiết đặt<br />
máy móc<br />
<br />
− Lập lịch trình công việc liên quan đến việc tính toán<br />
thời gian cho việc sử dụng các nguồn lực của tổ<br />
chức. Cụ thể, nó tập trung vào hai vấn đề:<br />
Phân công công việc.<br />
Xác định trình tự công việc.<br />
− Mục đích của việc lập lịch trình công việc là đạt<br />
được sự hiệu quả trong việc sử dụng các nguồn<br />
lực và giảm thiểu thời gian của quá trình sản xuất<br />
hoặc thời gian chờ đợi của khách hàng.<br />
Nguồn lực: nhân viên, máy móc, cơ sở hạ tầng.<br />
<br />
1<br />
<br />
2<br />
<br />
1. Khái quát về lập lịch trình công việc (tiếp)<br />
<br />
1. Khái quát về lập lịch trình công việc (tiếp)<br />
<br />
CÔNG SUẤT<br />
<br />
KẾ HOẠCH TRUNG HẠN<br />
<br />
LẬP LỊCH TRÌNH CÔNG VIỆC<br />
<br />
Quyết định dài hạn liên quan đến quy mô<br />
của cơ sở hạ tầng, máy móc thiết bị.<br />
<br />
Các quyết định liên quan đến việc sử<br />
dụng chụng và kết hợp các nguồn lực<br />
như nhân sự, kho bãi, hợp đồng thuê<br />
ngoài ⇒ đáp ứng nhu cầu trung hạn.<br />
<br />
Các quyết định liên quan đến trình tự và<br />
khối lượng công việc hàng ngày. Đây là<br />
bước cuối cùng trước khi đạt được sản<br />
phẩm đầu ra thực sự.<br />
<br />
3<br />
<br />
− Nhiệm vụ lập lịch trình công việc phụ thuộc cơ bản<br />
vào khối lượng sản phẩm đầu ra của hệ thống:<br />
Hệ thống khối lượng đầu ra cao (dây chuyền<br />
chuyên môn hóa cao).<br />
Hệ thống khối lượng đầu ra trung bình (sản xuất<br />
theo lô, ngắt quãng).<br />
Hệ thống khối lượng đầu ra thấp (các phân<br />
xưởng sản xuất theo từng yêu cầu cụ thể).<br />
<br />
4<br />
<br />
1<br />
<br />
1. Khái quát về lập lịch trình công việc (tiếp)<br />
<br />
1. Khái quát về lập lịch trình công việc (tiếp)<br />
<br />
− Hệ thống khối lượng đầu ra cao.<br />
⇒ Phân công khối lượng công việc tới các trạm<br />
công việc cụ thể.<br />
Mục đích: dòng công việc đi qua hệ thống là hiệu<br />
quả nhất ⇒ các trạm công việc có thời gian xấp<br />
xỉ bằng nhau ⇒ hiệu dụng cao với lao động và<br />
thiết bị.<br />
⇒ Bản chất lặp đi lặp lại ⇒ trình tự công việc<br />
được xác định ngay từ khâu thiết kế, ít phải quan<br />
tâm về sau.<br />
⇒ Đã mô tả trong bài Bố trí mặt bằng.<br />
<br />
− Hệ thống khối lượng đầu ra trung bình.<br />
⇒ Yêu cầu đối với khối lượng đầu ra không đủ lớn ⇒ sản<br />
xuất theo những lô hàng có quy mô vừa phải.<br />
Hai vấn đề cần quan tâm:<br />
2 DS<br />
p<br />
Kích thước lô hàng sản xuất, Q 0 =<br />
H p−u<br />
Thời gian tới hạn cho mỗi sản phẩm.<br />
• Thời gian tới hạn = số lượng hiện có/mức sử dụng.<br />
• Sản phẩm A có thời gian tới hạn là 4 tuần; B: 1,2<br />
tuần; C: 2,5 tuần ⇒ thứ tự công việc sẽ là B - C - A<br />
− Hệ thống khối lượng đầu ra thấp. ⇒ Phức tạp vì yêu cầu<br />
công việc là không biết trước. Các phần sau đây sẽ mô tả<br />
chi tiết hệ thống này.<br />
<br />
5<br />
<br />
6<br />
<br />
2. Sơ đồ Gantt (hai loại)<br />
<br />
2. Sơ đồ Gantt (tiếp)<br />
<br />
− Sơ đồ khối lượng công việc và sơ đồ trình tự công việc.<br />
− Sơ đồ khối lượng công việc.<br />
Trung tâm công việc<br />
<br />
Thứ 2<br />
<br />
A<br />
B<br />
C<br />
D<br />
<br />
Thứ 3<br />
<br />
Công việc 1<br />
<br />
Thứ 4<br />
<br />
Thứ 5<br />
<br />
− Sơ đồ trình tự công việc.<br />
Tháng<br />
<br />
Thứ 6<br />
<br />
Công việc 4<br />
<br />
Chuẩn bị<br />
Mặt bằng<br />
<br />
Công việc 3 Công việc 7<br />
Công việc 1<br />
Công việc 3<br />
<br />
Công việc 6<br />
<br />
Công việc<br />
<br />
Công việc 7<br />
<br />
Máy móc<br />
<br />
Công việc10<br />
<br />
Nhân sự<br />
<br />
−<br />
:Không nhàn rỗi (bảo dưỡng, sửa chữa…)<br />
− Trong nhiều trường hợp, có thể để một khoảng thời gian<br />
trống (dự phòng khi công việc kéo dài hơn dự kiến). Một số<br />
trường hợp khác, có thể dồn công việc lại để giải phóng hẳn<br />
một trung tâm.<br />
7<br />
<br />
1<br />
<br />
2<br />
<br />
3<br />
<br />
4<br />
<br />
5<br />
<br />
6<br />
<br />
7<br />
<br />
Lập dự án Phê duyệt<br />
Giải phóng MB<br />
<br />
Xây dựng<br />
Đặt mua<br />
<br />
Lắp đặt Vận hành thử<br />
Tuyển dụng Đào tạo<br />
<br />
Sản xuất<br />
<br />
− Sơ đồ Gantt là một công cụ trực quan, đơn giản trong việc<br />
lập lịch trình công việc. Tuy nhiên cả hai loại sơ đồ đều<br />
không đề cập tới yếu tố chi phí.<br />
8<br />
<br />
2<br />
<br />
3. Phân công công việc dựa trên phương<br />
pháp quy hoạch tuyến tính<br />
<br />
3. Phân công công việc dựa trên phương<br />
pháp quy hoạch tuyến tính (tiếp)<br />
<br />
8<br />
<br />
6<br />
<br />
2<br />
<br />
4<br />
<br />
2<br />
<br />
6<br />
<br />
7<br />
<br />
11<br />
<br />
10<br />
<br />
3<br />
<br />
3<br />
<br />
5<br />
<br />
7<br />
<br />
6<br />
<br />
4<br />
<br />
5<br />
<br />
10<br />
<br />
12<br />
<br />
− Bước 1. Lấy các hàng trừ<br />
đi giá trị nhỏ nhất trong<br />
hàng đó, từ đó tạo ra một<br />
bảng mới.<br />
<br />
B<br />
<br />
C<br />
<br />
D<br />
<br />
1<br />
<br />
6<br />
<br />
4<br />
<br />
0<br />
<br />
2<br />
<br />
2<br />
<br />
0<br />
<br />
1<br />
<br />
5<br />
<br />
4<br />
<br />
3<br />
<br />
0<br />
<br />
2<br />
<br />
4<br />
<br />
3<br />
<br />
4<br />
<br />
0<br />
<br />
5<br />
<br />
7<br />
<br />
4<br />
<br />
A<br />
<br />
B<br />
<br />
C<br />
<br />
D<br />
<br />
1<br />
<br />
6<br />
<br />
3<br />
<br />
0<br />
<br />
0<br />
<br />
2<br />
<br />
0<br />
<br />
0<br />
<br />
5<br />
<br />
2<br />
<br />
3<br />
<br />
0<br />
<br />
1<br />
<br />
4<br />
<br />
1<br />
<br />
4<br />
<br />
0<br />
<br />
4<br />
<br />
7<br />
<br />
2<br />
<br />
Máy<br />
<br />
− Bước 2. Từ bảng mới, lấy<br />
các cột trừ đi giá trị nhỏ<br />
nhất trong cột ⇒ tạo ra một<br />
bảng mới khác.<br />
<br />
9<br />
<br />
Công việc<br />
<br />
Công việc<br />
<br />
1<br />
<br />
Máy<br />
A<br />
Công việc<br />
<br />
− Nhiệm vụ: phân công các công việc tới các nguồn<br />
lực (máy móc, người xử lý…)<br />
− Mục đích: tìm phương án cực tiểu hóa chi phí.<br />
− Giả định: mỗi công việc chỉ được phân tới một máy<br />
duy nhất (không có máy nào xử lý hai công việc và<br />
ngược lại).<br />
Máy<br />
A<br />
B<br />
C<br />
D<br />
− Ví dụ:<br />
<br />
9<br />
<br />
3. Phân công công việc dựa trên phương<br />
pháp quy hoạch tuyến tính (tiếp)<br />
<br />
3. Phân công công việc dựa trên phương<br />
pháp quy hoạch tuyến tính (tiếp)<br />
<br />
A<br />
<br />
B<br />
<br />
C<br />
<br />
D<br />
<br />
1<br />
<br />
6<br />
<br />
3<br />
<br />
0<br />
<br />
0<br />
<br />
2<br />
<br />
0<br />
<br />
0<br />
<br />
5<br />
<br />
2<br />
<br />
3<br />
<br />
0<br />
<br />
1<br />
<br />
4<br />
<br />
1<br />
<br />
4<br />
<br />
0<br />
<br />
4<br />
<br />
7<br />
<br />
2<br />
<br />
B<br />
<br />
C<br />
<br />
D<br />
<br />
1<br />
<br />
7<br />
<br />
3<br />
<br />
0<br />
<br />
0<br />
<br />
2<br />
<br />
1<br />
<br />
0<br />
<br />
5<br />
<br />
2<br />
<br />
3<br />
<br />
0<br />
<br />
0<br />
<br />
3<br />
<br />
0<br />
<br />
4<br />
<br />
0<br />
<br />
3<br />
<br />
6<br />
<br />
1<br />
<br />
Máy<br />
A<br />
Công việc<br />
<br />
11<br />
<br />
Máy<br />
A<br />
Công việc<br />
<br />
− Bước 4. Nếu số lượng các<br />
đường thẳng nhỏ hơn số<br />
hàng, ⇒ cần điều chỉnh:<br />
Lấy tất cả các số của<br />
vùng không chứa giá trị<br />
0 trừ đi giá trị nhỏ nhất<br />
của vùng đó.<br />
Cộng giá trị nhỏ nhất<br />
vừa tìm được vào giá trị<br />
nằm trên giao điểm các<br />
đường thẳng.<br />
− Bước 5. Lặp lại bước 3,<br />
bước 4 cho tới khi bảng tối<br />
ưu xuất hiện.<br />
<br />
Máy<br />
Công việc<br />
<br />
− Bước 3. Kiểm tra xem đó<br />
có phải là sự phân công<br />
công việc tối ưu chưa.<br />
Bằng cách: vẽ một số<br />
lượng tối thiểu các đường<br />
thẳng đi qua tất cả cá giá<br />
trị 0. Nếu số lượng này<br />
bằng số hàng, đó là giải<br />
pháp<br />
tối<br />
ưu.<br />
Trong<br />
trườnghowpj này, chuyển<br />
đến bước 6.<br />
<br />
10<br />
<br />
B<br />
<br />
C<br />
<br />
D<br />
<br />
1<br />
<br />
7<br />
<br />
3<br />
<br />
0<br />
<br />
0<br />
<br />
2<br />
<br />
1<br />
<br />
0<br />
<br />
5<br />
<br />
2<br />
<br />
3<br />
<br />
0<br />
<br />
0<br />
<br />
3<br />
<br />
0<br />
<br />
4<br />
<br />
0<br />
<br />
3<br />
<br />
6<br />
<br />
1<br />
12<br />
<br />
3<br />
<br />
3. Phân công công việc dựa trên phương<br />
pháp quy hoạch tuyến tính (tiếp)<br />
Máy<br />
A<br />
Công việc<br />
<br />
− Bước 6. Thực hiện việc<br />
phân công. Bắt đầu với<br />
những hàng, những cột có<br />
duy nhất một giá trị 0 và<br />
triển khai cho các hàng các<br />
cột tiếp theo.<br />
− Trong giải pháp trên: công<br />
việc 1 ⇒ máy C; công việc<br />
2 ⇒ máy B; công việc 3 ⇒<br />
máy D; công việc 4 ⇒ máy<br />
A.<br />
− Tổng chi phí = 2 + 7 + 6 +<br />
5 = 20. Tại sao??<br />
− Khi số liệu là lợi nhuận??<br />
<br />
4. Xác định trình tự công việc<br />
<br />
B<br />
<br />
C<br />
<br />
1<br />
<br />
7<br />
<br />
3<br />
<br />
0<br />
<br />
0<br />
<br />
2<br />
<br />
1<br />
<br />
0<br />
<br />
5<br />
<br />
2<br />
<br />
3<br />
<br />
0<br />
<br />
0<br />
<br />
3<br />
<br />
0<br />
<br />
4<br />
<br />
0<br />
<br />
3<br />
<br />
6<br />
<br />
− Mục đích: xác định trình tự tiến hành các công việc<br />
đang chờ được xử lý tại một phân xưởng/trung tâm<br />
− Các nguyên tắc:<br />
FCFS (first come, first served): đến trước, xử lý<br />
trước. ⇒ Xử lý công việc theo thứ tự đến của<br />
chúng.<br />
SPT (shortest processing time): thời gian xử lý<br />
ngắn nhất. ⇒ Các công việc có thời gian xử lý<br />
ngắn nhất được tiến hành trước.<br />
<br />
D<br />
<br />
1<br />
<br />
13<br />
<br />
4. Xác định trình tự công việc (tiếp)<br />
<br />
14<br />
<br />
4. Xác định trình tự công việc (tiếp)<br />
<br />
DD (due date): ngày đến hạn. ⇒ Các công việc<br />
có thời gian đến hạn (thời gian giao hàng cho<br />
khách) ngắn nhất được xử lý trước.<br />
S/O (slack per operation): thời gian trì hoãn cho<br />
phép trên mỗi hoạt động. ⇒ Đòi hỏi phải tính<br />
thời gian trì hoãn cho phép trên mỗi hoạt động.<br />
⇒ Công việc nào có thời gian trì hoãn cho phép<br />
trên mỗi hoạt động ngắn nhất sẽ được xử lý<br />
trước.<br />
<br />
− Ví dụ: thời gian xử lý và ngày đến hạn của 6 công<br />
việc đang chờ tại một trung tâm được cho như<br />
dưới đây. Xác định trình tự xử lý theo: FCFS; SPT;<br />
DD.<br />
<br />
15<br />
<br />
16<br />
<br />
Công việc Thời gian xử lý (ngày) Thời gian đến hạn (ngày)<br />
<br />
A<br />
B<br />
C<br />
D<br />
E<br />
F<br />
<br />
2<br />
8<br />
4<br />
10<br />
5<br />
12<br />
<br />
7<br />
16<br />
4<br />
17<br />
15<br />
18<br />
<br />
4<br />
<br />
4. Xác định trình tự công việc (tiếp)<br />
<br />
4. Xác định trình tự công việc (tiếp)<br />
<br />
− Nguyên tắc FCFS. ⇒ Trình tự: A-B-C-D-E-F<br />
Công việc<br />
(1)<br />
<br />
Thời gian xử<br />
lý (2)<br />
<br />
A<br />
<br />
2<br />
<br />
B<br />
<br />
8<br />
<br />
C<br />
<br />
4<br />
<br />
D<br />
<br />
Dòng thời<br />
gian (3)<br />
<br />
− Nguyên tắc SPT. ⇒ Trình tự: A-C-E-B-D-F<br />
<br />
Ngày đến<br />
hạn (4)<br />
<br />
Số ngày muộn<br />
(5) = (3) – (4)<br />
<br />
Công việc<br />
(1)<br />
<br />
Thời gian xử<br />
lý (2)<br />
<br />
Dòng thời<br />
gian (3)<br />
<br />
Ngày đến<br />
hạn (4)<br />
<br />
Số ngày muộn<br />
(5) = (3) – (4)<br />
<br />
2<br />
<br />
7<br />
<br />
10<br />
<br />
16<br />
<br />
0<br />
<br />
A<br />
<br />
2<br />
<br />
2<br />
<br />
7<br />
<br />
0<br />
<br />
0<br />
<br />
C<br />
<br />
4<br />
<br />
6<br />
<br />
4<br />
<br />
14<br />
<br />
2<br />
<br />
4<br />
<br />
10<br />
<br />
E<br />
<br />
5<br />
<br />
11<br />
<br />
15<br />
<br />
10<br />
<br />
0<br />
<br />
24<br />
<br />
17<br />
<br />
7<br />
<br />
B<br />
<br />
8<br />
<br />
19<br />
<br />
16<br />
<br />
E<br />
<br />
5<br />
<br />
3<br />
<br />
29<br />
<br />
15<br />
<br />
14<br />
<br />
D<br />
<br />
10<br />
<br />
29<br />
<br />
17<br />
<br />
12<br />
<br />
F<br />
Tổng<br />
<br />
12<br />
<br />
41<br />
<br />
18<br />
<br />
23<br />
<br />
F<br />
<br />
12<br />
<br />
41<br />
<br />
18<br />
<br />
23<br />
<br />
41<br />
<br />
120<br />
<br />
54<br />
<br />
Tổng<br />
<br />
41<br />
<br />
108<br />
<br />
− Thời gian hoàn thiện trung bình = 120/6 = 20 ngày.<br />
− Thời gian muộn trung bình = 54/6 = 9 ngày.<br />
<br />
40<br />
<br />
− Thời gian hoàn thiện trung bình = 108/6 = 18 ngày.<br />
− Thời gian muộn trung bình = 40/6 = 6,67 ngày.<br />
17<br />
<br />
4. Xác định trình tự công việc (tiếp)<br />
<br />
18<br />
<br />
4. Xác định trình tự công việc (tiếp)<br />
<br />
− Nguyên tắc DD. ⇒ Trình tự: C-A-E-B-D-F<br />
<br />
− So sánh ba phương án.<br />
<br />
Công việc<br />
(1)<br />
<br />
Thời gian xử<br />
lý (2)<br />
<br />
Dòng thời<br />
gian (3)<br />
<br />
Ngày đến<br />
hạn (4)<br />
<br />
Số ngày muộn<br />
(5) = (3) – (4)<br />
<br />
Nguyên tắc<br />
<br />
Thời gian hoàn thiện<br />
trung bình<br />
<br />
Thời gian muộn<br />
trung bình<br />
<br />
C<br />
<br />
4<br />
<br />
4<br />
<br />
4<br />
<br />
0<br />
<br />
FCFS<br />
<br />
20 (ngày)<br />
<br />
9 (ngày)<br />
<br />
A<br />
<br />
2<br />
<br />
6<br />
<br />
7<br />
<br />
0<br />
<br />
SPT<br />
<br />
18<br />
<br />
6,67<br />
<br />
E<br />
<br />
5<br />
<br />
11<br />
<br />
15<br />
<br />
0<br />
<br />
DD<br />
<br />
18,33<br />
<br />
6,33<br />
<br />
B<br />
<br />
8<br />
<br />
19<br />
<br />
16<br />
<br />
3<br />
<br />
D<br />
<br />
10<br />
<br />
29<br />
<br />
17<br />
<br />
12<br />
<br />
F<br />
<br />
12<br />
<br />
41<br />
<br />
18<br />
<br />
23<br />
<br />
Tổng<br />
<br />
41<br />
<br />
110<br />
<br />
− Một vài nhận xét.<br />
SPT luôn vượt trội xét trên khía cạnh cực tiểu<br />
dòng thời gian ⇒ thời gian hoàn thiện trung bình<br />
là nhỏ nhất ⇒ công việc tồn đọng trong quy trình<br />
là nhỏ nhất (đẩy nhanh công việc ra khỏi hệ<br />
thống).<br />
<br />
38<br />
<br />
− Thời gian hoàn thiện trung bình = 110/6 = 18,33 ngày.<br />
− Thời gian muộn trung bình = 38/6 = 6,33 ngày.<br />
19<br />
<br />
20<br />
<br />
5<br />
<br />