Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
228,59 KB
Nội dung
GVGD: Trng Phc Hi Phng pháp nhánh cn (brand and bound) 2 Phng pháp nhánh và cn K thut quay lui duyt tt c kh nng theo mô hình cây phân cp đ tìm ra cu hình 3 Phng pháp nhánh và cn S dng quay lui đ tìm cu hình ti u ánh giá tt c cu hình đ tìm ra cu hình ti u: điu này dn đn s bùng n t hp Nu vic chn thành phn x i không dn đn cu hình ti u s gây lãng phí tài nguyên đ tìm các thành phn tip theo x i+1 , x i+2 , Cn tn dng thông tin đã bit đ sm loi b cu hình chc chn không th ti u 4 Phng pháp nhánh và cn K thut nhánh và cn (gi tt nhánh cn) là mt dng ci tin ca k thut quay lui áp dng cho bài toán ti u ánh giá li giá tr ti u cc b (cn) ca các nhánh sau mi ln quay lui S dng cn đ loi b nhng nhánh d tha ca cây tìm kim nhm gim chi phí: ta nhánh ánh giá cn là vn đ khó khn nht trong vic áp dng phng pháp nhánh cn 5 Phng pháp nhánh và cn Ý tng Khi to mt cu hình BEST cho bài toán: khi to cn Tính chi phí ca các cu hình ngay trong quá trình xây dng Nu tt hn BEST: cp nht cu hình ti u và tip tc Ngc li quay lui đ tìm phng án khác 6 Phng pháp nhánh và cn Mô hình tng quát ca k thut nhánh cn đc ci tin t mô hình đ quy nh sau Try(i) For (j tp kh nng ca X[i]) If (chp nhn j) Then Chn kh nng j cho X[i] If (X[i] là cui cu hình) Then <đánh giá li cn ti u BEST> Else If (vn còn tt hn BEST) Then <ghi nhn vic th kh nng j> Try(i + 1) <b ghi nhn th kh nng j> Cui If Cui If Cui for Cui Try 7 Phng pháp nhánh và cn Khi đó gii thut nhánh cn đc thc hin theo các bc sau NhanhVaCan() <Khi to cu hình BEST> BEST = + ; //Nu bit X’ là phng án ti u hin ti //BEST = f(X’); Try(0); If (BEST < +) Then <BEST là giá tr ti u> <X’ là phng án ti u> Else <Bài toán không có nghim> Cui If Cui NhanhVaCan 8 Phng pháp nhánh và cn Bài toán ngi du lch (TSP - Travelling Salesman Problem) Mt bn đ gm N thành ph đc đánh s t 0 đn N-1 Mt du khách xut phát ti thành ph 1 và mun tham quan tt c thành ph, mi ni đn đúng 1 ln ri tr v thành ph xut phát Bit rng gia 2 thành ph có th lu thông trc tip s tn mt chi phí nht đnh Yêu cu xác đnh hành trình du lch vi chi phí nh nht 9 Phng pháp nhánh và cn T chc d liu S dng mng 2 chiu gm N dòng, N ct đ biu din chi phí đi li gia các thành ph: ma trn chi phí C[i][j] = v: cho bit vic đi t thành ph i đn trc tip thành ph j tn chi phí v C[i][j] = +: cho bit không có đng đi trc tip t thành ph i đn thành ph j S dng mng 1 chiu X[0], X[1], …, X[N] đ lu tr mt nghim bài toán (th t thành ph thm trong hành trình) 10 Phng pháp nhánh và cn Ví d đ th biu din và ma trn chi phí tng ng nh sau 0 2 1 3 2 2 4 1 3 1 0 1 2 3 0 0 3 2 1 1 3 0 1 2 2 2 1 0 4 3 1 2 4 0 [...]... 1; j < N; j++) { if (Free[j]) { X[i] = j; Free[j] = false; Cost = Cost + C[X[i-1]][X[i]]; if (i == N - 1) UpDate(); else if (Cost < Best) Try(X, N, C, i + 1); Cost = Cost - C[X[i-1]][X[i]]; Free[j] = true; } } } 18 hành trình void Update() { chi phí < chi phí if (Cost + C[X[N-1]][X[0]] < Best) { chi phí Best = Cost + C[X[N-1]][X[0]]; Print(X, N); } } 19 ... là thành phát Hành trình (x0 = 0, x1, x2, , xN-1, xN = 0) tìm hành trình (x1, x2, , xN-1) là thành {1, 2, , N-1} 11 có hoán các Cây tìm TSP theo 0 3 2 3 4 1 4 3 2 3 2 2 3 4 1 2 2 1 2 1 1 quay lui 2 3 4 1 2 1 1 1 2 1 1 2 1 3 2 0 0 0 0 0 0 9 11 6 11 6 9 12 3 quay lui x1 là trong các TP có x2 là trong các TP x0 tham quan và có x3 xi là trong các TP xi-1 (1 i N-1) 13 tham quan và có Nhánh hình BEST chi phí... toán không có 14 BEST nhánh) x1 mà BEST BEST là MAX thì bài BEST là hành trình Cây tìm TSP theo 0 3 2 3 4 1 4 3 2 3 2 2 3 4 1 2 2 1 2 1 1 nhánh 2 3 4 1 2 1 1 1 2 1 1 2 1 3 2 0 0 0 0 0 0 9 11 6 11 6 9 15 3 1: cho hành trình void Init() { for (int i = 0; i < N; i++) Free[i] = true; X[0] = 0; phát thành Free[0] = false; thành Cost = 0; //chi phí phát là 0 Best = + ; chi phí } 16 0 0 2: Try tìm thành theo . Free[j] = false; Cost = Cost + C[X[i-1]][X[i]]; if (i == N - 1) UpDate(); else if (Cost < Best) Try(X, N, C, i + 1); Cost = Cost - C[X[i-1]][X[i]]; Free[j] = true; } }. cn tìm có dng (x 0 = 0, x 1 , x 2 , , x N-1 , x N = 0) Mt hành trình (x 1 , x 2 , , x N-1 ) là mt hoán v ca các thành ph {1, 2, …, N-1} 12 Phng pháp nhánh và cn Cây tìm. … Chn x i là mt trong các TP cha tham quan và có th đn trc tip t x i-1 (1 ≤ i ≤ N-1) 14 Phng pháp nhánh và cn Nhánh cn Khi to cu hình BEST vi chi phí