Tải bản đầy đủ (.ppt) (21 trang)

Phương pháp phân tích định lượng - Chương 7 Quy hoạch nguyên và quy hoạch động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (177.95 KB, 21 trang )

Chương 7
Quy Hoạch Nguyên –
Quy Hoạch Động
2
C7. Quy Hoạch Nguyên – Quy Hoạch Động
1. Quy Hoạch Nguyên
2. Quy Hoạch Động
3
1. Quy Hoạch Nguyên
1.1. Giới thiệu BT quy hoạch nguyên

Xét BT QHTT ở dạng chuẩn

=
=
n
1j
jj
xcMin Z
n , 2, 1,j0x
m , 2, 1,i0 bxa
j
n
1j
ijij
=∀≥
=∀≥=

=
:RB


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).
4
1. Quy Hoạch Nguyên (tt1)
1.2. Các ví dụ về BT quy hoạch nguyên

VD 7.1: BT Knapsack 0-1 (BT người mang vác hàng)

VD 7.2: BT hoặc cái này hoặc cái kia (Either-Or Problem)

VD 7.3: BT lập thứ tự công việc (Sequencing Problem)

VD 7.4: BT thiết lập kho (Warehouse Problem)

VD 7.5: BT người giao hàng (Traveling Salesman Problem)
5
1. Quy Hoạch Ngun (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ị c
j
và trọng lượng a
j

.

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

=
=
n
1j
jj
xcMax Z



=
chọn được khôngj mặt hàng nếu0
chọn được j mặt hàng nếu1
x
j10x
Kxa
j
n
1j
jj
∀=
<

=

hoặc
:RB
6
1. Quy Hoạch Nguyên (tt3)
VD 7.2: BT hoặc cái này hoặc cái kia (Either-Or Problem)

BT QHTT chỉ 1 trong 2 RB tùy từng TH
Sử dụng Biến nguyên 0-1 y với 2 số dương M
1
, M
2
đủ lớn sao cho:
∑ ∑
≤≤
j j
2j2j1j1j
(b) bxahay(a) bxa


≤−
≤−
j
22j2j
j
11j1j
(2)y)-(1Mbxa
(1)yMbxa
Nếu y = 0, thì RB (1).
Nếu y = 1, thì RB (2).
m ràng buộc g

i
(x) ≤ 0; i = 1, 2, …, m và chỉ có k RB thỏa mãn.
Sử dụng m biến nguyên 0-1 y
i
; i = 1, 2, …, m và m số dương đủ
lớn M
i
; i = 1, 2, …, m.
m1,2, ,i1 0y
kmy yy
m1,2, ,iyM(x)g
i
m21
iii
==
−=+++
=≤
hoaëc
7
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à p
i
và Thời điểm mà ở đó công
việc i được bắt đầu là t
i
.

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: t
j
≥t
i
+p
i
2. Công việc j được thực hiện trước công việc i: t
i
≥t
j
+p
j

Để 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 M
ij

biến nguyên 0-1 y
ij
,
y
ij
= 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:
1 0y
ptt)y(1M
pttyM
ij
iijijij
jjiijij

hoaëc=
≥−+−
≥−+
8
1. Quy Hoạch Nguyên (tt5)
VD 7.4: BT thiết lập kho (Warehouse Problem)
y
i
= 1 nếu kho được thiết lập tại địa điểm i, nếu không thì y
i
= 0; i = 1,2,…,m.
f
i
: Chi phí thiết lập kho hàng tại địa điểm i.
x
ij
: Lượng hàng vận chuyển từ kho tại địa điểm i đến điểm tiêu thụ j; j = 1,2,…,n.
c
ij
: Chi phí vận chuyển 1 đơn vị hàng hóa từ kho hàng tại điểm i đến điểm j.
d
j
: Nhu cầu của điểm tiêu thụ j.
s
i
: Khả năng cung cấp của kho hàng được thiết lập tại địa điểm i.
i1hay 0y
ji,0x
jdx
iysx

i
ij
m
1i
jij
n
1j
iiij
∀=
∀≥
∀≥
∀≤
+=


∑∑ ∑
=
=
= = =
:RB
yfxcCostMin
m
1i
n
1j
m
1i
iiijij
9
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 C
1
, C
2
,…, C
n
hàng ngày. Bắt đầu
từ C
1
và phải quay trở lại đây sau khi làm xong công việc. C
ij
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à ngắn nhất.
n2,3, ,inguyênhay 0u
ji,1hay 0x
ji n;2,3, ,ji,1-nnxuu
j1x
i1x
i
ij
ijji
n
1i
ij
n
1j
ij

=∀≥
∀=
≠=≤+−
∀=
∀=


∑∑
=
=
= =
:RB
xcMin
n
1i
n
1j
ijij
10
1. Quy Hoạch Nguyên (tt7)

BT người giao hàng có dạng
n2,3, ,i0u
ji,1 0x
ji n;2,3, ,ji,1nnxuu
j1x
i1x
i
ij
ijji

n
1i
ij
n
1j
ij
=∀≥
∀=
≠=−≤+−
∀=
∀=


∑∑
=
=
= =
nguyeânvaø
hoaëc
:RB
xcMin
n
1i
n
1j
ijij
11
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

nguyeânvaø 0x,x
459x5x
303x5x
21
21
21

≤+
≤+
+=
:RB
8x5x ZMax
21
Nếu bỏ qua yêu cầu về tính nguyên của biến, thì nghiệm của BT là
x
1
= 4,5; x
2
= 2,5. Và làm tròn thành biến nguyên x
1
= 5; x
2
= 3.
Nhưng Nghiệm tối ưu thực sự của BT quy hoạch nguyên này là
x
1
= 0; x
2
= 5 (khác với x
1

= 5; x
2
= 3).
12
1. Quy Hoạch Nguyên (tt9)
1.3. Phương pháp giải BT quy hoạch nguyên

Giải BT quy hoạch nguyên khá phức tạp vì tùy
thuộc vào Bản chất BT (thuần túy, hỗn hợp hay 0-
1), Số lượng các biến nguyên và Cấu trúc đặc thù.

Có 2 pp giải BT quy hoạch nguyên:

Giải thuật mặt cắt (Cutting Plane Algorithm)

Giải thuật phân nhánh và chặn (Branch and Bound
Algorithm).
13
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).
14
2. Quy Hoạch Động (tt1)

