TAILIEUCHUNG - Bài giảng Cơ sở lập trình nâng cao - Chương 5: Phương pháp thiết kế thuật toán – nhánh cận
Bài giảng cung cấp cho người học các kiến thức: Phương pháp thiết kế thuật toán, sơ đồ cài đặt, bài toán tối ưu, mô hình toán học,. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu. chi tiết nội dung bài giảng. | CƠ SỞ LẬP TRÌNH NÂNG CAO Biên soạn: Quang Toại TonQuangToai@ TPHCM, NĂM 2013 TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC KHOA CÔNG NGHỆ THÔNG TIN 1 45T/4 = 11 buoi PHƯƠNG PHÁP THIẾT KẾ THUẬT TOÁN – NHÁNH CẬN – Chương 5 2 Nội dung Giới thiệu Bài toán tối ưu Phương pháp Sơ đồ cài đặt Các ví dụ Hình ảnh Giới thiệu Bài toán tối ưu: Trong nhiều bài toán thực tế yêu cầu chúng tìm nghiệm thỏa mãn những điều kiện nào đó và nghiệm này phải tốt nhất theo tiêu chí cụ thể nào đó. Phương pháp Nhánh cận là một dạng cải tiến của phương pháp quay lui dùng để giải quyết bài toán tối ưu Bài toán tối ưu Phát biểu bài toán: Giả sử bài toán yêu cầu tìm phương án X=(x1, x2, , xk, ) thỏa mãn những điền kiện nào đó và phương án này là tốt nhất theo tiêu chí cụ thể nào đó. Gọi f(X) là hàm đánh giá sự tốt nhất của phương án X (f là hàm mục tiêu hay hàm chi phí) Yêu cầu: Tìm X sao cho f(X) min (max) 6 Bài toán tối ưu Nếu gọi X* là phương án tốt nhất (tối ưu) f* = f(X*) được gọi là giá trị tối ưu của bài toán Bài toán tối ưu Ví dụ 1 [Bài toán người du lịch – Traveling Salesman Problem – TSP] Cho n thành phố được đánh số từ 1 đến n và khoảng cách giữa thành phố i và thành phố j được cho bởi cij (chú ý: cij=cji) Yêu cầu: Tìm một hành trình ngắn nhất cho phép viếng thăm n thành phố, mỗi thành phố viếng thăm đúng 1 lần và quay về thành phố ban đầu. Bài toán tối ưu Mô hình toán học: Một hành trình là 1 hoán vị X=(x(1), x(2), , x(n)) của n số {1, 2, , n} Hàm mục tiêu: Yêu cầu: Bài toán tối ưu Ví dụ 2 [Bài toán phân công – Job Assignment Problem – JAP] Có n công việc và n nhân viên. Gọi cij là chi phí để trả cho nhân viên i khi làm công việc j. Yêu cầu: Tìm cách phân công n nhân viên làm n việc trên sao cho tổng chi phí là nhỏ nhất (một nhân viên chỉ làm 1 việc, một việc chỉ do 1 nhân viên làm). Bài toán tối ưu Mô hình toán học: Một cách phân công n nhân viên làm n việc là 1 hoán vị X=(x(1), x(2), , x(n)) của n số {1, 2, , n} Hàm mục tiêu: Yêu cầu: 11 Bài toán tối ưu
đang nạp các trang xem trước