Tải bản đầy đủ (.pdf) (27 trang)

bài giảng tối ưu chương 2 tối ưu hóa rời rạc - ths. trần thị thùy nươ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 (110.58 KB, 27 trang )

Chương 2
TỐI ƯU HÓA RỜI RẠC

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

1


NỘI DUNG
1.
2.
3.
4.
5.

Bài tốn tối ưu hóa rời rạc (tối ưu tổ hợp)
Bài tốn ba lơ (bài tốn cái túi)
Bài tốn Quy hoạch (QH) ngun tuyến tính
Thuật tốn Gomory
Phương pháp nhánh cận Land – Doig

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc


2


BÀI TỐN TỐI ƯU HĨA RỜI RẠC
Định nghĩa Bài tốn tối ưu hóa rời rạc xác định
trên tập hữu hạn S, và f : S → ℝ.
*
s * ∈ S : f (s ) = min{f (s )}.
s∈S

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

3


BÀI TỐN TỐI ƯU HĨA RỜI RẠC
Tối ưu hóa rời rạc dựa vào:
• Quy hoạch tuyến tính
• Lý thuyết đồ thị
• Lý thuyết về độ phức tạp tính tốn

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc


4


BÀI TỐN TỐI ƯU HĨA RỜI RẠC
Một số ví dụ về bài tốn tối ưu rời rạc:
• Bài tốn tìm đường đi ngắn nhất
• Bài tốn ba lơ
• Bài tốn người du lịch

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

5


BÀI TỐN BA LƠ(Knapsack problem)
Bài tốn: Có một tập hợp gồm n loại đồ vật khác
nhau có trọng lượng và giá trị sử dụng tương ứng
là aj và cj , j = 1,…,n.
Bài toán đặt ra là cần lựa chọn một tập hợp các
đồ vật để cho vào một ba lô sao cho tổng giá trị sử
dụng của chúng là lớn nhất và tổng trọng lượng
không được vượt quá tải trọng b cho trước của ba
lô.

10/6/2012


MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

6


BÀI TỐN BA LƠ(Knapsack problem)
Xét bài tốn ba lơ 0 – 1
Một đồ vật j có thể được chọn để bỏ vào ba lô
hoặc là không.
Gọi x j := 1 khi đồ vật j được chọn, và x j := 0 khi đồ
vật j không được chọn,

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

7


BÀI TỐN BA LƠ(Knapsack problem)
Mơ hình bài tốn ba lơ 0 – 1 :
n

max f ( x ) = ∑ c j x j
j =1


n
∑ a j x j ≤ b
 j =1
 x ∈ {0,1}, j = 1,..., n
 j

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

8


BÀI TỐN QH NGUN
(Integer Programming – IP )
Là bài tốn quy hoạch trong đó tất cả hoặc một
phần các biến chỉ nhận giá trị nguyên.
+ QH nguyên hoàn toàn
(Pure Integer Programming)
+ QH nguyên bộ phận
(Mixed Integer Programming)

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc


9


BÀI TỐN QH NGUN
Mơ hình bài tốn QH ngun tuyến tính
f (x) =

n

∑c x
j =1

(IP )

10/6/2012

j

j

→ min

 n
 ∑ aij x j = bi , i = 1, m
 j =1

 x j ≥ 0, j = 1, n

 x j nguyê n, j = 1, n




MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

10


THUẬT TỐN GOMORY
Trước hết, giải bài tốn nới lỏng (LP)
f (x) =

n

∑c x
j =1

(LP )

10/6/2012

j

j

→ min

 n

 ∑ aij x j = bi , i = 1, m
 j =1
 x ≥ 0, j = 1, n
 j

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

11


THUẬT TỐN GOMORY
Khơng mất tính tổng qt, giả sử PATƯ của (LP)
có dạng: x * = ( x1, x2 ,..., xm ,0,...,0).
Khi đó, hệ ràng buộc của (LP) có dạng:



+ a1( m+1) xm+1 + ... + a1n xn = b1
x1




x2
+ a2(m+1) xm+1 + ... + a2n xn = b2


⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯





xm + am(m+1) xm+1 + ... + amn xn = bm


10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

12


THUẬT TOÁN GOMORY
Nếu các bi ′ , i = 1, m đều là số nguyên thì xi , i = 1, m
cũng là nghiệm của (IP).
Ngược lại, giả sử có bi ′ nào đó chưa nguyên. Ta
xét ptr ràng buộc tương ứng:


xi + ai′( m +1) xm +1 + ... + ain xn = bi′

10/6/2012

MaMH: C02012

(1)


Chương 2: Tối ưu hóa rời rạc

13


THUẬT TOÁN GOMORY

 ′
Đặt aij = [aij ] + α ij , j = m + 1,..., n

bi′ = [bi′] + β i


(α ij ≥ 0, 0 < β i < 1)

(1) ⇒ xi +
xi − [bi′ ] +

10/6/2012

n

∑ ([a′ ] + α
ij

j = m +1
n

∑ [a′ ]x


j =m+1

ij

j

)x j = [bi ′ ] + βi , i = 1 m
,
ij

= βi −

MaMH: C02012

n

∑ α x ,i = 1,m

j =m+1

ij

j

