Ứng dụng phương pháp quy hoạch động để giải các bài toán tối ưu tổ hợp

70 53 0
Ứng dụng phương pháp quy hoạch động để giải các bài toán tối ưu tổ hợp

Đ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

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TIN HỌC KHÓA LUẬN TỐT NGHIỆP ĐỀ TÀI: ỨNG DỤNG PHƯƠNG PHÁP QUY HOẠCH ĐỘNG ĐỂ GIẢI CÁC BÀI TOÁN TỐI ƯU TỔ HỢP Giáo viên hướng dẫn: PGS.TSKH Trần Quốc Chiến Sinh viên thực hiện: Nguyễn Vũ Thành Tiến Lớp: 11CNTT3 LỜI CẢM ƠN Để hoàn thành báo cáo khóa luận tốt nghiệp này, em xin có lời cảm ơn đến Ban giám hiệu Trường Đại học Sư phạm Đà Nẵng Đặc biệt em xin chân thành cảm ơn đến thầy giáo PGS.TSKH Trần Quốc Chiến, người trực tiếp tận tình hướng dẫn giúp đỡ em hồn thành báo cáo Vì thời gian có hạn, kiến thức thân nhiều hạn chế nên khó tránh khỏi thiếu sót, kính mong nhận xét, phê bình, góp ý thầy cô Trường Đại học Sư phạm Đà Nẵng, để chúng em có điều kiện học hỏi phấn đấu Cuối cùng, em xin chúc Ban giám hiệu quý thầy cô Trường Đại học Sư phạm Đà Nẵng thành công sống công tác Xin trận trọng cảm ơn! Sinh viên thực Nguyễn Vũ Thành Tiến LỜI CAM ĐOAN Em xin cam đoan:  Những nội dung báo cáo em thực hướng dẫn trực tiếp Giáo viên hướng dẫn  Mọi tham khảo dùng báo cáo trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian địa điểm công bố  Mọi chép không hợp lệ, vi phạm quy chế đào tạo, em xin chịu hoàn toàn trách nhiệm Đà Nẵng, ngày 03 tháng 05 năm 2015 Sinh viên thực Nguyễn Vũ Thành Tiến NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Đà Nẵng, ngày tháng năm 2015 Chữ ký giáo viên hướng dẫn MỤC LỤC DANH MỤC HÌNH VẼ i MỞ ĐẦU 1 Tính cấp thiết đề tài Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Bố cục đề tài .3 CHƯƠNG CƠ SỞ LÝ THUYẾT .5 1.1 Quy hoạch động 1.1.1 Phương pháp chia để trị 1.1.2 Khái niệm quy hoạch động 1.1.3 Các nguyên tắc quy hoạch động 1.1.4 Các bước thực quy hoạch động .8 1.1.5 Ví dụ 1.1.6 Ưu điểm hạn chế phương pháp quy hoạch động .12 1.2 Bài toán tối ưu tổ hợp 12 1.2.1 Khái niệm 12 1.2.2 Một số tốn điển hình 13 CHƯƠNG PHÂN TÍCH THIẾT KẾ .16 2.1 Bài toán di chuyển Robot .16 2.1.1 Phát biểu toán 16 2.1.2 Phân tích, xử lý tốn lập hệ thức truy hồi 17 2.1.3 Thuật toán 18 2.1.4 Thiết kế chương trình 19 2.1.5 Ví dụ 21 2.2 Bài toán balo 22 2.2.1 Phát biểu toán 22 2.2.2 Phân tích, xử lý tốn lập hệ thức truy hồi 23 2.2.3 Thuật toán 24 2.2.4 Thiết kế chương trình 25 2.2.5 Ví dụ 27 2.3 Bài toán phép nhân tổ hợp dãy ma trận .28 2.3.1 Phát biểu toán 28 2.3.2 Phân tích, xử lý toán lập hệ thức truy hồi 29 2.3.3 Thuật toán 30 2.3.4 Thiết kế chương trình 31 2.3.5 Ví dụ 33 2.4 Bài toán lập lịch thuê thợ may hàng tháng 34 2.4.1 Phát biểu toán 34 2.4.2 Phân tích, xử lý tốn lập hệ thức truy hồi 35 2.4.3 Thuật toán 36 2.4.4 Thiết kế chương trình 37 2.4.5 Ví dụ 39 2.5 Bài toán cắm hoa 40 2.5.1 Phát biểu toán 40 2.5.2 Phân tích, xử lý tốn lập hệ thức truy hồi 41 2.5.3 Thuật toán 42 2.5.4 Thiết kế chương trình 43 2.5.5 Ví dụ 45 CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC 47 3.1 Bài toán di chuyển Robot .47 3.1.1 Cài đặt chương trình 47 3.1.2 Độ phức tạp 49 3.2 Bài toán balo 49 3.2.1 Cài đặt chương trình 49 3.2.2 Độ phức tạp 51 3.3 Bài toán phép nhân tổ hợp dãy ma trận .52 3.3.1 Cài đặt chương trình 52 3.3.2 Độ phức tạp 54 3.4 Bài toán lập lịch thuê thợ may hàng tháng 54 3.4.1 Cài đặt chương trình 54 3.4.2 Độ phức tạp 56 3.5 Bài toán cắm hoa 56 3.5.1 Cài đặt chương trình 56 3.5.2 Độ phức tạp 58 KẾT LUẬN VÀ KIẾN NGHỊ .59 TÀI LIỆU THAM KHẢO .60 i DANH MỤC HÌNH VẼ Số hiệu hình vẽ Tên hình vẽ Trang 3.1 Tạo file 47 3.2 File Robot.inp 47 3.3 Chương trình tìm đường Robot 48 3.4 Truy vết đường Robot ghi vào file 48 3.5 File Robot.out 49 3.6 Tạo file 49 3.7 File Balo.inp 50 3.8 Chương trình chọn mặt hàng 50 3.9 Truy vết mặt hàng chọn ghi vào file 51 3.10 File Balo.out 51 3.11 Tạo file 52 3.12 File Matrix.inp 52 3.13 Chương trình tìm biểu thức kết hợp tối ưu phép nhân dãy ma trận 53 3.14 Truy vết ghi vào file 53 3.15 File Matrix.out 54 3.16 Tạo file 54 3.17 File Tailor.inp 54 3.18 Chương trình tìm số thợ may tháng 55 ii 3.19 Truy vết ghi vào file 55 3.20 File Tailor.out 56 3.21 Tạo file 56 3.22 File Flower.inp 57 3.23 Chương trình tìm cách cắm hoa 57 3.24 Truy vết ghi vào file 58 3.25 File Flower.out 58 46 Mảng selected: 0 0 1 1 0 1 0 Tổng giá trị thẩm mỹ lớn 29 Sau truy vết, lọ hoa chọn để cắm là: 1, 2, 3, 4, 47 CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC 3.1 Bài toán di chuyển Robot 3.1.1 Cài đặt chương trình B1: Tạo file Robot.inp Robot.out Hình 3.1 Tạo file B2: Ghi liệu vào file Robot.inp theo yêu cầu đề Hình 3.2 File Robot.inp B3: Thực thi chương trình tìm đường Robot (được viết Java) truy vết 48 Hình 3.3 Chương trình tìm đường Robot Hình 3.4 Truy vết đường Robot ghi vào file B4: Kết thúc kết 49 Hình 3.5 File Robot.out 3.1.2 Độ phức tạp Độ phức tạp vòng for thứ hai O(n) Độ phức tạp vòng for lồng vòng for thứ hai O(m) Độ phức tạp O(m.n) 3.2 Bài toán balo 3.2.1 Cài đặt chương trình B1: Tạo file Balo.inp Balo.out Hình 3.6 Tạo file B2: Ghi liệu vào file Balo.inp theo yêu cầu đề 50 Hình 3.7 File Balo.inp B3: Thực thi chương trình chọn mặt hàng (được viết Java) truy vết Hình 3.8 Chương trình chọn mặt hàng 51 Hình 3.9 Truy vết mặt hàng chọn ghi vào file B4 Kết thúc kết Hình 3.10 File Balo.out 3.2.2 Độ phức tạp Độ phức tạp vòng for thứ hai O(M) Độ phức tạp vòng for lồng vòng for thứ hai O(n) Độ phức tạp O(M.n) 52 3.3 Bài toán phép nhân tổ hợp dãy ma trận 3.3.1 Cài đặt chương trình B1: Tạo file Matrix.inp Matrix.out Hình 3.11 Tạo file B2: Ghi liệu vào file Matrix.inp theo yêu cầu đề Hình 3.12 File Matrix.inp B3: Thực thi chương trình tìm biểu thức kết hợp tối ưu phép nhân dãy ma trận (được viết Java) truy vết 53 Hình 3.13 Chương trình tìm biểu thức kết hợp tối ưu phép nhân dãy ma trận Hình 3.14 Truy vết ghi vào file B4 Kết thúc kết 54 Hình 3.15 File Matrix.out 3.3.2 Độ phức tạp Độ phức tạp vòng for thứ ba, trường hợp xấu O(n) Độ phức tạp vòng for thứ hai, trường hợp xấu O(n) Độ phức tạp vòng for O(n) Độ phức tạp, trường hợp xấu O(n3) Tối ưu việc sử dụng mảng chiều, độ phức tạp O(n2) 3.4 Bài toán lập lịch thuê thợ may hàng tháng 3.4.1 Cài đặt chương trình B1: Tạo file Tailor.inp Tailor.out Hình 3.16 Tạo file B2: Ghi liệu vào file Tailor.inp theo yêu cầu đề Hình 3.17 File Tailor.inp 55 B3: Thực thi chương trình tìm số thợ may tháng (được viết Java) truy vết Hình 3.18 Chương trình tìm số thợ may tháng Hình 3.19 Truy vết ghi vào file 56 B4 Kết thúc kết Hình 3.20 File Tailor.out 3.4.2 Độ phức tạp Độ phức tạp vòng for thứ ba, trường hợp xấu O(tailorMax) Độ phức tạp vòng for thứ hai, trường hợp xấu O(tailorMax) Độ phức tạp vòng for O(month) Độ phức tạp, trường hợp xấu O(month * tailorMax2) hay O(t*sMax), sMax số thợ may tháng cần nhiều người Tối ưu việc sử dụng mảng chiều, độ phức tạp O(n2) 3.5 Bài toán cắm hoa 3.5.1 Cài đặt chương trình B1: Tạo file Flower.inp Flower.out Hình 3.21 Tạo file B2: Ghi liệu vào file Flower.inp theo yêu cầu đề 57 Hình 3.22 File Flower.inp B3: Thực thi chương trình tìm cách cắm hoa (được viết Java) truy vết Hình 3.23 Chương trình tìm cách cắm hoa 58 Hình 3.24 Truy vết ghi vào file B4 Kết thúc kết Hình 3.25 File Flower.out 3.5.2 Độ phức tạp Độ phức tạp vòng for thứ hai O(n) Độ phức tạp vòng for lồng vòng for thứ hai O(k) Độ phức tạp O(n.k) 59 KẾT LUẬN VÀ KIẾN NGHỊ Sau thời gian nỗ lực làm việc, thuật toán để giải tốn hồn tất Tuy cịn nhiều thiếu sót lý kinh nghiệm thời gian hạn chế Nhưng thuật tốn đạt nhiều thành cơng định Qua đó, em thỏa mãn đam mê sáng tạo, rèn luyện kĩ năng, thao tác lập trình đóng góp thêm phần tài liệu bổ ích cho người tham khảo Trong tương lai, có điều kiện em bổ sung thêm số toán tìm thuật giải tối ưu với toán cũ 60 TÀI LIỆU THAM KHẢO Tiếng Việt [1] http://vi.wikipedia.org/wiki/Quy_hoạch_động [2] Phan Thanh Tao (2007), Phân tích & Thiết kế Giải thuật [3] Trần Quốc Chiến (2012), Cấu trúc liệu giải thuật [4] Trần Quốc Chiến, Phân tích thiết kế giải thuật [5] Đào Thị Thảo Sương (2012), Tóm tắt luận văn thạc sĩ kỹ thuật ... phương pháp quy hoạch động toán tối ưu tổ hợp giải phương pháp quy hoạch động Mục tiêu nghiên cứu Nắm yêu cầu toán tối ưu tổ hợp, số tốn điển hình:  Bài toán người du lịch  Bài toán balo (bài. .. tắc tối ưu Bellman Ta biết quy hoạch động thường dùng để giải toán tối ưu- tốn u cầu tìm giải pháp tốt giải pháp tìm Cơ sở quy hoạch động toán tối ưu nguyên lý tối ưu Bellman 8 Nguyên lý tối ưu. .. cách khác: ? ?Giải pháp tối ưu cho toán P cần chứa giải pháp tối ưu cho toán P” Do giải toán theo quy hoạch động dùng phương pháp gồm nhiều bước tiến hành điều kiện cần để giải 10 pháp tối ưu xây dựng

Ngày đăng: 18/05/2021, 12:44

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan