Lập trình mô phỏng một số thuật toán giải quy hoạch tuyến tính hỗ trợ việc giảng dạy bộ môn tối ưu hóa

116 154 0
Lập trình mô phỏng một số thuật toán giải quy hoạch tuyến tính hỗ trợ việc giảng dạy bộ môn tối ưu hóa

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI NGUYỄN VĂN PHÕNG LẬP TRÌNH MƠ PHỎNG MỘT SỐ THUẬT TỐN GIẢI QUY HOẠCH TUYẾN TÍNH HỖ TRỢ VIỆC GIẢNG DẠY BỘ MƠN TỐI ƯU HĨA LUẬN VĂN THẠC SĨ MÁY TÍNH HÀ NỘI, 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI NGUYỄN VĂN PHÕNG LẬP TRÌNH MƠ PHỎNG MỘT SỐ THUẬT TỐN GIẢI QUY HOẠCH TUYẾN TÍNH HỖ TRỢ VIỆC GIẢNG DẠY BỘ MƠN TỐI ƯU HĨA Chun ngành: Khoa học máy tính Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ MÁY TÍNH Người hướng dẫn khoa học: TS Trần Minh Tước HÀ NỘI, 2017 LỜI CẢM ƠN Trong trình học tập, nghiên cứu thực Luận văn Thạc sỹ, nhận giúp đỡ, tạo điều kiện nhiệt tnh quý báu nhiều cá nhân tập thể Trước tiên, tơi xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo TS Trần Minh Tước tận tình hướng dẫn suốt thời gian nghiên cứu hoàn thành luận văn Tôi xin chân thành cám ơn thầy cô Khoa đào tạo Sau đại học thầy cô giảng dạy hướng dẫn, truyền đạt suốt trình học tập thực luận văn Tôi xin chân thành cám ơn bạn bè, đồng nghiệp thuộc lớp cao học K19 Khoa học máy tính giúp tơi suốt q trình học tập hồn thiện luận văn Mặc dù tơi cố gắng hoàn thiện luận văn tất nhiệt tnh lực mình, nhiên khơng thể tránh khỏi thiếu sót có phần nghiên cứu chưa sâu Rất mong nhận bảo thông cảm Thầy cô Tôi xin trân trọn g cảm ơn! Hà Nội, ngày tháng năm 2017 T c g i ả l u ậ n v ă n N g u y ễ n V ă n P h ò n g LỜI CAM ĐOAN Tên tơi là: NGUYỄN VĂN PHỊNG Sinh ngày: 10/01/1987 Quê quán: Tân Phương – Thanh Thủy – Phú Thọ Nơi công tác: Trường Đại học Công nghiệp Việt Trì Tơi xin cam đoan Luận văn tốt nghiệp cao học ngành Máy tnh với đề tài : “Lập trình mơ số thuật tốn giải quy hoạch tuyến tính hỗ trợ việc giảng dạy mơn tối ưu hóa” luận văn cá nhân tơi thực Các kết tính tốn, mơ hình khơng chép tài liệu khác Hà Nội, ngày tháng năm 2017 Tác giả luận văn Nguyễn Văn Phòng MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC MỞ ĐẦU 1 Lý chọn đề tài Mục đích nghiên cứu Nhiệm vụ nghiên cứu Đối tượng phạm vi nghiên cứu Dự kiến đóng góp Phương pháp nghiên cứu NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Bài toán quy hoạch tuyến tnh 1.1.1 Bài toán quy hoạch tuyến tnh 1.1.1.1 Một số mơ hình thực tế 1.1.1.2 Bài tốn quy hoạch tuyến tính tổng quát 1.1.1.3 Dạng tắc tốn quy hoạch tuyến tnh 1.1.1.4 Đưa tốn quy hoạch tuyến tính dạng tắc 1.1.2 Phương án sở chấp nhận 1.1.3 Tiêu chuẩn tối ưu 1.2 Thuật tốn đơn hình giải tốn quy hoạch tuyến tính 10 1.2.1 Thuật toán 10 1.2.1.1 Tư tưởng phương pháp đơn hình 10 1.2.1.2 Biểu diễn qua sở Dấu hiệu tối ưu 11 1.2.1.3 Công thức biến đổi, bảng đơn hình 13 1.2.2 Thuật tốn đơn hình dạng bảng 14 1.2.1.1 Bảng đơn hình 14 1.2.2.2.Thuật tốn đơn hình dạng bảng 14 1.3 Thuật tốn đơn hình hai pha 16 1.4 Thuật toán đánh thuế 18 1.5 Tối ưu hóa rời rạc 21 1.5.1 Bài toán tối ưu rời rạc 21 1.5.2 Bài toán túi 22 1.5.3 Bài toán túi dạng -1 23 1.5.4 Đưa tốn quy hoạch tuyến tính nguyên toán túi 24 1.5.4.1 Định lý 1.6 24 1.5.4.2 Đinh lý 1.7 25 CHƯƠNG 2: LẬP TRÌNH MƠ PHỎNG PHƯƠNG PHÁP ĐƠN HÌNH 27 2.1 Mô tả liệu 27 2.1.1 Dữ liệu nhập 27 2.1.2 Đưa toán dạng tắc 29 2.2 Lập trình mơ thuật tốn đơn hình gốc 31 2.2.1 Khởi tạo toán 31 2.2.2 Đưa toán dạng chuẩn 33 2.2.3 Xây dựng bảng đơn hình 33 2.3 Lập trình mơ thuật tốn đơn hình hai pha 45 2.3.1 Khởi tạo toán 45 2.3.2 Xây dựng toán phụ (P) 46 2.3.3 Xây dựng bảng đơn hình ứng với pha 49 2.3.3 Giải toán pha 50 2.4 Lập trình mơ thuật tốn đơn hình đánh thuế 52 2.4.1 Khởi tạo toán 52 2.4.2 Xây dựng toán (M) 53 2.4.3 Giải toán (M) 55 CHƯƠNG 3: LẬP TRÌNH MƠ PHỎNG GIẢI QUY HOẠCH TUYẾN TÍNH NGUYÊN 58 3.1 Lập trình mơ đưa toán quy hoạch tuyến tnh nguyên với hệ số dương toán túi 58 3.1.1 Mô tả liệu 58 3.1.1.1 Dữ liệu nhập 58 3.1.1.2 Xử lý liệu 59 3.1.2 Lập trình mơ 62 3.1.2.1 Khởi tạo toán 62 3.1.2.2 Đưa tốn dạng tắc 63 3.1.2.3 Hợp ràng buộc 64 3.2 Lập trình mơ thuật tốn giải tốn túi 67 3.2.1 Mô tả liệu 67 3.2.1.1 Dữ liệu nhập 67 Nhập liệu cho toán ( hệ số hàm mục têu, hệ số ràng buộc, giá trị vế phải ràng buộc) 3.2.2.2 Hiển thị mơ hình tốn túi 3.2.2.3 Giải toán túi theo bước Bước 1: Khi k =1: Bước 2: Khi k = 2,…n-1 lặp lại q trình tính tốn sau: Tính giá trị Sk: $s = xky($k,$y,$arr,$b); Tính giá trị Fk() tương ứng: $Fky = Fky($k,$i,$arr,$fx,$b); Tính giá trị xk tương ứng với Fk(): $x = xFky($k,$i,$arr,$fx,$b); Hiển thị liệu tính tốn: Bước n: Khi k = n; ta cần tính Fn(b): Kết thúc q trình tnh tốn ta tìm phương án tối ưu tốn cách tính truy hồi: 3.3 Lập trình mơ giải tốn túi - 3.3.1 Mơ tả liệu Xét toán túi dạng 0-1: ∑ Với hệ ràng buộc: { ∑ * + ( - Input Số đồ vật, hàm mục tiêu, ràng buộc, - Output Giải toán túi – theo bước 3.3.1.1 Dữ liệu nhập ) - Khai báo loại liệu Lưu trữ số đồ vật ta sử dụng biến $n Lưu trữ hệ số hàm muc tiêu ta sử dụng mảng $fx; Lưu trữ hệ số ràng buộc ta sử dụng mảng $arr; Lưu trữ trọng lượng túi ta sử dụng biến $b - Xây dựng phương thức nhập liệu: getn(): Nhập liệu số biến getfx($n): Nhập liệu hệ số hàm mục tiêu getarr($n): Nhập liệu hệ số ràng buộc getb(): Nhập giá trị vế phải ràng buộc 3.3.1.2 Xử lý liệu - Phương thức tính tốn: Tính giá trị hàm Fk(): Fkyalpha($k,$i,$arr,$fx,$b); Ta lập hàm đệ quy sau : F0() =  = 0,…,b Fk(0) = k = 1,…,n ( ) { * ( function Fkyalpha($k,$y,$arr,$fx,$b) { if($k==0) { return 0; } if($y==0) ) } return 0; if($arr[0][$k-1]>$y) { return Fkyalpha($k-1,$y,$arr,$fx,$b); } else{ if(Fkyalpha($k-1,$y,$arr,$fx,$b) Fkyalpha($k-1, $y-$arr[0][$k-1], $arr, $fx,$b)) >= $fx[$k-1] + return Fkyalpha($k-1,$y,$arr,$fx,$b); else return 1],$arr,$fx,$b); $fx[$k-1] + Fkyalpha($k-1,$y-$arr[0][$k- } } Tính giá trị x tương ứng với Fk(): xFkyalpha($k,$i,$arr,$fx,$b); function xFkyalpha($k,$y,$arr,$fx,$b) { if($k==0) { return 0; } if($y==0) return 0; if($arr[0][$k-1]>$y) { return 0; } else{ if(Fkyalpha($k-1,$y,$arr,$fx,$b) Fkyalpha($k-1, $y-$arr[0][$k-1], $arr, $fx, $b)) >= $fx[$k-1] + return 0; else return 1; } } 3.3.2 Lập trình mơ thuật tốn 3.3.2.1 Khởi tạo tốn $n = getn(); $fx = getfx($n); $arr = getarr($n); $b = getb(); - Giao diện nhập liệu: Nhập số liệu toán gồm số biến, phương thức giải Nhập liệu cho toán ( hệ số hàm mục têu, hệ số ràng buộc, giá trị vế phải ràng buộc) 3.3.2.2 Hiển thị mơ hình tốn túi 3.3.2.3 Giải toán túi theo bước Khi k = 1, … n lặp lại trình tính tốn sau: $Fkalpha = Fkyalpha($k,$i,$arr,$fx,$b); $xFkalpha = xFkyalpha($k,$i,$arr,$fx,$b); Hiển thị liệu tính tốn: Kết thúc q trình tnh tốn ta tìm phương án tối ưu tốn cách tính truy hồi: KẾT LUẬN - Các kết đạt được: Hệ thống hóa kiến thức liên quan đến tốn quy hoạch tuyến tính Các thuật tốn giải tốn quy hoạch tuyến tính Chương trình mơ thuật tốn giải tốn quy hoạch tuyến tnh Mơ thuật tốn đơn hình gốc Mơ thuật tốn đơn hình hai pha Mơ thuật tốn đơn hình đánh thuế Mơ thuật tốn đưa tốn quy hoạch tuyến tính với hệ số ngun dương tốn túi Mơ thuật tốn giải tốn túi Mơ thuật toán giải toán túi dạng - Hướng phát triển Xây dựng biện pháp phát xoay vòng chống xoay vòng giải tốn quy hoạch tuyến tính Nghiên cứu xây dựng chương trình mơ giải tốn quy hoạch tuyến tính tổng quát DANH MỤC TÀI LIỆU THAM KHẢO [1] Nguyễn Đức Nghĩa (1996), Tối ưu hóa quy hoạch tuyến tính rời rạc, NXBGD [2] Bùi Minh Trí (2006), Tối ưu hóa, NXB Khoa học kỹ thuật [3] Nguyễn Ngọc Thắng, Nguyễn Đình Hóa (2004), Quy hoạch tuyến tính, NXB Đại học quốc gia Hà Nội [4] Bùi Thế Tâm, Nguyễn Vũ Tiến (2000), Các thuật toán tối ưu hóa, NXB Giao thơng vận tải Hà Nội [5] w3schools.com [6] Internet ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI NGUYỄN VĂN PHÕNG LẬP TRÌNH MƠ PHỎNG MỘT SỐ THUẬT TỐN GIẢI QUY HOẠCH TUYẾN TÍNH HỖ TRỢ VIỆC GIẢNG DẠY BỘ MƠN TỐI ƯU HĨA Chuyên... Nghiên cứu số thuật toán giải toán quy hoạch tuyến tnh  Lập trình mơ số thuật tốn giải toán quy hoạch tuyến tnh Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Lý thuyết tối ưu hóa Phạm vi... toán (M) 53 2.4.3 Giải toán (M) 55 CHƯƠNG 3: LẬP TRÌNH MƠ PHỎNG GIẢI QUY HOẠCH TUYẾN TÍNH NGUYÊN 58 3.1 Lập trình mơ đưa toán quy hoạch tuyến tnh nguyên với hệ số

Ngày đăng: 21/01/2019, 15:07

Từ khóa liên quan

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

Tài liệu liên quan