Bài giảng Toán rời rạc - Phần 1: Lý thuyết tổ hợp - Chương 4: Bài toán tối ưu tổ hợp - Nguyễn Đức Nghĩa
Chương 4
BÀI TOÁN TỐI ƯU TỔ HỢP
1
Nội dung
➢ 1. Phát biểu bài toán
➢ 2. Duyệt toàn bộ
➢ 3. Thuật toán nhánh cận
2
1. Phát biểu bài toán
➢ 1.1. Bài toán tổng quát
➢ 1.2. Bài toán người du lịch
➢ 1.3. Bài toá n cá i túi
➢ 1.4. Bài toán đóng thùng
3
➢ Trong rất nhiều vấn đề ứng dụng thực tế của
tổ hợp, các cấu hình tổ hợp được gán cho
một giá trị bằng số đánh giá giá trị sử dụng
của cấu hình đối với mục đích sử dụng cụ
thể nào đó. Khi đó xuất hiện bài toán: Hãy
lựa chọn trong số các cấu hình tổ hợp chấp
nhận được cấu hình có giá trị sử dụng tốt
nhất. Các bài toán như vậy chúng ta sẽ gọi là
bài toán tối ưu tổ hợp.
4
Phát biểu bài toán
➢ Díi d¹ng tæng qu¸t bµi to¸n tèi u tæ hîp cã
thÓ ph¸t biÓu nh sau:
T×m cùc tiÓu (hay cùc ®¹i) cña phiÕm hµm
f(x) → min (max),
víi ®iÒu kiÖn
x D,
trong ®ã D lµ tËp h÷u h¹n phÇn tö.
5
Các thuật ngữ
➢ f(x) - hµm môc tiªu cña bµi to¸n,
➢ x D - ph¬ng ¸n
➢ D - tËp c¸c ph¬ng ¸n cña bµi to¸n.
➢ Th«ng thêng tËp D ®îc m« t¶ nh lµ tËp c¸c
cÊu h×nh tæ hîp tho¶ m·n mét sè tÝnh chÊt
cho tríc nµo ®ã.
➢ Ph¬ng ¸n x* D ®em l¹i gi¸ trÞ nhá nhÊt
(lín nhÊt) cho hµm môc tiªu ®îc gäi lµ ph¬ng
¸n tèi u, khi ®ã gi¸ trÞ f* = f(x*) ®îc gäi lµ
gi¸ trÞ tèi u cña bµi to¸n.
6
1. Phát biểu bài toán
➢ 1.1. Bài toán tổng quát
➢ 1.2. Bài toán người du lịch
➢ 1.3. Bài toá n cá i túi
➢ 1.4. Bài toán đóng thùng
7
Bµi to¸n ngêi du lÞch
(Traveling Salesman Problem – TSP)
➢ Mét ngêi du lÞch muèn ®i tham quan n thµnh
phè T1, T2, ..., Tn.
➢ Hành trình là cách đi xuÊt ph¸t tõ mét thµnh
phè nµo ®ã ®i qua tÊt c¶ c¸c thµnh phè cßn
l¹i, mçi thµnh phè ®óng mét lÇn, råi quay trë
l¹i thµnh phè xuÊt ph¸t.
➢ BiÕt cij lµ chi phÝ ®i tõ thµnh phè Ti ®Õn thµnh
phè Tj (i, j = 1, 2,..., n),
➢ T×m hµnh tr×nh víi tæng chi phÝ lµ nhá nhÊt.
8
Sơ lược về lịch sử
➢ The origins of the TSP are obscure. In the 1920's, the
mathematician and economist Karl Menger publicized it
among his colleagues in Vienna.
➢ In the 1930's, the problem reappeared in the mathematical
circles of Princeton.
➢ In the 1940's, it was studied by statisticians (Mahalanobis
(1940), Jessen (1942), Gosh (1948), Marks (1948)) in
connection with an agricultural application and the
mathematician Merill Flood popularized it among his
colleagues at the RAND Corporation. Eventually, the
TSP gained notoriety as the prototype of a hard problem
in combinatorial optimization: examining the tours one by
one is out of the question because of their large number,
and no other idea was on the horizon for a long time.
➢ New history with George Dantzig, Ray Fulkerson, and
Selmer Johnson's 1954 breakthrough.
9
➢ Ta cã t¬ng øng 1-1 gi÷a một hµnh tr×nh
T(1) → T(2) →... → T(n) → T(1)
víi mét ho¸n vÞ = ((1), (2),..., (n)) cña n
sè tù nhiªn 1, 2,..., n.
§Æt
f() = c(1),(2) +... + c(n-1),(n) + c(n),(1).
Ký hiÖu:
- tËp tÊt c¶ c¸c ho¸n vÞ cña n sè tù nhiªn 1,
2,..., n.
10
➢ Khi ®ã bµi to¸n ngêi du lÞch cã thÓ ph¸t
biÓu díi d¹ng bµi to¸n tèi u tæ hîp sau:
min { f() : }.
➢ Có thể thấy rằng tổng số hành trình của người
du lịch là n!, trong đó chỉ có (n-1)! hành trình
thực sự khác nhau (bởi vì có thể xuất phát từ
một thành phố bất kỳ, nên có thể cố định một
thành phố nào đó là thành phố xuất phát).
11
1. Phát biểu bài toán
➢ 1.1. Bài toán tổng quát
➢ 1.2. Bài toán người du lịch
➢ 1.3. Bài toá n cá i túi
➢ 1.4. Bài toán đóng thùng
12
Bài toán cái túi
(Knapsack Problem)
➢ Một nhà thám hiểm cần đem theo một cái túi
có trọng lượng không quá b.
➢ Có n đồ vật có thể đem theo. Đồ vật thứ j có
▪ trọng lượng là aj và
▪ giá trị sử dụng là cj (j = 1, 2,..., n).
➢ Hỏi rằng nhà thám hiểm cần đem theo các đồ
vật nào để cho tổng giá trị sử dụng của các đồ
vật đem theo là lớn nhất?
13
Phát biểu bài toán
➢ Mét ph¬ng ¸n ®em ®å cña nhµ th¸m hiÓm cã thÓ
biÓu diÔn bëi vect¬ nhÞ ph©n ®é dµi n: x = (x1, x2,...,
xn), trong ®ã xj = 1 nÕu ®å vËt thø j ®îc ®em theo
vµ xj = 0 nÕu tr¸i l¹i.
➢ Víi ph¬ng ¸n x, gi¸ trÞ ®å vËt ®em theo lµ
n
f (x) = c x ,
j j
j=1
tæng träng lîng ®å vËt ®em theo lµ
n
g(x) = a x
j j
j=1
14
Bài toán cái túi
➢ Bµi to¸n c¸i tói cã thÓ ph¸t biÓu díi d¹ng bµi
to¸n tèi u tæ hîp sau:
Trong sè c¸c vect¬ nhÞ ph©n ®é dµi n tho¶
m·n ®iÒu kiÖn g(x) b, h·y t×m vect¬ x* cho
gi¸ trÞ lín nhÊt cña hµm môc tiªu f(x):
max { f(x): xBn, g(x) b }.
15
1. Phát biểu bài toán
➢ 1.1. Bài toán tổng quát
➢ 1.2. Bài toán người du lịch
➢ 1.3. Bài toá n cá i túi
➢ 1.4. Bài toán đóng thùng
16
Bµi to n ng th ng
(Bin Packing)
➢ Có n đồ vật với trọng lượng là w1, w2, ..., wn.
Cần tìm cách xếp các đồ vật này vào các cái
thùng có cùng dung lượng là b sao cho số
thùng cần sử dụng là nhỏ nhất có thể được.
17
Phát biểu bài toán
➢ Ta cã thÓ gi¶ thiÕt lµ
wi b, i = 1, 2,.., n.
➢ Do ®ã sè thïng cÇn sö dông ®Ó chøa tÊt c¶
c¸c ®å vËt lµ kh«ng qu¸ n. VÊn ®Ò lµ cÇn sè
thïng Ýt nhÊt. Ta sÏ më s½n n c¸i thïng. Bµi
to¸n ®Æt ra lµ h·y x¸c ®Þnh xem mçi mét
trong sè n ®å vËt cÇn ®îc xÕp vµo c¸i thïng
nµo trong sè n c¸i thïng ®· më ®Ó cho sè
thïng chøa ®å lµ Ýt nhÊt.
18
Bài toán đóng thùng
➢ Đưa vào biến Bun
xij = 1, nếu đồ vật i được xếp vào thùng j,
0, nếu trái lại.
Khi đó bài toán đóng thùng có thể phát biểu dưới dạng:
n
n
sign( x ) → min,
ij
j=1
i=1
n
x =1, i =1,2,...,n
ij
j=1
n
w x b, j =1,2,...,n;
i ij
i=1
xij {0,1}, i, j =1,2,...,n.
19
2. DUYỆT TOÀN BỘ
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Toán rời rạc - Phần 1: Lý thuyết tổ hợp - Chương 4: Bài toán tối ưu tổ hợp - Nguyễn Đức Nghĩa", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_toan_roi_rac_phan_1_ly_thuyet_to_hop_chuong_4_bai.ppt

