You are on page 1of 66

Kỹ thuật điều độ

CHƯƠNG 4: ĐIỀU ĐỘ TRONG PHÂN XƯỞNG JOB SHOP

Mục tiêu của chương:

- Sử dụng các giải thuật để điều độ trong jobshop như:


Dịch chuyển điểm nghẽn; Shifting Bottlenneck

- Lập và giải các bài toán điều độ trong phân xưởng


Jobshop

1
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
3.1 Khái niệm chung
Điều độ jobshop là quá trình giải bài toán trong môi trường có n công việc,
mỗi công việc đều có một lộ trình xác định qua một số lượng máy cho trước
Trong đó:
- Một số mô hình một công việc chỉ có thể qua một máy nhiều nhất một lần
- Một số mô hình cho phép qua nhiều hơn một lần
Bài toán jobshop xuất hiện chủ yếu trong môi trường công nghiệp mà mỗi
khách hàng đều có các đặc điểm riêng và lượng đặt hàng thường nhỏ
VD: Sản xuất bản mạch in, những đơn hàng sản xuất theo lô; Lộ trình khám
chữa bệnh trong bệnh viện vv… đều là điều độ dạng jobshop

2
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.2 Qui hoạch DISJUNVTIVE
Qui hoạch DISJUNVTIVE áp dụng cho các bài toán jobshop với n công việc
và m máy.
Mỗi công việc được thực hiện bởi một số máy cho trước và không chu trình (no
recirculation).
Bài toán được thực hiện cho công việc j trên máy I, gọi là nguyên công (I,j) và
có thời gian thực hiện là pịj . Mục tiêu của bài toán là cực tiểu makespan Cmax
Bài toán được mô tả thông qua một đồ thị gọi là đồ thị các cung đứt
quãng với một tập các nút N và hia tập hợp cung A và B.
Các nút trong tập N tướng ứng với các nguyên công (i,j). Trong đó tập các
cung A là các cung liên nét. Tập các cung B là các cung đứt quãng

3
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.2 Qui hoạch DISJUNVTIVE
Trong đó: Tập cung A mô tả lộ trình
của các công việc.
VD: Cung (i,j) → (k,j) thuộc cung A thì
công việc j phải được thực hiện trên
Hình 4.1: Đồ thị trực tiếp G cho bài toán điều
máy i trước máy k hay nguyên công độ Jobshop
(i,j) thực hiện trước nguyên công (k,j).
Tập cung B dùng để diễn tả các nguyên công thuộc 2 công việc khác nhau,
thực hiện trên cùng một máy.
Các nguyên công được diễn tả bằng các nút. Các nút nối với nhau bằng các
cung đứt quãng phải được thực hiện trên cùng một máy

4
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.2 Qui hoạch DISJUNVTIVE
Tất cả các cung nối giữa các nút có độ
dài là thời gian thực hiện công việc
- Nút U là nút giả kí hiệu cho nguồn U
biểu thị có n cung liền nét nối đến n
nguyên công đầu tiên của n công việc. Hình 4.1: Đồ thị trực tiếp G cho bài toán điều
độ Jobshop

- Nút V là nút giả kí hiệu cho nút đích V biểu thị có các cung liền liền nét đế từ
tất cả các nguyên công cuối cùng.
Những cung nối từ nguồn có độ dài bằng 0. Kí hiệu đồ thị là G = (N,A)
Đồ thị G thường mô tả mối quan hệ trước sau giữa các nguyên công

5
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.2 Qui hoạch DISJUNVTIVE Bảng 4.1: Ví dụ về điều độ jobshop
Khi xây dựng kế hoạch điều độ khả Công việc Trình tự gia công Thời gian thực hiện
thi: Lựa chọn sao cho các cung đứt 1 2,1,4,3 P21; P11; P41; P31
quãng từ các cặp cung này không 2 1,2,3,4, P12; P22; P32; P42
3 1,2,4 P13; P23; P43;
xuất hiện vòng kín
VD bảng 4.1:
Có 3 nguyên công (2,2); (2,1) và (2,3) phải được thực hiện trên máy 2. Do đó
bảng điều độ khả thi có thể là (2,1) → (2,2) → (2,3) điều này chỉ rằng công việc
1 thực hiện trước công việc 2 , trước công việc 3. Do đó, không thể có thứ tự
khép kín (2,1) → (2,2) → (2,3) → (2,1)
Những cung nối từ nguồn có độ dài bằng 0. Kí hiệu đồ thị là G = (N,A)

6
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.2 Qui hoạch DISJUNVTIVE
Lưu ý: Khi thực hiện điều độ là tính không thành lập vòng kín giữa các máy khác
nhau. Vì các chương trình máy tính hiện nay đều có chức năng kiểm tra kiểm tra
này.
VD: có 2 công việc j và k tương ứng với hai máy gia công h và i, tương ứng với:
(h,j) và (i,j) là hai nguyên công liên tiếp của công việc j; (i,k) và (h,k) là hai nguyên
công liên tiếp của công việc k.
Nếu kết quả điều độ là nguyên công (i,j) trước
nguyên công (i,k) trên máy i và nguyên công (h,k)
trước nguyên công (h,j) trên máy h thì đồ thị chứa
một vòng kín với 4 cung, 2 cung liền nét và 2 cung
Hình 5.2: Kết quả điều độ không khả thi
đứt quãng từ những nhóm khá nhau.
Với kết quả này điều độ là không khả thi
7
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.2 Qui hoạch DISJUNVTIVE
Makespan của một bảng điều độ được
xác định bởi đường dài nhất từ nguồn U
đến đích V.
Đường dài nhất sẽ chứa một tập hợp các
nguyên công có thời gian bắt đầu tại thời
Hình 4.1: Đồ thị trực tiếp G cho bài toán điều
điểm o và kết thúc tại thời điểm độ Jobshop
makespan.
Mỗi nguyên công trên đường này được nối trực tiếp bằng một nguyên công của
công việc khác trên cùng máy hay một nguyên công của công việc trên máy khác.
Bài toán cực tiểu makespan trở thành bài toán tìm kiếm cung đứt quãng sao cho
cực tiểu độ dài đường dài nhất (Critical Path)

8
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.2 Qui hoạch DISJUNVTIVE
Công thức giải bài toán cực tiểu makespan cho bài toán jobshop được qui về sử
dụng công thức qui hoạch đứt quãng
Xét bài toán qui hoạch đứt quãng với yij là thời gian bắt đầu nguyên công (i,j), N là tập
hợp gồm tất cả các nguyên công (i,j) và A là tập hợp tất cả các ràng buộc về trình tự
của công việc trên các máy.
Mô hình qui hoạch mục tiêu hàm cực tiểu được xác định như sau:
Minimize Cmax
Ràng buộc:
ykj – yij ≥ pij Với tất cả (i,j) → (k,j) ∈ 𝑨
Cmax – yij ≥ pij Với tất cả (i,j) ∈ 𝑵
yij – yil ≥ pil hoặc yil – yij ≥ pij Với tất cả (i,l) và (iị) i = 1 …m
Yij ≥ 0 Với tất cả (i,j) ∈ 𝑵

