1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CHƯƠNG II GIẢI THUẬT ĐƠN HÌNH

48 331 0

Đ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

Nội dung

GIẢI THUẬT ĐƠN HÌNH CHƯƠNG II GIẢI THUẬT ĐƠN HÌNH Chương trình bày cách chi tiết nội dung giải thuật đơn hình Sau phần sở lý thuyết giải thuật ví dụ tương ứng Các ví dụ trình bày theo bước giải thuật Kiến thức chương cần thiết cho việc lập trình giải quy hoạch tuyến tính máy tính Nội dung chi tiết chương bao gồm : I- GIẢI THUẬT ĐƠN HÌNH CƠ BẢN 1- Cơ sở xây dựng giải thuật đơn hình 2- Định lý hội tụ 3- Giải thuật đơn hình 4- Chú ý trường hợp suy biến II- GIẢI THUẬT ĐƠN HÌNH CẢI TIẾN 1- Một cách tính ma trận nghịch đảo 2- Quy hoạch tuyến tính dạng chuẩn 3- Giải thuật đơn hình cải tiến 4- Phép tính dòng - Bảng đơn hình III- PHƯƠNG PHÁP BIẾN GIẢ CẢI BIÊN 1- Bài toán cải biên a- Cải biên toán quy hoạch tuyến tính b- Quan hệ toán xuất phát toán cải biên 2- Phương pháp hai pha 3- Phương pháp M vô lớn IV- QUY HOẠCH TUYẾN TÍNH SUY BIẾN 1- Các ví dụ quy hoạch tuyến tính suy biến 2- Xử lý quy hoạch tuyến tính suy biến 34 GIẢI THUẬT ĐƠN HÌNH CHƯƠNG II: GIẢI THUẬT ĐƠN HÌNH I- GIẢI THUẬT ĐƠN HÌNH CƠ BẢN Chương trình bày phương pháp để giải toán quy hoạch tuyến tính phương pháp đơn hình Phương pháp đơn hình George Bernard Dantzig đưa năm 1947 lúc với việc ông khai sinh quy hoạch tuyến tính Đây phương pháp thực có hiệu để giải toán quy hoạch tuyến tính cở lớn thực tế Với cách nhìn đại ý tưởng phương pháp đơn hình đơn giản Có nhiều cách tiếp cận phương pháp đơn hình, chương trình bày cách 1- Cơ sở xây dựng giải thuật đơn hình Xét toán quy hoạch tuyến tính tắc : max z(x) = c T x  Ax = b  x ≥ 0 Giả sử B sở khả thi xuất phát toán ( không thiết m cột ma trận A ) Thuật toán đơn hình xây dựng dựa bước sau : a- Gán B = B l=0 ( số lần lặp ) b- l = l+1 c- Với sở thời B tính : xB x= x b=B T N −1 =B b : phương án sở khả thi tương ứng  =0  −1 b T T c N = c N − cN B d- T Nếu c N = c NT − cB T B ≤ −1 −1 N : dấu hiệu tối ưu N giải thuật dừng toán có phương án tối ưu x Ngược lại, tồn s cho c s > ( c s thành phần thứ s c N ) sang bước e 35 e- Tính : A s −1 = B As ( As cột thứ s A ) Nếu A s ≤ giải thuật dừng phương án tối ưu không giới nội Ngược lại, tồn a is ∈ A s mà a is > tính : b  b =  i , a is > 0 = r   a rs a is ∧ x s ( i = → m) a is thành phần A s ∧ x f- ∧ thành phần thứ s phương án x s Gọi xt biến tương ứng với cột thứ r sở B Khi biến xs ∧ nhận giá trị x ∧ s > ( vào sở ), biến xt nhận giá trị x t = ( khỏi sở ) Như ∧ ∧ phương án x tương ứng với sở B ( thay đổi sở ) xác định sau : ∧ B =B∪{t}-{s} g- ∧ Gán B = B quay b Về mặt hình học, giải thuật hiểu trình duyệt qua điểm cực biên đa diện lồi S phương án khả thi toán Về mặt đại số, giải thuật hiểu trình xác định chuỗi ma trận sở kề B B B mà phương án sở tương ứng x x x ngày tốt hơn, tức : z(x ) < z(x ) < z(x ) Chú ý : Nếu sở ban đầu B m cột ma trận A giải thuật t r 2- Định lý hội tụ Với giả thiết toán không suy biến, giải thuật đơn hình hội tụ phương án tối ưu sau số hữu hạn lần lặp Bằng thống kê người thấy nói chung giải thuật đơn hình hội tụ với số lần lặp phải từ m đến 3m ( m số ràng buộc ) 3- Giải thuật đơn hình Xét toán quy hoạch tuyến tính tắc min/max z(x) = c T x  Ax = b  x ≥ Giả sử sau hoán vị cột A ta chọn ma trận sở B thoả phân hoạch sau : A =[B N] c T = [c B cN ] x T = [x B xN ] Giải thuật đơn hình thực sau : a- Tính ma trận nghịch đảo B -1 b- Tính tham số : Phương án sở khả thi tốt  x B = B − 1b = b   x=   x N = T Giá trị hàm mục tiêu z(x) = cB xB -1 Ma trận N = B N c- Xét dấu hiệu tối ưu : T c N = Nc − cB T B T −1 T N=c − c T N B N T - Nếu c N ≤ kết thúc giải thuật với phương án tối ưu :  x B = B − 1b = b   x=  xN =  giá trị hàm mục tiêu : T z(x) = cB xB - Nếu tồn c s ∈ c mà c s > sang bước d N d- Xác định số phần tử pivot ma trận N Xác định số cột s pivot c s = max {c k > ∈ cN } Nếu Nis ≤ giải thuật dừng, toán phương án tối ưu Ngược lại tiếp tục Xác định số dòng r pivot   bi br  , Nis > 0 =  Nrs  Nis (i = 1,2, ,m) Phần tử Nrs ma trận N gọi phần tử pivot Trong trường hợp toán c- Xét dấu hiệu tối ưu : T c N - Nếu = Nc − cB T B T −1 T N = cN − c T N B T c N ≥ kết thúc giải thuật với phương án tối ưu :  x B = B − 1b = b   x=  x N =  giá trị hàm mục tiêu : T z(x) = c B xB - Nếu tồn c d- s ∈c N mà c s < sang bước d Xác định số phần tử pivot ma trận N Xác định số cột s pivot { c s = max | c k | ck < ∈ cN } Nếu Nis ≤ giải thuật dừng, toán phương án tối ưu Ngược lại tiếp tục Xác định số dòng r pivot   bi br  , Nis > 0 = Nis  Nrs  (i = 1,2, ,m) Phần tử Nrs ma trận N gọi phần tử pivot e- Thực hoán vị : Cột thứ s ma trận N với cột thứ r ma trận B T T Phần tử thứ s c N với phần tử thứ r cB T T Biến xs xN với biến xr x B f- Quay (a) GIẢI THUẬT ĐƠN HÌNH Ví dụ : Tìm phương án tối ưu cho toán quy hoạch tuyến tính tắc sau giải thuật đơn hình max z(x) = 2x1 + x Ta có :  x1 − x + x =  x + 2x + x =    − x1 + 2x + x =  xj≥ (j = 1,2,3,4,5) 1 − |  A= |   − | 1 0  3 0  b =  6     B N x T = [x x | x x NT c T =[ c NT x x5 ] x BT | 0 ] c BT Lần lặp1 -1 a- Tính ma trận nghịch đảo B  0   −1 B = B =  0   1  b- Tính tham số Phương án sở khả thi tốt :   1 0 3  3           x =  x4  = B − 1b = 0 0 6 = 6 = b B             x 0  2 x= 2       5       x1       xN =   =      x     0    x3   GIẢI THUẬT ĐƠN HÌNH Giá trị hàm mục tiêu : z(x) = c x B = [0 T B Tính ma trận :  0  −  − 1    0   =      −  −  1  −1 N =B N=   c- Xét dấu hiệu tối ưu : T N c =c T N − c [2 T B  3 0]  6 =     2 N= 1] − [0  − 1   0]   =[2 ]  − Chuyển sang bước d d- Xác định số pivot Xác định số cột pivot s : c s { } = max c k > ∈ c N = max {2,1}= = c Vậy s=1  1   Ma trận cột s=1 ma trận N N1 =      − 1   Xác định số dòng pivot r : b1  bi   b1 b  3 6   =  ,  = min ,  = = N11 1  Nis  N11 N21    e- Hoán vị Vậy r = Cột thứ s=1 ma trận N cột thứ r=1 ma trận B T T Phần tử thứ s=1 cN với phần tử thứ r=1 cB T T Biến thứ s=1 x N với biến thứ r=1 x B 0 1 − |  A=1 | →A =    − | 0 1 →  T  c = [2 | 0 ] 1 − |  |  c T 0     = [0 | | − 1 0] x T =[ x x | x3 x4 x5 ] → x T = [x x2 | x x4 x5 ] f- Quay bước a Lần lặp a Tính ma trận nghịch đảo B 0 0  1  B= b- Tính tham số -1  0   =  − 1 0 B −1  − 1 1 Phương án sở khả thi tốt :   0  3  3           x =  x4  = B − 1b =  − 0 6 = 3 = b  B                12   5   x x=  5       x  0     xN =   =      x     0    x1  1  Giá trị hàm mục tiêu :  3 z(x) = c x B = [2 0]  3 =    5   T B Tính ma trận : −  − 1     = -1    1  0    N = B N =  - 1 0  1 −1 c- Xét dấu hiệu tối ưu : T N  − 1   ] − [2 0 ] - = [− ] T c = c N − cB T N = [0  1  Chuyển sang bước d d- Xác định số pivot Xác định số cột pivot s : c s { = max c k > ∈ c N } { } T c T c1 10 0 0 -M w(x ) − − M Do x6 = (vì sở) nên bị loại khỏi bảng ta tiếp tục tìm phương án tối ưu cho toán gốc cho có phương án sở khả thi khởi tạo sau : cB iB T c c T x1 x 3 3 10 x x 1 0 x5 − 3 b0 10 9 z(x ) Các bước thực giống phương pháp hai pha IV- QUY HOẠCH TUYẾN TÍNH SUY BIẾN Khi thực thuật toán đơn hình trường hợp bất thường xảy xác định biến tồn tỷ số bi = , tức tồn bi =0, hay tỷ số a ik dương thật Người ta xem trường hợp suy biến Khi bảng đơn hình rơi vào tình trạng suy biến gây khó khăn mà không ta tiếp tục thực thuật toán đơn hình 1- Các ví dụ quy hoạch tuyến tính suy biến Ví dụ : xét quy hoạch tuyến tính : z(x) = + x − x  x − 2x ≤  − 3x ≤    − 2x ≤ x1 , x ≥ Đưa toán dạng chuẩn : z(x) = + x − x  x − 2x + x =  − 3x + x =    − 2x + x = x1 , x với ma trận hệ số : ≥ x1 -3 -2 x2 -2 0 x3 0 x4 x5 0 b có chứa ma trận đơn vị Áp dụng thuật toán đơn hình cải tiến ta : cB iB x1 x2 x3 x4 x5 b -2 0 -3 0 -2 0 T -1 0 -1 0 c c T Đây trường hợp suy biến, biến vào x2, tăng lên đến mức thỏa điều kiện dấu biến sở x3, x3, x5 Đó :  x ≥ −2   x = + 2x ≥  x = + 0x ≥ ⇔  ∀x ≥  x ∀ ≥    x = + 0x  ≥ Như x2 lớn tùy ý nên hàm mục tiêu không bị giới nội Vậy toán phương án tối ưu Trường hợp bảng đơn hình tỷ số dương thật để xác định biến Ví dụ : xét quy hoạch tuyến tính : z(x) = + x − x  x + 2x ≤  − 3x ≤    − 2x ≤ x1 , x ≥ Đưa toán dạng chuẩn : z(x) = + x − x  x + 2x + x  =  − 3x + x   − 2x + x x1 , x với ma trận hệ số : ≥ = = GIẢI THUẬT ĐƠN HÌNH x1 -3 -2 x2 0 x3 0 x4 x5 0 b có chứa ma trận đơn vị Áp dụng thuật toán đơn hình cải tiến ta : cB 0 iB T c T c cB iB -1 0 c c T T b x1 -3 -2 1 x2 0 -1 -1 x3 0 0 x4 0 x5 0 0 w=7 x1 -3 -2 x2 x3 0 x4 x5 b 0 1 0 0 0 -1 w=6 Đây bảng đơn hình tối ưu Ví dụ : xét quy hoạch tuyến tính : w(x) = -3 + x − 2x + x3 2 1  x + x3 ≤  2 − x + x − x ≤  x1 , x , x ≥ Đưa toán dạng chuẩn : w(x) = -3 + x − 2x + x3 2 1  x + x3 + x =  2   − x1 + x2 − 3x + 5x = x1 , x , x , x , x với ma trận hệ số : ≥ x1 -1 x2 x3 x4 x5 b 1 có chứa ma trận đơn vị Áp dụng giải thuật đơn hình cải tiến : cB iB c c T T cB iB -2 c c T T x1 -1 2 x1 -1 − x2 x3 x4 1 1 -2 -2 x2 vào , x5 x2 -2 x3 -1 − x4 x5 b 1 0 x5 b 1 0 0 x1 vào , x4 cB -2 c c T T iB x1 x2 x3 x4 x5 b 1 2 2 2 0 -2 Đây bảng đơn hình tối ưu Ví dụ : xét quy hoạch tuyến tính GIẢI THUẬT ĐƠN HÌNH z(x) = − 10x + 57x + 9x + 24x  0,5x − 5,5x − 2,5x + 9x ≤  0,5x − 1,5x − 0,5x + x ≤  x ≤  x1 , x , x , x ≥ Đưa toán dạng chuẩn w(x) = − 10x + 57x + 9x + 24x  0,5x − 5,5x − 2,5x + + x = 9x  0,5x − 1,5x − 0,5x + + x =  x4 x +x =1  x1 , x , x , x , x , x , x ≥ với ma trận hệ số x1 0,5 0,5 x2 -5,5 -1,5 x3 -2,5 -0,5 x4 x5 0 x6 x7 0 b 0 có chứa ma trận đơn vị Áp dụng phương pháp đơn hình cải tiến cB 0 iB x1 0,5 0,5 -10 x2 -5,5 -1,5 57 -10 57 T x1 0 -10 T T c T c cB -10 0 iB c T cB c iB -10 57 c T c x3 -2,5 -0,5 x4 24 x5 0 x6 0 x7 0 b 0 w=0 0 x2 -11 11 57 24 x1 vào , x5 x3 x4 -5 18 -8 -18 24 x5 -1 -2 x6 0 x7 0 b 0 x1 0 -10 -53 x2 57 -41 204 x3 x4 0,5 x2 vào , x6-4ra 0,5 -2 -0,5 24 20 x5 -0,75 -0,25 0,75 10 x6 2,75 0,25 -2,75 0 x7 0 w=0 b 0 0 -14,5 6,75 13,25 x5 x6 x7 98 w=0 x3 vào , x1 cB iB x1 x2 x3 x4 b 57 T c T c cB 24 iB T c T c cB 24 iB T c T c cB 0 iB T c T c -1 -10 57 29 x1 -2 -0,5 -10 x2 0,5 57 20 x1 -4 0,5 -10 x2 -1,5 57 -22 93 x1 0,5 0,5 -10 x2 -5,5 -1,5 57 -10 57 0 -8 24 -1,5 0,5 0 5,5 -2,5 0 0 -15 93 x5 0,5 0,25 0 x6 -4,5 -1,25 0 x7 0 0 x5 vào , x3 x3 x4 -0,5 0 24 -10,5 70,5 x5 0 x6 -9 0 x7 0 21 x6 vào , x4 x3 x4 -2,5 -0,5 0 24 -24 x5 0 x6 0 x7 0 0 0 -18 x4 vào , x2 x3 x4 0 0 24 24 0 w=0 b 0 w=0 b 0 w=0 b 0 w=0 Bảng đơn hình thời giống với bảng đơn hình xuất phát : tượng xoay vòng 2- Xử lý trường hợp suy biến Theo ví dụ trên, trường hợp quy hoạch tuyến tính suy biến sau số lần lặp phương án nhận cũ mà thay đổi nào, phương án nhận tốt hơn, phương án nhận phương án nhận trước từ xoay vòng Do biện pháp phòng ngừa thuật toán đơn hình kéo dài vô tận Khi thực thuật toán đơn hình tượng suy biến xảy có tình cờ khử lẫn làm cho tồn b i Trong trường hợp có nhiều biến thỏa điều kiện biến Gặp trường hợp cần phải lựa chọn biến cho tránh tượng xoay vòng Người ta thường dùng phương pháp nhiễu loạn, phương pháp từ vựng để tránh tình cờ khử lẫn Trong thực tiển tính toán người ta đề quy tắc xử lý đơn giản, gọi quy tắc Bland, dùng giải thuật đơn hình giải quy hoạch tuyến tính suy biến, : Với xk biến vào , biến xr chọn biến có số nhỏ thỏa điều kiện chọn biến :   bi , a ik >  (i = 1,2, ,m)    a ik Ví dụ : Xét quy hoạch tuyến tính suy biến : w(x) = − x4 − +2x − x + 16x   x1 + x − 2x − x + 12x =    x + x − x − x6 + x7 =   x + x + x − 9x =   x1 , x , x , x , x , x , x ≥ Áp dụng quy tắc Bland ta thấy : cB iB x1 x2 x3 1 0 0 0 T 0 T 0 c c x4 − −4 x5 x6 x7 b -2 -1 12 1 -9 -1 16 -1 16 -1 − Biến x1 hay x2 Chọn x1 cB − iB x1 x2 x3 x4 x5 x6 x7 b 0 -6 -3 36 0 − 0 1 T 0 T c c − 34 − -9 2 -1 16 -6 -5 64 x2 x3 x4 x5 x6 x7 b 1 2 0 1 0 Biến x2 cB − iB x1 − − 4 T c c T − − 0 − 3 − − 17 10 -1 16 -1 30 Biến x4 hay x5 Chọn x4 cB iB -1 c c x1 − x2 x3 x4 x5 x6 x7 b 1 -7 0 -4 2 -1 16 0 32 x5 x6 x7 -40 b -28 3 − − T 0 T -2 − − − Biến x5 cB -1 iB x1 x2 -6 x3 0 1 x4 -3 − 3 T 0 T -6 c c − − 13 -5 31 -1 16 81 -24 x5 14 − 31 16 − 31 − 31 x6 x7 0 0 -1 16 128 31 0 Biến x3 cB iB x1 -1 0 1 16 c c x2 54 31 18 − 31 31 x3 40 31 28 31 31 T 0 T 42 31 24 31 x4 27 31 93 31 − 187 − 93 Đến không tượng suy biến Biến vào x7 b 80 31 56 31 31 CÂU HỎI CHƯƠNG 1- Trình bày sở lý thuyết thuật toán đơn hình 2- Định nghĩa quy hoạch tuyến chuẩn 3- Trình bày bước lập bảng đơn hình theo phép toán dòng 4- Cải biên quy hoạch tuyến tính tổng quát ? Cách giải quy hoạch tuyến tính cải biên quy hoạch tuyến tính gốc GIẢI THUẬT ĐƠN HÌNH BÀI TẬP CHƯƠNG 1- Tìm phương án tối ưu toán sau phương pháp đơn hình max z = 3x + 2x a)- z = -2x − 2x  2x + x   - x1 + x ≤  x + 2x ≤ 14    5x + 2x ≤ 30 b)-  x1 , x ≥ w = x + 2x c)- +x ≤  2x + 3x ≤   4x + x ≤    x + 5x ≤    x1 , x 2 ≥  x1 + x + x + x + x =  x + x 3+ x − x =   x − x + x =  x1 , x , x , x , x ≥ 2- Tìm phương án tối ưu toán sau phương pháp đơn hình cải tiến a) max z = 5x1 + 3x2 2x1 + 2x2 ≤ 80 x1 ≤ 30 x1, x2 ≥ b) max z = x1 + 2x2 2x1 + 3x2 ≤ x1 - x2 ≤ x1 ≥ 0, x2 ≥ c) max z = 5x1 + 3x2 + x3 2x1 + 3x2 - x3 ≤ 3x1 - x2 + 2x3 ≤ x1 + x2 + 3x3 ≤ x1 ≥ 0, x2 ≥ 0, x3 ≥ 3- Tìm phương án tối ưu toán sau phương pháp biến giả cải biên a) max z = 3x1 - x2 2x1 + x2 ≤ 100 x1 ≥ 10 x2 ≥ b) w = 3x1 + x2 x1 + x2 ≥ 2x1 ≥ x1, x2 ≥ c) max z = 3x1 + x2 - 3x3 x1 + 2x2 - x3 = -10x2 + 5x3 = -3x2 + x3 = xi ≥ 0, ∀ i = 1→3 max z = 2x + 6x d)- w = -x − 3x  − x1 − x − ≤ −2 x3   2x − x + x ≤ e)-    x1 , x , x ≥ f)-  x + 2x  max z = x + 3x  − x1 − x ≤ −3  − + x ≤ −1 x   − x + 2x ≤  x1 , x ≥  x1 + x ≥  − + x ≤ −  x1  x1 , x 2 ≤ ≥ w = 2x + x 2  − x1 + x ≤ − g)-   − − 2x ≤ − x  x ≤  x1 , x ≥ [...]... có nhiều cách để khắc phục hiện tượng này bằng cách xáo trộn một chút các dữ liệu của bài toán, sử dụng thủ tục từ vựng, quy tắc chọn pivot để tránh bị khử II- GIẢI THUẬT ĐƠN HÌNH CẢI TIẾN 1- Một cách tính ma trận nghịch đảo ∧ Trong giải thuật đơn hình cơ bản hai ma trận kề B và B chỉ khác nhau một cột ∧ −1 vì vậy có thể tính ma trận nghịch đảo B một cách dễ dàng từ B-1 Để làm điều đó -1 chỉ cần nhân... hoạch tuyến tính dạng chuẩn là quy hoạch tuyến tính chính tắc mà trong đó có thể rút ra một ma trận cơ sở là ma trận đơn vị Quy hoạch tuyến tính chuẩn có dạng : min/ max z(x) = c T x  [I N] x = b  ≥ x 0 3- Giải thuật đơn hình cải tiến Từ những kết quả trên người ta xây dựng giải thuật đơn hình cải tiến đối với bài toán qui hoạch tuyến tính (max) dạng chuẩn như sau : a- Khởi tạo A0 =A b0 = b b- Thực hiện... của bài toán là :  4 1    2 Phương án tối ưu x = x =  0    0   4  Giá trị hàm mục tiêu z(x) = 9 4- Phép tính trên dòng - Bảng đơn hình Các bước thực hiện giải thuật đơn hình cải tiến được trình bày lần lượt trong các bảng, gọi là bảng đơn hình Trong thực hành, để cập nhật những giá trị mới ta có thể làm như sau : Tìm pivot Chia dòng chứa pivot cho pivot Khử các phần tử trên cột... + 3x 3 − x 5 =  3 xj ≥ 0 (j = 1,2,3,4,5) Ma trận các hệ số ràng buộc là : 1 2 2 1 0  A=   không chứa ma trận đơn vị  1 2 3 0 − 1 Áp dụng phương pháp đơn hình cải biên hai pha như sau : Pha 1 GIẢI THUẬT ĐƠN HÌNH Thêm biến giả (cải biên ) x6 ≥ 0 vào ràng buộc thứ hai để được ma trận đơn vị Khi đó bài toán cải biên có dạng : min w(x) = x 6  8 2x + 2x + x x + = 2 1 3 4  3    7 x 1 + 2x2 + 3x... x6 1 3 1 3 0 2 3 2 3 0 0 1 1 0 0 0 0 0 0 0 b0 8 3 7 3 0 Bước lặp k= 1 c B1 iB 1 0 4 0 3 T c T 1 c Pha 2 2 3 1 9 7 3 1 1 9 1 w(x ) − 3 − 2 b1 10 1 3 0 0 0 GIẢI THUẬT ĐƠN HÌNH Ta được phương án tối ưu Xong pha 1 Chuyển sang pha 2 GIẢI THUẬT ĐƠN HÌNH Loại bỏ biến giả cải biên x6 ≥ 0 Khởi tạo 2  1 2 0 1  3  A 0 = 3 3 1 1 2 1 0 −  3 3 3  10    b0 =  9  7 9 c = [ 3 4 1 0 0] T Bước... TÍNH SUY BIẾN Khi thực hiện thuật toán đơn hình trường hợp bất thường có thể xảy ra là khi xác định biến ra thì tồn tại tỷ số bi = 0 , tức là tồn tại bi =0, hay không có tỷ số nào a ik dương thật sự Người ta xem đây là trường hợp suy biến Khi một bảng đơn hình rơi vào tình trạng suy biến thì có thể gây khó khăn mà cũng có thể không khi ta tiếp tục thực hiện thuật toán đơn hình 1- Các ví dụ về quy hoạch... 8 2x + 2x + x x + = 2 1 3 4  3    7 x 1 + 2x2 + 3x 3 − x + x 6 =  3 5 xj ≥ 0 (j = 1,2,3,4,5,6) Có ma trận các ràng buộc là : 1 2 2 1 0 0  A=  có chứa ma trận đơn vị  1 2 3 0 − 1 1 Giải bài toán cải biên bằng giải thuật đơn hình cải tiến Khởi tạo 8 3  1 2 2 1 0 0 A 2 3 0 1 0 = 1 − 1  c T b0 =   7   3 = [0 0 0 0 0 1] Bước lặp k=0 c B0 iB 0 x1 x2 x3 x4 x5 x6 0 4 1 2 2 1 0 0... thì giải thuật dừng và : x x B = b  k k  là phương án tối ưu = x = 0   Nk  k k z(x ) = Bc k T T B x = c B k b k là giá trị hàm mục tiêu k - Ngược lại thì sang bước (c) c- Cập nhật các giá trị mới : Tính pivot Tính ma trận chuyển cơ sở ∝ k k Tính A k +1 = ∝ A k k Tính b k +1 = ∝ b k Tăng số lần lặp k=k+1 Quay về bước b Ví dụ Giải bài toán quy hoạch tuyến tính sau đây bằng phương pháp đơn hình. .. giả cải biên bị loại ra khỏi ma trận các hệ số ràng buộc, và vectơ chi phí được cập nhật lại, do đó dấu hiệu tối ưu cũng được cập nhật lại Đây là phương pháp thuận lợi cho việc lập trình ứng dụng giải thuật đơn hình cải tiến Ví dụ : Xét bài toán quy hoạch tuyến tính max z(x) = 3x 1 + 4x 2 +x 3  + ≤8 x 1 + 2x2 2x 3 3    7 x 1 + 2x2 + 3x 3 ≥  3 xj ≥ 0 (j = 1,2,3) Đưa bài toán về dạng chính tắc bằng... 1 4 1 3 4 3 0 1 3 1 3 1 − 3 0 0 z(x ) 0 -1 -1 0 9 − 1 2 III- PHƯƠNG PHÁP BIẾN GIẢ CẢI BIÊN 1- Bài toán cải biên a- Cải biên bài toán quy hoạch tuyến tính Người ta có thể biến đổi một bài toán quy hoạch tuyến tính chính tắc thành dạng chuẩn bằng cách cộng một cách phù hợp vào vế trái của ràng buộc i một biến giả xn+i ≥ 0 để làm xuất hiện ma trận đơn vị Vì các biến giả cải biên có ảnh hưởng đến hàm mục

Ngày đăng: 21/04/2016, 18:22

w