- phát hiện rằng không kiếm được bước đi hợp lệ nào.
Tưởng Phương Pháp
Kỹ thuật nhánh cận thường được áp dụng để giải các bài toán tối ưu
• Kỹ thuật nhánh cận dựa trên lược đồ quay lui và một hàm lượng giá mục tiêu hướng đến các nhánh cận với mục tiêu nhanh nhất có thể
• Kỹ thuật nhánh cận có thể không cho nghiệm tối ưu chính xác mà chỉ cho nghiệm gần đúng
Kỹ thuật nhánh cận thường được áp dụng để giải các bài toán tối ưu được mô hình hóa bởi
Tìm min{f(x) | x D}∈
• Tập D ={x=(x1, x2, …., xn) A1 ×A2 ×…×An | x thỏa ∈
tính chất P} là hữu hạn • f(x) gọi là hàm mục tiêu
Một nghiệm của bài toán là một bộ (x1, x2, …., xn) Dsao cho f(x1, x2, …., xn) nhỏ nhất
∈
•Có thể dùng kỹ thuật quay lui, vét cạn để tìm nghiệm của bài toán (nhưng không hiệu quả)
Một bộ k thành phần (a1, a2, …., ak), ai Ai gọi là một ∈
nghiệm (phương án) bộ phận cấp k
• Giả sử g là một hàm xác định trên tập tất cả các
nghiệm bộ phận của bài toán và thỏa: g(a1, a2, …., ak) ≤min{f(x) | x D, xi=ai, i=1, 2,…, k},với mọi (a1, a2, ∈
…., ak), k=1,2, …(1)
Rõ ràng g(a1, a2, …., ak) là cận dưới của giá trị hàm
mục tiêu trên tập D(a1, a2, …., ak)={((a1, a2, …., ak)| ai Ai,k=1, 2,…}∈
• Vì vậy, g được gọi là hàm cận dưới, và giá trịg (a1, a2, …., ak) được gọi là cận dưới của tập D(a1, a2, …., ak)
Lược đồ giải thuật
Giả sử x* là một phương án với giá trị hàm mục tiêu nhỏ nhất trong các phương án đã tìm được, ký hiệu
f*=f(x*)
Ta nói x* là phương án tốt nhất hiện có, còn f* là kỷlục Nếu g(a1, a2, …., ak) >f* thì từ(1) ta có
f*< g(a1, a2, …., ak) ≤min{f(x) | x D, xi=ai, i=1, 2,…, k}∈
•Suy ra tập con phương án D(a1, a2, …., ak) chắc chắn không chứa phương án tối ưu
•Do đó loại các phương án trong D(a1, a2, …., ak) khỏi quá trình tìm kiếm