9
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
VD: Xét một jobshop có 4 máy và 3 công việc. Trình tự và thời gian thực hiện được
cho trong bảng sau: Công việc Trình tự gia công Thời gian thực hiện
Mục tiêu: Cực tiểu Cmax: 1 1,2,3 P11 = 10; P21 = 8; P31 = 4;
Từ bảng số liệu thấy rằng: 2 2,1,4,3 P22 = 8; P12 = 3; P42 = 5; P32 = 6;
Tập ràng buộc thứ nhất: gồm 7 3 1,2,4 P13 = 4; P23 = 7; P43 = 3;
ràng buộc (02 ràng buộc công
việc 1, 3 ràng buộc công việc 2 và 2 ràng buộc công việc 3. Một ràng buộc công việc
loại này là: y21 – y11 ≥ 10
Tập ràng buộc thứ hai: gồm 10 ràng buộc (ràng buộc cho mỗi nguyên công). Một
ràng buộc công việc loại này là: Cmax – y11 ≥ 10
Tập ràng buộc Disjuntive: gồm 8 ràng buộc (mỗi máy 1 và 2 có 3 ràng buộc, mỗi máy
3,4 có một ràng buộc): y11 – y12 ≥ 3 hoặc y12 – y11 ≥ 10

Tập ràng buộc cuối cùng: gồm 10 ràng buộc không âm

10
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
GiảI thuật Branch and Bound gồm 2 bước chính:
Bước 1: Phân nhánh bài toán
Bước 2: Xác định các cân dưới (hoặc cận trên, tùy thuộc bài toán) ở mỗi nhánh.
Trong mỗi bước phân chia, giá trị cận dưới được dùng như một chỉ số để xác định
có đi tiếp nhánh hay bỏ qua để sang nhánh khác

Một số kí hiệu trong giải thuật Branch and Bound:


- Ω: Tập hợp các nguyên công mà tất cả việc trước nó đều đã được điều độ
- rij : Thời gian bắt đầu sớm nhất có thể được của nguyên công (i,j) trong tập Ω.
- Ω’: một tập con của Ω

11
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
GiảI thuật Branch and Bound hướng đến giải các bài toán điều độ tích cực (active
schedules)
Điều độ khả thi được gọi là tích cực nếu không thể thay đổi dưới bất kỳ hình thức
nào để các một số nguyên công hoàn tất sớm hơm mà không có nguyên công nào
khác kết thúc trễ hơn.
Máy 1 (1,1)
Để làm rõ về điều độ tích cực, xét VD về điều độ
không tích cực sau: Máy 2 (2,3) (2,2) (2,1)
Từ đồ thị thấy rằng: nguyên công (1,1) đang
chờ xử lý, trong khi đó có một khoảng thời gian
(3,2)
đủ lớn để thực hiện nguyên công tiếp theo nó Máy 3
trên máy 2. Rõ ràng là không tích cực vì một
điều độ tích cực không thể có thời gian rõi 0 2 4 6 8 Thời gian

trong khi có một nguyên công đang chờ thực Hình 4.3: Một điều độ không tích cực
hiện để có thể lấp vào khoảng thời gian đó
12
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Giải thuật 1: Sinh ra tất cả điều độ tích cực
Trình thực thực hiện:
Bước 1 (khởi tạo): - Đặt Ω chứa nguyên công đầu tiên của mỗi công việc
- Đặt rij = 0, ∀ 𝒊, 𝒋 ∈ Ω
Bước 2 (chọn máy): - Với bản điều độ từng phần thực hiện tại ta tính
t(Ω) = min {𝒓𝒊𝒋 + 𝒑𝒊𝒋 }
𝒊,𝒋 ∈Ω
- Gọi i* là máy ứng tới tmin
Bươc 3 (chia nhánh): - Đặt Ω’ là tập hợp tất cả nguyên công (i*,j) trên máy i* sao cho:
ri*j < t(Ω)
Với mỗi nguyên công trong Ω’, xét kế hoạch điều độ từng phần (mở rộng) với
nguyên công kế trên máy i*.
Với mõi kế hoạch điều độ từng phần này, xóa nguyên công từ tập Ω, gồm cả những
nguyên công ngay sau nó trong Ω và quay trở lại bước 2
13
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét một nhánh đi ra từ nút v (hình vẽ) tương ứng nguyên công (i*,j) ∈ Ω’ là nguyên
công được thực hiện trên máy i*.
Cung đứt quãng (i*,j) → (i∗,k) để chỉ ra nguyên công (i*,k) vẫn được điều độ trên máy i*.
Sau khi phát ra được các kế hoạch Nút v’
điều độ tích cực sẽ lần lượt xác định
chận dưới (Lower bound – LB) cho
các nhánh.
Nút v’
Đặt D’ là kí hiệu cho tập các cung Nút v’
được chọn tại nút mới sao cho số Chọn (i*,j) Chọn (i*,l)
cung đứt quãng Các cung đứt quãng
nhánh xuất hiện từ nút v = số nguyên Các (i*,j) → (i∗,k) được thêm vào (i*,l) → (i∗,k) được thêm vào
công trong Ω’. Ta nhận được Ω’ = {(i*,j) (i*,l)}
Để tìm chặn dưới cho makespan tại Hình 4.4: Cây phân nhánh cho cách tiếp cận Branch & Bound
nút v’
14
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Để tiến hành điều độ, xét các nguyên công trong Ω’. Trên máy i sẽ tiến hành tuần tự
các nguyên công để tìm cận dưới (LB) theo các bước
Bước 1: Xác định các thời gian sẵn sàng khả dĩ rij Nút đích
Nút nguồn
cho nguyên công (ij).
Bước 2: Với (i,j) trên máy i, tính thời gian hoàn tất … …

dij = LB + pij (LB: thời gian dài nhất từ nút (i,j) đến rij dn

nút đích).
Bước 3: Sau khi có được rij, dij, pij cho nguyên
công (i,j) trên máy i. Tiến hành tuần tự hóa các Hình 4.4: Cây phân nhánh cho cách tiếp
nguyên công trên máy i với hàm mục tiêu là cực cận Branch & Bound
tiểu tổng độ trễ đại số để làm cơ sở xác định LB

15
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
VD: Xét kế hoạch điều độ trước sau được chỉ ra
trên hình 4.5. Ứng dụng giải thuật B&B để tối ưu
thời gian Makespan cho kế hoạch điều độ 1,1
10 2,1
8
3,1
Nguồn Đích
Nhận xét: Đồ thị ban đầu chỉ chứa cá cung 0 8 3 5 6
U 2,2 1,2 4,2 3,2 V
liền như hình 4.6 a
Makespan = 22 4 7
4,3
1,3 2,3
Áp dụng B&B để tính toán điều độ tích cực
cho kế hoạch điều độ trên đồ thị
Hình 4.6: Đồ thị trước sau tại mức 1

16
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 1: 1,1
10 2,1
8
3,1
Nguồn
Áp dụng giải thuật 1: Đích
0 8 3 5
Ω = {(1,1), (2,2), (1,3)} U 2,2 1,2 4,2 3,2
6
V
(Ω) = min(0+10), 0+8,0+4) = 4
i* = 1 a) 4 7
1,3 2,3 4,3
Ω’ = {(1,1),(1,3)}
Như vây, máy có thời gian xử lý nguyên công trong 10 8
1,1 2,1 3,1
Ω nhỏ nhất là máy 1. Nguồn Đích
Đặt các nguyên công có r1j <t (Ω) = 4 vào Ω’ gồm 0 3 5 6
U 2,2
8
1,2 4,2 3,2 V
(1,1) và (1,3)
Như vậy, có 2 nút được xét ở mức 1, tương ứng
b) 4 7
nguyên công (1,1) và (1,3) được gia công trên máy 1 1,3 2,3 4,3

