1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Lecture 13, 14 branch and bound

41 68 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 5,9 MB

Nội dung

Trang 1

Phân tích và Thiét kê

THUAT TOAN Ha Đại Dương

duonghd@mta.edu.vn

Trang 2

Bai 13 - Phuong phap nhánh can (Branch and Bound)

Trang 4

| Giới thiệu

Phương pháp quay lui, vét cạn cĩ thể giải các bài tốn tối ưu, bằng cách lựa chọn phương án tối ưu trong tất cả các lời giải tìm được Nhưng nhiều bài tốn

khơng gian các lời giải là quá lớn, nên áp dụng phương pháp pháp quay lui khĩ

đảm bảo về thời gian cũng như kỹ thuật Cho nên ta cần phải cải tiến thuật tốn

Trang 5

| Giới thiệu

Phương pháp nhánh cận là một cải tiến của phương pháp quay lui, dùng để

tìm lời giải tối ưu của bài tốn Ý tưởng chính của nĩ như sau :

Trong quá trình duyệt ta luơn giữ lại một phương án mẫu ( cĩ thể xem là lời

giải tối ưu cục bộ — chẳng hạn cĩ giá nhỏ nhất tại thời điểm đĩ ) Đánh giá nhánh

cận là phương pháp tính giá của phương án ngay trong quá trình xây dựng các

thành phần của phương án theo hướng đang xây dựng cĩ thể tốt hơn phương án mẫu

Trang 6

II Lược đơ chung

Giả sử bài tốn tối ưu cho là : Tim Min{f(x):x e DỊ: Với X = ụ = (a,. -,đ, Je [14 Poo i=l A,|<«;Vi=l,n P là một tính fi chat trén | | 4, i=!

Nghiệm của bài tốn nếu cĩ sẽ được biểu diễn dưới dạng :x = (XỊ Xn)

Trong quá trình liệt kê theo phương pháp quay lui, ta xây dựng dân các

Trang 7

II Lược đơ chung

Một bộ phận 1 thanh phần (xị, , Xị) sẽ gọi là một lời giải (phương án) bộ

phận cấp ¡ Ta gọi X; là tập các lời giải bộ phận cấp ¡, V¿= ln

Đánh giá cận là tìm một hàm g xác định trên các X; sao cho :

gặ.:-:,x,) < Mint f (a): a =(a,, ,a,) € X,x, =4,,Vi = T,ï

Bất đẳng thức này cĩ nghĩa là giá trị ø(x,,::-,x,) khơng lớn hơn giá trị của

các phương án mở rộng từ lời giải bộ phận (x,.: ,x,)

Sau khi tìm được hàm đánh giá cận ø, ta dùng ø để giảm bớt chi phí duyệt

Trang 8

II Lược đơ chung

Giả sử x* là lời giải tốt nhất hiện cĩ (phương án mâu), cịn f* là gid tri tốt nhất tương ứng f* = f(x*)

Nếu g(x,.: ,x.) > f* thì :

[*Š < a(x, hy KG J = Mim{ƒ (4) -a= (a,,"*+,d, ) C X,x, — q,, Vĩ — l,i}

KT“ 7 Xe * =} a * ~ ˆ a

Nên chắc rằng các lời giải mở rộng từ (x,,: ,x,)sẽ khơng tốt hơn phương án mâu, do đĩ cĩ thể bỏ đi khơng cần phát triển lời giải bộ phận (x,,: , x,) để tìm

Trang 10

II Lược đơ chung

Thực chất của phương pháp nhánh cận là tìm kiếm theo chiều sâu trên cây liệt kê lời giải như phương pháp quay lui, chỉ khác cĩ một điều là khi tim duce x; mà đánh giá cận ø(x,.:::,x,)> f* thì ta cắt bổ các nhánh con từ x¡ đi xuống, mà quay lên ngay cha của nĩ là x¡_¡

Trang 11

III Bài tốn áp dung

| Bài tốn người du lịch 1 Bai tốn

Một người du lịch muốn tham quan n thành phố Tị, , Tạ Xuất phát từ một

thành phố nào đĩ, người du lịch muốn đi qua tất cả các thành phố cịn lại, mỗi thành phố đi qua đúng 1 lần rối quay trở lại thành phố xuất phát

Trang 12

III Bài tốn áp dung

Trang 13

|II Bài tốn áp dụng

| Bài tốn người du lịch

2 Y tưởng

Bài tốn chuyển về dạng :

Tim Min{f(ao, , a, ) : (ao, , a, ) la hodn vi cua {2, n}}

VỚI f(ad,,°7°.4,) =Cyy + Cg g te tC, +C, ,

Cách giải bài tốn sẽ kết hợp đánh giá nhánh cận trong quá trình liệt kê

ai m7—Ï oly

Trang 14

Try (i) = lor(J= l —>n) if( Chấp nhận được ) Ill.B toa | Bài tốn người du lịch 3 Thiết kế Input C= (Cụ )

Trang 15

III Bài tốn áp dung

| Bài tốn người du lịch

3 Thiết kế

e Nếu ta cố định xuất phát tử T¡, ta duyệt vịng lặp từ j =2 sec Đánh giá nhánh cận :

Dat: CMin = Min{Cj:1,) € {1, ,n}

Giả sử vào bước ¡ ta tìm được lời giả bộ phận cấp ¡ là (x¡ x; ), tức là đã đi qua đoạn đường TÏ¡ —> Ta -> .->Ï;¡, tương ứng với chị phí :

Trang 16

III Bài tốn áp dung

| Bài tốn người du lịch 3 Thiết kế

Để phát triển hành trình bộ phận này thành một hành trình đầy đủ, ta cịn

phải đi qua n-i+l đoạn đường nữa, gồm n-i thành phố cịn lại và đoạn quay lai T) Do chi phi mỗi một trong n-i+l đoạn cịn lại khơng nhỏ hơn CMIin, nên hàm

Trang 17

III Bài tốn áp dung

| Bài tốn người du lịch 3 Thiết kế

e_ Diều kiện chấp nhận được của J là thành phố T; chưa đi qua Ta dùng một mảng lòic Daxet[] để biểu dién trang thai nay

1:7, đã được đi qua

Daxet| j| =

JÌ lu chưa được đi qua

Trang 18

III Bài tốn áp dung

| Bài tốn người du lịch

3 Thiết kế

e_ Xác định x¡ theo J bằng câu lệnh gán : x¡ =]

Cap nhật trạng thái mới : Daxet|j] = 1

Trang 19

III Bài tốn áp dung

Trang 20

III Bài tốn áp dung

| Bài tốn người du lịch

3 Thiết kế

e Thao tac huy bo trang thai : Daxet[j] =0

Trang 23

III Bài tốn áp dung

Trang 26

III Bài tốn áp dung

II Bài tốn cái túi

1 Bài tốn

Cĩ n loại đồ vật, mỗi loại cĩ số lượng khơng hạn chế Đồ vật loại ¡, đặc

trưng bởi trọng lượng Wï va gid trị sử dụng Vĩ, với mọi ¡ e {I n}

Trang 27

III Bài tốn áp dung

II Bài tốn cái túi 2 Ý tưởng H | Đặt : D= ụ =(I,,:''uUU)C MP: 3 _1r,M, < m| ;=l và : #:D->R ; (Uj, > f (uu) = UV; 3(u,,7°°,u,) ED i=l Bài tốn chiếc túi xách chuyển về bai tốn sau : Tim x* € D: f* =f(x*)= | f(w) “HE D}

Trang 28

II Bài tốn cái túi

Trang 29

III Bài tốn áp dung

II Bài tốn cái túi

3 Thiết kế thuật tốn e Cách chọn vật: M Vv “ wat 14 5 — _L hưu Xét mảng đơn giá : 2g = ww tì 1 H„, Hi

Ta chọn vật theo đơn giá giảm dân

Khơng mất tính tổng quát, ta giả sử các loại vật cho theo thứ tư øiim dân | = : : 7

“ "so

Trang 30

III Bài tốn áp dung

II Bài tốn cái túi

3 Thiết kế thuật tốn

e Danh gia can tren:

Trang 31

-III Bài tốn áp dung

ll Bai toan cai tui Max) su =(u,,-+-,u,) € Dyu ; =X, VJ= L,i}=