Chương 2: Tối ưu hóa rời rạc

(2)

14



THUẬT TOÁN GOMORY
x * là PA cnđ của
Vế trái (2) sẽ là số nguyên nếu
(IP), do đó vế phải (2) cũng phải là số nguyên, tức
là:
n
nguyên (3)
β i − ∑ α ij x j
j = m +1

Mặt khác
nên

10/6/2012

βi −

 x j ≥ 0,




α ij = aij − [aij ] ≥ 0, j = m + 1,..., n

n

∑α


j = m +1

ij

x j ≤ βi

MaMH: C02012

(3′)
Chương 2: Tối ưu hóa rời rạc

15


THUẬT TOÁN GOMORY
(3),(3′) ⇒ β i −
Hay

n



∑α

j = m +1

ij

n


∑α

j = m +1



∑α

j = m +1

10/6/2012

ij

x j ≤ 0 (0 < β i < 1)

x j ≤ −βi

Thêm biến bù xn +1
n

ij

(4)

vào (4),

x j + x n +1 = − β i

MaMH: C02012


(5)

Chương 2: Tối ưu hóa rời rạc

16


THUẬT TỐN GOMORY
Bổ sung RB (5) vào bảng đơn hình. Khi dó, bảng
mới này vừa khơng đảm bảo RB dấu của biến,
vừa chưa nguyên.
Tiếp theo, áp dụng thuật toán đơn hình đối ngẫu
để nhận được PATƯ.

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

17


PP NHÁNH CẬN LAND – DOIG
Xét bài toán QH nguyên có dạng
f (x) =

n


∑c
j =1

j

x j → m ax

 n
 ∑ a j x j ≤ b i , i = 1,..., m
 j =1

( IP0 )  x j ≥ 0, j = 1,..., n

 x j nguy ê n , j = 1,..., n


với a j , bi , c j là các số nguyên cho trước i = 1m; j = 1n
,
,
10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

18


PP NHÁNH CẬN LAND – DOIG
Đặt


n



n
D0 := x ∈ ℝ : ∑ aj x j ≤ bi , i = 1 m, x j ≥ 0, nguyên, j = 1 n 
,
,...,
j =1




Các bước giải bài toán
Bước 1: giải bài toán nới lỏng (LP0), với
n




nl
x ∈ ℝ n :
D0 := 
a j x j ≤ bi , i = 1 m, x j ≥ 0, j = 1 n
,
,..., 




j =1





10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

19


PP NHÁNH CẬN LAND – DOIG
0

0

Giả sử (LP0) có PATƯ x và giá trị tối ưu f (x ) .
0
0
Nếu x ngun thì dừng lại. Lúc đó, x cũng là
PATƯ của (IP0).
Ngược lại, chuyển sang Bước 2.

10/6/2012

MaMH: C02012


Chương 2: Tối ưu hóa rời rạc

20


PP NHÁNH CẬN LAND – DOIG
Bước 2:
0
Đặt β(D ):= f (x ) (cận trên của bài toán (IP ) )
0
0
Nếu biết x ∈D thì f(x) là cận dưới của bài toán.
0
Ngược lại, đặt α := −∞ (cận dưới của bài toán (IP ) )
0
(α là giá trị kỷ lục, x đgl kỷ lục (nếu có))
℘:={D0} danh sách các tập con của D0 cần xem xét.

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

21


PP NHÁNH CẬN LAND – DOIG
Bước 3: Chọn tập Dk là tập có cận trên β (Dk ) lớn

k
nhất trong các tập con của ℘ cần xem xét. Gọi x
là PATƯ của bài toán (LPk ) .
Dk thành hai tập con với biến chia nhánh xk
Chia tập
j
xk là thành phần không nguyên đầu tiên của xk )
( j

Dk1 := { x ∈ D0 : x j ≤ [ x k ]},
j

Dk2 := {x ∈ D0 : x j ≥ [ xk ] + 1},
j

[ xk ] là phần nguyên của xk .
với j
j
10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

22


PP NHÁNH CẬN LAND – DOIG
Đặt ℘:= (℘ \ {D0 }) ∪ {Dk1 , Dk2 }
Giải lần lượt các bài toán nới lỏng(LP1 ), (LPk2 ) tương

k
nl
nl
ứng với các tập nới lỏng Dk1 , Dk2 .

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

23


PP NHÁNH CẬN LAND – DOIG
Khi giải các bài toán nới lỏng (LP ), i = 1 sẽ xảy
,2
ki
ra các trường hợp sau đây:
i. Bài tốn khơng chấp nhận được (Dki =∅ ), ta loại
Dki khỏi tập ℘ , tức là ℘=℘\ {Dk } .
:
i

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc


24


PP NHÁNH CẬN LAND – DOIG
ki

ii. Tìm được PATƯ x ngun. Khi đó, tính lại giá
k
trị kỷ lục α = max{α , f ( x i )}
(giá trị kỷ lục hiện tại).
Gọi x là kỷ lục hiện tại tương ứng với giá trị kỷ lục
hiện tại α =f(x) .
:
Loại Dki khỏi tập ℘ , tức là ℘=℘\ {D i } .
k

10/6/2012

MaMH: C02012

Chương 2: Tối ưu hóa rời rạc

25


×