Hình 4.6: Đồ thị trước sau tại mức 1

17
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
a) Trường hợp nguyên công (1,1) được điều độ trước 8
10 2,1 3,1
1,1
Khi nguyên công (1,1) được điều độ trước, hai Nguồn Đích

cung đứt quãng được thêm vào (hình 4.6b) U


0
2,2 1,2
3
4,2
5
3,2
6
V
8
(1,1) → 𝟏, 𝟐 và (1,1) → 𝟏, 𝟑
Khi đó: Makespan = 24 b)
1,3
4 7
4,3
2,3
Để cải thiện cận dưới xét độ trễ cực đại với số
ngày bắt đầu sản xuất và số ngày tới hạn cho Hình 4.6: Đồ thị trước sau tại mức 1
máy 1:
- Ngày bắt đầu sản xuất công việc j là rij (là đường nối từ nguồn tới nút (1,j hay thời
gian sẵn sàng xử lý nguyên công (i,j)). Hình 4.6b.
- Ngày tới hạn củ việc j là dij
dij = (Makespan – đường dài nhất từ nút (1,j) đến đích) + p1j

18
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Khi sử dụng giải thuật 1 cần lưu ý:
- Chọn máy và chia nhánh. Trong đó chia nhánh từ nút tương ứng với việc chọn
nguyên công (i*,j) thuộc Ω’.
- Xác định bài toán xếp nguyên công trên máy m giống như bài toán máy đơn với
các công việc khác nhau, không xét luật ưu tiên và hàm mục tiêu là cực tiểu độ trễ
đại số cực đại (maximum latencess)
- Thứ tự tối ưu cho bài toán là thứ chọn các cung đứt quãng mà ta có thể vẽ thêm
vào đồ thị liền nét ban đầu (một cách tạm thời) sao cho thỏa mãn hàm mục tiêu.
- Xác định thời gian bắt đầu xử lý rij và ngày tới hạn dij mỗi nguyên công sao cho
việc sắp xếp thứ tự điều độ các nguyên công trên máy i được đảm bảo.
- Makespan lớn nhất đạt được theo cách trên được sử dụng như một cận dưới tại
nút V’.

19
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
10 8
a) Trường hợp nguyên công (1,1) được điều độ trước Nguồn
1,1 2,1 3,1
Đích
* Các bước tính toán chi tiết 0 3 5 6
Xét máy 1, ta có dữ liệu U 2,2
8
1,2 4,2 3,2 V
Công việc 1 2 3 Hai trường hợp thứ tự
P1j 10 3 4 xử lý công việc: b)
1,3
4
2,3
7
4,3

r1j 0 10 10 TH1: 1 → 𝟐 → 𝟑
d1j 10 13 14 TH2: 1 → 𝟑 → 𝟐 Hình 4.6: Đồ thị trước sau tại mức 1

Thứ tự công việc: 1 → 𝟐 → 𝟑 Thứ tự công việc: 1 → 𝟑 → 𝟐


Thứ tự xử lý Quãng thời Độ trễ đại số Độ trễ đại Thứ tự xử lý Quãng thời Độ trễ đại số Độ trễ đại
công việc gian số cự đại công việc gian số cự đại
1 [0,10] L1 = 0 Lmax = 3 1 [0,10] L1 = 0 Lmax = 4
2 [10,13] L2 = 0 3 [10,14] L2 = 0
3 [14,17] L3 = 17-14 = 3 2 [13,17] L3 = 17-13 = 4
Kết quả cho thấy thứ tự công việc trên máy 1 với cực tiểu Lmax là: 1 → 𝟐 → 𝟑 và Lmaxcực chỉ ra cận dưới
(LB) cho makespan tại nút (1,1) là: 24+3 = 27
20
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
10 8
a) Trường hợp nguyên công (1,1) được điều độ trước Nguồn
1,1 2,1 3,1
Đích
Xét máy 2, ta có dữ liệu 0 3 5 6
U 2,2
8
1,2 4,2 3,2 V
Công việc 1 2 3
P2j 8 8 7 b) 4 7
1,3 2,3 4,3
r2j 10 0 14
d2j 20 10 21
Hình 4.6: Đồ thị trước sau tại mức 1
Thứ tự công việc: 2 → 𝟏 → 𝟑
Thứ tự xử lý Quãng thời Độ trễ đại số Độ trễ đại
công việc gian số cự đại Kết quả cho thấy thứ tự công việc trên máy
2 [0,8] L2 = 8-10 = 2 Lmax = 4 2 với cực tiểu Lmax là: 2 → 𝟏 → 𝟑 và Lmax cực
1 [10,18] L1 = 18-20 = 2 chỉ ra cận dưới (LB) cho makespan tại nút
3 [18,25] L3 = 25-21 = 4
(1,1) là: 24+4 = 28

21
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
10 8
a) Trường hợp nguyên công (1,1) được điều độ trước Nguồn
1,1 2,1 3,1
Đích
Tương tự: Phân tích máy 3, máy 4 không đượ cận 0 3 5 6
U 2,2 1,2 4,2 3,2 V
dưới tốt hơn 8

Xét máy 3 với: 1 → 𝟐 Xét máy 4 với: 2 → 𝟑


b) 4 7
Công việc 1 2 Công việc 2 3 1,3 2,3 4,3

P3j 4 6 P4j 5 3
r3j 8 18 r4j 13 21
Hình 4.6: Đồ thị trước sau tại mức 1
d3j 18 24 d4j 18 24
Thứ tự công việc máy 3: 1 → 𝟐 Thứ tự công việc máy 4: 2 → 𝟑
Thứ tự xử lý Quãng thời Độ trễ đại số Độ trễ đại Thứ tự xử lý Quãng thời Độ trễ đại số Độ trễ đại
công việc gian số cự đại công việc gian số cự đại

1 [18,22] L1 = 22-24 = - 2 Lmax = 4 2 [13,18] L1 = 18-18 = 0 Lmax = 0


2 [22,28] L2 = 28-24 = 4 3 [21,24] L2 = 24-24 = 0

22
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
a) Trường hợp nguyên công (1,3) được điều độ trước
Khi nguyên công (1,3) được điều độ trước, hai cung đứt quãng được
thêm vào (hình 4.6c)
(1,1) → 𝟏, 𝟐 và (1,1) → 𝟏, 𝟑 8
10
Khi đó: LB = 26 1,1 2,1 3,1
Nguồn Đích
0 3 5 6
U 2,2
8 1,2 4,2 3,2 V

c) 7
4
1,3 2,3 4,3

Hình 4.6: Đồ thị trước sau tại mức 1

23
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
a) Trường hợp nguyên công (1,3) được điều độ trước
10 8
Xét máy 1 với 3 → 𝟏 → 𝟐 1,1 2,1 3,1
Nguồn Đích
Công việc 1 2 3
0 3 5 6
P1j 10 3 4
U 2,2
8 1,2 4,2 3,2 V
r1j 4 8 0
d1j 14 15 4

c) 7
4
Thứ tự xử lý Quãng thời Độ trễ đại số Độ trễ đại 1,3 4,3
2,3
công việc gian số cự đại
3 [0,4] L3 = 4 – 4 = 0 Lmax = 2
Hình 4.6: Đồ thị trước sau tại mức 1
1 [4,14] L2 = 4 – 4 = 0
2 [14,17] L3 = 17-15 = 2

