Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
401,05 KB
Nội dung
đại học thái nguyên Tr-ờng đại học khoa học V VĂN CÔNG MỘT CẢI TIẾN CÁCH CHỌN VÉC TƠ ĐƯA VÀO CƠ SỞ CỦA PHƯƠNG PHÁP NÓN XOAY GIẢI BÀI TỐN QUY HOẠCH TUYẾN TÍNH LUẬN VĂN THẠC SĨ TỐN HC thái nguyên - năm 2014 Tai ngay!!! Ban co the xoa dong chu nay!!! đại học thái nguyên Tr-ờng ®¹i häc KHOA HäC VŨ VĂN CƠNG [ MỘT CẢI TIẾN CÁCH CHỌN VÉC TƠ ĐƯA VÀO CƠ SỞ CỦA PHƯƠNG PHÁP NĨN XOAY GIẢI BÀI TỐN QUY HOẠCH TUYẾN TÍNH LUẬN VĂN THẠC SĨ TỐN HỌC Chun ngành: Tốn ứng dụng Mã số: 60 46 01 12 Người hướng dẫn khoa học: TS NGUYỄN ANH TUẤN Thái Nguyên, 2014 Mục lục Mục lục Mở đầu Chương Bài toán quy hoạch tuyến tính phương pháp giải Bài tốn quy hoạch tuyến tính tổng quát 1.1 Dạng chuẩn dạng tắc 1.2 Đưa toán quy hoạch tuyến tính dạng chuẩn tắc Phương pháp đơn hình phương pháp nón xoay 2.1 Phương pháp đơn hình giải tốn QHTT dạng tắc .7 2.2 Phương pháp nón xoay giải tốn quy hoạch tuyến tính với miền ràng buộc hệ bất phương trình tuyến tính 11 2.2.1 Khái niệm nón đơn hình tuyến tính .11 2.2.2 Khái niệm cạnh nón đơn hình 11 2.2.3 Khái niệm nón xoay M(r,s) sinh t nún M .14 2.2.4 Định nghÜa Nón cực tiểu (Nón-min) 17 2.3 Phương pháp nón xoay tuyến tính 18 2.3.1 Thuật tốn nón xoay tuyến tính 19 2.3.2 Bảng lặp giải tốn qui hoạch tuyến tính thuật tốn nón xoay tuyến tính ví dụ minh hoạ 21 Chương Một cách chọn véc tơ đưa vào sở 26 2.1 Lựa chọn số đưa vào sở 26 2.2 Ví dụ số minh hoạ 30 Tài liệu tham khảo 32 Mở đầu Như biết, tốn quy hoạch tuyến tính (QHTT) có hai dạng dạng chuẩn dạng tắc, hai dạng có quan hệ mật thiết với Bài tốn quy hoạch tuyến tính dạng chuẩn tốn có miền ràng buộc hệ bất phương trình tuyến tính, cịn tốn quy hoạch tuyến tính dạng tắc tốn quy hoạch có miền ràng buộc hệ phương trình tuyến tính với biến có dấu khơng âm Trong kỷ trước, với phát triển mạnh mẽ công nghệ thông tin, lý thuyết tối ưu có bước tiến lớn, phải nói đến phương pháp thuật toán giải tốn quy hoạch tuyến tính, gắn liền với tên tuổi nhiều nhà toán học L.V Kantorovich (1939), George Dantzig (1947), Lemke (1954), Leonid Khachian (1979), Karmarkar (1984), Nội dung luận văn đề nghị quy tắc chọn số đưa vào sở thuật tốn nón xoay tuyến tính trình bày sách [5] giải trực tiếp tốn quy hoạch tuyến tính với miền ràng buộc hệ bất phương trình tuyến tính Cụ thể đề nghị quy tắc chọn số ràng buộc đưa vào sở thay cho sở cũ làm cho số bước lặp tới lời giải giảm Luận văn gồm chương: Chương 1: Trình bày tốn quy hoạch tuyến tính tổng quát hai dạng tốn quy hoạch tuyến tính dạng tắc dạng chuẩn với hai phương pháp giải tốn quy hoạch tuyến tính phương pháp đơn hình phương pháp nón xoay Chương 2: Nội dung dựa phương pháp nón xoay tuyến tính trình bày chương 1, đề nghị quy tắc MAX giải tốn quy hoạch tuyến tính với miền ràng buộc hệ bất phương trình tuyến tính ví dụ số minh họa Luận văn hoàn thành dựa sách “Quy hoạch tuyến tính với phương pháp nón xoay” [5] sách, tài liệu có phần tài liệu tham khảo Tác giả Vũ Văn Cơng Chương Bài tốn quy hoạch tuyến tính phương pháp giải Trong chương chúng tơi trình bày tốn quy hoạch tuyến tính tổng qt hai dạng tốn quy hoạch tuyến tính dạng tắc dạng chuẩn Sau trình bày phương pháp đơn hình giải tốn quy hoạch tuyến tính dạng tắc phương pháp nón xoay giải tốn quy hoạch tuyến tính với miền ràng buộc hệ bất phương trình tuyến tính Bài tốn quy hoạch tuyến tính tổng qt Để qn lập luận ta xét tốn tìm cực đại, sau ta xét cách chuyển tốn tìm cực tiểu sang tìm cực đại Bài tốn tổng qt quy hoạch tuyến tính có dạng: n f ( x) =< C , x >= ∑ ci xi → max i =1 (1.1) n ∑ a x (≤, =, ≥)b , i = 1, 2, , m ij j i j =1 (1.2) (1.3) x j ≥ 0, j = 1, 2, , n Nếu gặp toán Min, tức là: n f ( x) = ∑ c j x j → j =1 x ∈ D Thì giữ nguyên ràng buộc đưa toán Max cách: n f ( x ) = −∑ c j x j → max j =1 x∈D Nếu toán Max có phương án tối ưu x* tốn Min có * phương án x f = − f max Thật vậy, x* phương án tối ưu toán Max nên ta có: n n f max = − ∑ c j x ≥ −∑ c j x j , ∀x ∈ D * j j =1 j =1 Hay n n ∑ c x ≤ ∑ c x , ∀x ∈ D j * j j j =1 j j =1 Chứng tỏ x* phương án tối ưu toán Min n f = ∑ c j x*j = − f max j =1 1.1 Dạng chuẩn dạng tắc Người ta thường xét tốn quy hoạch tuyến tính hai dạng sau: • Dạng chuẩn: n ∑c x j → max j j =1 n ∑a x ij j ≤ bi , i = 1, , m j =1 x j ≥ 0, j = 1, , n • Dạng tắc: n ∑c x j j → max j = b j , i = 1, , m j =1 n ∑a x ij j =1 x j ≥ 0, j = 1, , n 1.2 Đưa toán QHTT dạng chuẩn tắc Bất kỳ quy hoạch tuyến tính đưa hai dạng chuẩn tắc nhờ phép biến đổi tuyến tính sau: Một ràng buộc n ∑a ≥ bi ij j =1 Có thể đưa ràng buộc: n −∑ aij x j ≤ −bi , j =1 cách nhân hai vế với (-1) viết lại n ∑a x ' ij ≤ bi' j j =1 Một ràng buộc đẳng thức n ∑a x ij j = bi j =1 Có thể thay hai ràng buộc bất đẳng thức: n ∑a x ij n j ≤ bi ; −∑ aij x j ≤ −bi j =1 j =1 Một biến x j khơng bị ràng buộc dấu thay hiệu hai biến không âm cách đặt: x j = x +j − x −j với x +j ≥ 0, x −j ≥ Một ràng buộc bất đẳng thức n ∑a x ij j ≤ bi j =1 Có thể đưa ràng buộc đẳng thức cách đưa vào biến phụ yi ≥ : n ∑a x ij j + yi = bi j =1 Về nguyên tắc, áp dụng nhiều lần phép biến đổi 1, ta đưa tốn quy hoạch tuyến tính dạng chuẩn, sau áp dụng nhiều lần phép biến đổi ta đưa dạng tắc Phương pháp đơn hình phương pháp nón xoay Trong mục chúng tơi trình bày sơ lược phương pháp đơn hình giải tốn quy hoạch tuyến tính dạng tắc phương pháp nón xoay [5] giải tốn quy hoạch tuyến tính với miền ràng buộc hệ bất phương trình tuyến tính 2.1 Phương pháp đơn hình giải tốn QHTT dạng tắc Phương pháp đơn hình giải tốn QHTT dạng tắc nhà tốn học Dantzig người Mỹ đề xuất năm 1947, sau chúng tơi xin tóm tắt sơ lược phương pháp Xét tốn QHTT dạng tắc sau: < c, x >→ max Ax = b x≥0 (1.4) (1.5) (1.6) Trong A ma trận kích thước m.n, với m ≤ n hạng ma trận A m Cơ sở thuật tốn đơn hình xem sách [3] Để ngắn gọn chúng tơi trình bày tóm tắt bước giải thuật tốn đơn sau: Thuật tốn đơn hình Bước 1: Xây dựng bảng đơn hình xuất phát Tìm phương án cực biên xuất phát x sở Aj , j ∈ J Xác định số z jk hệ phương trình: ∑z jk A j = Ak (1.7) j∈J Đối với k ∉ J , tính ước lượng: ∆ k = ∑ z jk c j − ck j∈J Cịn với j ≠ ∆ j = (1.8) Tính giá trị hàm mục tiêu Z0 = ∑ c j x j j∈J Bước 2: Kiểm tra tối ưu Nếu ∆ k ≥ 0, k ∉ J x phương án tối ưu, dừng thuật toán Trái lại, chuyển sang bước Bước 3: Tìm véctơ đưa vào sở Có hai khả xảy ra: Tồn k ∉ J cho ∆ k < z jk ≤ 0, j ∈ J tốn QHTT khơng có lời giải tối ưu (Z khơng bị chặn trên) Dừng thuật toán Đối với k ∉ J cho ∆ k < tồn j ∈ J : z jk > Khi chọn số s theo tiêu chuẩn: ∆ s = {∆ k / ∆ k < 0} (1.9) Đưa véctơ As vào sở Bước 4: Tìm véctơ loại khỏi sở Xác định xj x / z jk > = r zrs zrs θ r = (1.10) Và đưa véctơ Ar khỏi sở Bước 5: Chuyển sang phương án cực biên sở Cơ sở {A , j ∈ J } ' j với J ' = J \ {r} ∪ {s} ∀j ∈ J ' thành phần phương án cực ' biên x tính theo cơng thức: x − ( xr / zrs ) z js , nÕu j ≠ s x 'j = j x r / zrs , nÕu j = s (1.11) Khai triển véctơ Ak theo véctơ sở tính theo cơng thức (1.12) Quay lên bước 18 Định lý 2.8 Với r Vs xỏc nh t (2.19), nu M l nón cực tiểu (nón – min) hàm mục tiêu tốn (L) nãn M(r,s) xác định từ (2.13) lµ mét nón cực tiểu (nón – min) ca hm mc tiờu toán (L) Chứng minh (xem [5]) Đỉnh x M ( r , s ) nón xoay M(r,s) cịn xác định cơng thức sau biết véctơ phương cạnh nón xoay M(r,s): x M ( r ,s ) = ∑ bi z Mi ( r , s ) (2.20) iI ( r , s ) Dới chóng ta sÏ xây dựng thuật tốn nón xoay gi¶i toán (L) dựa vo sở lý thuyt trỡnh by cỏc phn trờn định lý 2.8 2.3 Phương pháp nón xoay tuyến tính Một biến thể phương pháp nón - giải tốn qui hoạch gần lồigần lõm đề nghị sách “Quy hoạch gần lồi - gần lõm ứng dụng vào quy hoạch tuyến tính” (NXB Khoa học kỹ thuật năm 2011) ([1]) trình bày cho phương pháp giải trực tiếp toán quy hoạch tuyến tính với miền ràng buộc hệ bất phương trình tuyến tính với sở xuất phát từ đỉnh nón - hàm mục tiêu gọi phương pháp nón xoay tuyến tính thể dạng thuật toán chi tiết Xét toán (L) trường hợp biết nón – tốn (L) Ý tưởng thuật tốn nón xoay tuyến tính giải tốn (L) sau: Xuất pháp từ nón - M ban đầu hàm mục tiêu tốn, kiểm tra xem đỉnh có thuộc miền chấp nhận tốn khơng (tức đỉnh có thoả mãn tất ràng buộc khơng) đỉnh thuộc miền chấp nhận lời giải toán (L) Ngược lại ta xây dựng nón xoay M(r,s) (vẫn nón - min) từ nón cũ M tốn (L) lặp lại q trình kiểm tra nón xoay tương tự nón M, q trình thực đỉnh nón xoay M(r,s) thuộc miền chấp 19 nhận toán (L) (khi miền ràng buộc toán (L) có phương án) phát miền ràng buộc toán (L) rỗng 2.3.1 Thuật toán nón xoay tuyến tính B−íc chn bÞ (bước 0) Giả sử ta biết M0 lµ nãn - cđa toán (L) vi ch s c s l I0:={ i10 , i20 , , in0 }, x0 = x M đỉnh M0 véctơ chØ ph−¬ng cạnh i nón M0 z0i = zMi (i ∈ I0) B−íc k ( k=0, 1, 2, ) Giả sử Mk nún cc tiu (nún min) toán (L) (đL đợc xây dựng), vi tập số c s, đỉnh véctơ phơng ca cỏc cnh ca nún Mk tơng ứng Ik:= {i1k , i2k , , ink } ; xk = x M vµ zki = zMi k k Xác định tập J+(xk) theo (2.9): J + ( x k ) := { j ∈ {1, 2, , m} :< A j , x k > +b j > 0} NÕu J+(xk) =∅ th× dõng lại xk lời giải toán (L), NÕu J+(xk) ≠ ∅ , ta chọn số đưa vào sở theo hai cách sau: Ta chọn sk sô tuỳ ý thuộc J+(xk) ta chọn (2.21) sk=min{j:j∈J+(xk)} (gọi qui tắc chọn min) sk = max{j: j ∈ J+(xk) (gi l qui tc chn max) xác định: I s := {i ∈ I k :< As , zki >≠ 0} ; k k } { { } (2.22) I +sk := i ∈ I sk :< Ask , zki >< = iskk , iskk , , iskk qk , 2.1 NÕu I +s = ∅ dừng lại, suy toán (L) phơng án k 2.2 Nếu I +s : k Gäi V sk :={ v ∈ I +sk : − < C , zkv > < C , zki > = min{ − }} < Ask , zkv > i∈I+sk < Ask , zki > (2.23) vµ chọn số đưa khỏi sở theo hai cách sau: Ta chọn rk số tuỳ ý thuộc V s k ta chọn rk = min{v: v ∈ V s } rk = max{v: v ∈ V s } (2.24) (cách chọn số gọi qui tắc chọn (hoặc qui tc chn max)) k k 20 Và ta xây dựng nón xoay Mk+1 = Mk(rk, sk) sinh từ nón-min Mk (xem mục 2.2.3), tập số sở Ik+1= Ik(rk, sk) = (Ik ∪ {sk}) \ {rk}; vµ véc tơ phơng zki +1 (sử dụng (2.15)): zi k i < Ask , zki > rk i zk ) zk +1 = ( zk − sk rk < A , z > k zkrk − sk rk < A , zk > i ∈ Ik0 i ∈ Iksk , i ≠ rk (2.25) i = sk Tõ (2.5) (2.14): xk+1=x M k ( rk , sk )= xkr =xk+ α rk zkr = k k k k = x - < Ask , x k > +bsk < Ask , zkrk > zkrk = ∑ b z i i k +1 (2.26) i∈I k +1 Quay trở lại bước k với k ← k+1 Mt s ý: 1) Từ định lý 2.8 ta dễ dàng có bổ đề 2.3 ú dễ thấy nón xoay Mk+1 đợc xây dựng (trong thuật tốn) sinh từ nón-min Mk vÉn lµ mét nón - toán (L) 2) Sự lựa chän số đưa vào sk = min{j: j ∈ J+(xk)} số đưa rk = min{v: v Vks } làm cho thuận toán đề nghị kết thúc sau số hữu hạn bớc lặp (không xảy xoay vòng) Điều đợc chng minh định lý 2.9 di õy 3) Cụng thc (2.25) gọi công thức xoay sở phần tử < As , zkr > k k gọi phần tử xoay, trung tâm để đổi véc tơ phương zki hệ sở cũ sang hệ sở zki +1 theo công thức xoay (2.25) 4) Để cho gọn đặt < Ai , x k > +bi = Ai ( x k ), i = 1, 2, , m Dựa định lý 2.9, dễ dàng chứng minh bổ đề sau: 21 Bổ đề 2.3 Tại bước lặp k, giải toán (L) theo thuật toán nón xoay tuyến tính với qui tắc chọn số đưa vào sở đưa khỏi sở (2.21), (2.22) (2.23) nón xoay Mk+1 xây dựng thuật toán k k +1 nón – hàm mục tiêu ta có: f ( x ) ≤ f ( x ), ∀k = 1, 2, Sù lùa chän sk = min{j: j ∈ J+(xk)} rk(sk)= min{v: v ∈ V s }( sk = k max{j: j ∈ J+(xk)} rk(sk) = max{v: v ∈ V s }) sÏ làm cho thuận toán đề nghị k kết thúc sau số hữu hạn bớc lặp (không xảy xoay vòng) Điều đợc chứng minh định lý sau Định lý 2.9 Gii bi toỏn (L) theo thuật to¸n nón xoay với số chọn đưa vào sở sk = min{j: j ∈ J+(xk)} (hoặc sk = max{j: j ∈ J+(xk)}) số chọn đưa khỏi sở tương ứng rk(sk)= min{v: v ∈ V s } (hoặc tương k ứng rk(sk)= max{v: v ∈ V s }) kÕt thóc sau số hữu hạn bớc lặp k cho ta lời giải toán (L), phát miền ràng buộc PL toán (L) rỗng Chứng minh định lý tìm thấy [5] Năm 1977 RG Bland đề xuất qui tắc tránh xoay vòng tương tự cho việc giải tốn qui hoạch tuyến tính dạng tắc 2.3.2 Bảng lặp giải tốn qui hoạch tuyến tính thuật tốn nón xoay tuyến tính ví dụ minh hoạ Để dễ tính tốn, bước lặp k ta thiết lập bảng gọi bảng nón xoay thu gọn giải tốn quy hoạch tuyến tính dạng chuẩn biết nón – hàm mục tiêu tốn: 22 Bảng lặp nón xoay thu gọn: Bảng A Chỉ số sở bj c1 c2 … c j b1 b2 … a11 a12 … a1 j … a1n a21 a22 … a2 j … a2 n … bsk ( sk ) … m … … bm … cn … a sk am1 … … a s … as j … as n … … … am … amj amn k k k k i2 zki22 … zkji2 … zkn < Ask , zki2 > zki11 i2k bi k … ( rk= isk p ) … zki21 … … … … … zkr1 zkr … zkjr … zknr … … … … ink Bước k=0,1,2,… brk k … bi k n xk +bm < Ask , zki1 > k +bm i1 zki12 … zkji1 … zkn bi k k +b1 +b2 …… s (< A , x >+ bs ) … +bi k=1,2,… +b1 +b2 …… s ( A , x k >+ bs ) k i1k +bi k zkin1 x1k k k k k k k k k k in zkin2 … zkjin … zkn k k x2k … x kj k k k k ik < C , zksk > - k ik < Ask , zksk > … … [< A sk ,z > rk k ] (- … < C , zkrk > ) < Ask , zkrk > … ik k < Ask , zkin > - < C , zksk qk > ik < Ask , zksk qk > … xnk Bảng lặp nón xoay thu gọn A gồm phần (xem bảng A): Các số liệu ban đầu đưa vào bảng số liệu cần tính tốn theo cơng thức thuật tốn nón xoay xây dựng thứ tự theo bước từ xuống từ trái sang phải sau: Bước k (k=0, 1, 2, …): Phần thứ bảng khai báo số liệu bước chuẩn bị: Đưa vào số liệu ban đầu toán nằm cột bao gồm có cột số sở 1, 2, …, m, cột số liệu giá trị bi (i=1, 2, …, m), dòng phần hệ số hàm mục tiêu, ma trận hệ số ràng buộc A cụ thể là: 23 - Dòng bảng dòng toạ độ cj véc tơ C hàm mục tiêu - Cột thứ cột số véc tơ dòng Ai ma trận ràng buộc A toán (L) từ đến m - Cột thứ hai cột giá trị bi (i = 1, 2, , m) véc tơ cột B ma trận ràng buộc -Tiếp theo bên phải cột thứ hai bảng ma trận hệ số gồm giá trị ràng buộc A: aij (i=1,2,…,m; j =1,2,…,n) Phần thứ hai bảng liền với phần thứ số liệu tính toán giá trị hệ véc tơ phương zki , ∀i ∈ I k toạ độ đỉnh xk: Tại bước k (k = 0, 1, 2, …) bảng gồm cột ma trận giá trị véc tơ phương zki (∀i ∈ I k ) cụ thể sau: - Cột thứ cột số sở i∈Ik - Cột thứ hai cột giá trị bi với i ∈ I k - Tiếp theo bên phải cột thứ hai bảng ma trận véc tơ phương k zki (∀i ∈ I k ) Dòng cuối giá trị toạ độ x đỉnh nón-min Mk biết bước k Đến ta có bảng nón xoay bước k (k = 0, 1, 2, ….) xây dựng xong Bây ta chuyển sang kiểm tra tiêu chuẩn tối ưu xây dựng bảng nón xoay bước k+1 xk chưa phải phương án tối ưu Từ dòng cuối phần thứ hai bảng dòng toạ độ xk , tính giá trị < Ai , x k > +bi (i = 0,1, 2, , m) xây dựng tiếp cột chứa giá trị bên phải ma trận ràng buộc A phần thứ bảng 24 Từ cột chứa giá trị < Ai , x k > +bi (i = 0,1, 2, , m) biết bước lặp k (vị trí bên phải ma trận ràng buộc A) Theo thuật tốn nón xoay ta xác định tập J + ( x k ) có hai khả năng: - Nếu J + ( x k ) = ∅ dừng xk lời giải (L) - Nếu J + ( x k ) ≠ ∅ theo thuật tốn nón xoay ta chọn số đưa vào sở sk tiến hành tính tốn cột sau: Bên phải bảng zki , ∀i ∈ I k phần thứ hai bảng ta xây dựng cột chứa giá trị < As , zki >, ∀i ∈ I k k Từ cột giá trị ta xác định tập I +s theo thuật tốn ta có hai khả k năng: + Nếu I +s = ∅ dừng kết luận tốn (L) khơng có phương án k + Nếu I +s ≠ ∅ từ thuật tốn nón xoay phải xây dựng cột tính k giá trị − < C , zki > , ∀i ∈ I +sk Từ theo (2.23) (2.24) thuật tốn nón sk i < A , zk > xoay tuyến tính ta chọn số đưa sở rk Đến thông tin để xây dựng bảng lặp bước k+1 từ bảng lặp bước k đầy đủ, xây dựng bảng lặp bước k+1 phía bảng lặp bước k sau: - Cột bảng lặp bước k+1 cột số sở I k +1 = ( I k ∪ {sk }) \ {rk } xây dựng cách chuyển cột số sở bảng bước lặp k xuống cần thay số rk số sk bảng - Cột cột chứa giá trị bi với i ∈ I k +1 (bên phải cột số sở I k +1 ) xây dựng cách chuyển cột chứa giá tri bi với i ∈ I k bảng bước lặp thứ k xuống thay giá trị br giá trị bs bảng k (bước k+1) k 25 - Tiếp theo bên phải cột bi (i ∈ I k +1 ) bảng ma trận véc tơ phương zki +1 , ∀i ∈ I k +1 nón - Mk+1 tính từ véc tơ phương zki nón - Mk bảng lặp bước k theo công thức xoay (2.25) Sau ta tính tốn đến dịng cuối bảng dòng toạ độ đỉnh nón - Mk+1 xk+1 = ∑ b z i i k +1 (theo công thức (2.26)) i∈I k +1 Đến bảng nón xoay bước lặp k+1 xây dựng xong Quá trình lặp kết thúc sau hữu hạn bước định lý 2.9 Một số phần tử trung tâm cần ý xây dựng bảng nón xoay thu gọn là: - Giá trị < As , x k > +bs (k = 0,1, 2, ) dương nằm cột chứa giá trị k k < Ai , x k > +bi (i = 0,1, 2, , m) dấu móc trịn ( < Ask , x k > +bsk ) tương ứng với dòng sk (được cnọn đưa vào sở bước lặp k) theo mục b1) hay b2) thuật tốn nón xoay tuyến tính − < C , zkrk > − < C , zki > - Giá trị nằm cột chứa giá trị , ∀i ∈ I +sk sk rk sk i < A , zk > < A , zk > dấu móc trịn ( − < C , zkrk > ) tương ứng với dòng rk (được cnọn đưa < Ask , zkrk > sở bước lặp k) theo tiêu chuẩn (2.23) (2.24) thuật tốn nón xoay tuyến tính - Phần tử xoay < As , zkr > thuộc cột chứa giá trị < As , zki >, ∀i ∈ I k k k k nằm dấu móc vng [ < As , zkr > ] k k 26 Chương Một cách chọn véc tơ đưa vào sở Khi toán (L) chương có kích thước lớn số chiều tốn số lượng ràng buộc việc lựa chọn siêu phẳng đưa vào sở nón cực tiểu (nón – min) mấu chốt để giảm số lượng bước lặp thuật toán đề nghị chương Kết nghiên cứu phương pháp co tiệm cận ngồi giải tốn qui hoạch tuyến tính trình bày [2] đề nghị phương pháp lựa chọn véctơ đưa vào sở bước lặp biết điểm miền ràng buộc toán Trong chương này, đưa cách chọn véctơ đưa vào sở có bước di chuyển sâu phía giá trị hàm mục tiêu phương án tối ưu mà không cần dựa vào việc biết trước điểm chấp nhận toán 2.1 Lựa chọn số đưa vào sở Xét thuật tốn nón xoay tuyến tính trình bày mục 2.3.1 chương 1, bước lặp k (k=1,2,…) với J+(xk) ≠ ∅, giả sử J+(xk):={j∈{1,2, ,m}:+bj>0}= {sk1 , sk , , skl } k Với skj (j=1, 2, …, lk), có: < A , x > +bs > 0, ∀j = 1, 2, , lk xác skj k kj định tập I s , I +s ,V s theo (2.10),(2.14) (2.35) chọn rk ( skj ) theo (2.36) kj kj kj Theo định lý 2.9 với skj (j=1, 2, …, lk) nón Mk(rk( skj),skj) với tập số sở tương ứng Ik(rk( skj),skj) = (Ik∪ {skj}\{rk(skj)}) nón cực tiểu (nón - min) hàm mục tiêu tốn (L) Vì /J+(xk)/ = lk, nên bước lặp k, có lk nón cực tiểu (nón - min) hàm mục tiêu Trong số skj ∈ J + ( x k ) (j=1, 2, …, lk) gọi skj số thoả mãn: 27 rk ( skj ) f ( xk { r ( sklk ) ) = max f ( xkrk ( sk1 ) ), f ( xkrk (sk ) ), , f ( xkk rk ( skj ) Rõ ràng f ( x opt ) ≥ f ( xk r ( skj ) ) ≥ f ( xkk } ) (3.1) (3.2) ) ≥ f ( x k ), ∀j = 1, 2, , lk xopt lời giải toán Sau bước lặp k đề nghị cách chọn số đưa vào sở thuật tốn nón xoay tuyến tính chương gọi qui tắc chọn sở MAX (hay nói ngắn gọn quy tắc MAX): Gọi J+(xk):={j∈{1,2, ,m}:+bj>0}= {sk1 , sk , , skl } k Với skj (j=1, 2, …, lk), xác định tập I s , I +s ,V s theo (2.8), (2.12) kj kj kj (2.23) chọn rk ( skj ) theo (2.24), sau gọi skj số thoả mãn (3.1), thấy có hai khả năng: Nếu rk ( skj ) f ( xk ) > f (xk ) (3.3) Khi chọn số đưa vào sở sk = skj0 Nếu rk ( skj ) f ( xk ) = f ( x k ) (3.4) Thì chọn số đưa vào sở theo qui tắc min: tức sk = { j : j ∈ J + ( x k )} Từ (3.1), (3.2) (3.3) cho thấy nón – Mk+1 xây dựng rk ( skj ) k +1 với hệ sở Ik+1= ( I k ∪ {skj }) \ {rk ( skj )} đỉnh tương ứng x = xk 0 Theo (3.3) ta có f ( x k +1 ) > f ( x k ) Điều có nghĩa giá trị f ( x k +1 ) gần với giá trị f ( x opt ) giá trị f ( x k ) Khi giải toán thực tế có kích thước lớn dạng tốn (L) chương theo thuật tốn nón xoay tuyến tính việc chọn véctơ đưa vào sở theo quy tắc MAX trình bày làm cho số bước lặp giảm Bởi sau bước lặp k bỏ qua hàng loạt nón - cực tiểu mà giá trị hàm mục rk ( skj ) tiêu đỉnh chúng nằm khoảng ( f ( x k ); f ( xk )) Điều có nghĩa 28 số bước lặp tốn từ bước ban đầu bước cuối thu lời giải toán giảm nhiều bước lặp so với việc mà bước lặp k chọn véc tơ có số sk tuỳ ý tập J+(xk) để đưa vào sở bước k+1 Về thực hành tính tốn giải tốn bảng lặp ví dụ bảng A, phần bảng chứa véc tơ phương zki , thêm vào bên phải 2.lk cột tương ứng với số skj ( j = 1, 2, , lk ) (xem bảng B) Một cột giá tri < As , zki > (i ∈ I +s ( j = 1, 2, , lk )) cột bên cạnh kj kj s i kj giá trị f ( xk )(∀i ∈ I + ( j = 1, 2, , lk )) để so sánh giá trị f ( xki )(∀i ∈ I +kj ( j = 1, 2, , lk )) chọn số rk ( skj ) theo bước 2.2 thuật s tốn nón xoay tuyến tính chương Bảng B Cơ sở Bước k … i1k < Ask , zki > f ( xki ) < Ask , zki > … … … z ki < Ask , zki > f (xki ) < Ask , zki > (∀i ∈ I +sk ) (∀i ∈ I +sk ) (∀∈ i I+sk1 ) (∀i ∈ I sk ) + k f ( xki ) … … f ( xk ) … i … f ( xki ) (∀i ∈ I +sk ) … … …… k n i … …… … skj (∀i ∈ I + ) iskk pk … skj i < A , zki > f ( xk ) … skj (∀i ∈ I + ) …… Vì hàm mục tiêu tốn qui hoạch tuyến tính (L) f(x)= ta gọi skj số theo (3.1) thoả mãn: rk ( skj ) f ( xk rk ( skj ) ) =< C , xk rk ( skj ) skj < C , zk > >=< C , x > − < A , x k > +bskj = skj rk ( skj ) < A , zk > k r (s ) < C , zkrk ( sk ) > < C , zkk klk > sklk k k = max < C , x k > −(< Ask , x k > +bsk ) ; ; < C , x > − ( < A , x > + b ) s s r (s ) klk < Ask , zkrk ( sk ) > < A klk , zkk klk > 29 hay skj số thoả mãn: skj Rk rk ( skj ) skj < C , zk > = − < A , x k > +bskj = skj rk ( skj ) < A , zk > r (s ) < C , zkrk ( sk ) > < C , zkk klk > sklk sk k k = max −(< A , x > +bsk ) ; ; −(< A , x > +bskl ) s r (s ) k < Ask , zkrk ( sk ) > < A klk , zkk klk > Do giải tốn qui hoạch tuyến tính với qui tắc chọn véc tơ đưa vào sở theo qui tắc MAX bảng B , cột giá trị f ( xki )(∀i ∈ I +kj ( j = 1, 2, , lk )) thay giá trị tương ứng là: s < C , z ki > s s s Rk kj = − < A kj , x k > +bskj (∀i ∈ I +kj ) skj i < A , zk > Bổ đề 3.1: Giải toán (L) tương ứng theo thuật tốn nón xoay tuyến tính mục 2.3.1 với cách chọn số đưa vào sở bước lặp k theo qui tắc MAX đề nghị sau hữu hạn bước lặp, nhận lời giải toán phát tốn khơng có lời giải Bổ đề dễ dàng suy từ định lý 2.9 qui tắc chọn số đưa vào sở MAX nêu Để minh họa cho việc áp dụng phương pháp lựa chọn véctơ đưa vào sở bước lặp trình bày quy tắc MAX trên, giải ví dụ số so sánh với cách giải trước chưa áp dụng quy tắc 30 2.2 Ví dụ số minh họa Giải toán quy hoạch tuyến tính dạng chuẩn sau: x1 + x2 → − x ≤ − x2 ≤ −3 x1 − x2 + ≤ −3 x − x + ≤ − x1 − x2 + ≤ −2 x1 − x2 + 10 ≤ Theo thuật tốn nón xoay tuyến tính với hàm mục tiêu có hệ số khơng âm ta có nón cực tiểu ban đầu nón góc phần tư thứ đỉnh gốc tọa độ với tập số sở I0 ={ 1, 2} chọn số đưa vào sở số min, lời giải tìm theo bảng nón xoay thu gọn sau: Cs (1) Bước (3) Bước (4) Bước (2) Bước Bước bi 0 10 0 x0 x1 x2 x3 10 x4 -1 -3 -3 -1 -2 0 1/3 -1/3 1/3 -2/3 -1 5/3 -1/3 5/3 -1 -1 -2 -1 -5 0 0 0 -2/3 1/3 4/3 Aj( x ) 0 10 [-3] -1 Aj( x1 ) -1 0 (1/3) [-1] -1 (1/3) 5/3 [-1/3] -1/3 (1) -2 [-3] 1/2 (1/3) Aj( x ) -2 -3 Aj( x3 ) -3 -6 -3 Bảng Lời giải toán nhận sau bước lặp x opt =(5/3, 4/3) Aj( x ) -5/3 -4/3 -10/3 -5/3 0 31 Bây giải lại toán theo thuật tốn nón xoay với quy tắc MAX (2) Bc (1) Bc Bc 0 10 0 x0 10 x1 10 x2 -1 -3 -3 -1 -2 0 0 5/3 -1/3 5/3 -1 -1 -2 -1 -5 -2/5 1/5 -2/3 1/3 4/3 A j( x ) Aj( x1 ) 0 10 -3 -1 -2 1 s01=3 -3 -2 s02=4 -13/5 -1/5 1/13 s11=3 -1 -1 s03=5 -2 [-5] s04=6 -11/5 2/11 [-3/5] (1/3) -2/5 -1/5 s12=4 s13=5 Bảng Lời giải toán nhận sau bước lặp x opt =(5/3, 4/3) Chúng ta phân tích bước lặp bảng bảng 2, rõ ràng giải ví dụ theo thuật tốn nón xoay tuyến tính với cách chọn số đưa vào sở số (trong số số ràng buộc vi phạm) để đưa vào sở số bước lặp cho kết bảng bước, áp dụng quy tắc MAX đề nghị số bước lặp đến lời giải cho bảng bước Việc chọn số đưa vào sở theo quy tắc MAX đề nghị sử dụng thuật tốn nón xoay tuyến tính trình bày chương sau bước lặp k bỏ qua nón – cực tiểu mà giá trị hàm mục tiêu đỉnh rk ( skj ) chúng nằm khoảng ( f ( x k ); f ( xk )) Điều có nghĩa số bước lặp tốn từ bước ban đầu bước cuối thu lời giải toán giảm nhiều bước lặp so với việc mà bước lặp k chọn véc tơ có số sk tuỳ ý tập J+(xk) để đưa vào sở bước k+1 (4) 32 Tài liệu tham khảo Tiếng Việt [1] Lê Dũng Mưu Nhập môn phương pháp tối ưu NXB Khoa học kỹ thuật Năm1998 [2] Lê Thanh Huệ Một số kết tốn quy hoạch tuyến tính Luận án Tiến sĩ Toán học (Thư viện Viện Toán học, Viện khoa học Công nghệ Việt Nam) Năm 2009 [3] Bùi Thế Tâm, Trần Vũ Thiệu Các phương pháp tối ưu hố NXB Giao thơng vận tải Năm 1998 [4] Phan Quốc Khánh – Trần Huệ Nương Quy hoạch tuyến tính Nhà xuất Giáo dục Năm 2002 [5] Nguyễn Anh Tuấn - Nguyễn Văn Quý Quy hoạch tuyến tính với phương pháp nón xoay NXB giáo dục Việt Nam Năm 2012 Tiếng Anh [6] A.C Belenski Minimization monotone function in a polyhedron set Automatic and Tele-Mechanics 9, 112-121(1982) [7] Nguyen Anh Tuan and Pham Canh Duong Minimization of An Almostconvex and Almost-concave Function Vietnam Journal of Mathematics Volume 24 Number 1.1996 (57-74) [8] H Tuy Convex Analysis and Global Optimization, Kluwer 1998