Tính toán hình thức và quy hoạch toán học

100 19 0
Tính toán hình thức và quy hoạch toán học

Đ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 Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN THỊ THU DUNG TÍNH TỐN HÌNH THỨC VÀ QUY HOẠCH TỐN HỌC Chun ngành : Tốn Giải Tích Ứng Dụng LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 07 năm 2007 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH Cán hướng dẫn khoa học: Cán chấm nhận xét 1: Cán chấm nhận xét 2: Luaän văn thạc só bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày tháng năm TRƯỜNG ĐẠI HỌC BÁCH KHOA PHÒNG ĐÀO TẠO SĐH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC Tp HCM, ngày tháng năm 2007 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN THỊ THU DUNG Phái: nữ Ngày, tháng, năm sinh: 10/12/1980 Nơi sinh: Long An Chuyên ngành: Toán Giải Tích Ứng Dụng MSHV: 02404569 I TÊN ĐỀ TÀI: TÍNH TOÁN HÌNH THỨC VÀ QUY HỌACH TOÁN HỌC II NHIỆM VỤ VÀ NỘI DUNG: Xây dựng cách tiếp cận toán Quy hoạch tuyến tính góc độ tính toán hình thức III NGÀY GIAO NHIỆM VỤ: (Ngày bắt đầu thực luận văn ghi Quyết định giao đề tài): 07/02/2007 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 07/07/2007 V CÁN BỘ HƯỚNG DẪN: TS NGUYỄN QUỐC LÂN CÁN BỘ HƯỚNG DẪN CN BỘ MÔN QL CHUYÊN NGÀNH Nội dung đề cương luận văn thạc só Hội đồng chuyên ngành thông qua Ngày tháng năm 2007 TRƯỞNG PHÒNG ĐT – SĐH TRƯỞNG KHOA QL NGÀNH LỜI CẢM ƠN Lời đầu, xin bày tỏ lòng biết ơn chân thành sâu sắc đến Thầy hướng dẫn, TS NGUYỄN QUỐC LÂN, thầy Bộ môn Toán tận tình hướng dẫn, động viên dìu dắt suốt trình học tập, nghiên cứu thực luận văn Tôi xin chân thành cảm ơn người thầy đọc cho ý kiến nhận xét sâu sắc luận văn Tôi xin chân thành cảm ơn Ban Giám Hiệu, thầy cô Bộ Môn Toán Ứng Dụng - Khoa Khoa Học Ứng Dụng, Phòng Đào Tạo Sau Đại Học trường Đại Học Bách Khoa thành phố Hồ Chí Minh, tạo điều kiện thuận lợi cho suốt trình học tập, nghiên cứu thực luận văn Cuối cùng, xin chân thành cảm ơn đến bạn khóa học giúp đỡ nhiều để luận văn hoàn thành MỞ ĐẦU Quy hoạch tuyến tính đời năm 1947 G B Dantzig đưa phương pháp đại số tổng quát hiệu quả, tiếng với tên gọi “phương pháp đơn hình”, giải thành công đa số toán quy hoạch tuyến tính Từ thời điểm báo Dantzig xuất nay, thống kê xác số lượng sách xuất số lượng báo nghiên cứu ứng dụng quy hoạch tuyến tính, công bố hàng trăm loại ngôn ngữ khác Với hỗ trợ máy tính, xuất nhiều phần mềm từ chuyên dụng Lindo đơn giản, phổ cập bảng tính Excel QuattroPro để giải toán Quy hoạch tuyến tính Tuy nhiên, bên cạnh mặt tiện dụng phủ định phần mềm cho kết số trực tiếp, lãnh vực giáo dục cần đến cách tiếp cận giải toán Quy hoạch tuyến tính theo dạng lặp bước để giúp hiểu tường tận bước, minh họa cụ thể, rõ ràng sơ đồ giải cồng kềnh mệt mỏi, thời gian ta tính tay Tính toán hình thức công cụ tốt giúp vượt qua khó khăn Trong luận văn này, mô tả cách giải toán QHTT qua vài ví dụ mô hình quy hoạch tuyến tính trình bày lời giải, minh họa chương trình tính toán hình thức Maple Với Maple, giải trực tiếp simplex, giải trực tiếp ma trận, tính toán bước trình làm thủ công công việc qua máy! Các bảng tính dùng luận văn hổ trợ tốt trình giảng dạy Quy hoạch tuyến tính đại học, chí phổ thông tính đơn giản, rõ ràng dễ dàng sử dụng với người học BẢN TÓM TẮT NỘI DUNG LUẬN VĂN Nội dung luận văn đề cập tới quy họach tuyến tính tính toán hình thức Luận văn chia thành năm chương: Chương 1, trình bày tổng quan QHTT Nội dung phần chủ yếu trích dẫn từ tài liệu tham khảo QHTT quen thuộc Chương 2, trình bày tổng quan Maple Nội dung phần lượt dịch từ tài liệu tham khảo nước Chương 3, trình bày chi tiết gói lệnh Simplex Maple Nội dung phần trích từ phần mềm Maple Chương 4, trình bày cách giải toán QHTT dạng ma trận Maple với gói lệnh Linalg Nội dung phần lượt dịch từ tài liệu tham khảo nước Chương 5, trình bày cách giải toán QHTT chế độ chạy bước tính cụ thể với lệnh gói lệnh Simplex Maple Các worksheet tính toán tác giả luận văn phát triển từ ý tưởng giáo viên hướng dẫn MỤC LỤC Trang Mở đầu Chương Tổng quan QHTT 1.1 Định nghóa 1.2 YÙ nghóa hình học toán QHTT 13 1.3 Phương pháp đơn hình 16 1.4 Bài toán QHTT đối ngẫu 20 Chương Tổng quan tính toán hình thức Maple 26 Chương Maple QHTT 36 Chương Giải BT QHTT cách dùng ma trận với gói lệnh Linalg 44 4.1 Phương pháp hình học 41 4.2 Phương pháp đơn hình 48 4.3 Các trường hợp đặc biệt khó khăn .58 4.4 Các ví dụ khác .60 4.5 Phân tích độ nhạy cảm tính đối ngaãu 65 4.6 QHTT nguyeân 78 4.7 Tóm tắt 81 Chương Giải QHTT Maple với chế độ chạy bước tính cụ thể 82 5.1 Phương pháp hình học .82 5.2 Phương pháp đơn hình - Bài toán pha 86 5.3 Phương pháp đơn hình - Bài toán hai pha .88 5.4 Bài toán xoay vòng 92 Kết luận 99 Tài liệu tham khảo 100 Chương TỔNG QUAN VỀ QUY HOẠCH TUYẾN TÍNH Quy hoạch tuyến tính vấn đề liên quan trình bày nhiều tài liệu Trong chương xin đề cập vắn tắt vấn đề sau: 1/ Mô hình thực tế, phát biểu Quy hoạch tuyến tính dạng tắc, 2/ Lời giải hình học, 3/ Phương pháp thuật giải đơn hình, 4/ Bài toán đối ngẫu Quy hoạch tuyến tính lớp toán tối ưu nghiên cứu trọn vẹn phương diện lý thuyết lẫn thực hành Quy hoạch tuyến tính bắt nguồn từ nghiên cứu cuả nhà toán học Nga tiếng, viện só Kantorovich L.V nêu loạt công trình toán kế hoạch sản xuất, công bố năm 1938 Năm 1947 nhà toán học Mỹ Dantzig nghiên cứu đề xuất phương pháp đơn hình để giải toán QHTT Năm 1952 phương pháp đơn hình chạy máy tính điện tử Mỹ 1.1 Định nghóa Ví dụ: Bài toán lập kế hoạch sản xuất Xí nghiệp sản xuất mặt hàng A, B, C, D từ loại nguyên liệu I, II, III vơí lượng dự trữ tương ứng u1, u2, u3 (đơn vị nguyên liệu) Bảng sau cho biết lợi nhuận thu chi phí nguyên liệu cho đơn vị sản phẩm: Lập kế hoạch sản xuất mặt hàng sau: a) Tổng lợi nhuận thu lớn b) Sử dụng hết nguyên liệu, riêng loại nguyên liệu III dư c) Tổng số lượng sản phẩm A D không nhỏ u4 Phân tích mô hình: Gọi x1, x2, x3, x4 số sản phẩm A, B, C, D tương ứng cần sản xuất f  c1x1  c2 x  c3 x3  c4 x Toång lợi nhuận: Nguyên liệu I cần sử dụng: a11x1  a12 x  a13x3  a14 x Nguyeân liệu II cần sử dụng: a21x1  a22 x  a23x3  a24 x Nguyên liệu III cần sử dụng: a31x1  a32 x  a33x3  a34 x Như toán lập kế hoạch sản xuất phát biểu sau: Tìm số x1, x2, x3, x4 cho: f  c1x1  c2 x  c3x3  c4 x  max đó: a11x1  a12 x  a13x3  a14 x  u1  a21x1  a22 x  a23x3  a24 x  u2  a31x1  a32 x  a33 x3  a34 x  u3 x  x  u4   x j  0, j  (1-1) 10 Bài toán gọi toán Quy hoạch tuyến tính Bài toán Quy hoạch tuyến tính dạng tổng quát Tìm số xj, j  n cho n f   c jx j  min[max] j1 :  n  aijx j  u i ,  j1  n  aijx j  ui ,  j1  n  aijx j  ui ,  j1  x  0,  j i  k i  k  l i  l  m (1-2) j  n* Biểu thức f gọi hàm mục tiêu Các phương trình, bất phương trình (tuyến tính) gọi điều kiện ràng buộc Các điều kiện ràng buộc dấu x j  0, j  n* gọi ràng buộc tự nhiên, điều kiện lại gọi ràng buộc bắt buộc Một vectơ n chiều X  (x1 ,x , ,x n )  R n có thành phần thỏa mãn tất điều kiện ràng buộc gọi phương án chấp nhận Khi n f(X)   c jx j gọi giá trị hàm mục tiêu phương án X Tập hợp tất j1 phương án toán Quy hoạch tuyến tính ký hiệu D Một phương án có giá trị hàm mục tiêu nhỏ [lớn nhất] miền D gọi phương án tối ưu hay nghiệm cuả toán Quy hoạch tuyến tính Bài toán Quy hoạch tuyến tính dạng tắc Bài toán Quy hoạch tuyến tính dạng tắc trường hợp đặc biệt, điều kiện ràng buộc bắt buộc hệ m phương trình độc lập ( m  n ), tất ẩn số không âm : 86 -5 B := { y , x -1 } > subs(B,z); -3 > C:=solve({x=0,x-2*y=4}); C := { x 0, y -2 } > subs(C,z); -2 > D:=solve({x=0,y=0});z:=-0+0; z := > E:=({-x+y=1,y=0}); E := { x y 1, y } > subs(E,z); So saùnh caùc kết ta thấy z đạt giá trị nhỏ điểm C với giá trị hàm mục tiêu nhỏ z = -2 Thử lại lệnh minimize, ta thấy kết trùng khớp > with(simplex): > z := -x+y; z := x y > sol:=minimize(z,sys); sol := { x 0, y -2 } > subs(sol,z); -2 5.2 Phương pháp đơn hình – Bài toán pha Tìm giá trị lớn hàm mục tiêu z  x1  * x2  * x3 với ràng buộc x1  x2  x3  * x1  * x2  3* x3  20 x1  5* x2  * x3  30 x1,x2,x3  87 Mục tiêu toán tìm giá trị lớn hàm mục tiêu z phương pháp đơn hình Chúng ta giải toán theo bước sau đây: Xác định hàm mục tiêu ràng buộc Thêm vào biến bù để đưa ràng buộc phương trình Xác định biến trụ biến vào Xác định phương trình trụ xác định biến Thực phép xoay (dùng maple thay phải thay vào tay!) , ta từ vựng với phương trình hàm mục tiêu Nếu từ vựng tối ưu, thuật toán kết thúc, chưa tối ưu, trở lại bước Đầu tiên xác định hàm mục tiêu ràng buộc Maple > restart; > with(simplex): > obj:=z=x1+3*x2+2*x3; obj := z  x1  x2  x3 > constraints:=[x1+x2+x3 ratio([s1=1-x1-x2-x3,s2=20-7*x1-2*x2-3*x3,s3=30-x1-5*x2-4*x3],x2); [ , 10 , ] 88 Tìm phương trình trụ cách lấy phương trình có tỷ số bi /hệ số bientru dương nhỏ > pttru:=eqns[1]; pttru := s1   x1  x2  x3 Ta phương trình cách giải phương trình biến trụ phương trình trụ > neweqn:=bientru=solve(pttru,bientru); neweqn := x2   s1   x1  x3 Ta hệ phương trình cách phương trình vào phương trình lại hệ phương trình cũ > eqns:=[subs(neweqn,eqns[2]),subs(neweqn,eqns[3]),neweqn]; eqns := [ s2  18  x1  s1  x3 , s3  25  x1  s1  x3 , x2   s1   x1  x3 ] Và hàm mục tiêu > obj:=subs(neweqn,obj); obj := z   x1  s1   x3 Do hệ số hàm mục tiêu âm nên từ vựng tối ưu Vậy maxz = 5.3 Phương pháp đơn hình - Bài toán hai pha Tìm giá trị nhỏnhất hàm mục tiêu z  2x1  x2 với ràng buoäc  x1  x2  1  x1  2x2  2 x2  x1,x2  Muïc tiêu toán tìm giá trị nhỏ hàm mục tiêu z phương pháp đơn hình – hai pha Ta giải toán theo bước sau đây: Xác định hàm mục tiêu ràng buộc Tìm toán bổ trợ minx0 89 Thêm vào biến bù để đưa ràng buộc toán bổ trợ phương trình Xác định biến trụ x0 Xác định phương trình trụ phương trình có bi âm xác định biến Thực phép xoay, ta từ vựng với phương trình hàm mục tiêu Nếu từ vựng toán bổ trợ tối ưu, ta từ vựng xuất phát chấp nhận giải tiếp phương pháp đơn hình, chưa tối ưu, trở lại bước Đầu tiên xác định hàm mục tiêu ràng buộc Maple > restart; > with(simplex): > obj:=2*x1+x2; obj := x1  x2 > constrains:=[-x1+x2 pttru:=eqns[2]; pttru := s2    x1  x2  x0 Ta phương trình cách giải phương trình biến trụ phương trình trụ > neweqn:=bientru=solve(pttru,bientru); neweqn x0  s2   x1  x2 := Ta hệ phương trình cách phương trình vào phương trình lại hệ phương trình cũ > eqns:=[subs(neweqn,eqns[1]),subs(neweqn,eqns[3]),neweqn]; eqns := [ s1   x2  s2 , s3   x2  s2  x1 , x0  s2   x1  x2 ] Và hàm mục tiêu > obj:=subs(neweqn,obj); s2   x1  x2 obj := Chọn biến trụ biến có hệ số hàm mục tiêu âm > bientru:=x2; bientru := x2 Chọn phương trình trụ phương trình có tỉ số bi/ai nhỏ nhất: > pttru:=eqns[1]; pttru := s1   x2  s2 Giải phương trình biến trụ phương trình trụ ta phương trình mới: > neweqn:=bientru=solve(pttru,bientru); neweqn := x2   s1 s2   3 91 Thế phương trình vào phương trình lại hệ cũ, ta hệ mới: > eqns:=[subs(neweqn,eqns[2]),subs(neweqn,eqns[3]),neweqn];  s3   s1  x1 , x0  s2   x1  s1 ,  3  s1 s2  x2      3  eqns := Và hàm mục tiêu mới: > obj:=subs(neweqn,obj); obj := s2 s1   x1  3 Baây chọn biến trụ x1 hàm mục tiêu có x1 có hệ số âm: > bientru:=x1; bientru := x1 Chọn phương trình trụ phương trình thứ hai hệ mới: > pttru:=eqns[2]; pttru := x0  s2 s1   x1  3 Ta phương trình mới: > neweqn:=bientru=solve(pttru,bientru); neweqn := x1   x0  s2 s1   3 Và hệ mới: > eqns:=[subs(neweqn,eqns[1]),subs(neweqn,eqns[3]),neweqn];  s3   s1  x0   3  s2 s1 x1   x0    3 eqns := s2 s1 s2 , x2     , 3 3    Hàm mục tiêu: > obj:=subs(neweqn,obj); obj := x0 Vì hệ số âm hàm mục tiêu nên từ vựng tối ưu, ta bỏ x0 khỏi từ vựng tính giá trị hàm mục tiêu z 92 > obj:=subs(eqns[2],eqns[3],2*x1+x2); obj :=  x0  s2   s1 > obj:=3+s2+s1; obj :=  s2  s1 Ta tìm từ vựng chấp nhận hệ số bi ràng buộc dương Và may mắn thay, ta thấy hàm mục tiêu có hệ số dương nên từ vựng tối ưu Vậy minz = 5.4 Bài toán xoay vòng Tìm giá trị lớn hàm mục tiêu z 10 x1  57 x2 x3  24 x4 với hệ ràng buộc x1  5.5 x2 2.5 x3 x4  x1 1.5 x2 x3 x4 x1 0 x1 0 x2 0 x3 Mục tiêu toán tìm giá trị lớn hàm mục tiêu z phương pháp đơn hình Chúng ta giải toán theo bước sau đây: Xác định hàm mục tiêu ràng buộc Thêm vào biến bù để đưa ràng buộc phương trình Xác định biến trụ biến có hệ số dương hàm mục tiêu Xác định biến biến có số nhỏ tỉ số aik lớn bi Thực phép xoay, ta từ vựng với phương trình hàm mục tiêu 93 Nếu từ vựng tối ưu, thuật toán kết thúc, chưa tối ưu, trở lại bước Nếu thuật toán đơn hình lặp lại vô hạn vòng lặp không dẫn đến nghiệm tối ưu Nếu áp dụng quy tắc Bland sau tránh tượng xoay vòng : biến vào chọn biến có số lớn biến có hệ số mục tiêu dương, biến chọn biến có số nhỏ số biến có số l  B thỏa quy tắc chọn biến 1 alk  a    max lk  bl  iB bl  Xác định toán Maple: Hàm mục tiêu: > obj := z = 10*X1 - 57*X2 - 9*X3 - 24*X4; Các ràng buộc: cnstrts := [0.5*X1 - 5.5*X2 - 2.5*X3 + 9*X4 pttru := eqns[1]; pttru := s1 0.5 X1  5.5 X2  2.5 X3  X4 94 Đưa biến trụ vào sở giải phương trình, ta phương trình mới: > neweqn := bientru = solve(pttru,bientru); neweqn := X1  2 s1 11 X2  X3  18 X4 Ta có hệ phương trình mới: > eqns := [subs(neweqn,eqns[2]),subs(neweqn,eqns[3]),neweqn]; Và hàm mục tiêu mới: obj := subs(neweqn,obj); eqns := [ s2  1.0 s1 4.0 X2  2.0 X3  8.0 X4, s3 1 s1 11 X2  X3  18 X4 , X1  2 s1 11 X2  X3  18 X4 ] obj := z 20 s1  53 X2  41 X3  204 X4 Lần lặp thứ nhì Chọn biến trụ X2 X2 có hệ số dương lớn hàm mục tiêu: > bientru := X2; bientru := X2 Ta có phương trình trụ: > pttru := eqns[1]; pttru := s2 1.0 s1 4.0 X2  2.0 X3  8.0 X4 Ta phương trình mới: > neweqn := bientru = solve(pttru,bientru); neweqn := X2  0.2500000000s2 0.2500000000s1  0.5000000000X3  X4 Và hệ hàm mục tiêu lần lặp thứ hai: > eqns := [subs(neweqn,eqns[2]),subs(neweqn,eqns[3]),neweqn]; obj := subs(neweqn,obj); eqns := [ s3  1. 0.750000000 s1  2.750000000 s2 0.500000000 X3  X4, X1  0.750000000 s1 2.750000000 s2 0.500000000 X3  X4, X2  0.2500000000s2 0.2500000000s1 0.5000000000X3  X4 ] obj := z 6.75000000 s1 13.25000000 s2 14.50000000 X3  98 X4 Lần lặp thứ ba Chọn biến trụ X3 : > bientru := X3; bientru := X3 Chọn phương trình truï: 95 > pttru := eqns[2]; pttru := X1  0.750000000 s1 2.750000000 s2 0.500000000 X3  X4 Ta có phương trình mới: > neweqn := bientru = solve(pttru,bientru); neweqn := X3  2 X1  1.500000000 s1 5.500000000 s2  X4 Ta có hàm mục tiêu hệ phương trình lần lặp thứ ba: > eqns := [subs(neweqn,eqns[1]),subs(neweqn,eqns[3]),neweqn]; obj := subs(neweqn,obj); eqns := [ s3  1. 1.000000000 X1, X2  2.500000000 s2 0.5000000000s1 1.000000000 X1  2.000000000 X4, X3  2 X1  1.500000000 s1  5.500000000 s2  X4 ] obj := z 15.00000000 s1 93.00000000 s2 29.00000000 X1  18.0000000 X4 Lần lặp thứ tư Tương tự bước kế tiếp, ta chọn biến trụ X4: > bientru := X4; bientru := X4 Và chọn phương trình trụ: > pttru := eqns[2]; pttru := X2  2.500000000 s2 0.5000000000s1 1.000000000 X1  2.000000000 X4 Và phương trình mới: > neweqn := bientru = solve(pttru,bientru); neweqn := X4  0.5000000000X2  1.250000000 s2  0.2500000000s1  0.5000000000X1 Ta coù hệ phương trình hàm mục tiêu bước lặp thứ tư: > eqns := [subs(neweqn,eqns[1]),subs(neweqn,eqns[3]),neweqn]; obj := subs(neweqn,obj); eqns := [ s3  1. 1.000000000 X1, X3  2.000000000 X1  0.500000000 s1 4.500000000 s2 4.000000000 X2, X4  0.5000000000X2  1.250000000 s2 0.2500000000s1 0.5000000000X1 ] obj := z 10.50000000 s1  70.50000000 s2 20.00000000 X1  9.000000000 X2 Lần lặp thứ năm Cứ theo quy tắc cũ, ta chọn biến trụ, phương trình trụ: > bientru := s1; 96 bientru := s1 > pttru := eqns[2]; pttru := X3  2.000000000 X1  0.500000000 s1 4.500000000 s2  4.000000000 X2 Ta phương trình mới: > neweqn := bientru = solve(pttru,bientru); neweqn := s1 2 X3  X1  s2  X2 Ta coù hệ hàm mục tiêu bước lặp thứ năm: > eqns := [subs(neweqn,eqns[1]),subs(neweqn,eqns[3]),neweqn]; obj := subs(neweqn,obj); eqns := [ s3  1. 1.000000000 X1, X4  1.500000000 X2  1.000000000 s2 0.5000000000X3  0.5000000000X1, s1 2 X3  X1  s2 X2 ] obj := z 21.00000000 X3  22.00000000 X1  24.00000000 s2  93.00000000 X2 Lần lặp thứ sáu > bientru := s2; bientru := s2 > pttru := eqns[2]; pttru := X4  1.500000000 X2  1.000000000 s2 0.5000000000X3  0.5000000000X1 > neweqn := bientru = solve(pttru,bientru); neweqn := s2 1 X4  1.500000000 X2  0.5000000000X3  0.5000000000X1 Ta hệ phương trình hàm mục tiêu mới: > eqns := [subs(neweqn,eqns[1]),subs(neweqn,eqns[3]),neweqn]; obj := subs(neweqn,obj); eqns := [ s3 1. 1.000000000 X1, s1 2.500000000 X3  0.500000000 X1  X4  5.50000000 X2, s2 1 X4  1.500000000 X2  0.5000000000X3  0.5000000000X1 ] obj := z 9.00000000 X3  10.00000000 X1  24.00000000 X4  57.00000000 X2 Quay lại hệ ban đầu: tượng xoay vòng! Tóm tắt toàn trình: 97 Bước lặp Xuất phát Bước lặp Bước lặp Bước lặp Bước lặp Bước lặp Bước lặp Biến vào Biến X1 X2 X3 X4 s1 s2 s1 s2 X1 X2 X3 X4 Biến sở s1, s2, s3 X1, s2 s3 X1, X2, s3 X3, X2, s3 X3, X4, s3 s1, X4, s3 s1, s2, s3 Biến không sở X1, X2, X3, X4 s1, X2, X3, X4 s1, s2, X3, X4 s1, s2, X1, X4 s1, s2, X1, X2 X3, s2, X1, X2 X1, X2, X3, X4 Ở cột biến vào biến thay đổi theo thứ tự danh sách biến sở bước lặp trùng với danh sách biến sở toán xuất phát, ta kết luận toán xoay vòng Kiểm tra biến trụ lệnh pivotvar! Điều chỉnh theo quy tắc Bland > obj := z = -21*X3 + 22*X1 +24*s2 - 93*X2; eqns := [s1 = -2*X3 + 4*X1 + 9*s2 - 8*X2 ,X4 = 1.5*X2 - s2 + 0.5*X3 - 0.5*X1, s3 = X1 ]; obj := z 21 X3  22 X1  24 s2 93 X2 eqns := [ s1 2 X3  X1  s2 X2 , X4  1.5 X2  s2 0.5 X3  0.5 X1 , s3 1 X1 ] > pivotvar( -21*X3 + 22*X1 +24*s2 - 93*X2 ); X1 > bientru := X1; bientru := X1 > pttru := eqns[2]; pttru := X4  1.5 X2  s2 0.5 X3  0.5 X1 > neweqn := bientru = solve(pttru,bientru); neweqn := X1  2 X4  X2  s2 X3 > eqns := [subs(neweqn,eqns[1]),subs(neweqn,eqns[3]),neweqn]; obj := subs(neweqn,obj); eqns := [ s1  X3  X4  X2  s2, s3  1 X4  X2  s2  X3 , X1  2 X4  X2  s2  X3 ] obj := z X3  44 X4  27 X2  20 s2 Lần lặp 98 > bientru := X3; bientru := X3 > pttru := eqns[2]; pttru := s3 1 X4  X2  s2 X3 > neweqn := bientru = solve(pttru,bientru); neweqn := X3  1 s3 1. X4  X2  s2 > eqns := [subs(neweqn,eqns[1]),subs(neweqn,eqns[3]),neweqn]; obj := subs(neweqn,obj); eqns := [ s1 2 s3 2. X4  X2  s2, X1  1. s3 , X3  1 s3 1. X4  X2  s2 ] obj := z 1 s3 1. 42 X4  30 X2  18 s2 Giaûi thuật ngừng Thoát khỏi xoay vòng ! Trong chương này, đề cập đến lời giải bước toán quy hoạch tuyến tính Mặc dù giải thuật đưa mẻ, ưu điểm tính toán hình thức thể chỗ bước giải trở nên đơn giản hơn, trực quan hơn, đối tượng trình bày trực tiếp thực lại máy tính cá nhân, từ giúp trình học tập diễn hiệu 99 KẾT LUẬN Mục tiêu luận văn tính toán hình thức sử dụng phần mềm Maple để giải toán quy hoạch toán học, cụ thể quy hoạch tuyến tính Trong luận văn, trình bày vấn đề Quy hoạch tuyến tính Maple, cách tiếp cận Maple để giải toán quy hoạch tuyến tính Phương pháp lặp bước môi trường Maple sử dụng nhằm minh họa giải thuật (phương pháp giải) quen thuộc, với mục đích để giải thuật trở nên đơn giản hơn, trực quan hơn, đối tượng trình bày trực tiếp thực lại máy tính cá nhân, từ giúp trình học tập diễn hiệu Phương pháp áp dụng cho vấn đề khác giáo dục đại học, học từ xa (E – learning): Quy hoạch phi tuyến, Phương pháp tính số toán kỹ thuật v.v… 100 TÀI LIỆU THAM KHẢO [ ]- Phan Quốc Khánh – Trần Huệ Nương, Quy hoạch tuyến tính, NXB Giáo dục, năm 2000 [ ]- Mahmut Parlar, Interactive Operations Research with Maple, Boston – Basel – Berlin, năm 1952 [ ]- PGS Bùi Minh Trí, Quy hoạch toán học, NXB KH KT Hà Nội, năm 1999 [ ]- Đặng Văn Uyên, Quy hoạch tuyến tính, NXB Giáo dục, Hà Nội, 1989 [ ]- Trương Văn Khảng, Quy hoạch tuyến tính, ĐH Kinh tế TP Hồ Chí Minh, TPHCM, 1987 [ ]- K M Heal, M L Hansen and K M Rickard Maple V Learning Guide Spring – Verlag, New York, 1998 [ ]- A Heck Introduction to Maple Springer – Verlag, New York, 2nd edition, 1996 ... kiến thức Quy hoạch tuyến tính nhằm đáp ứng kiến thức cho chương sau 26 Chương TỔNG QUAN VỀ TÍNH TOÁN HÌNH THỨC VÀ MAPLE Từ đầu thập niên 90, bên cạnh tính toán số quen thuộc máy tính, xuất tính. .. giải toán QHTT qua vài ví dụ mô hình quy hoạch tuyến tính trình bày lời giải, minh họa chương trình tính toán hình thức Maple Với Maple, giải trực tiếp simplex, giải trực tiếp ma trận, tính toán. .. phương án toán Quy hoạch tuyến tính ký hiệu D Một phương án có giá trị hàm mục tiêu nhỏ [lớn nhất] miền D gọi phương án tối ưu hay nghiệm cuả toán Quy hoạch tuyến tính Bài toán Quy hoạch tuyến tính

Ngày đăng: 13/02/2021, 08:27

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

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

Tài liệu liên quan