Như vậy LB ở nút này: 26+2 = 28

24
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
a) Trường hợp nguyên công (1,3) được điều độ trước
10 8
Xét máy 2 với 2 → 𝟑 → 𝟏 1,1 2,1 3,1

Công việc 1 2 3 Nguồn Đích

P2j 8 8 7 0 3 5 6
r2j 14 0 4 U 2,2
8 1,2 4,2 3,2 V
d2j 22 12 23

Thứ tự công việc: 2 → 𝟏 → 𝟑 7


4
Thứ tự xử lý Quãng thời Độ trễ đại số Độ trễ đại 1,3 2,3 4,3
công việc gian số cự đại c)
2 [0,8] L2 = 8-12 = - 2 Lmax = 1
Hình 4.6: Đồ thị trước sau tại mức 1
3 [8,15] L3 = 15-23 = -8
1 [15,23] L1 = 23-22 = 1 Kết quả cho thấy thứ tự công việc trên máy 2 với cực
tiểu Lmax là: 2 → 𝟏 → 𝟑 và Lmax cực chỉ ra cận dưới
(LB) cho makespan tại nút (1,1) là: 24+4 = 28

25
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
10 8
a) Trường hợp nguyên công (1,3) được điều độ trước Nguồn
1,1 2,1 3,1
Đích
0 3 5
Xét máy 3 với: 1 → 𝟐 (𝒉𝒐ặ𝒄 2 → 𝟏) U 2,2 1,2 4,2 3,2
6
V
8
Công việc 1 2
P3j 4 6 b) 4 7
4,3
1,3 2,3
r3j 22 16
d3j 26 26 Hình 4.6: Đồ thị trước sau tại mức 1

Thứ tự xử lý công Quãng thời Độ trễ đại số Độ trễ đại Tương tự, xét máy 4 với 2 → 𝟑máy
việc gian số cự đại
cũng không cho kết quả cải thiện.
1 [16,22] L1 = 22-26 = - 4 Lmax = 4 Như vậy, trường hợp kết hợp bài toán
có độ trễ đại số cực đại cho máy 1 có
2 [22,26] L2 = 26-26 = 0 thứ tự tối ưu 3,1,2 với Lmax = 2.

Phân tích máy 4 theo cách tương tự không được một cận dưới tốt hơn

26
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 2: 8
10
Áp dụng giải thuật 1: 1,1 2,1 3,1
Đích
Ω = {(2,2), (2,1), (1,3)} Nguồn
(Ω) = min(0+8, 10+8,10+4) = 8 0 3 5 6
i* = 2 U 2,2
8 1,2 4,2 3,2 V
Ω’ = {(2,2)} 8
Như vậy, có 2 nút được xét ở mức 2, b)
4 7
tương ứng nguyên công (2,2) được gia 1,3 2,3 4,3
công trên máy 2. Hai đường ngắt quãng
được thêm vào đồ thị là (2,2) → (2,1) và Hình 4.6: Đồ thị trước sau tại mức 2
(2,2) → (2,3).
Nút này được đặc trưng bởi bốn cung đứt quãng:
(1,1) → (1,2) (1,1) → (1,3)
(2,2) → (2,1) (2,2) → (2,3)

27
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 2: Không có cung
Mức 0 Disjuntive

Các cung này dẫn đến


trường hợp, bài toán cực
tiểu độ trễ cực đại số cho
(1,1) được điều độ (1,3) được điều độ
máy 1 với ngày sản xuất và Mức 1
trước trên 1 máy trước trên máy 1
ngày tới hạn như nhau (giả LB = 28
LB = 28
sử Makespan = 28)
(2,2 được điều độ
Mức 2 trước trên máy 2

Hình 4.6: Đồ thị trước sau tại mức 2

28
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 2: 10 8
1,1 2,1 3,1
Xét máy 1 với trình tự 1 → 𝟑 → 𝟐 Nguồn
Đích

Công việc 1 2 3 0 3 5 6

P1j 10 3 4 U 2,2
8 1,2 4,2 3,2 V
r1j 0 10 10
d1j 14 17 18 b)
4 7
1,3 2,3 4,3
Thứ tự xử lý công Quãng thời Độ trễ đại số Độ trễ đại
việc gian số cự đại
1 [0,10] L1 = 10 – 14 = -4 Lmax = 0
Hình 4.6: Đồ thị trước sau tại mức 1
3 [10,14] L3 = 14 – 18 = -4
2 [14,17] L2 = 17-17 = 0

29
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 2: 10 8
1,1 2,1 3,1
Xét máy 2 với 3 → 𝟐 → 𝟏 Nguồn
Đích

0 3 5 6
Công việc 1 2 3
U 2,2
8 1,2 4,2 3,2 V
P2j 8 8 7
r2j 10 0 14
d2j 24 14 25 b) 7
4
1,3 2,3 4,3
Thứ tự xử lý công Quãng thời Độ trễ đại số Độ trễ đại số
việc gian cự đại
3 [14,21] L2 = 21-25 = - 4 Lmax = 15 Hình 4.6: Đồ thị trước sau tại mức 1
2 [21,29] L3 = 29-14 = 15 Kết quả cho thấy thứ tự công việc tối ưu
1 [29,37] L1 = 37-24 = 13 là: 1 → 𝟑 → 𝟐 và Lmaxchỉ ra cận dưới (LB)
cho makespan tại nút tương ứng là: 28
Phân tích máy 3 và máy 4 theo cách tương
+ 0 = 28
tự mà không làm tăng cận dưới
30
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 3:
Áp dụng giải thuật 1:
Ω = {(4,2), (4,3), (3,1), (3,2)}
(Ω) = min(13+5, 21+3,18+4, 18+6) = 18
i* = 4 10 8
1,1 2,1 3,1
Đích
Nguồn
0 3 5 6
U 2,2
8 1,2 4,2 3,2 V

8
d) 7
4
1,3 2,3 4,3

Hình 4.6: Đồ thị trước sau tại mức 3

31
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 3: 10 8
1,1 2,1 3,1
Xét máy 4 với trình tự 2 → 𝟑 Nguồn
Đích

0 3 5 6
Công việc 2 3
U 2,2
8 1,2 4,2 3,2 V
P4j 5 3
r4j 13 21 8

d4j 22 28 d) 7
4
1,3 2,3 4,3
Thứ tự xử lý công Quãng thời Độ trễ đại số Độ trễ đại
việc gian số cự đại
2 [13,18] L1 = 18 – 22 = -4 Lmax = -4 Hình 4.6: Đồ thị trước sau tại mức 1
3 [21,24] L2 = 24-28 = -4

32
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 3: 10 8
1,1 2,1 3,1
Đích
Xét máy 3 Nguồn
0 3 5 6
Công việc 1 2
U 2,2
8 1,2 4,2 3,2 V
P3j 4 6
r3j 22 16 8

d3j 28 28 d) 7
4
1,3 2,3 4,3

Dễ thấy ở máy 3 là 1 → 𝟐
Hình 4.6: Đồ thị trước sau tại mức 1

33
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 3: 10 8
1,1 2,1 3,1
Tiêp tục sử dụng thủ tục B&B, các Nguồn
Đích

