BÀI GIẢNG LÝ THUYẾT TỐI ƯU

29 945 4
BÀI GIẢNG LÝ THUYẾT TỐI ƯU

Đ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ài ghi môn “Lý thuyết tối ưu_Luu Thi Lan Huong” Chương BÀI TOÁN TỐI ƯU TỔNG QUÁT VÀ ỨNG DỤNG 1.1 Bài toán tối ưu tổng quát phân loại Giới thiệu toán tối ưu tổng quát Lý thuyết tối ưu lĩnh vực kinh điển toán học có nhiều ảnh hưởng đến nhiều lĩnh vực khoa học công nghệ, kinh tế xã hội Một phương án tối ưu phương án khả thi tốt nhất, tức phương án làm cho hàm mục tiêu đạt kết (max) phải thỏa mãn điều kiện yêu cầu toán (thỏa mãn điều kiện ràng buộc) Trong mô hình toán học, mục tiêu toán biểu diễn hàm: f ( x)  min(max) với x biến vecto biến x  ( x1 , x , , x n ) Biến x vector biến x = ( x1 , x , , x n ) thường có yêu cầu phải thỏa mãn số điều kiện Tập hợp điều kiện biến gọi điều kiện ràng buộc biểu diễn miền D (miền ràng buộc) Dạng tổng quát toán tối ưu: Làm cực tiểu/cực đại hàm mục tiêu: f ( x)  min(max) Thỏa mãn điều kiện ràng buộc xD (1) (2) Yêu cầu: Tìm x để thỏa mãn (2) làm cực tiểu/ cực đại hàm mục tiêu (1) x * (một giá trị cụ thể ( x1 , x , , x n ) ), thỏa mãn điều kiện (1) & (2) gọi phương án tối ưu Nếu x thỏa mãn điều kiện (2) gọi x phương án chấp nhận hay phương án Thí dụ 1: Tìm x cho : f ( x)  x  x   max (3) Với : x  D = [-2,2; 1,8] (4) Với x  [-2,2; 1,8] phương án  2,2  x  1,8 Bài toán tương đương toán tìm giá trị lớn (GTLN) f (x)  2,2  x  1,8 Phương pháp tìm GTLN (đã học giải tích 1) thực sau: - Tìm cực trị f (x) , tính giá trị cực trị, tính giá trị đầu mút miền D, sau so sánh để tìm giá trị lớn (hay nhỏ nhất) →Tìm điểm dừng f ' ( x) = Tính f (x) điểm dừng Tìm f (2,2) ; f (1,8) Vậy f ' ( x)  3x    x  1 f (1) = -1 f (1) = f (2,2) = -3,048 f (1,8) = 1,432 Do f max = x * = -1 Thí dụ 2: Bài toán tối ưu điều kiện ràng buộc, giá trị x vecto x phương án chấp nhận Vậy cần tìm x cho f (x) →min(max) Có thể điều kiện ràng buộc xác định hàm mục tiêu miền xác định hàm mục tiêu Tìm phương án tối ưu toán Z  a  x  y  max (5) Điều kiện ràng buộc xác định từ điều kiện xác định hàm Z, tức a2 – x2 – y2 > 0, hay miền ràng buộc toán là: x2 + y2 < a2, (6) (5) – (6) toán tìm cực trị hàm hai biến Phương pháp giải: Dùng phương pháp tìm cực trị hàm biến  Z x'   x  → Có điểm dừng M(0,0) ' Z y   y  - Tìm điểm dừng  - Sau ứng dụng đơn điệu kết luận M(0,0) cực đại → Phương án tối ưu x * = (0,0) → Zmax = Z(0,0) = a Thí dụ 3: Tìm phương án tối ưu toán sau: f ( x)  x1  x  max Với điều kiện ràng buộc 4 x1  x  60 (a )  2 x1  x  48 (b)  x ,x   Giải x * = (12,6), f max = 132 Phân loại toán tối ưu Các toán tối ưu toán qui hoạch toán học (Mathematics – programming)  Bài toán tối ưu tuyến tính: hàm mục tiêu tất ràng buộc có dạng tuyến tính Thí dụ: toán thí dụ toán tối ưu tuyến tính  Bài toán tối ưu phi tuyến: hàm mục tiêu điều kiện ràng buộc phi tuyến (có chứa yếu tố phi tuyến – bậc 2, logic, mũ…) Thí dụ: Bài toán thí dụ 1, thí dụ toán tối ưu phi tuyến  Bài toán tối ưu rời rạc: biến giá trị hàm mục tiêu rời rạc Có thể chia sau: - Tối ưu nguyên (quy hoạch nguyên): biến hàm mục tiêu nhận giá trị nguyên - Tối ưu đồ thị: dạng đặc biệt toán tối ưu rời rạc Có đỉnh điểm rời rạc Kí hiệu: X = {A, B, C, D} Tập cạnh E = {e1, e2, …, e8} E = {(A, D); (A, B); … } Tìm đường ngắn đồ thị thỏa mãn điều kiện  Bài toán quy hoạch động (những kết toán bước sau phụ thuộc vào kết bước trước)  Bài toán tối ưu đa mục tiêu: toán có nhiều hàm mục tiêu cần phải tối ưu miền ràng buộc f i (x) →min(max), i = 1, 2, …, n xD Trong có nhiều hàm mục tiêu đối lập Khi giải toán phải kết hợp hài hòa lợi ích (giá trị) đạt hàm mục tiêu 1.2 Ứng dụng lý thuyết tối ưu Phương pháp mô hình hóa Nhiều vấn đề thực tế, kinh tế, khoa học xã hội giải phương pháp tối ưu toán học Quan trọng từ thực tế phải xây dựng mô hình toán học thích hợp Từ sử dụng phương pháp tối ưu để giải với công cụ thích hợp Các bước cần thiết áp dụng phương pháp mô hình hóa: Bước 1: Khảo sát vấn đề thực tế, phát vấn đề cần giải phương pháp tối ưu Bước 2: Phát biếu điều kiện ràng buộc hàm mục tiêu dạng định tính Bước 3: Lựa chọn biến quy định sau định lượng hóa điều kiện ràng buộc hàm mục tiêu Từ xây dựng mô hình định lượng mô hình toán học (mô hình tối ưu) Bước 4: Thu thập số liệu lựa chọn phương pháp toán học thích hợp để giải mô hình Bước 5: Xây dựng thuật toán quy trình giải Lựa chọn công cụ (giấy bút, máy tính) lập trình cho toán Bước 6: Đánh giá kết thu Nếu phù hợp thực tế cho kết tối ưu chứng tỏ mô hình xây dựng đúng, hợp lý, chấp nhận kết Nếu không phù hợp thực tế phải xem xét điều chỉnh mô hình Kết luận: Cần có hợp tác chuyên gia chuyên ngành (chẳng hạn kỹ thuật điện, điện tử…), chuyên gia tin học, toán học để giải toán thực tế Một số thuật ngữ trình xây dựng mô hình: - Toán ứng dụng (Applied Mathematic) Vận trù học (Operation Research – OR) Khoa học quản lý (Management Science – MS) Ứng dụng máy tính (Computer Application) Mô hình tối ưu (Optimization models) Quy hoạch (Programming) Một số ứng dụng lý thuyết tối ưu Xét số thí dụ dẫn đến mô hình tối ưu Thí dụ 4: Bài toán phân phối điện Có ba hộ phụ tải cần cung cấp điện từ hai nguồn điện cách xa Giá thành truyền tải đơn vị điện (hao tổn + chi phí bảo dưỡng đường dây, tram) từ nguồn thứ i (i = 1, 2) đến hộ thứ j (j = 1, 2, 3) Cij Khả cung cấp nguồn điện bị giới hạn trữ lượng chúng A1, A2 Nhu cầu hộ tiêu thụ cần phải đáp ứng đủ B1, B2, B3 Hãy lập kế hoạch phân phối điện khả thi cho tổng chi phí truyến tải nhỏ Giải - Lập mô hình toán học Giả thiết: Điều kiện cân thu phát: Tức i 1 j 1  thu   phát  Ai   B j Đặt biến xij lượng điện chuyển từ trạm cung cấp thứ i đến hộ tiêu thụ thứ j; ta có xij  0; i  1,2; j  1,2,3 (điều kiện không âm biến) Tổng chi phí truyền tải:  C i 1 j 1 ij xij Vậy có hàm mục tiêu: f ( x)   C ij xij  (1) i 1 j 1 Điều kiện ràng buộc: Tổng lượng điện từ trạm 1: x11  x12  x13  A1 Tổng lượng điện từ trạm 2: x 21  x 22  x 23  A2 Tổng lượng điện hộ 1: x11  x 21  B1 (2) Tổng lượng điện hộ 2: x12  x 22  B2 Tổng lượng điện hộ 3: x13  x 23  B3 Điều kiện không âm biến x11 , x12 , , x 23  Bài toán tối ưu tuyến tính toán tìm giá trị (1) để thỏa mãn điều kiện (2) Thí dụ 5: Bài toán xây dựng hệ thống truyền tải điện Một huyện (X0) có xã X1, X2, X3, X4, X5 Xây dựng hệ thống truyền tải điện từ huyện đến tất xã Giữa hai địa điểm thay đổi đường dây với chi phí cho hình Hãy lập phương án xây dựng hệ thống điện nối liền xã vào huyện với tổng chi phí nhỏ X2 X3 X1 X0 X5 X4 Hình 1: Các giả thiết toán Đây toán tối ưu đồ thị giải thuật toán PRIM, KRUSKAL X2 X3 X1 X0 X4 X5 Hình – Kết (giải thuật toán PRIM) Ta có : Sơ đồ đường dây cần xây dựng tối ưu hình 2, tổng chi phí đầu tư nhỏ : f  15 Thí dụ 6: Bài toán lập kế hoạch sản xuất tối ưu với tài nguyên có hạn Một nhà máy sản xuất hai loại sản phẩm (I) (II) từ hai loại nguyên liệu A B Biết sản phẩm loại I cần đơn vị nguyên liệu A đơn vị nguyên liệu B; sản phẩm loại (II) cần đơn vị nguyên liệu A đơn vị nguyên liệu B Khi bán sản phẩm loại I lãi đơn vị tiền, bán sản phẩm loại (II) lãi đơn vị tiền Hãy lập kế hoạch sản xuất cho thu lãi nhiều với số dự trữ nguyên liệu có hạn: 60 đơn vị nguyên liệu A 48 đơn vị nguyên liệu B Bài giải Lập mô hình: Biến định x1 , x số sản phẩm loại (I), (II) cần sản xuất Tổng lãi: Hàm mục tiêu f ( x)  x1  x  max (1) Điều kiện ràng buộc: Tổng số nguyên liệu A: x1  x  60 Tổng số nguyên liệu B: x1  x  48 (2) x1 , x  Vậy ta có toán tối ưu với hàm mục tiêu (1) thỏa mãn điều kiện ràng buộc (2) Đây toán TUTT thí dụ Bài toán 7: Bài toán vận tải Người ta cần chở gạo từ hai kho K1, K2 tới ba nơi nhận T1, T2, T3 Lượng gạo có hai kho nhu cầu nơi tiêu thụ với giá cước vận tải chuyển từ kho Ki đến Tj (i = 1, 2; j = 1, 2, 3) cho bảng sau: TT T1 Kho K1 T2 35(T) T3 25(T) 45(T) 1 30(T) K2 75(T) Gọi toán “vận tải”, có phương pháp giải riêng nhiên đưa giải toán tối ưu tuyến tính Gọi xij lượng gạo chuyển từ Ki đến Tj, xij  0, i  1,2; j  1,3 Hàm mục tiêu: Điều kiện ràng buộc: f ( x)  x11  x12  x13  x 21  x 22  x 23  (1) x11  x12  x13  30 x 21  x 22  x 23  75 x11  x 21  35 x12  x 22  25 x13  x 23  45 (2) xij  0, i  1,2; j  1,3 Chương TỐI ƯU TUYẾN TÍNH 2.1 Bài toán tối ưu tuyến tính tổng quát 2.1.1 hí dụ mở đầu mô hình tối ưu tuyến tính (QHTT) Ta xét toán kinh tế lập kế hoạch sản xuất : Giả sử đơn vị kinh tế nông nghiệp sản xuất hai loại sản phẩm I II Để sản xuất đơn vị sản phẩm I cần có đơn vị nguyên liệu loại A đơn vị nguyên liệu loại B, tiêu cho đơn vị sản phẩm loại II Lượng dự trữ nguyên liệu loại A B có 60 48 (đơn vị) Hãy xác định phương án sản xuất (xác định số sản phẩm cần sản xuất cho loại) đẻ đạt lợi nhuận lớn nhất, biết lợi nhuận / đơn vị sản phẩm bán (đơn vị tiền tệ) cho sản phẩm loại I II - Ta mô hình hóa toán dạng toán học sau : Gọi số sản phẩm loại I loại II cần sản xuất x1 x2, ( x1, x2  ) Ta có lợi nhuận thu z = 8x1 + 6x2 Mức tiêu thụ nguyên liệu loại A 4x1 + 2x2 (không vượt 60) Mức tiêu thụ nguyên liệu loại A 2x1 + 4x2 (không vượt 48) - Vậy việc lập kế hoach sản xuất đưa việc giải toán sau : - Tìm x1, x2 cho làm cực đại hàm z = 8x1 + 6x2, thỏa mãn điều kiện ràng buộc: 4x1 + 2x2  60 2x1 + 4x2  48 x1 , x  - Viết lại dạng toán quy hoạch toán học : Hàm mục tiêu : z = 8x1 + 6x2  max (1) 4x1 + 2x2  60 2x1 + 4x2  48 x1 , x  (2) Điều kiện ràng buộc Giải toán này, ta có phương án tối ưu X* = (12, 6), zmax = 132 - Bài toán (1) – (2) có dạng mô hình tối ưu toán học, nữa, tất biểu thức hàm mục tiêu điều kiện ràng buộc có dạng tuyến tính (là đa thức với biến định xj xuất mô hình bậc 1), toán toán quy hoạch tuyến tính - Tổng quát hóa toán trên, với nhiều biến định nhiều điều kiện ràng buộc, ta phát biểu toán quy hoạch tuyến tính dạng tổng quát sau : 2.1.2 Bài toán quy hoạch tuyến tính tổng quát Bài toán quy hoạch tuyến tính (QHTT) tổng quát có dạng : - Tìm cực đại (cực tiểu) hàm: z  C1 x1  C x   C n x n  max / (3) - thỏa mãn điều kiện ràng buộc: a11 x1  a12 x   a1n x n  b1   ai1 x1  x   ain x n  bi   a j1 x1  a j x   a jn x n  b j   a x  a x   a x  b m2 mn n m  m1   x1 , x , , x k  0, voi k  n (4) Trong đó:  Z = f(X) gọi hàm mục tiêu toán, X = (x1, x2,…, xn ) vecto n thành phần (một n giá trị hay gọi điểm không gian n chiều) Cj - hệ số hàm mục tiêu (j=1, 2, …, n)  Hệ điều kiện (4) gọi hệ ràng buộc, số điều kiện ràng buộc dạng bất đẳng thức ( < ), số ràng buộc dạng bất đẳng thức ( > ), số ràng buộc dạng đẳng thức (=) Các biến định (có thể tất cả) có điều kiện không âm Miền D xác định hệ ràng buộc (6) gọi miền ràng buộc  Ma trận hệ ràng buộc có dạng: a11 a12 a1n a a a 2n  21 22 A=   a m1 a m a mn       - Một phương án (hay phương án khả thi) vector X = (x1, x2,…, xn ) thỏa mãn hệ ràng buộc (4) Rõ ràng điểm (x1, x2,…, xn ) thuộc miền ràng buôc D phương án, miền D gọi tập phương án - Phương án tối ưu (optimal solution) phương án, mà giá trị hàm mục tiêu tạiđó đạt cực đại (hay cục tiểu) Phương án tối ưu thường ký hiệu X* hay X-opt 2.1.3 Phương pháp đồ thị giải toán quy hoạch tuyến tính Phương pháp đồ thị có ý nghĩa minh hoạ giúp hiểu chất số khái niệm Để giải ví dụ ta thực bước sau Bước 1: Vẽ miền ràng buộc (miền phương án khả thi) tập hợp phương án khả thi (hay phương án, nói cách ngắn gọn) Mỗi phương án thể qua số (x1, x2) gọi véc tơ nghiệm, thoả mãn tất ràng buộc có kể điều kiện không âm biến (xem hình I.1) - Trước hết vẽ đồ thị 4x1 + 2x2 = 60 cách xác định hai điểm đồ thị: (x1 = 0; x2 = 30) (x2 = 0; x1 = 15) Hình 1.1 Phương pháp đồ thị giải toán QHTT Đồ thị đường thẳng chia mặt phẳng làm hai nửa mặt phẳng: phần gồm điểm (x1, x2) thoả mãn 4x1 + 2x2  60; phần thoả mãn 4x1 + 2x2  60 Ta tìm nửa mặt phẳng thoả mãn 4x1 + 2x2  60 - Tương tự, vẽ đồ thị 2x1 + 4x2 = 48 cách xác định hai điểm thuộc đồ thị (x = 0, x2 = 12) ( x2 = 0, x1 = 24) Sau tìm nửa mặt phẳng thoả mãn 2x1 + 4x2  48 - Lúc này, giao hai nửa mặt phẳng tìm cho ta tập hợp điểm (x1, x2) thoả mãn ràng buộc Tuy nhiên, để thoả mãn điều kiện không âm biến, ta xét điểm nằm góc phần tư thứ Vậy miền phương án khả thi miền giới hạn tứ giác OABC (còn gọi đơn hình miền tạo nên giao nửa mặt phẳng) Bước 2: Trong miền (OABC) ta tìm điểm (x1, x2) cho z = 8x1 + 6x2 đạt giá trị lớn Cách 1: Dùng đường đồng mức Tùy theo giá trị x1, x2 mà z có mức giá trị khác - Vẽ đường đồng mức: 8x1 + 6x2 = c, ta chọn giá trị c bất kỳ, chọn c = 24 bội số chung để việc tìm toạ độ điểm cắt hai trục toạ độ thuận lợi hơn, với số nguyên, mức c = 24, dễ dàng tìm hai điểm nằm đường đòng mức (x1= 0; x2 = 4) (x2 = 0; x1 = 3) Các điểm nằm đường đồng mức cho giá trị hàm mục tiêu z = 24 - Tương tự, vẽ đường đồng mức thứ hai: 8x1 + 6x = 48 qua hai điểm (x1 = 0; x2 = 8) (x2 = 0; x1 = 6) Chúng ta nhận thấy, tịnh tiến song song đường đồng mức lên theo  hướng véc tơ pháp tuyến n (8,6) giá trị hàm mục tiêu z = 8x1 + 6x2 tăng lên Vậy giá trị z lớn đạt đường đồng mức qua điểm B(12, 6) (tìm x1 =12; x2 = cách giải hệ phương trình 4x1 + 2x2 = 60 2x1 + 4x2 = 48 ) Kết luận: Trong phương án khả thi phương án tối ưu (x1=12; x2 = 6) Tại phương án này, giá trị hàm mục tiêu lớn zmax = 8.12 + 6.6 = 132 Nhận xét: Phương án tối ưu toán (hay BTQHTT khác), có, đạt đỉnh miền phương án D, hay gọi điểm cực biên D (điểm cực biên điểm thuộc D, mà tìm đoạn thẳng thuộc D nhận điểm điểm trong) Nhận xét định lý toán học chứng minh cách tổng quát Nói cách hình ảnh, muốn đạt phương án tối ưu cho BTQHTT cần phải “mạo hiểm” xét điểm cực biên miền phương án, cần xét điểm cực biên đủ, toán có phương án tối ưu đạt phương án cực biên Từ ta đưa cách để giải toán QHTT Cách 2: Từ nhận xét trên, để tìm phương án tối ưu ta cần so sánh giá trị hàm mục tiêu điểm cực biên miền rang buộc D Đầu tiên chọn điểm cực biên O(0, 0), tính giá trị f O: f (0, 0) = 0; Tại điểm cực biên A(0,12) tính giá tri f(0, 12) = 72; Tại điểm cực biên C (15,0), tính giá trị f(15, 0) = 120; Tại điểm cực biên B (12,6), tính giá trị f(12, 6) = 132 So sánh giá trị hàm mục tiêu điểm cực biên nói trên, giá trị max z đạt điểm B(12, 6) Vậy phương án tối ưu X*= (12, 6), giá trị cực đại hàm mục tiêu zmax = f(12, 6) = 132 Bài toán giải 2.1.4 Quy trình tổng quát giải toán QHTT  Nhận xét phương pháp đồ thị Từ phương pháp đồ thị, ta có nhận xét chung phương pháp giải toán QHTT sau: để tìm phương án tối ưu BTQHTT ta xuất phát từ điểm cực biên đó, tìm cách cải thiện hàm mục tiêu cách tới điểm cực biên kề Tiếp tục tìm phương án tối ưu Trong trường hợp BTQHTT có phương án tối ưu quy trình giải kết thúc sau số hữu hạn bước (do số điểm cực biên hữu hạn) để nhận phương án tối ưu Đối với BTQHTT xét, quy trình giải minh hoạ sau: Nếu xuất phát O (0,0) chọn đỉnh kề, ta có hai hướng đến phương án tối ưu đạt phương án cực biên B(12, 6): Tại O(0,0) f(0, 0) = đến A(0,12) f(0, 12) = 72 đến B(12,6) f(12, 6) = 132 Tại O(0,0) f(0, 0) = đến C(15, 0) f(15, 0) = 120 đến B(12,6) f(12, 6) = 132 Hình 1.2 Quá tình đến phương án tối ưu toán QHTT Với toán QHTT có hai biến tập phương án đa giác lồi Khi toán có nhiều hai biến ta có tập phương án “tập lồi đa diện”, toán học phức tạp, với số biến lớn biểu diễn hình học Dựa trình giải toán QHTT đồ thị với hai biến, người ta tổng quát hóa quy trình giải toán QHTT, làm sở xây dựng thuật toán “đơn hình” để giải toán QHTT trường hợp tổng quát  Sơ đồ khối giải toán quy hoạch tuyến tính Quy trình giải BTQHTT tổng quát có sơ đồ khối giản lược trình bày hình 1.3 Trong sơ đồ này, mục đích trình bày vấn đề đơn giản, không đề cập tới trường hợp BTQHTT có miền phương án tập rỗng (lúc ta không tìm phương án xuất phát) 10 a11 a12 a1n  a a a .0  2n  21 22  A=     a m1 a m a mn 0 1 (10) 2.2.2.3 Phương án toán QHTT dạng chuẩn Định nghĩa 2.3 Phương án toán QHTT dạng chuẩn phương án có giá trị ẩn ẩn sở  Phương án xuất phát toán QHTT dạng chuẩn Khi toán dạng chuẩn, từ hệ ràng buộc (9), ta thấy: cho ẩn ẩn sở nhận giá trị 0, ẩn sở nhận giá trị vế phải tương ứng nó, tức xn+i = bi hệ ràng buộc thỏa mãn Nói cách khác, với toán ỏ dạng chuẩn ta nhận phương án xuất phát: X0 = (0, 0, …0, b1, b2, …bm) Thí dụ: Đưa toán QHTT sau dạng chuẩn, tìm phương án xuất phát:: Hàm mục tiêu: z  x1  x  max Với ràng buộc:  x1  x  36 (1)  4 x1  x  40 (2)  x ,x   * Đưa dạng tắc Thêm ẩn bù x3 vào ràng buộc (1) ta có: Hàm mục tiêu mới: z  x1  x  x3  max Điều kiện ràng buộc mới: 3x1  3x  x3   x1  x  x ,x ,x    36 (1)  48 (2) * Kiểm tra ẩn sở Ràng buộc (1) có ẩn sở x3, ta thấy thiếu ẩn sở chuo ràng buộc (2), thêm ẩn giả x4 , ẩn giả có hệ số +1 ràng buộc (2), có hệ số -M (M > 0, lớn ) hàm mục tiêu Bài toán đưa dạng chuẩn sau: z  x1  x  x3  Mx  max Điều kiện: 15  3x1  3x  x3   x4  x1  x x , x , x , x    36  48 Phương án xuất phát: X   x1 , x , x3 , x  = (0, 0, 36, 40) Chú ý: Ta cần phân biệt ẩn bù ẩn giả: Ẩn bù dùng để đưa toán QHTT tổng quát dạng tắc, ẩn giả để đưa toán QHTT dạng tắc dạng chuẩn Trong ràng buộc, hệ số ẩn bù bảng +1 -1, hệ số ẩn giả luôn +1 Trong hàm mục tiêu, hệ số ẩn bù 0, hệ số ẩn giả max), M (nếu z  min) -M (nếu z  2.3 Giải toán Quy hoạch tuyến tính 2.3.1 Thuật toán đơn hình (với toán z  max)  Điều kiện để giải toán tối ưu tuyến tính phương pháp đơn hình: Bài toán phải dạng chuẩn có phương án xuất phát X1  Theo phần 1.2, ta luôn đưa toán dạng chuẩn tìm phương án xuất phát  Các bước thuật toán đơn hình: Bước 1: Xuất phát: Lập bảng đơn hình (1) ứng với phương án xuất phát X(1): xác định ẩn sở, hệ số để đưa vào bảng đơn hình khởi đầu Bước 2: Kiểm tra điều kiện tối ưu (a) Tính j (b) Kiểm tra điều kiện tối ưu: j > j Nếu thỏa mãn: dừng thuật toán Chuyển sang bước Nếu vi phạm điều kiện tối ưu, tức có giá trị j < (với cột j đó), bước chuyển Bước 3: Biến đổi bảng (a) Chọn cột xoay (b) Chọn dòng xoay (c) Xác định phần tử trục (d) Xác định ẩn sở để đưa vào, ẩn sở cũ để loại khỏi bảng đơn hình (e) Tính toán hệ số bảng đơn hình (2) ứng với phương án X(2), sau chuyển sang bước Quá trình lặp lại thỏa mãn điều kiện tối ưu chuyển sang bước 16 4, phát toán phương án tối ưu có j < mà theo cột aij < Bước 4: Xác định nghiệm toán (a) Phương án tối ưu: Giả sử điều kiện tối ưu thỏa mãn bảng đơn hình thứ (k) ứng với phương án bảng X(k) = (x1, x2,…, xn , 0, 0, …0), tức ẩn bù ẩn giả xn+1, xn+2, …, xm có giá trị 0, ta chọn phương án tối ưu toán gốc : X* = (x1, x2,…, xn) (b) Giá trị hàm mục tiêu: zmax = f(X*) - Ta trình bày bước thuật toán thông qua thí dụ sau: Thí dụ: Tìm phương án tối ưu cho toán: z  x1  x  max Với điều kiện ràng buộc: 4 x1  x  60 (a )  2 x1  x  48 (b)  x ,x   a) Đưa dạng tắc Thêm ẩn bù x3 , x vào ràng buộc (a), (b) Bài toán đưa dạng tắc: z  x1  x  x3  x  max Điều kiện ràng buộc:  x1  x  x3   x4  x1  x x , x , x , x    60  48 b) Đưa dạng chuẩn Bài toán dạng chuẩn với ẩn sở x3 x4, ta có phương án xuất phát X   x1 , x , x3 , x  = (0, 0, 60, 48) Khi toán thỏa mãn điều kiện (a) (b) việc giải toán phương pháp đơn hình, gồm bước sau: Bước 1: Khởi đầu Lập bảng đơn hình (1) ứng với phương án xuất phát X(1): xác định ẩn sở, hệ số để đưa vào bảng đơn hình khởi đầu Bước 2: Kiểm tra điều kiện tối ưu (a) Tính j (b) Kiểm tra điều kiện tối ưu: j > j Nếu thỏa mãn: dừng thuật toán Chuyển sang bước 17 Nếu vi phạm điều kiện tối ưu, tức có giá trị j < (với cột j đó), bước - chuyển Sau hai bước trên, ta có bảng đơn hình đầu tiên, với giá trị j dòng cuối Do điều kiện tối ưu bị vi phạm, ta chuyển sang bước Bảng đơn hình (1) Bước 3: Biến đổi bảng (a) Chọn cột xoay: ứng với j < nhỏ nhất, 1 = -8 Cột xoay cột b (b) Chọn dòng xoay: cột xoay, tìm dòng ứng với i với aij  Trong aij đơn hình (1) dòng (c) Xác định phần tử trục phần tử giao dòng xoay cột xoay (phần tử đánh dấu bảng đơn hình (1) (d) Xác định ẩn sở ẩn ứng với cột xoay để đưa vào, ẩn sở cũ ứng với hàng xoay để loại khỏi bảng đơn hình Trong bảng đơn hình (1): ẩn đưa vào x1 , ẩn loại x3 Sau lập bảng đơn hình ứng với sở (e) Tính toán hệ số bảng đơn hình (bảng 2), ta nhận phương án X(2): - Chia tất dòng xoay cũ cho phần tử trục (kể cột phương án), sau chuyển dòng vào vị trí tương ứng bảng (gọi dòng xoay mới) - Biến đổi để phần tử cột với côt xoay cũ có dạng vecto đơn vị, với phần tử trục 1, phép biển đổi Gauss cho ma trận hệ số cột phương án, đưa kết vào bảng sau chuyển sang bước Bảng đơn hình (2) Với bảng đơn hình (2), điều kiện tối ưu chưa thỏa mãn, bước lặp lại, ta nhận bảng đơn hình (3), với phương án X3 Bảng đơn hình (3) 18 Điều kiện tối ưu thỏa mãn với bảng (3): j > j Chuyển sang bước Bước 4: Xác định nghiệm toán (a) Phương án bảng tối ưu: X3 = (12, 6, 0, 0) ta chọn phương án tối ưu toán gốc : X* = (12, 6) (b) Giá trị hàm mục tiêu: fmax = f(X*) = 8*12+6*6 = 132 2.3.2 Thuật toán đơn hình mở rộng Khi toán QHTT dạng chuẩn có ẩn giả xj (j = n+k, , n+m), toán có dang: z = c1x1 + c2x2 + ;;; +cnxn + cn+1xn+1 +… - Mxn+k - …-Mxm  max Với điều kiện ràng buộc:   b1 a11 x1  a12 x   a1n x n  x n 1 a x  a x   a x  xn2  b2 22 2n n  21    xnk  bk a 21 x1  a 22 x   a n x n   a m1 x1  a m x   a mn x n  x n  m  bm   x , x , , x , x , x , x n n 1 n2 nm   - Trong đó, ẩn giả xn+k, xn+k+1, …, xn+m Các ẩn có hệ số hàm mục tiêu –M (với toán z  max) , M số dương lớn - Bài toán gọi toán M, (hay toán đánh thuế) Thuật toán đơn hình giải toán gọi thuật toán đơn hình mở rộng, hay thuật toán M, (hay phương pháp đánh thuế), thuật toán hoàn toàn giống thuật toán đơn hình thông thường cho toán ẩn giả, cần lưu ý so so sánh j ý –M số âm nhỏ, nhỏ số âm cụ thể Xét thí dụ giải toán QHTT bảng phương pháp đơn hình mở rộng: 19 Thí dụ 2: Giải toán sau phương pháp đơn hình: z  x1  x  max Điều kiện:  x1  x  36 (1)  (I) 4 x1  x  40  x ,x   * Đưa dạng tắc Thêm ẩn bù x3 vào ràng buộc (1) ta có: z  x1  x  x3  max Điều kiện: 3x1  3x  x3  (II)  x1  x  x ,x ,x    36  40 (2) * Kiểm tra ẩn sở Ta thấy thiếu ẩn sở thêm ẩn giả x4 vào (2) để làm ẩn sở z  x1  x  x3  Mx  max Điều kiện:  3x1  3x  x3   x4 (II)  x1  x x , x , x , x    36  40 Phương án xuất phát: x   x1 , x , x3 , x  =(0, 0, 36, 40) Ở bảng đơn hình cuối, điều kiện tối ưu thỏa mãn, phương án tối ưu toán M X = (8, 4, 0, 0) 20 Phương án tối ưu toán gốc là: X* = (8, 4) Giá trị cực đại hàm mục tiêu là: zmax = f(X*) = 9*8 + 6*4 = 96 Chú ý: Với toán M (có ẩn giả) - Nếu với phương án thỏa mãn điều kiện tối ưu mà ẩn giả có giá trị khác toán lời giải ( f max   , f   ) - Khi ẩn giả bị loại loại vĩnh viễn, bỏ cột tương ứng 2.3.3 Thuật toán đơn hình với toán z  Trường hợp này, bước thuật toán đơn hình thuật toán đơn hình mở rộng tương tự với toán z  max, ý số thay đổi sau: Ở bước 2: Kiểm tra điều kiện tối ưu là: j < j Nếu vi phạm điều kiện tối ưu, tức có giá trị j > (với cột j đó), chuyển bước Ở bước 3: Chọn cột xoay ứng với cột có j > lớn Bài toán phương án tối ưu có j > mà theo cột aij < Các bước chọn dòng xoay biến đổi bảng trường hợp toán z  max Với toán có ẩn giả (phương pháp đơn hình mở rộng), hệ số ẩn giả hàm mục tiêu M Các bước lại theo ý 2.4 Giải toán quy hoạch tuyến tính máy tính 2.4.1 Giải toán quy hoạch tuyến tính Excel Excel phần mềm đóng gói thương phẩm sử dụng rộng rãi tính toán, tổng hợp liệu, xử lý phân tích số liệu thống kê, giải toán tối ưu / quy hoạch v.v Đối với toán quy hoạch phi tuyến, sử dụng phần mềm Excel, nói chung tìm phương án tối ưu địa phương mà tìm phương án tối ưu toàn cục Chính vậy, nên sử dụng Excel để giải BTQHTT Trước hết, phải chắn máy tính bạn có Excell cài đặt trình giải QHTT Solver Trong MS Excell 2003: Vào Tool -> Solve, chưa có Solve vào Tool -> Add Ins để cài thêm công cụ Solve) Trong MS Excell 2007 cao hơn: thực cài đặt solver theo hướng dẫn sổ hội thoại sau: 21 Thí dụ Giải BTQHTT Max z = 8x1 + 6x2, với ràng buộc 4x1 + 2x2  60; 2x1 + 4x2  48; x1 , x  Trước hết, người giải phải nhập liệu hình I.4 22 Hình 1.4 Nhập liệu cho toán quy hoạch tuyến tính Excel Như vậy, cần chọn vùng ô B3 B4 cho hai biến x1 x2, với giá trị ban đầu Tiếp theo, nhập hệ số hàm mục tiêu, hệ số ràng buộc hệ số vế phải vào ô tương ứng cột C, D, E F Sau gõ trực tiếp công thức, dùng hàm SUMPRODUCT để tính giá trị hàm mục tiêu z = 8x1 + 6x2 ghi vào ô C6 Tương tự tính giá trị vế trái ràng buộc ghi vào ô D6 E6 Lúc nhận bảng số liệu xuất phát hình I.5 Hình 1.5 Số liệu xuất phát toán quy hoạch tuyến tính Thực lệnh Tools > Solver cách trước tiên nhập ô giá trị hàm mục tiêu C6 vào khung Set Target Cell, nhập ô B3 B4 chứa giá trị biến x1 x2 vào khung By Changing Cell Sau đó, nhập ràng buộc cách nháy chuột máy tính vào nút Add… hình I.6 cho ràng buộc: 2x1 + 4x2  48, tức $E$6 [...]... =(0, 0, 36, 40) Ở bảng đơn hình cuối, điều kiện tối ưu đã thỏa mãn, phương án tối ưu của bài toán M là X = (8, 4, 0, 0) 20 Phương án tối ưu của bài toán gốc là: X* = (8, 4) Giá trị cực đại của hàm mục tiêu là: zmax = f(X*) = 9*8 + 6*4 = 96 Chú ý: Với bài toán M (có ẩn giả) - Nếu với 1 phương án thỏa mãn điều kiện tối ưu mà ẩn giả có giá trị khác 0 thì bài toán không có lời giải ( f max   , f min... kiện tối ưu thì chuyển sang bước 16 4, hoặc phát hiện bài toán không có phương án tối ưu nếu có j < 0 mà theo cột này mọi aij < 0 Bước 4: Xác định nghiệm bài toán (a) Phương án tối ưu: Giả sử điều kiện tối ưu thỏa mãn ở bảng đơn hình thứ (k) ứng với phương án trong bảng là X(k) = (x1, x2,…, xn , 0, 0, …0), tức là các ẩn bù và ẩn giả xn+1, xn+2, …, xm đều có giá trị bằng 0, khi đó ta chọn phương án tối. .. đơn hình (2) Với bảng đơn hình (2), điều kiện tối ưu chưa thỏa mãn, bước 3 được lặp lại, ta nhận được bảng đơn hình (3), với phương án X3 Bảng đơn hình (3) 18 Điều kiện tối ưu đã thỏa mãn với bảng (3): j > 0 j Chuyển sang bước 4 Bước 4: Xác định nghiệm bài toán (a) Phương án trên bảng là tối ưu: X3 = (12, 6, 0, 0) khi đó ta chọn phương án tối ưu của bài toán gốc là : X* = (12, 6) (b) Giá trị hàm... với bài toán z  min Trường hợp này, các bước của thuật toán đơn hình và thuật toán đơn hình mở rộng tương tự như với bài toán z  max, chỉ chú ý một số thay đổi sau: 1 Ở bước 2: Kiểm tra điều kiện tối ưu là: j < 0 j Nếu vi phạm điều kiện tối ưu, tức là còn có giá trị j > 0 (với cột j nào đó), chuyển bước 3 2 Ở bước 3: Chọn cột xoay ứng với cột có j > 0 lớn nhất Bài toán không có phương án tối ưu. .. bảng đơn hình khởi đầu Bước 2: Kiểm tra điều kiện tối ưu (a) Tính các j (b) Kiểm tra điều kiện tối ưu: j > 0 j Nếu thỏa mãn: dừng thuật toán Chuyển sang bước 4 17 Nếu vi phạm điều kiện tối ưu, tức là còn có giá trị j < 0 (với cột j nào đó), bước 3 - chuyển Sau hai bước trên, ta có bảng đơn hình đầu tiên, với các giá trị j ở dòng cuối Do điều kiện tối ưu bị vi phạm, ta chuyển sang bước 3 Bảng đơn hình... được sử dụng rộng rãi trong tính toán, tổng hợp dữ liệu, xử lý phân tích số liệu thống kê, giải các bài toán tối ưu / quy hoạch v.v Đối với bài toán quy hoạch phi tuyến, khi sử dụng phần mềm Excel, nói chung chúng ta chỉ có thể tìm được phương án tối ưu địa phương mà không thể tìm được phương án tối ưu toàn cục Chính vì vậy, chỉ nên sử dụng Excel để giải các BTQHTT Trước hết, phải chắc chắn rằng máy... trong hàm mục tiêu là –M (với bài toán z  max) , trong đó M là số dương rất lớn - Bài toán trên được gọi là bài toán M, (hay bài toán đánh thuế) Thuật toán đơn hình giải bài toán này được gọi là thuật toán đơn hình mở rộng, hay thuật toán M, (hay phương pháp đánh thuế), thuật toán hoàn toàn giống như thuật toán đơn hình thông thường cho bài toán không có ẩn giả, chỉ cần lưu ý khi so so sánh các j thì... hệ số của ẩn giả là max), và là M (nếu z  min) -M (nếu z  2.3 Giải bài toán Quy hoạch tuyến tính 2.3.1 Thuật toán đơn hình (với bài toán z  max)  Điều kiện để giải được bài toán tối ưu tuyến tính bằng phương pháp đơn hình: Bài toán phải ở dạng chuẩn và có một phương án cơ bản xuất phát X1  Theo phần 1.2, ta luôn luôn đưa được bài toán về dạng chuẩn và tìm được một phương án cơ bản xuất phát  Các... Kết quả bài toán hiện ra trên hình I.9 Hình 1.9 Kết quả bài toán trên màn hình máy tính Như vậy, phương án tối ưu của bài toán trên là x1 = 12, x1 = 6 và giá trị cực đại của hàm mục tiêu là z = 132 Ngoài ra, có thể phân tích chi tiết hơn kết quả của bài toán thông qua các báo cáo Answer Report và Sensitivity Report nhận được trên màn hình máy tính (hình 1.10) Hình 1.10 Kết quả chi tiết của bài toán... phương án tối ưu của bài toán gốc là : X* = (x1, x2,…, xn) (b) Giá trị hàm mục tiêu: zmax = f(X*) - Ta sẽ trình bày các bước của thuật toán thông qua thí dụ sau: Thí dụ: Tìm phương án tối ưu cho bài toán: z  8 x1  6 x 2  max Với các điều kiện ràng buộc: 4 x1  2 x 2  60 (a )  2 x1  4 x 2  48 (b)  x ,x  0 1 2  a) Đưa về dạng chính tắc Thêm các ẩn bù x3 , x 4 vào các ràng buộc (a), (b) Bài toán ... toán tối ưu Các toán tối ưu toán qui hoạch toán học (Mathematics – programming)  Bài toán tối ưu tuyến tính: hàm mục tiêu tất ràng buộc có dạng tuyến tính Thí dụ: toán thí dụ toán tối ưu tuyến...  Bài toán tối ưu phi tuyến: hàm mục tiêu điều kiện ràng buộc phi tuyến (có chứa yếu tố phi tuyến – bậc 2, logic, mũ…) Thí dụ: Bài toán thí dụ 1, thí dụ toán tối ưu phi tuyến  Bài toán tối ưu. .. thỏa mãn điều kiện tối ưu chuyển sang bước 16 4, phát toán phương án tối ưu có j < mà theo cột aij < Bước 4: Xác định nghiệm toán (a) Phương án tối ưu: Giả sử điều kiện tối ưu thỏa mãn bảng đơn

Ngày đăng: 11/04/2016, 20:48

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

Tài liệu liên quan