Professional Documents
Culture Documents
Knapsack Problem
Knapsack Problem
NHÓM 4
Page
THÀNH VIÊN
3 Lê Văn Luân
4 Lê Duy Phụng
Knapsack problem
I. Giới thiệu
Knapsack problem - bài toán cái túi, là một trong những bài
toán tối ưu hóa tổ hợp tiêu biểu trong trong lý thuyết đồ thị
và khoa học máy tính
Bắt nguồn từ công trình nghiên cứu của nhà toán học
người Mỹ Tobias Dantzig
Công trình nghiên cứu này xét đến tình huống mà một
người có trong tay chiếc ba lô chỉ chứa được một khối lượng
đồ đạc nhất định và người này phải tìm ra giải pháp để tối
ưu hóa tổng giá trị của những món đồ được chọn bỏ vào
trong ba lô
Knapsack problem
Ứng dụng
TIẾT KIỆM TÀI NGUYÊN NHẤT ĐỂ HỆ THỐNG MẬT MÃ KNAPSACK
LỰA CHỌN DANH MỤC ĐẦU TƯ
CẮT GỌT NGUYÊN LIỆU THÔ (KNAPSACK CRYPTOSYSTEMS)
Knapsack problem
Ví dụ minh họa
1.Input:
2.Output:
Đóng gói các món đồ để tổng giá trị của chúng là lớn nhất
có thể trong giới hạn sức chứa của chiếc ba lô
Một số hướng tiếp cận
giải quyết bài toán
Đệ quy
Giới thiệu
Simulated Annealing là một thuật
toán tối ưu hóa toàn cục dựa trên
việc mô phỏng quá trình nung
chảy kim loại (annealing)
Simulated Annealing
Page
TÌM KIẾM CÁC GIÁ TRỊ LÂN CẬN CỦA GIÁ TRỊ HIỆN TẠI, CÁC GIÁ TRỊ NÀY CÓ
2. Tìm kiếm lân cận THỂ ĐƯỢC TẠO RA BẰNG CÁCH THAY ĐỔI MỘT HOẶC NHIỀU THÔNG SỐ CỦA
GIÁ TRỊ HIỆN TẠI
3. Tính toán giá trị mục tiêu TÍNH TOÁN GIÁ TRỊ MỤC TIÊU CỦA CÁC GIÁ TRỊ LÂN CẬN TÌM ĐƯỢC TRONG
BƯỚC 2. ĐÂY LÀ GIÁ TRỊ MÀ CHÚNG TA MUỐN TỐI ƯU HÓA
SO SÁNH GIÁ TRỊ MỤC TIÊU CỦA GIÁ TRỊ HIỆN TẠI VÀ GIÁ TRỊ MỤC TIÊU CỦA
4. So sánh giá trị GIÁ TRỊ LÂN CẬN TÌM ĐƯỢC TRONG BƯỚC 2. NẾU GIÁ TRỊ MỤC TIÊU CỦA
GIÁ TRỊ LÂN CẬN TỐT HƠN GIÁ TRỊ MỤC TIÊU CỦA GIÁ TRỊ HIỆN TẠI, TA
CHỌN GIÁ TRỊ LÂN CẬN NÀY LÀM GIÁ TRỊ HIỆN TẠI
XÁC ĐỊNH DỰA TRÊN MỘT XÁC SUẤT ĐƯỢC TÍNH TOÁN TỪ NHIỆT ĐỘ
5. Chấp nhận giá trị xấu hơn HIỆN TẠI VÀ SỰ KHÁC BIỆT GIỮA GIÁ TRỊ MỤC TIÊU CỦA GIÁ TRỊ HIỆN TẠI
VÀ GIÁ TRỊ MỤC TIÊU CỦA GIÁ TRỊ LÂN CẬN
6. Giảm nhiệt độ SAU MỖI VÒNG LẶP, GIẢM NHIỆT ĐỘ ĐỂ GIẢM DẦN KHẢ NĂNG CHẤP
NHẬN GIÁ TRỊ XẤU HƠN
7. Lặp lại TỤC LẶP LẠI CÁC BƯỚC NÀY CHO ĐẾN KHI ĐÁP ÁN TỐI ƯU ĐƯỢC TÌM
THẤY HOẶC ĐÁP ÁN KHÔNG THAY ĐỔI SAU MỘT SỐ LẦN LẶP
Knapsack problem
1.Input:
2.Output:
Tổng giá trị lớn nhất có thể của các món đồ được
chọn và số thứ tự của các món đồ được chọn
Ứng dụng giải thuật simulated
simulated annealing
Độ phức tạp thời gian trung bình O(kn). Trong đó k là số lần lặp
thuật toán
Ưu điểm và nhược điểm của
thuật toán simulated annealing
Ưu điểm:
1. Tìm được giá trị tối ưu toàn cục: trong không gian tìm kiếm rộng và phức tạp
2. Giải quyết được các bài toán tối ưu không khả thi: giải quyết các bài toán tối
ưu không khả thi bằng các phương pháp tìm kiếm cục bộ thông thường
3. Không rơi vào các cực tiểu cục bộ: bằng cách sử dụng quá trình chấp nhận giá
trị xấu để tìm kiếm khắp không gian tìm kiếm
4. Độ linh hoạt và dễ thực hiện
Ưu điểm và nhược điểm của
thuật toán simulated annealing
Nhược điểm:
1. Tốn nhiều thời gian tính toán: đặc biệt là khi kích thước của không gian tìm kiếm
lớn
2. Không thể chắc chắn tìm được giá trị tối ưu: chỉ có khả năng xấp xỉ giá trị tối ưu
3. Điều chỉnh tham số khó khăn: các tham số của thuật toán Simulated Annealing
cần được điều chỉnh một cách hợp lý
Thank
You!