You are on page 1of 16

ĐIỀU ĐỘ DỰ ÁN

(PROJECT SCHEDULING)

Lớp KTHTCN - ĐHBK 2021

1
Project Scheduling
 Định nghĩa:

Project: là một loại hình sản phẩm/dịch vụ đặc biệt
chỉ có một (one-of-a-kind), cấu tạo bởi một số
thành phần gọi là công việc (activities), có thời
gian bắt đầu - thực hiện - kết thúc rõ ràng (time
based), các công việc xác định thứ tự trước-sau rõ
ràng (precedence constraints), và có yêu cầu nguồn
lực (resource requirements)
(Hax and Candea, 1984)

2
Đặc điểm Project

 Mục tiêu Project: chất lượng, thời gian, chi phí, sự hài lòng
của khách hàng
 Các công việc (activities/jobs)
 Năng lực, nguồn lực giới hạn
 Tuổi thọ dự án phụ thuộc:
 Yêu cầu khách hàng
 Thiết kế qui trình
 Điều độ nguồn lực
 Sự thực hiện dự án
 Đánh giá
3
Thí dụ về Dự án

 Construction
 Production
 Management
 Research
 Maintenance
 Installation, implementation

4
Cấu trúc chia nhỏ công việc của Dự án

Project

Main Activity Main Activity Main Activity

Activity Activity Activity Activity Activity Activity

5
Các nội dung

 Sử dụng graph để diễn tả dự án


 Critical Path Method (CPM)
 Điều độ dự án
 Bài toán cơ bản
 Phương pháp điều độ khi tài nguyên không hạn chế
 Phương pháp điều độ khi tài nguyên hạn chế

6
Biểu diễn Dự án

Job Duration Predecessors


1 2 -
AON-representation:
2 3 1 1 2 4 6
3 1 1
4 4 2
5 2 3 3 5 7
6 1 4,5
7 3 4,5
1 2 4 6
AOA -
representation: 3 7
5
Dummy activity: công việc giả có thời gian bằng không,
đưa vào để biểu diễn tính trước sau của các công việc 7
Thí dụ 2
AON-representation:
Job p(j) Predecessors
1
1 2 -
2 3 -
3 1 - 2 4 6
4 4 1,2
5 2 2,3 3 5
6 1 4 AOA-representation:

1 6
4
2 5

3 8
Điều độ Dự án

 Bài toán dễ nếu không xem xét ràng buộc tài nguyên
 Với rang buộc tài nguyên:
khi công việc chia sẻ tài nguyên và nếu tài nguyên giới
hạn thì các công việc không thể bắt đầu cùng lúc nên phải
điều độ lại  vẽ cung đứt quãng
Thí dụ

Jobs 1 2 3 4 5
1 4
p(j) 8 4 6 4 4
R(1,j) 2 1 3 1 2 Resource R1 R2
R(2,j) 3 0 4 0 3 Available 4 8 2 5

3
9
Điều độ dự án
không xem xét ràng buộc nguồn lực
Critical Path Method (CPM)
 Công việc tới hạn (critical job): công việc không có trễ (slack)

𝑆𝑗𝑒 = Thời gian bắt đầu sớm nhất của công việc j
𝐶𝑗𝑒 = Thời gian hoàn tất sớm nhất có thể của công việc j
𝐶𝑗𝑙 = Thời gian hoàn tất trễ nhất có thể của công việc j
slack j = 𝐶𝑗𝑙 − 𝑝𝑗 − 𝑆𝑗𝑒
Đường tới hạn (Critical path) = đường nối các công việc tới
hạn
 Forward procedure
 Backward procedure
10
Project scheduling without resource
constraints:
critical path method (CPM)

 Khởi tạo CPM:


 Xác định thới gian bắt đầu sớm nhất
 Xác định thời gian hoàn tất trễ nhất
 Xác đinh công việc tới hạn
 2 giải thuật:
 Forward procedure
 Backward procedure
11
Critical path method
 Forward CPM procedure
𝑆𝑗𝑒 = 0
STEP1: For each job that has no predecessors: 𝐶𝑗𝑒 = 𝑝𝑗
𝑆𝑗𝑒 = max𝐶𝑘𝑒
STEP2: compute for each job j: 𝑘→𝑗
𝐶𝑗𝑒 = 𝑆𝑗𝑒 + 𝑝𝑗
𝑒
STEP3: 𝐶max
𝑗 𝑗 max

 Backward CPM procedure 𝐶𝑗𝑙 = 𝐶max


𝑙
STEP1: For each job that has no successors: 𝑗 = 𝐶𝑗max
𝑆

𝑙 𝑙
STEP2: compute for each job j: 𝐶𝑗 = min 𝑆𝑘
𝑗→all k
𝑆𝑗𝑙 = 𝐶𝑗𝑙 − 𝑝𝑗
STEP3: Verify that: 0 = min𝑆𝑗𝑙
12

𝑗
CPM example

Job p(j) Predecessors


1 2 -
2 3 -
3 1 -
4 4 1,2
Sink
5 2 2,3 2
(project end)
6 1 4 1

0 3 4 1 0
S 2 4 6 T

Source 1 2
(project start) 3 5 13
Job p(j) Predecessors S' C''
1 2 - 0 3
2 3 - 0 3
3 1 - 0 6
4 4 1,2 3 7 Critical job:
5 2 2,3 3 8 C’’ = C’ = S’+p
6 1 4 7 8
2
1
0 3
Legend: 0 3 4 1 0
S 2 4 6 T
duration 0 0 7 8
0 3 3 7 8 8
j 1 2
S’ C’’ 3 5 14

0 6 3 8
Resource constraints

 Giả sử các công việc cần tài nguyên:


Tài nguyên cần
Job p(j) Predecessors S' C'' R(1,j)
1 2 - 0 3 3 6
2 3 - 0 3 1 5 3
3 1 - 0 6 2
4
4 4 1,2 3 7 2 2 5
5 2 2,3 3 8 3 3
6 1 4 7 8 3 2
1 6
1 4

1 2 3 4 5 6 15 7 8
Resource constraints (cont.)
 Suppose :
𝑅1 = 4

6
5
4
2
3
2 increases by 2
Cmax
1 5 6
1 3 4

1 2 3 4 5 6 7 8 9 10
16

You might also like