kết quản theo thứ tự các công việc 0 3 5 6


U 2,2 1,2 4,2 3,2 V
cho 4 máy theo bảng sau 8

8
Máy Thứ tự công việc d)
4 7
1,3 2,3 4,3
1 1 → 𝟑 → 𝟐 (𝒉𝒂𝒚 1 → 𝟐 → 𝟑)
2 2→𝟏 →𝟑
Hình 4.6: Đồ thị trước sau tại mức 1
3 1→𝟐
4 2→𝟑

34
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.3 Áp dụng giải thuật BRANCH and BOUND
Xét mức 3:
Máy 1 1 3 2

Máy 2 2 1 3

1 2
Máy 3

2 3
Máy 4

10 20 28 30
Hình 4.7: Kết quả điều độ tối ưu trong VD
35
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.4 Giải thuật dịch chuyển nút thắt cổ chai với mục tiêu cực tiểu
thời gian gia công dài nhất (Makespan)
Giải thuật dịch chuyển nút thắt cổ chai (Shiting Bottleneck Algorithm) được áp dụng
cho bài toán điều độ job shop trong trường hợp nghẽn nút cổ chai với mục tiêu cực
tiểu makespan

Một số kí hiệu trong giải thuật dịch chuyển nút thắt cổ chai:
- M: Tập hợp tất cả các máy trong điều độ Job shop
- M0 : Tập hợp tất cả các máy đã được điều độ ứng với một máy trong tập Mo có
một chuỗi thứ tự các nguyên công đã được xác định.
- {M – M0 }: Tập hợp các máy đang được xem xét để điều độ

36
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau:
Giải thuật 1: Giải thuật dịch chuyển thắt cổ chai:
Bước 1 (các điều kiện ban đầu)
Đặt M0 = Φ
Xóa tất cả các cung đứt quãng, giữ lại các cung liên tục ở đồ thị ban đầu G. Đặt Cmax
(M0) bằng với đường dài nhất trong G (Makespan của G)
Bước 2 (Phân tích các máy cần điều độ)
Với mỗi máy i trong tập {M – M0 } thực hiện các công việc:
- Thiết lập bài toán máy đơn với tất cả nguyên công, ràng buộc về ngày sẵn sàng (rij),
ngày tới hạn (dij).
+ Ngày bắt đầu sản xuất của nguyên công (i,j) được xác định bằng đường dài nhất
trong đồ thị G từ nguồn đến (I,j).
+ Ngày tới hạn của nguyên công (I,j) = Đường dài nhất trên đồ thị G (tính từ (i,ị) đến
đích) – pij
- Cực tiểu Lmax trong mỗi bài toán đơn
- Lmax (i) kí hiệu Lmax cực tiểu trong bài toán cong tương ứng với máy i
37
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau:
Giải thuật 1: Giải thuật dịch chuyển thắt cổ chai:
Bước 3 (Chọn nút cổ chai và thực hiện điều độ)
- Đặt Lmax (k) = max ( Lmax(i)); k là máy có Lmax cực đại trong các máy
𝒊 ∋ 𝑴−𝑴𝟎
- Điều độ máy k dựa vào thứ tự đạt được trong bước 2.
- Chèn máy k vào M0
Bước 4 (Tái sắp xếp các máy được chọn điều độ trước đó)
- Thực hiện với mỗi máy i trong tập {M – M0 } các việc
- Xóa các cung đứt quãng tướng ứng trong G
- Thiết lập bài toán đơn cho máy i
- Tìm thứ tự điều độ mà cực tiểu Lmax (i) và chèn vào G cung đứt quãng tương ứng
Bước 5 (Tiêu chuẩn dừng)
Nếu M0 = M thì DỪNG, ngược lại trở về bước 2.
Giải thuật này cho thấy quan hệ giữa các khái niệm nút thắt và các khái niệm tổ hợp khác như
đường tới hạn và độ trễ đại số
38
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau:
Ví dụ:
Ứng dụng giải thuật kinh nghiệm dịch chuyển nút thắt cổ chai co bài toán với 4 máy
và 3 công việc theo đồ thị G và Lộ trình thời gian gia công được cho bảng sau:

Công việc Trình tự gia công Thời gian thực hiện


1 1,2,3 P11 = 10; P21 = 8; P31 = 4;
2 2,1,4,3 P22 = 8; P12 = 3; P42 = 5; P32 = 6;
3 1,2,4 P13 = 4; P23 = 7; P43 = 3;
10 8
1,1 2,1 3,1
Nguồn Đích
0 8 3 5 6
U 2,2 1,2 4,2 3,2 V

4 7
1,3 2,3 4,3

Hình 4.7: Đồ thị G điều độ công việc

39
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau: Nguồn
1,1
10 2,1
8
3,1
Đích
Bước lặp 1: 0 8 3 5 6
U 2,2 1,2 4,2 3,2 V
M0 = Φ
Cmax (Φ) = 22 1,3
4
2,3
7
4,3

Công việc 1 2 3
Xét máy 1: Hình 4.7: Đồ thị G’ điều độ công việc
P1j 10 3 4
sau khi đạt được bước lặp 1
r1j 0 8 0
d1j 10 11 12 Lmax (1,2,3) = max {10-10, 13-11,17-12} =
5
Ta có 3! = 6 Phương án:
Lmax (1,3,2) = max {0,2,6} = 6
Lmax (2,1,3) = max {0,11,13} = 13 Min Lmax (i) =
5
Lmax (2,3,1) = max {0,3,15} = 15
Lmax (3,1,2) = max {-8,4,6} = 6
Thứ tự tối ưu sẽ là 1 → 𝟐 → 𝟑
Lmax (3,2,1) = max {-8,0,15} = 15
Với Lmax = 5

40
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
8
Giải thuật được thực hiện như sau: Nguồn 1,1
10 2,1 3,1
Đích
Bước lặp 1: 0 8 3 5 6
U 2,2 1,2 4,2 3,2 V
M0 = Φ
Cmax (Φ) = 22 1,3
4
2,3
7
4,3

Công việc 1 2 3
Xét máy 2: Hình 4.7: Đồ thị G’ điều độ công việc
P2j 8 8 7 sau khi đạt được bước lặp 1
r2j 10 0 4
Lmax (1,2,3) = max {0, 16,14} = 16
d2j 18 8 19
Lmax (1,3,2) = max {0,6,25} = 25
Ta có 3! = 6 Phương án: Lmax (2,1,3) = max {0,0,6} = 6
Min Lmax (i) = 5
Lmax (2,3,1) = max {0,-4,5} = 5
Lmax (3,1,2) = max {-8,9,19} = 19
Thứ tự tối ưu sẽ là 1 → 𝟐 → 𝟑 Lmax (3,2,1) = max {-8,7,55} = 15
Với Lmax = 5

41
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau: 1,1
10 2,1
8
3,1
Nguồn Đích
Bước lặp 1: 8
0 3 5 6
M0 = Φ U 2,2 1,2 4,2 3,2 V

Cmax (Φ) = 22 4 7
1,3 2,3 4,3
Công việc 1 2
Xét máy 3:
P3j 4 6 Hình 4.7: Đồ thị G’ điều độ công việc
r3j 18 16 sau khi đạt được bước lặp 1
d3j 22 22

Ta có 2! = 2 Phương án:

Lmax (1,2) = max {0,6} = 6