3 Thiết kế thuật tốn | Max< S + Nụ, v, Su Ww, ; SII, k= j=irl j=irl 1 la cĩ : | | | | HH, S+ an Š yu, Vi Su W, S1, tS 5ð +, | |

ƒ=i+Ì j=irl ] Wey

Do đĩ, cận trên cho các lời giải bộ phận cấp ¡ cĩ thể xác định bởi :

g(x, )=S+y,, | “

Trang 32

III Bài tốn áp dung

II Bài tốn cái túi

Trang 33

III Bài tốn áp dung

II Bài tốn cái túi

3 Thiết kế thuật tốn

e Vi vay, thao tac trả lại trạng thái cũ cho bài tốn :

3= h— AV] T= T- XiW¡

e Cap nhat lời giải tối ưu :

Khi tìm được một lời giải, ta so sánh lời giải này với lời giải mà ta coi là tốt

Trang 34

III Bài tốn áp dung

II Bài tốn cái túi

3 Thiết kế thuật tốn

e Cac khdi tao giá trị ban đầu :

-x*=0; /Lời giải tối ưu của bài tốn

- f# =f(x*) =0: // Giá tri tối ưu

-S=0: //Giá trị thu được từng bước của chiếc túi

Trang 35

4 Cài đặt if(S > Gttu) id Try(int z ry(unt 1 Gan(): int j, t, g: , mess L=(in)((m-TIJ/v[ï)) [or (J=t;J >=Ú ; ] ) else |

Xfi} =] g¢=$+4+v[it+l]*(m-Tl)/w{[i+l]; //Danh gia can

Tl = Tl + w{i]”x[I]://Trong luong thu duoc Cg? 289) Try (+1);

S =S +v(1]*x[1|; //Gia tri thu duoc TI = TI - w[i]*x[il: If(IE=n) [jap nhat to1 uu S =S -Vv[I]*x[H]:

Trang 40

IV Bai tap

1 Cài đặt thuật tốn giải bài tốn người du lịch (dựa trên thuật tốn

liệt kê các hốn vị) theo phương pháp nhánh cận Đánh giá độ phức

tạp thuật tốn bằng lý thuyết, bằng thực nghiệm và so sánh

2 2 Cài đặt thuật tốn giải bài tốn cái túi (dựa trên thuật tốn liệt day nhi phan do dài N) theo phương pháp nhánh cận Đánh giá độ

Ngày đăng: 03/11/2019, 18:09

TỪ KHÓA LIÊN QUAN

w