Bài viết Một phương pháp chọn điểm khởi đầu trong giải thuật điểm trong cho bài toán quy hoạch tuyến tính đề xuất một phương pháp chọn điểm khởi đầu đảm bảo cho sự hội tụ của giải thuật điểm trong cho bài toán quy hoạch tuyến tính. Phương pháp này dựa trên giải thuật Ellipsoid cải tiến tìm nghiệm của một bất đẳng tuyến tính.
112 Phạm Quý Mười, Phan Thị Như Quỳnh MỘT PHƯƠNG PHÁP CHỌN ĐIỂM KHỞI ĐẦU TRONG GIẢI THUẬT ĐIỂM TRONG CHO BÀI TỐN QUY HOẠCH TUYẾN TÍNH A METHOD OF CHOOSING STARTING POINT IN INTERIOR POINT ALGRITHMS FOR LINEAR PROGRAMMING Phạm Quý Mười1, Phan Thị Như Quỳnh2 Trường Đại học Sư phạm, Đại học Đà Nẵng; pqmuoi@ud.edu.vn Trường Cao đẳng Cơng nghiệp Tuy Hịa; phanthinhuquynh@tic.edu.vn Tóm tắt - Phương pháp điểm thường dùng để giải tốn quy hoạch tuyến tính Do tốc độ hội tụ nhanh, phương pháp thường dùng để giải tốn có kích thước lớn Tuy nhiên, hội tụ giải thuật lại phụ thuộc vào việc chọn điểm khởi đầu Vì thế, phương pháp chọn điểm khởi đầu có yếu tố định cho hoạt động giải thuật quan tâm nghiên cứu nhiều tác giả khác nước Trong báo này, nhóm tác giả đề xuất phương pháp chọn điểm khởi đầu đảm bảo cho hội tụ giải thuật điểm cho tốn quy hoạch tuyến tính Phương pháp dựa giải thuật Ellipsoid cải tiến tìm nghiệm bất đẳng tuyến tính Các ví dụ số cụ thể minh họa tính hiệu phương pháp nhóm tác giả đề xuất.Tất mã Matlab giải thuật trình bày chi tiết báo Abstract - The interior point Method is commonly used to solve linear programming problems, especially those of large size due to its fast convergence speed However, the convergence of the algorithm depends on the choice of starting point Thus, the method of selecting the starting point determines the operation of the algorithm and has attracted the interest of both domestic and internatinal authors In this paper, the authors propose a method of selecting the starting point to ensure the convergence of the interior point algorithm for linear programming This method is based on the Elliptic algorithm of solving linear inequalities Specific examples will illustrate the effectiveness of the method proposed by the authors All Matlab codes of these algorithms are also presented in detail in the article Từ khóa - tốn quy hoạch tuyến tính; phương pháp chọn điểm khởi đầu; phương pháp điểm trong; phương pháp Ellipsoid; phương án chấp nhận khởi đầu; phương án tối ưu chấp nhận Key words - Linear programming; Method of choosing starting point; Interior point method; Ellipsoid method; feasible solution; feasible optimal solution Đặt vấn đề Xét toán quy hoạch tuyến tính dạng tắc: cT x (1) A x b , x bày phương pháp điểm cho Bài tốn (1) Mục 2.3 trình bày phương pháp chọn điểm khởi đầu cho phương pháp điểm Đây kết báo Trong Mục nhóm tác giả áp dụng phương pháp điểm để giải số ví dụ cụ thể xem xét hoạt động phương pháp điểm với điểm khởi đầu chọn phương pháp đưa Mục 2.3 Cuối cùng, Mục nhóm tác giả trình bày mã Matlab cho giải thuật ví dụ khảo sát báo A Rmn , b Rm , c Rncho trước x R n vectơ cần tìm Trong báo này, nhóm tác giả giả sử tập nghiệm chấp nhận (tức tập phương án chấp nhận được) có phần khác rỗng Có nhiều phương pháp để giải Bài toán (1) phương pháp hình học, phương pháp đơn hình, phương pháp đơn hình đối ngẫu [1,2] Khi tốn có kích thước lớn, người ta thường tìm nghiệm xấp xỉ Bài toán (1)bằng phương pháp điểm Phương pháp điểm cho Bài tốn (1) dễ để lập trình phần mềm toán học Matlab, Maple, Tuy nhiên, nhược điểm phương pháp vấn để tìm điểm khởi đầu đảm bảo cho hội tụ giải thuật Vấn đề quan tâm nghiên cứu nhiều nhà toán học ngồi nước [1, 2] Trong báo này, nhóm tác giả trình bày phương pháp có tính ứng dụng cao cho việc tìm điểm khởi đầu bảo đảm hội tụ giải thuật điểm cho Bài toán (1) Phương pháp đưa dựa giải thuật Ellipsoid cải tiến tìm nghiệm bất đẳng thức tuyến tính nghiên cứu [3] Bài báo có bố cục sau: Các kết báo trình bày Mục 2: Mục 2.1 trình bày tóm tắt giải thuật Ellipsoid Ellipsoid cải tiến Mục 2.2 trình Kết nghiên cứu 2.1 Giải thuật Ellipsoid hội tụ Trong phần nhóm tác giả trình bày tóm tắt giải thuật Ellipsoid cho tốn: Tìm điểm tập P định nghĩa bởi: P {u Rk : Bu d}, l k (2) l B R d R ma trận vectơ cho trước Chú ý rằng, phương pháp Ellipsoid nghiên cứu [1,3] hội tụ chứng minh P tập bị chặn đủ số chiều Định nghĩa Tập P Rk gọi đủ số chiều tồn r cho P chứa cầu S ( y* , r ) với tâm y* bán kính r Trước hết, ý Ellipsoid không gian Rk tập T E z , D : x R k : x z D 1 x z , D ma trận đối xứng, xác định dương cấp k k z Rk gọi tâm Ellipsoid ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 1(98).2016 Ý tưởng phương pháp Ellipsoid xây dựng dãy Ellipsoid tích giảm dần chứa tập P cho dãy điểm tâm Ellipsoid hội tụ điểm P Cụ thể sau: Thuật toán Ellipsoid xây dựng bước lặp thứ t, Ellipsoid Etcó tâm xt chứa tập lồi đa diệnP Nếu xt P thuật tốn kết thúc Nếu xt Pthì xt khơng thỏa mãn ràng buộc, tức có hàng bi củaB thành phần di d cho biT xt di Mọi x P thỏa ràng buộc Bx d nên biT x biT xt Do P chứa nửa khơng gian K : x R k : bi T x bi T xt Vậy, xt P P chứa Et K Ta gọi Et K nửa Ellipsoid (chú ý siêu phẳng xác định nửa Ellipsoid qua tâm xt Et) Tính chất hình học Ellipsoid cho phép ta tìm Ellipsoid Et 1 chứa nửa Ellipsoid Et tích nhỏ hẳn Et Lặp lại trình ta thu dãy điểm {xt }(hữu hạn vô hạn) cho xt P cho giá trị t đó, xt x P Cách xây dựng dãy Ellipsoid Et mô tả phần trình bày chi tiết Giải thuật đây: Giải thuật 1: Phương pháp Ellipsoid cho Bài toán (2) Đầu Ma trận B vectơ d ; Điểm x0 r cho vào hình cầuE0 E x0 , r I thỏa mãn P E0, t =0; Vòng WHILE xt P lặp Tìm hàng i cho: bT x d (b hàng thứ i i i t i ma trận B ) Dt bi , xt 1 xt k biT Dt bi Dt 1 k2 Dt bi biT Dt Dt k 1 k biT Dt bi , t t , END WHILE Đầu xt Định lý Giả sử P tập bị chặn đủ số chiều Khi đó, Giải thuật dừng sau hữu hạn bước Chứng minh: Chứng minh định lí tìm thấy [1, Định lí 1] (trang 117) Chú ý Điều kiện P tập đủ số chiều điều kiện chặt nhiều trường hợp, điều kiện không thỏa mãn, ví dụ tập nghiệm tốn quy hoạch tuyến tính Hơn nữa, việc biểu diễn số máy tính ln chứa đựng sai số Do đó, Giải thuật thường có tính khơng ổn định Vì thế, [3] nhóm tác giả đề xuất giải thuật thay thế, gọi phương pháp Ellipsoid cải tiến Phương pháp Ellipsoid cải tiến hội tụ điều kiện tậpP khác rỗng bị chặn Giải thuật cho phương pháp Ellipsoid cải tiến hoàn toàn giống Giải thuật ngoại trừ điều kiện Bước (nằm vòng lặp Giải thuật 1) thay điều kiện biT xt 113 di 2 với chọn bé 2.2 Giải thuật điểm hội tụ Xét toán quy hoạch tuyến tính dạng tắc đưa Bài toán (1) Ý tưởng phương pháp điểm thay trực tiếp giải Bài tốn (1), giải dãy tốn xấp xỉ mà dãy nghiệm hội tụ nghiệm (1) Cụ thể xét dãy toán tối ưu sau: n T min B ( x) : c x log x j , j 1 A x b (3) Ở tham số nghiệm toán ký hiệu x() Hàm B ( x) gọi hàm chắn (barrier function) Hàm chắn có ưu việt lồi chặt nên nghiệm x() Bài toán (3) Rõ ràng nhỏ (gần 0) x()càng gần đến nghiệm tối ưu Bài toán (1) Bài toán (3) tốn phi tuyến cịn khó giải hàm mục tiêu lồi chặt hàm bậc hai Ta lại xấp xỉ lần toán cách thay B ( x) đa thức Taylor bậc hai Giả sử x 0là nghiệm xấp xỉ hành, tính tốn trực tiếp đạo hàm riêng cấp cấp hai, ta có: B ( x d ) B ( x) cT eT X 1 d d T X 2 d (4) Ở ma trận chéo X ma trận có đường chéo làvectơ x Bây giờ, thay cho Bài tốn (3) ta giải toán xấp xỉ với hàm mục tiêu bên vế phải (4)theod.Vì x cố định, toán xấp xỉ tương đương với: T 2 T T 1 min (c e X )d d X d Ad Điều kiện cần đủ cho nghiệm tối ưu toán là: c X 1e X 2 d AT y Ad Vì thế, phương pháp điểm cho Bài tốn(1)được trình bày Giải thuật Giải thuật 2: Phương pháp điểm cho Bài toán (3) Đầu - Tham số toán: A, b, c vào - Điểm xuất phát: ( x0 , y , s ) - Tiêu chuẩn dừng: - Giá trị tham số chắn: 0và tham số (0,1) Vòng WHILE( s k )T x k lặp k 1 k ; Giải hệ tuyến tính d y: k 1 2 T k 1 1 X k d A y X k e c Ad 0, Cập nhật: x k 1 x k d 114 Phạm Quý Mười, Phan Thị Như Quỳnh k 1 y y s k 1 c AT y k : k 1 END WHILE Đầu x k Chú ý rằng, X k ma trận chéo mà đường chéo vectơ x k mục đầu vào giải thuật trên, x0 nghiệm chấp nhận (3)và ( y , s ),( s 0) nghiệm chấp nhận tốn đối ngẫu Sự hội tụ giải thuật đưa định lí sau: Định lý ([1], Định lý hội tụ) Giả sử nghiệm gốc đối ngẫu chấp nhận xuất phát x0 , ( y , s ), với x 0, s thỏa X S0 e e Nếu tham số (5) sau n n ( s )T x (1 ) K log (1 ) bước lặp, Giải thuật cho cặp nghiệm chấp nhận gốc x k đối ngẫu ( y k , s k ) với lỗ hổng đối ngẫu thỏa ( s k )T x k 2.3 Phương pháp chọn điểm khởi đầu Từ Định lí nhóm tác giả thấy để Giải thuật hội tụ điểm xuất phát cho giải thuật ( x , y , s ) phải thỏa mãn hai điều kiện: 0 0 (1) x 0, s x , ( y , s )lần lượt điểm chấp nhận Bài tốn (3)và tốn đối ngẫu (2) thỏa mãn điều kiện: X S e e 0 0 Trong hai điều kiện này, điều kiện thứ quan trọng nhất, có vai trị định hội tụ Giải thuật Trong đó, thực tế cho thấy, Giải thuật hội tụ với dãy{ k }hội khik Điều có nghĩa điểm khởi đầu thỏa mãn Điều kiện (1) Giải thuật hội tụ cho giá trị tham số (0,1).Tuy nhiên, lựa chọn giá trị và (0,1)ảnh hưởng đến tốc độ hội tụ giải thuật Điều kiện (2) với giá trị cụ thể Định lí điều kiện đủ để Giải thuật hội tụ sau K bước lặp Do vai trò quan trọng việc chọn giá trị khởi tạo thỏa mãn Điều kiện (1), nhóm tác giả trình bày phương pháp để chọn điểm xuất phát ( x , y , s ) thỏa mãn Điều kiện (1) Trước hết, ý toán đối ngẫu của(1)là: m ax yT b T T T y A s c s 0 Do đó, x , ( y , s ) điểm chấp nhận Bài toán (1) toán đối ngẫu nếu: A x0 b T 0 A y s c 0 x 0, s Để thỏa mãn điều kiện x 0, s 0, xét toán: 0 A b A b A x0 b 0 x T 0 AT In c A y s c y , (6) T A I n s c x In s0 0 I n đó, chọn số dương bé, ví dụ 1010 Dễ thấy Bài toán(6) trường hợp cụ thể Bài toán(2)và nghiệm tìm Phương pháp Ellipsoid (Giải thuật 1) phương pháp Ellipsoid cải tiến (tức Giải thuật với Chú ý 2) Cuối cùng, xem xét cách chọn Chú ý rằng: X S0 e e 0 X S0 I ‖e‖ x s max i 1,,n ∣ i 0i 1∣ n Do đó, điều kiện đủ cho X S e e là: x s max i 1,,n ∣ i 0i 1∣ n , hay (như giả sử 1): xi0 si0 n xi0 si0 n a n b n , , , n n n n 0 với i 1, , n Ở đây, ký hiệua i 1,, n { xi0 si0 } b max i 1,, n { xi0 si0 } Điều suy ra: b n 0 , a n n n Do đó, Điều kiện (2) thỏa mãn tồn tại, tức là: b n a n n n 1 Điều tương đương với: ba n ab Bất đẳng thức thỏa mãn n bé hoặca b bé (gần không) Việc chọn điểm khởi đầu x0và s 0để thỏa mãn Điều kiện (1), đồng thời b a bé thường khó Tuy nhiên, đề cập trên, Giải thuật hội tụ ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 1(98).2016 với tham số (0,1) Vì thế, chọn: 0 b n , 0,5 0,5 Các ví dụ số phần n sau xác nhận với giá trị tham số Giải thuật hội tụ nhanh Ví dụ số Trong phần này, nhóm tác giả xem xét hai ví dụ cụ thể trình bày kết nghiệm số áp dụng Giải thuật với điểm khởi tạo đưa Mục 2.3 Ở đây, nhóm tác giả chọn2 104 cho giải thuật Ellipsoid cải tiến, chọn 1010cho Giải thuật và 1010trong Bài toán (6) Các giải thuật chương trình giải hai ví dụ viết ngơn ngữ lập trình Matlab trình bày phần Ví dụ 1: Xét tốn: Tìm ( x , x )R2 x1 x2 với điều kiện ( x1 , x2 ) thỏa mãn: x1 x2 x1 , x2 Bài tốn có nghiệm tối ưu (1,0) Áp dụng phương pháp Ellipsoid cải tiến, nhóm tác giả tìm điểm khởi đầu cho Giải thuật 2: x0 (0,500, 0,500), y 1, 667,s (0,333, 1,333) 2,030 Giải thuật cho ví dụ dừng sau vòng lặp Kết trình bày Bảng Chú ý rằng, giá trị làm tròn đến ba chữ số thập phân sau dấu phẩy Bảng Giải thuật cho Ví dụ t xt cT xt (0,500, 0,500) 2,500 (1,000, 2,092e-12) 2,000 n Ví dụ 2: Xét tốn: Tìm xRn xi với điều i 1 kiện xi với i 1,, n Phương án tối ưu chấp nhận toán x (1,,1) Trước hết viết lại toán dạng (1) Đặt xi n xi , i 1,, n, toán cho tương đương n với tốn: Tìm xR n xi với điều kiện i 1 xi xi n 1, i 1,, n xi 0, i 1,, 2n Chọn n 15 áp dụng Giải thuật với điểm khởi đầu nhận Mục 2.3, thu kết Bảng Một lần nữa, lại thấy với điểm khởi tạo nhận từ phương pháp mà nhóm tác giả đề xuất, Giải thuật hội tụ sau vòng lặp Bảng Giải thuật cho Ví dụ cT xt t xt (0,500, …, 0,500) -7,500 (1,000,…,1,000) -15,000 Chương trình Matlab Phần nhóm tác giả đưa chương trình Matlab Giải thuật Ellipsoid cải tiến, Giải thuật hai ví dụ trình bày phần trước 115 4.1 Chương trình Matlab cho giải thuật Ellipsoid cải tiến function [x0 i Ax0 Amin]=modified_ellipsoid_method(A,b,x0,R,Nmax) % Giải thuật với Chú ý if nargin==3 R=1e2; Nmax=100; end [m n]=size(A); D0=R^2*eye(n,n); m_min=min(A*x0-b); Ax0=[x0]; Amin=[m_min]; for i=0:Nmax check=find(A*x0-b=epsilon nu0=alpha*nu0; tg=1./(x0.^2); tg1=1./x0; BB=[nu0*diag(tg) -A';A zeros(m,m)]; R=nu0*diag(tg1)*e-c; R=[R;zeros(m,1)]; u=BB\R; d=u(1:n); y=u(n+1:end); % Update x0=x0+d; y0=y; s0=c-A'*y; end fmin=c'*x0; Ax0=[Ax0 x0]; Amin=[Amin fmin]; End 4.3 Chương trình Matlab cho Ví dụ clear all %Ví dụ A=[1 1]; b=[1]; c=[2 3]'; %Giai thuat (PP diem trong) epsilon=1e-10; [u0 fmin Au0 Aumin]=interior_point_method(A,b,c,epsilon); 4.4 Chương trình Matlab cho Ví dụ %EXAMPLE n=15; X=eye(n); A=[X X]; b=ones(n,1); c=[-ones(n,1);zeros(n,1)]; %Giai thuat (PP diem trong) epsilon=1e-10; [u0 fmin Au0 Aumin]=interior_point_method(A,b,c,epsilon); Kết luận Trong báo này, nhóm tác giả đề xuất phương pháp cho việc chọn điểm khởi đầu phương pháp điểm để giải tốn quy hoạch tuyến tính Lý thuyết ví dụ số cụ thể chứng tỏ rằng, phương pháp mà nhóm tác giả trình bày hoạt động tốt đảm bảo hội tụ phương pháp điểm Hai ví dụ số cho thấy phương pháp điểm có tốc độ hội tụ nhanh với giá trị khởi tạo nhận từ phương pháp mà nhóm tác giả đề xuất báo Vì thế, phương pháp chọn điểm khởi đầu báo có tính ứng dụng thực tế cao dùng kết hợp với phương pháp điểm cho tốn quy hoạch tuyến tính có kích thước lớn TÀI LIỆU THAM KHẢO [1] D G Luenberger &Y Ye, Linear and nonlinear programming, Springer Science & Business Media, 2008 [2] Phan Quốc Khánh, Trần Huệ Nương, Quy hoạch tuyến tính, NXB Giáo dục, 1999 Phạm Quý Mười, Phan Thị Như Quỳnh, “Phương pháp Ellipsoid cải tiến ứng dụng giải toán quy hoạch tuyến tính”, Tạp chí Khoa học & Cơng nghệ, Đại học Đà Nẵng, Số 9(94).2015 (BBT nhận bài: 23/10/2015, phản biện xong: 22/11/2015) ... AT y Ad Vì thế, phương pháp điểm cho Bài tốn(1)được trình bày Giải thuật Giải thuật 2: Phương pháp điểm cho Bài toán (3) Đầu - Tham số toán: A, b, c vào - Điểm xuất phát: ( x0 , y ,... trị khởi tạo nhận từ phương pháp mà nhóm tác giả đề xuất báo Vì thế, phương pháp chọn điểm khởi đầu báo có tính ứng dụng thực tế cao dùng kết hợp với phương pháp điểm cho tốn quy hoạch tuyến tính. .. áp dụng Giải thuật với điểm khởi tạo đưa Mục 2.3 Ở đây, nhóm tác giả chọn2 104 cho giải thuật Ellipsoid cải tiến, chọn 101 0cho Giải thuật và 101 0trong Bài toán (6) Các giải thuật chương