Lmax (2,1) = max {0,4} = 4 Min Lmax (i) = 4

42
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau: 1,1
10 2,1
8
3,1
Nguồn Đích
Bước lặp 1: 8
0 3 5 6
M0 = Φ U 2,2 1,2 4,2 3,2 V

Cmax (Φ) = 22 4 7
1,3 2,3 4,3
Công việc 2 3
Xét máy 4:
P4j 5 3
Hình 4.7: Đồ thị G’ điều độ công việc
r4j 11 11
sau khi đạt được bước lặp 1
d4j 16 22

Ta có 2! = 2 Phương án:

Lmax (2,3) = max {0,-3} = 0


Min Lmax (i) = 0
Lmax (3,2) = max {-8,3} = 3

43
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau: 1,1
10 2,1
8
3,1
Nguồn Đích
Bước lặp 1: 8
0 3 5 6
M0 = Φ U 2,2 1,2 4,2 3,2 V

Cmax (Φ) = 22 4 7
1,3 2,3 4,3

Như vậy: Lmax (1) = 5; Lmax (2) = 5; Lmax (3) = 4,


Lmax (4) = 0 Hình 4.7: Đồ thị G’ điều độ công việc
sau khi đạt được bước lặp 1
Đồ thị G’’ đạt được bằng cách cố định các cung đứt quãng tương ứng
với thứ tự các công việc trên máy 1. Với
Cmax ({1}) = Cmax (Φ) + Lmax (1) = 22 + 5 = 27

44
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau: 1,1
10 2,1
8
3,1
Nguồn Đích
Bước lặp 2:
0 8 3 5 6
M0 = {1} U 2,2 1,2 4,2 3,2 V

Cmax ({1}) = 27 4 7
1,3 2,3 4,3
Công việc 1 2 3
Xét máy 2:
P2j 8 8 3 Hình 4.7: Đồ thị G’’ điều độ công việc
r2j 10 0 17 sau khi đạt được bước lặp 2
d2j 23 10 24
Công việc 1 2
Xét máy 3: P3j 4 6
Thứ tự tối ưu sẽ là 2 → 𝟏 → 𝟑 r3j 18 18
Với Lmax (2) = 1 d3j 27 27

Cả hai thứ tự: 1 → 𝟐 hay 𝟐 → 1 đều tối ưu


Với Lmax (3) = 1

45
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau: 1,1
10 2,1
8
3,1
Nguồn Đích
Bước lặp 2:
0 8 3 5 6
M0 = {1} U 2,2 1,2 4,2 3,2 V

Cmax ({1}) = 27 4 7
1,3 2,3 4,3

Máy 4 có thể phân tích như trường hợp máy 2,3 ta


Hình 4.7: Đồ thị G’’ điều độ công việc
được kết quả: Lmax (4) = 0
sau khi đạt được bước lặp 2
Như vậy, máy 2 và máy 3 là nút chai.
Chọn máy 2 được vào M0 ta có:

M0 = {1,2}
Cmax ({1,2}) = Cmax (1) + Lmax (2) = 27 + 1 = 28

46
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau: 1,1
10 2,1
8
3,1
Nguồn Đích
Xét máy 1: Từ hình 4.7 thấy rằng: thứ tự trên 0 8 3 5 6
U 2,2 1,2 4,2 3,2 V
máy 1 được cộng vào G’’ và thu được G’’.
Tại điểm này vẫn còn một phần bước lặp 2, 1,3
4
2,3
7
4,3

nên cần giảm Cmax ({1,2}) bằng cách tái điều


độ máy 1 Hình 4.7: Đồ thị G’’ điều độ công việc
sau khi đạt được bước lặp 2
Để giảm Cmax ({1,2}) cần xóa các cung đứt quãng
tương ứng với máy 1 trên G’’.
Như vậy, ta sẽ xét bài toán con (máy đơn) cho máy 1 để tìm thứ tự ưu tiên mới (nếu
có) để cực tiểu độ trễ đại số cực đại và thay vào G’’ nếu có

47
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau: 8
10 2,1 3,1
1,1
Xét máy 1: Nguồn Đích
Công việc 1 2 3 0 8 3 5 6
U 2,2 1,2 4,2 3,2 V
P1j 10 3 4
r1j 0 8 0 4 7
1,3 2,3 4,3
d1j 10 17 18

Ta có 3! = 6 Phương án sau: Hình 4.7: Đồ thị G’’ điều độ công việc


Lmax (1,2,3) = max {0, -4,-1} = 0
sau khi đạt được bước lặp 2
Lmax (1,3,2) = max {0,-4,0} = 0
Có thể thấy việc tái điều độ máy 1
Lmax (2,1,3) = max {-6,11,7} = 11
Min Lmax (i) = 0 không cho cải thiện nào
Lmax (2,3,1) = max {-6,-3,15} = 15
Lmax (3,1,2) = max {-14,4,0} = 4
Lmax (3,2,1) = max {-14,2,15} = 15

48
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Giải thuật được thực hiện như sau:
Như vậy:
- Tất cả các máy đã được điều độ
- Lmax cao nhất của máy còn lại đều = 0
Do đó, không có máy nào tạo ra nút cổ chai
Bảng điều độ cuối cùng xác định bởi thứ tự máy theo sau:
- Thứ tự công việc 1 → 𝟐 → 𝟑: trên máy 1.
- Thứ tự công việc 2 → 𝟏 → 𝟑: trên máy 2
- Thứ tự công việc 2 → 𝟏: trên máy 𝟑
- Thứ tự công việc 2 → 𝟑: trên máy 𝟒
Makespan = 28

