Professional Documents
Culture Documents
Chapter7 Quy Ho CH Nguyên - Quy Ho CH Đ NG
Chapter7 Quy Ho CH Nguyên - Quy Ho CH Đ NG
1
1. Quy Hoạch Nguyên
1.1. Giới thiệu BT quy hoạch nguyên
n
Xét BT QHTT ở dạng chuẩn
Min Z cx
j 1
j j
n
RB : a
j 1
ij x j bi 0 i 1, 2, ..., m
xj 0 j 1, 2, ..., n
Nếu tất cả các biến của BT là số nguyên, thì BT có dạng QH
nguyên thuần túy (Pure Integer Programming).
Nếu một vài biến của BT là số nguyên, thì BT có dạng QH
nguyên hỗn hợp (Mixed Integer Programming).
Nếu các biến của BT chỉ nhận các giá trị nguyên 0 hoặc 1, thì BT
có dạng QH nguyên 0-1 (Zero-One Integer Programming).
3
2
1. Quy Hoạch Nguyên (tt2)
VD 7.1: BT Knapsack 0-1 (BT người mang vác hàng)
Giả sử 1 người phải lựa chọn việc đem theo một số hàng hóa trong n
mặt hàng đang có. Mặt hàng thứ j có giá trị cj và trọng lượng aj.
VĐ: người ngày phải lựa chọn sao cho giá trị của các mặt hàng mang
theo là tối đa trong điều kiện giới hạn trọng lượng mang theo là K.
Giả sử Biến QĐ của BT
1 neáu maët âaø
ná j ñö ôuc câoun
x
n 0 neáu maët âaø
ná j kâoâná ñö ôuc câoun
Max Z cx j 1
j j
n
RB : a
j 1
j xj K
x j 0 âoaëc 1 j
5
a j
1j x j b1 (a) hay a
j
2j x j b 2 (b)
Sử dụng Biến nguyên 0-1 y với 2 số dương M1, M2 đủ lớn sao cho:
a
j
1j x j b1 M1 y (1)
Nếu y = 0, thì RB (1).
Nếu y = 1, thì RB (2).
a 2jx j b 2 M 2 (1 - y) (2)
j
3
1. Quy Hoạch Nguyên (tt4)
VD 7.3: BT lập thứ tự công việc (Sequencing Problem)
Giả sử Thời gian để hoàn thành công việc i là pi và Thời điểm mà ở đó công
việc i được bắt đầu là ti.
So sánh giữa 2 công việc i và j, có 2 TH
1. Công việc i được thực hiện trước công việc j: tj≥ti+pi
2. Công việc j được thực hiện trước công việc i: ti≥tj+pj
Để biểu diễn 2 khả năng của 1 cặp công việc i, j, với số dương đủ lớn Mij và
biến nguyên 0-1 yij,
yij = 1, nếu công việc i được thực hiện trước công việc j và ngược lại.
RB về thứ tự nêu trên:
M ij y ij t i t j p j
M ij (1 y ij ) t j t i p i
y ij 0 âoaëc 1
7
x
i 1
ij dj j
x ij 0 i, j
yi 0 hay 1 i 8
4
1. Quy Hoạch Nguyên (tt6)
VD 7.5: BT người giao hàng (Traveling Salesman Problem)
Người giao hàng phải giao hàng cho n địa điểm C1, C2,…, Cn hàng ngày. Bắt đầu
từ C1 và phải quay trở lại đây sau khi làm xong công việc. Cij là khoảng cách
giữa 2 điểm giao hàng i và j.
BT: Người giao hàng phải lựa chọn đường đi như thế nào để tổng quảng đường là
n n
ngắn nhất.
Min
i1 j 1
c ij x ij
n
RB : j1
x ij 1 i
i 1
x ij 1 j
u i u j nx ij n -1 i, j 2,3,..., n; i j
x ij 0 hay 1 i, j
u i 0 hay nguyên i 2,3,..., n
9
n n
Min
i1 j 1
c ij x ij
n
RB : j1
x ij 1 i
i 1
x ij 1 j
u i u j nx ij n 1 i, j 2,3,..., n; i j
x ij 0 âoaëc 1 i, j
u i 0 vaø náuyeân i 2,3,..., n
10
5
1. Quy Hoạch Nguyên (tt8)
1.3. Phương pháp giải BT quy hoạch nguyên
VD 7.6: Xét BT QHTT
Max Z 5x 1 8x 2
RB : 5x 1 3x 2 30
5x 1 9x 2 45
x 1 , x 2 0 vaønáuyeân
Nếu bỏ qua yêu cầu về tính nguyên của biến, thì nghiệm của BT là
x1 = 4,5; x2 = 2,5. Và làm tròn thành biến nguyên x1 = 5; x2 = 3.
Nhưng Nghiệm tối ưu thực sự của BT quy hoạch nguyên này là
x1 = 0; x2 = 5 (khác với x1 = 5; x2 = 3).
11
6
2. Quy Hoạch Động
BT quy hoạch động là 1 dạng BT tối ưu hóa, mà trong đó việc tìm ra
giải pháp tối ưu của BT được thực hiện thông qua việc tìm nghiệm tối
ưu của 1 chuỗi các BT con có liên quan đến BT ban đầu.
Quy hoạch động là 1 pp giải quyết tối ưu theo từng giai đoạn, thích
hợp với các QĐ theo tuần tự thời gian hoặc không gian.
BT quy hoạch động cho biết Nghiệm tối ưu theo từng giai đoạn.
Việc liên kết các giai đoạn của BT quy hoạch động được thực hiện
thông qua phép đệ quy. Tùy thuộc vào Bản chất của BT mà phương
trình đệ quy tương ứng sẽ được thiết lập ở dạng xuôi dòng
(Forward Recursive Equation) hoặc ngược dòng (Backward
Recursive Equation).
13
12 7
2 5 7
1 4 15 3
6
7 10
1 4 8 9
3 3 7
2 15
3 6
4
14
7
2. Quy Hoạch Động (tt2)
Giải BT bằng đệ quy ngược dòng
Giả sử
• fi: Thời gian di chuyển nhỏ nhất từ nút i đến nút 9.
• tij: Thời gian di chuyển trên cung (i, j).
Trên cung (i, j) bất kỳ,
f i t ij f j i 9; j
Do vậy: f i min {t ij f j} i9
j
Đường đi ngắn nhất từ i đến 9, buộc phải qua 1 nút
nào đó, nên
f i min {t ij f j} i9
j
15
f5 = t57 + f7 = 7 + 3 = 10 12 7
2 5 7
1 4 15 3
6
7 10
1 4 8 9
3 3 7
2 15
3 6
4
16
8
2. Quy Hoạch Động (tt4)
Giải BT bằng đệ quy ngược dòng
t 45 f 5 4 10
t f 3 15 t f 6 14
f 4 min 46 6 min 14 f 2 min 24 4 min 20
t
47 7 f 15 3 t 25 f 5 12 10
t 48 f 8 7 10
t f 1 20
t f 3 14 f1 min 12 2 min 19
f 3 min 34 4 min 17 t13 f 3 2 17
t 36 f 6 4 15
12 7 Đường đi ngắn nhất từ
2 5 7
1 4 15 3 1 đến 9: 1-3-4-5-7-9, với
6
7 10 tổng thời gian là 19.
1 4 8 9
3 3 Đường đi ngắn nhất từ
2 7
15 bất kỳ nút nào đến nút
3 6
4 9.
17
18
9
2. Quy Hoạch Động (tt3)
Giải BT bằng đệ quy xuôi dòng
f1 = 0 12 7
2 5 7
1 4 15 3
6
f2 = t12 + f1 = 1 + 0 = 1 7 10
1 4 8 9
3 3 7
f3 = t13 + f1 = 2 + 0 = 2 2 15
3 6
4
t f 6 1
f 4 min 24 2 min 5
t 34 f 3 3 2
t f 12 1
f 5 min 25 2 min 9
t 45 f 4 45
19
10