VD 7.9: Tìm đường đi ngắn nhất từ Nút 1 đến Nút 9, với thời gian di
chuyển được ghi trên từng cung đường
1 94 8
2
3 6
5 7
1
2
6
3
12
7
4
4
3
7
7
15
15
10
3
15
2. Quy Hoạch Động (tt2)
Giải BT bằng đệ quy ngược dòng


Giả sử

f
i
: Thời gian di chuyển nhỏ nhất từ nút i đến nút 9.

t
ij
: Thời gian di chuyển trên cung (i, j).

Trên cung (i, j) bất kỳ,
Do vậy:

Đường đi ngắn nhất từ i đến 9, buộc phải qua 1 nút
nào đó, nên
9i}f{t minf
jij
j
i
≠+≤
9i}f{t minf
jij
j
i
≠+=
j 9;iftf
jiji
∀≠+≤
16

2. Quy Hoạch Động (tt3)
Giải BT bằng đệ quy ngược dòng

f
9
= 0

f
8
= t
89
+ f
9
= 10 + 0 = 10

f
7
= t
79
+ f
9
= 3 + 0 = 3



f
5
= t
57
+ f

7
= 7 + 3 = 10
1 94 8
2
3 6
5 7
1
2
6
3
12
7
4
4
3
7
7
15
15
10
3
15
015
107
min
ft
ft
minf
969
868

6
=






+
+
=






+
+
=
17
2. Quy Hoạch Động (tt4)
Giải BT bằng đệ quy ngược dòng
1 94 8
2
3 6
5 7
1
2
6

3
12
7
4
4
3
7
7
15
15
10
3
17
154
143
min
ft
ft
minf
636
434
3
=






+

+
=






+
+
=
14
107
315
153
104
min
ft
ft
ft
ft
minf
848
747
646
545
4
=















+
+
+
+
=















+
+
+
+
=
20
0112
146
min
ft
ft
minf
525
424
2
=






+
+
=







+
+
=
19
172
201
min
ft
ft
minf
313
212
1
=






+
+
=







+
+
=
Đường đi ngắn nhất từ
1 đến 9: 1-3-4-5-7-9, với
tổng thời gian là 19.
Đường đi ngắn nhất từ
bất kỳ nút nào đến nút
9.
18
2. Quy Hoạch Động (tt2)
Giải BT bằng đệ quy xuôi dòng

Giả sử

f
i
: Thời gian di chuyển nhỏ nhất từ nút 1 đến nút i.

t
ij
: Thời gian di chuyển trên cung (i, j).

Trên cung (i, j) bất kỳ,
Do vậy:

Đường đi ngắn nhất từ 1 đến j, buộc phải qua 1 nút
nào đó, nên
1j}f{t minf

iij
i
j
≠+≤
1j}f{t minf
iij
i
j
≠+=
i 1;jftf
iijj
∀≠+≤
19
2. Quy Hoạch Động (tt3)
Giải BT bằng đệ quy xuôi dòng
f
1
= 0
f
2
= t
12
+ f
1
= 1 + 0 = 1
f
3
= t
13
+ f

1
= 2 + 0 = 2

1 94 8
2
3 6
5 7
1
2
6
3
12
7
4
4
3
7
7
15
15
10
3
5
23
16
min
ft
ft
minf
334

224
4
=






+
+
=






+
+
=
9
54
112
min
ft
ft
minf
445
225

5
=






+
+
=






+
+
=
20
2. Quy Hoạch Động (tt4)
Giải BT bằng đệ quy xuôi dòng
16
97
515
min
ft
ft
minf

557
447
7
=






+
+
=






+
+
=
12
67
57
min
ft
ft
minf
668

448
8
=






+
+
=






+
+
=
19
1210
163
615
min
ft
ft
ft
minf

889
779
669
9
=










+
+
+
=










+

+
+
=
Đường đi ngắn nhất từ
1 đến 9: 1-3-4-5-7-9, với
tổng thời gian là 19.
Đường đi ngắn nhất từ
nút 1 đến bất kỳ nút
nào trong mạng.
6
53
24
min
ft
ft
minf
446
336
6
=






+
+
=







+
+
=
1 94 8
2
3 6
5 7
1
2
6
3
12
7
4
4
3
7
7
15
15
10
3
END
21

×