49
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.4 Giải thuật dịch chuyển nút thắt cổ chai với mục tiêu cực tiểu
thời gian gia công dài nhất (Makespan)
Ví dụ 2 (Ràng buộc trước sau bị chậm trễ (delayed precedence constraints):
Cho thứ tự công việc trên máy (đã được điều độ) có ảnh hưởng quan trọng đến các
máy chưa điều độ trong trường hợp theo bảng số liệu sau:
1
1,1 2,1
Công việc Trình tự gia công Thời gian thực hiện Nguồn
Đích
1 1,2 P11 = 1; P21 = 4; 1,2
1
U 2,2
V
2 2,1 P22 = 1; P12 = 1;
3,3
3 3 P23 = 4
4 3 P34 = 4
3,4

Hãy áp dụng giải thuật kinh nghiệm dịch chuyển nút cổ chai cho bài toán trên?

50
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Áp dụng giải thuật kinh nghiệm dịch chuyển nút cổ chai, kết quả qua 3 bước lặp sau:
Bước lặp 1:
Gồm tối ưu ba bài toán con. Dữ liệu bài toán con liên quan đến các máy 1,2,3 được
liệt kê như sau: 1
1,1 2,1
Công việc 1 2 Nguồn
Đích
p1j 1 1 1,2
1
U 2,2
V
r1j 0 1
d1j 3 4 3,3

Công việc 1 2
Công việc 1 2
p3j 4 4
p2j 1 1 3,4
r3j 0 0
r2j 1 0
d2j 4 3
d3j 4 4 Hình 4.8: Đồ thị G điều độ sau khi sử
dụng bước lặp 1
Lời giải tối ưu cho máy 1 và 2 là Lmax = 0 và với máy 3
Lmax = 3. Vì vậy, ,máy 3 được điều độ trước và cung
(3.4) → (3,3) được chèn vào.
51
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Áp dụng giải thuật kinh nghiệm dịch chuyển nút cổ chai, kết quả qua 3 bước lặp sau:
Bước lặp 2:
Tập các bài toán con được kết hợp với máy 1 và máy 2
1
Công việc 1 2 1,1 2,1
Nguồn
p1j 1 1 Đích
1,2
1
r1j 0 1 U 2,2
V
d1j 7 8 Công việc 1 2 3,3

p2j 1 1
r2j 1 0
3,4
d2j 8 7

Hình 4.9: Đồ thị G điều độ sau khi sử


Lời giải tối ưu cho máy 1 và 2 là Lmax = -6. dụng bước lặp 2
Vì vậy, ta chọn tùy ý máy được điều độ tiếp theo
Cung (1,2) → (1,1) được chèn vào (hình 4.9)

52
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Áp dụng giải thuật kinh nghiệm dịch chuyển nút cổ chai, kết quả qua 3 bước lặp sau:
Bước lặp 3:
Còn lại một bài toán con và nó được kết hợp với bài toán 2
1
1,1 2,1
Công việc 1 2 Nguồn 3
Đích
1
p2j 1 1 1,2
U 2,2
V
r2j 3 0
3,3
d2j 8 5

Bất kỳ bảng điều độ nào cho máy 3 cũng có một 3,4


Lmax ≤ 0. Nếu chọn tùy ý một bảng điều độ và
cung (2,1) → (2,2) được chèn vào thì một chu
Hình 4.10: Đồ thị G điều độ sau khi sử
trình được tạo ra trên đồ thị và như vậy bảng
dụng bước lặp 3
điều độ tổng thể không khả thi (hình 4.10)

53
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.5 Giải thuật dịch chuyển nút thắt cổ chai với mục tiêu cực tiểu tổng độ
trễ có trọng số
Áp dụng cho các bài toán job shop
Hoàn tất công
không chu kỳ (Recirculation) với hàm 1,1 2,1 3,1 V1 việc 1

mục tiêu là tổng độ trễ có trong số Nguồn


σ𝒏𝒋=𝟏 𝒘𝒋 𝑻𝒋 . Khi có thời gian hoàn tất cả
Hoàn tất
U V2
n công việc đều quan trọng. Thay vì 2,2 1,2 2,2
công việc 2

có một nút đến, ta có n đích đến V1,


V2, …, Vn (hình 4.11).
Chiều dài đường từ nguồn U đến đích 2,3 V3
Hoàn tất công
2,3 2,3 việc 3
Vk biểu diễn cho thời gian hoàn tất
việc k.
Bài toán là sự kết hợp giữa giải thuật Hình 4.11: Đồ thị có hướng cho job shop với
kinh nghiệm dịch chuyển nút thắt cổ hàm muc tiêu là tổng thời gian trễ
chai với luật ATC

54
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Bước 1:
- Loại bỏ tất cả các cung nét đứt quãng, xây dựng đồ thị là các cung nét liền.
- Đặt thời gian gia công pij lên từng cung
- Tính toán rij và dkij cho từng máy độc lập. Trong đó:
+ rij: Thời điểm sẵn sàng cho nguyên công (i,j) trên máy i được xác định từ
đồ thị liền nét vừa vẽ.
+ dkij: Thời điểm tới hạn cục bộ của từng nguyên công (i,j) trong công việc k
(dkij được xác định bằng cách tính từ thời điểm tới hạn đã cho dk của công việc k
tính lùi lại cho đến (i,j). Nếu trên đồ thị conjuntive của công việc k không có nguyên
công (i,j) thì đặt dkij = ∞ và kí hiệu bằng dấu ‘’-’’)

55
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Bước 2:
- Tiến hành điều độ độc lập cho từng máy theo luật phân việc cơ bản ATC, tính chỉ số xếp
hạng công việc Iij(t) : 𝒏 𝒘𝒌 𝒎𝒂𝒙(𝒅𝒌
𝒊𝒋 − 𝒑𝒊𝒋 + 𝒓𝒊𝒋 −𝒕 ,𝟎)
Iij(t) = σ𝒌=𝟏 𝐞𝐱𝐩 −
𝒑𝒊𝒋 𝒌ഥ
𝒑
Trong đó: t: Thời gian sớm nhất máy i có thể sử dụng
k: Tham số đo lường (thường chọn là 0,1)
𝒑ഥ : Là phần nguyên của trung bình chiều dài các nguyên công được gia
công trên máy i
- Tính toán hàm mục tiêu σ 𝒘𝒋 𝑻𝒋 cho từng máy để xác định máy đã chọn (tính cho
từng công việc và thời gian tới hạn cục bộ dkij)
- Chọn máy có σ 𝒘𝒋 𝑻𝒋 có cao nhất để điều độ trước
Bước 3:
- Tiếp tục lặp lại quá tình cho các máy chưa được điều độ.
- Tính giá trị σ 𝒘𝒋 𝑻𝒋 trị chọn máy có σ 𝒘𝒋 𝑻𝒋 cao nhất để điều độ
Quá trình tiếp tục cho đến hết các máy chưa được điều độ

56
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Ví dụ:
Xét bài toán có 3 máy và 2 công việc như hình 4.12 và các thông số khác nhau như
trong bảng 5 10 4
d1 = 24
1,1 2,1 3,1 V1
Công wj rj dj Trình tự Thời gian thực hiện
việc máy Nguồn

1 1 5 24 1,2,3 P11 = 5; P21 = 10; P31 = 4 0 4 5 6


d2 = 18
U 3,2 1,2 2,2 V2
2 2 0 18 3,1,2 P22 = 4; P12 = 5; P32 = 6

3 2 0 16 3,2,1 P33 = 5; P23 = 3; P13 = 7


5 3 7
3,3 2,3 1,3 V3 d3 = 16

Hình 4.12: Đồ thị có hướng cho job shop


trong ví dụ

57
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Bước lặp 1:
Tiến hành điều độ cho 3 máy riêng biệt.
Thời gian dkij được tính như sau:
- Nếu không có đường nào từ nguyên công (i,j) đến nút Vk thì dkij là vô cùng và kí
hiệu “-”.
- Nếu nút (iị) nằm trên đường đến nút Vk thì dkij = dk – thời gian dài nhất từ ngay
nút (iị) đến nút Vk .
Ví dụ: d212 = d2 – (6) = 18 – 6 = 12
rij: Thời gian sẵn sàng cho nút (i,j)
Tiến hành điều độ cho từng máy theo mô hình máy đơn sử dụng luật ATC để tính
chỉ số Iij(t) cho nguyên công (i,j), với t là thời gian sớm nhất có thể sử dụng máy i.
Chọn k = 0,1

58
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Bước lặp 1: 5 10 4
d1 = 24
Kết quả tính dkij , rij cho các máy cụ thể V1
1,1 2,1 3,1

như sau: Nguồn

Máy 1 0 4 5 6
U 3,2 1,2 2,2 V2 d2 = 18
Công việc 1 2 3
P1j 5 5 7
r1j 5 4 8
5 3 7
d11j, d21j, d31j 10, - , - -, 12, - -, -, 16 3,3 2,3 1,3 V3 d3 = 16

Máy 2 Hình 4.12: Đồ thị có hướng cho job shop trong ví dụ


Máy 3
Công việc 1 2 3 Công việc 1 2 3
P2j 10 6 3 P3j 4 4 5
r2j 10 9 5 r3j 20 0 0
d12j, d22j, d32j 20, - , - -, 18, - -, -, 9 d13j, d23j, d33j 24, - , - -, 7, - -, -, 6

59
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Bước lặp 1: 5 10 4
d1 = 24
1,1 2,1 3,1 V1

Chỉ số xếp hạng công việc Iij(t)


Nguồn

𝒘 𝒎𝒂𝒙(𝒅𝒌
𝒊𝒋 − 𝒑𝒊𝒋 + 𝒓𝒊𝒋 −𝒕 ,𝟎) 0 4 5 6
Iij(t) = σ𝒏𝒌=𝟏 𝒌 𝐞𝐱𝐩 − U 3,2 1,2 2,2 V2 d2 = 18
𝒑 𝒊𝒋 𝒌ഥ𝒑

Chỉ số ưu tiên cho nguyên công gán với máy 1 là:


5 3 7
I11(4) = 1,23x10-6 ; 3,3 2,3 1,3 V3 d3 = 16

I12(4) = 3,3x10-7 ;
Hình 4.12: Đồ thị có hướng cho job shop trong ví dụ
I13(4) = 1,46x10-12
ഥ=5
vì t = 4; 𝒑
Như vậy, Nguyên công (1,1) có chỉ số lớn nhất nên ta điều độ vào vị trí ưu tiên đầu tiên
Sau khi đã chọn nguyên công (1,1) tính lại những chỉ số còn lại để chọn nguyên công điều độ kế tiếp

60
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Bước lặp 1: 5 10 4
d1 = 24
2,1 3,1 V1
Tính toán giá trị hàm mục tiêu sau khi chọn 1,1

nguyên công (1,1) Nguồn


Máy 1:
0 4 5 6
Nguyên công (1,1) có c11 = 10; d111 = 10 U 3,2 1,2 2,2 V2 d2 = 18
Nguyên công (1,2) có c12 = 15; d212 = 12
Nguyên công (1,3) có c13 = 22; d313 = 16
Do đó: σ 𝒘𝒋 𝑻𝒋 = 1.(10 - 10) +2.(15 - 12)+ 2.(22 - 16) = 18 5 3 7
3,3 2,3 1,3 V3 d3 = 16
Kết quả tính toán được thể hiện trên bảng sau cho
các máy 2,3 Hình 4.13: Đồ thị có hướng cho job shop sau bước lặp 1
Máy Thứ tự điều độ Giá trị hàm mục tiêu
Như vậy, Bài toán con 1 cho giá trị cao nhất, ta điều độ
1 (1,1), (1,2), (1,3) 18
cho máy 1 bằng cách chèn các cung quãng đứt vào
2 (2,3), (2,1), (2,2) 16
(1,1) → (1,3) như hình 4.13
3 (3,3), (3,2), (3,1) 4

61
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Bước lặp 2: 5 10 4
d1 = 24
Dữ liệu cho bài toán mới tương ứng V1
1,1 2,1 3,1

với máy 2 và 3 được cho như sau: Nguồn

Máy 2 0 4 5 6
U 3,2 1,2 2,2 V2 d2 = 18
Công việc 1 2 3
P2j 10 6 3
r2j 10 15 5
5 3 7
d12j, d22j, d32j 20, - , - -, 21, - -, -, 15 3,3 2,3 1,3 V3 d3 = 16

Hình 4.13: Đồ thị có hướng cho job shop sau bước lặp 1
Máy 3
Công việc 1 2 3
P3j 4 4 5
r3j 20 0 0
d13j, d23j, d33j 24, - , - -, 10, 10 -, -, 12

62
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Bước lặp 2: 5 10 4
d1 = 24
1,1 2,1 3,1 V1
Trong bước lặp này, nguyên công (3,2)
có hai giá trị ngày tới hạn vì có hai Nguồn

đường hướng từ nút (3,2) tới V2 và V3 U


0
3,2
4
1,2
5
2,2
6
V2 d2 = 18

Khi đó:
I32(0) = 1,53x10-7 + 1.53x10-7 = 3,06x10-7
5 3 7
d3 = 16
ഥ = 5.
Vì vì t = 0; 𝒑 3,3 2,3 1,3 V3

Lời giải thu được từ ba bài toán nhỏ là:


Hình 4.14: Đồ thị có hướng cho job shop sau bước lặp 2

Máy Thứ tự điều độ Giá trị hàm mục tiêu Như vậy, Bài toán con 2 cho giá trị cao nhất (10), ta
2 (2,3), (2,1), (2,2) 10 điều độ cho máy 2 bằng cách chèn các cung quãng đứt
3 (3,2), (3,3), (3,1) 0 vào (2,3) → (2,1) (2,1) → (2,2) như hình 4.14

63
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Bước lặp 3: 5 10 4
d1 = 24
1,1 2,1 3,1 V1
Bài toán con chỉ còn lại máy 3
Nguồn
Công việc 1 2 3 0 4 5 6
U 3,2 1,2 2,2 V2 d2 = 18
P3j 4 4 5

r3j 20 0 0

d13j, d23j, d33j 24, - , - -, 15, 10 7, 7, 12 5 3 7


3,3 2,3 1,3 V3 d3 = 16

Hình 4.15: Đồ thị có hướng cho job shop sau bước lặp 2

Như vậy, Bài toán con 3 là (3.3), (3,2), (3,1) cho giá trị = 0, ta điều độ cho máy 3 bằng
cách chèn các cung quãng đứt vào (3,3) → (3,2) và (3,2) → (3,1) như hình 4.15

64
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
Phương pháp được mô tả như sau:
Kết quả điều độ cuối cùng ta có hàm 5 10 4
d1 = 24
1,1 2,1 3,1 V1
mục tiêu
Nguồn

0 4 5 6
σ𝟑𝒋=𝟏 𝒘𝒋 𝑻𝒋
= 1.((24-24)+ + 2.(26 - 18)+ + U 3,2 1,2 2,2 V2 d2 = 18

2.(22 - 16)+ = 28

5 3 7
3,3 2,3 1,3 V3 d3 = 16

Hình 4.15: Đồ thị có hướng cho job shop sau bước lặp 2

Như vậy, Bài toán con 3 là (3.3), (3,2), (3,1) cho giá trị = 0, ta điều độ cho máy 3 bằng
cách chèn các cung quãng đứt vào (3,3) → (3,2) và (3,2) → (3,1) như hình 4.15

65
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved
Kỹ thuật điều độ
4.5 Giải thuật dịch chuyển nút thắt cổ chai với mục tiêu cực tiểu tổng độ
trễ có trọng số
Giải thuật này không đảm bảo một (1,1) (1,2)4 (1,2)
Máy 1
lời giải tối ưu.
Lời giải tối ưu cho bài toán này Máy 2 (2,3) (2,2) (2,2)
bằng 18 đạt được bằng một thuật
toán khác phức tạp hơn. Đó là các Máy 3 (3,3) (3,2) (3,1)

giải thuật tự hiệu chỉnh giống như


kỹ thuật tối ưu hóa trên máy (tương 0 5 10 15 20 25
tự như ở bước 4 của giải thuật 3) Hình 4.16: Bảng điều độ cuối cùng trong Ví dụ

66
Webiste: https://haui.edu.vn © 2022 Hanoi University of Industry All rights reserved

You might also like