Minh họa ứng dụng thuật toán nhánh cận xấp xỉ ngoài ILP giải bài toán quy hoạch nguyên tuyến tính có số chiều nhỏ với miền ràng buộc là hệ bất phương trình tuyến tính ..... Mỗi bước trun
Trang 2ii
MỤC LỤC
MỤC LỤC i
Mở đầu iv
Chương 1 BÀI TOÁN QUY HOẠCH NGUYÊN TUYẾN TÍNH VÀ BÀI TOÁN QUY HOẠCH TUYẾN TÍNH DẠNG CHUẨN 1
1.1 Một số mô hình thực tế thuộc dạng bài toán quy hoạch nguyên tuyến tính dạng chuẩn 1
1.1.1 Bài toán pha cắt vật liệu 1
1.1.2 Bài toán lập kế hoạch sản xuất 2
1.1.3 Bài toán cái túi 2
1.1.4 Mô hình phân bố máy bay cực tiểu tổng chi phí trên toàn mạng đường bay hàng không 3
1.1.5 Bài toán mua (thuê) máy bay tối ưu: 6
1.2 Bài toán quy hoạch nguyên tuyến tính dạng chuẩn và phương pháp giải 7
1.2.1 Bài toán quy hoạch nguyên tuyến tính 7
1.2.2 Thuật toán Land-Doig giải bài toán quy hoạch nguyên tuyến tính 9
1.3 Bài toán quy hoạch tuyến tính với miền ràng buộc là hệ bất phương trình tuyến tính 15
1.3.1 Phương pháp nón xoay xấp xỉ ngoài tuyến tính 16
Thuật toán xấp xỉ ngoài LP 16
1.3.2 Bảng lặp giải bài toán quy hoạch tuyến tính bởi thuật toán nón xoay xấp xỉ ngoài tuyến tính 18
1.3.3 Bài toán quy hoạch tuyến tính tái tối ưu hóa và thuật toán TTH 22
Chương 2 THUẬT TOÁN NHÁNH CẬN XẤP XỈ NGOÀI GIẢI BÀI TOÁN QUY HOẠCH NGUYÊN TUYẾN TÍNH VÀ ỨNG DỤNG 28
2.1 Thuật toán nhánh cận xấp xỉ ngoài giải bài toán quy hoạch nguyên tuyến tính 28
2.2 Minh họa ứng dụng thuật toán nhánh cận xấp xỉ ngoài ILP giải bài toán quy hoạch nguyên tuyến tính có số chiều nhỏ với miền ràng buộc là hệ bất phương trình tuyến tính 31
KẾT LUẬN 52
TÀI LIỆU THAM KHẢO 54
Trang 3iii
Trang 4iv
Mở đầu
Như chúng ta đã biết, nhiều bài toán thực tế dẫn đến chúng ta phải
đi giải các bài toán quy hoạch nguyên tuyến tính, và một trong những phương pháp hiệu quả để giải nó đó là phương pháp nhánh cận Land-Doig Mỗi bước trung gian để giải bài toán quy hoạch nguyên tuyến tính thông thường là chúng ta phải tiến hành giải các bài toán quy hoạch tuyến tính tương ứng khi chưa có điều kiện nguyên của biến với các ràng buộc
bổ sung dạng bất phương trình cho các thành phần của biến Do đó việc
sử dụng các thuật toán giải trực tiếp bài toán quy hoạch tuyến tính với miền ràng buộc là hệ bất phương trình tuyến tính là khá ưu việt và hiệu quả, một trong những thuật toán như vậy là thuật toán nón xoay tuyến tính xấp xỉ ngoài trình bày trong [4]
Nội dung chính của luận văn được trình bày trong hai chương:
Chương 1, trình bày một số mô hình bài toán thực tế có dạng bài toán quy hoạch nguyên tuyến tính, phương pháp nhánh cận Land-Doig và thuật toán nón xoay xấp xỉ ngoài tái tối ưu hóa TTH giải bài toán quy hoạch tuyến tính dạng chuẩn
Chương 2, trình bày việc xây dựng thuật toán xấp xỉ ngoài ILP giải bài toán quy hoạch nguyên tuyến tính từ thuật toán nhánh cận Land-Doig và thuật toán nón xoay xấp xỉ ngoài TTH Thuật toán đã dựa trên một định lý làm cho trong mỗi bước để tìm các cận dưới đúng của bài toán nguyên, chúng ta chỉ phải đi giải các bài toán quy hoạch tuyến tính tương ứng khi chưa có điều kiện nguyên có số chiều là n - 1 (n là số chiều của bài toán) Tiếp đó minh họa ứng dụng thuật toán trình bày giải cho một số ví dụ đã có trong một số tài liệu [2], [3] và [5] để so sánh tính thuận lợi của thuật toán khi trường hợp bài toán
có sô chiều hay số ràng buộc chính là nhỏ Và trong trường hợp bài toán quy hoạch nguyên tuyến tính dạng chuẩn 2 chiều thì việc giải các bài toán quy hoạch tuyến tính tương ứng khi chưa có điều kiện nguyên, trong mỗi bước để
Trang 5v tìm các cận dưới đúng của bài toán chỉ còn là việc kiểm tra tìm giá trị nhỏ nhất của hàm một biến tại hai đầu mút (nếu có)
Các thuật toán trình bày trong luận văn này được xây dựng chi tiết, các bước của thuật toán được trình bày sao cho chúng ta có thể dễ dàng lập trình chuyển sang các chương trình trên máy tính bằng các ngôn ngữ như Pascal, C, Basis, Java,
Trang 61
Chương 1 BÀI TOÁN QUY HOẠCH NGUYÊN TUYẾN TÍNH
VÀ BÀI TOÁN QUY HOẠCH TUYẾN TÍNH DẠNG CHUẨN
Trong chương này chúng ta sẽ trình bày một số bài toán thực tế điển hình thuộc dạng bài toán quy hoạch nguyên tuyến tính, giới thiệu một số phương pháp quan trọng thường dùng để giải bài toán quy hoạch nguyên tuyến tính Và trong quá trình các bước giải bài toán này cần phải giải các bài toán quy hoạch tuyến tính dạng chuẩn trung gian khi thêm vào các siêu phẳng cắt hoặc thêm vào các ràng buộc dạng bất phương trình tuyến tính để chia nhỏ miền chấp nhận sau mỗi bước Chính vì thế, trong phần cuối của chương này sẽ trình bày một thuật toán xấp xỉ ngoài giải trực tiếp bài toán quy hoạch tuyến tính với miền ràng buộc là hệ bất phương trình tuyến tính và thuật toán này khá hiệu quả trong trường hợp tái tối ưu hóa
1.1 Một số mô hình thực tế thuộc dạng bài toán quy hoạch nguyên tuyến tính dạng chuẩn
1.1.1 Bài toán pha cắt vật liệu
Một phân xưởng có những thanh vật liệu (thanh thép, ống nhựa, ….)
có độ dài cho trước, chúng ta cần cắt chúng thành những đoạn ngắn theo các mẫu cho trước Vấn đề đặt ra là ta nên cắt như thế nào cho tổng những phần
dư còn thừa lại là tốn ít nhất?
Giả sử a ij là độ dài đoạn loại i theo mẫu j, b i là số đoạn loại i cần có,
cj là rẻo thừa khi cắt theo mẫu j, gọi xj là số thanh cắt theo mẫu j (j= 1,2, …, n) Ta có bài toán quy hoạch nguyên tuyến tính sau:
1
min
Trang 72 với các điều kiện
Đây là một bài toán quy hoạch tuyến tính chính tắc nguyên
1.1.2 Bài toán lập kế hoạch sản xuất
Giả sử một xí nghiệp sản xuất n loại sản phẩm và sử dụng m loại nguyên liệu khác nhau, c j là lãi suất (hay giá bán) đối với một đơn vị sản phẩm j (j =1,…, n), a ij là suất chi phí tài nguyên loại i để sản xuất một đơn vị sản phẩm loại j, b i là lượng dự trữ tài nguyên loại i (i = 1,…,m) Gọi x j là lượng sản phẩm loại j (j = 1,…, n) mà xí nghiệp sản xuất Trong các điều kiện
đã cho, hãy xác định các giá trị x j (j = 1,…, n) sao cho tổng tiền lãi (hay tổng
giá trị sản lượng hàng hóa) là lớn nhất với số tài nguyên hiện có
Mô hình toán học có dạng bài toán quy hoạch tuyến tính dạng chuẩn sau:
j x c
1
maxvới các điều kiện
1
,
n
j j i j
Đây là một bài toán quy hoạch tuyến tính dạng chuẩn nguyên
1.1.3 Bài toán cái túi
Một người du lịch muốn đem theo một cái túi có thể đựng được các đồ
vật nặng không quá b kilogam Có n loại đồ vật mà anh ta dự định đem theo
Trang 8Đây là một bài toán quy hoạch tuyến tính dạng chuẩn nguyên
1.1.4 Mô hình phân bố máy bay cực tiểu tổng chi phí trên toàn mạng đường bay hàng không
1 Các tham số và biến quyết định của bài toán:
Giả sử chúng ta đang khai thác sử dụng K loại máy bay (777, 767,
A321, A330, A320, AT7, ),M k là số máy bay loại k đang khai thác sử dụng (k=1,2, ,K), giả sử số sân bay (thành phố) tham gia vào mạng là N Ta sử dụng các ký hiệu sau đây: (i, j) là chặng bay từ sân bay i đến sân bay j
(i, j=1,2 ,N)
Ta giả thiết chiều dài trung bình thực tế D ij và chiều dài thương mại của mỗi chặng bay là bằng nhau
P ij là số lượng khách trung bình dự báo có thu nhập thực tế chuyên chở
được trên chặng bay (i, j) (trong mỗi tuần)
S k là số ghế tương ứng (số ghế tối đa được phép xếp khách cho từng
chặng bay của loại máy bay k)
Trang 94
gij là ghế suất (hệ số sử dụng ghế suất) trung bình trên chặng bay (i, j)
max
h
k - số giờ khai thác bay trung bình lớn nhất cho phép của một chiếc
máy bay loại k trong một tuần
k
max( )ij F
k tương ứng là tần xuất bay ít nhất và nhiều nhất (số
chuyến bay trong một tuần) của loại máy bay k trên chặng bay (i, j)
Ta ký hiệu Cost là tổng chi phí theo chuyến bay cho tất cả máy bay
đang khai thác sử dụng trong thời kỳ phân tích (một tuần) trên các tuyến bay toàn mạng Thời kỳ phân tích là khoảng thời gian cần nghiên cứu cần phân tích mà ta có thể quy định là một tuần, một tháng, một quý, sáu tháng, một năm,
Hàm mục tiêu Cost là tổng chi phí cho chuyến bay trên toàn mạng được
Trang 105
chi phí biến đổi theo chuyến bay của loại máy bay k xuất hiện khi thực hiện
chuyến bay như: phục vụ hàng khách, giờ bay, hàng hóa, nhiên liệu
3 Các ràng buộc của bài toán:
Ràng buộc về thương mại:
0 F k ij f ij k F k ij (I.2) Ràng buộc này có nghĩa là tần suất bay k
fij của loại máy bay k trên chặng bay (i, j) không ít hơn min( )ij
F
k và không nhiều hơn Fmax( )ij
k (ràng buộc về hạn chế thương mại)
Ràng buộc về khai thác:
Với mỗi vòng bay j (Pairing) ta có:
k
f ji i
fij i
(I.3)
(j = 1,2, N, k = 1,2, ,K)
Ràng buộc (I.3) có nghĩa là trong khoảng thời gian phân tích (của một
chu kỳ bay) thì các đội bay của loại máy bay k rời sân bay căn cứ j (Crew Base) bay đến sân bay i thì sẽ bay về sân bay j trong vòng bay
là thời gian bay trên chặng bay (i, j) của loại máy bay k
Ràng buộc (I.4) có nghĩa là số giờ khai thác bay trung bình của một
chiếc máy bay loại k không vượt quá số giờ bay cho phép
Trang 116
1 1
Ràng buộc (I.5) có nghĩa là hệ số sử dụng ghế (ghế suất) thực tế
trên chặng bay (i, j) của loại máy bay k phải đạt ít nhất bằng g ij và không vượt quá 100%
Bài toán đặt ra là cựu tiểu hàm mục tiêu (I.1) với ràng buộc thỏa mãn (I.2), (I.3), (I.4) và (I.5) Vậy mô hình bài toán “Phân bố máy bay” cực tiểu tổng chi phí cho chuyến bay như sau:
ij f C C
(j = 1,2, N, k = 1,2, ,K)
max ( , )
Đây là một bài toán quy hoạch tuyến tính dạng chuẩn nguyên
1.1.5 Bài toán mua (thuê) máy bay tối ưu:
Để mở rộng hoạt động, hãng hàng không dự định mua (thuê) K loại
máy bay (B777, B767, A321, A330, A320, AT7, ) ta gọi tương ứng là loại
máy bay k (k=1, 2, …, K) máy bay loại k có giá mua (thuê) là c k và có thời
gian sử dụng là T k năm Hãng dự định mua (thuê) tối đa là N máy bay trong
Trang 127
các loại máy bay trên với số vốn đầu tư hiện có là V, Bài toán cần giải quyết
là hãng hàng không nên mua (thuê) bao nhiêu máy bay mỗi loại để tổng thời gian sử dụng là nhiều nhất?
Ta gọi x k là số lượng máy bay loại k cần mua (thuê), khi đó mô hình
(I.7) Với các ràng buộc:
1
K k k
Đây là một bài toán quy hoạch tuyến tính dạng chuẩn nguyên
1.2 Bài toán quy hoạch nguyên tuyến tính dạng chuẩn và phương pháp giải
Trong mục này, chúng ta giới thiệu về bài toán quy hoạch nguyên
tuyến tính dạng chuẩn và phương pháp nhánh cận Land-Doig để giải nó Nội
dung của mục này dựa chủ yếu vào các tài liệu [2], [3], [4] và [5]
1.2.1 Bài toán quy hoạch nguyên tuyến tính
Quy hoạch nguyên tuyến tính (Interger linener Programming, viết tắt
ILP), là bài toán tìm cực tiểu (hay cực đại) của một hàm tuyến tính trên một tập hợp điểm rời rạc, thường là tập điểm nguyên:
( ILP) min f x( )c x Ax T : b x, j 0 nguyên, j 1, ,n
trong đó A Rm n. , b R và c R m n cho trước
Trang 138 Khi có một số, không phải tất cả các biến là nguyên thì ta gọi đó là bài toán qui hoạch nguyên bộ phận Khi có điều kiện tất cả các biến đều nguyên thì ta gọi đó là bài toán quy hoạch nguyên hoàn toàn
Trang 149
Cũng như trong quy hoạch tuyến tính, f được gọi là hàm mục tiêu, tập
D x R Ax b x nguyên j n
gọi là miền ràng buộc hay miền chấp nhận được Điểm x Dgọi là
một nghiệm chấp nhận được hay một phương án của bài toán Một phương án đạt cực tiểu (hay cực đại) của hàm mục tiêu gọi là nghiệm tối ưu hay một phương án tối ưu Nghiên cứu cấu trúc tập ràng buộc D và xây dựng các thuật
toán tìm nghiệm tối ưu của bài toán ILP là đối tượng của quy hoạch nguyên tuyến tính
1.2.2 Thuật toán Land-Doig giải bài toán quy hoạch nguyên tuyến tính
Chúng ta đã biết khi giải bài toán quy hoạch tuyến tính bằng phương pháp đơn hình thì nhiều bài toán như bài toán vận tải sẽ cho chúng ta lời giải nguyên Song cũng có nhiều bài toán cho chúng ta lời giải chưa phải là nguyên, chính vì thế mà một số phương pháp giải bài toán quy hoạch nguyên đã ra đời
Năm 1954, Dantzig, Fulkerson và Johnson đã đưa ra ý tưởng về phương pháp siêu phẳng cắt để giải bài toán quy hoạch nguyên Ý tưởng chính của phương pháp này là mỗi bước lặp sẽ dùng siêu phẳng cắt để thu nhỏ miền chấp nhận được ở bước trước sao cho nghiệm tối ưu chưa nguyên ở bước này phải bị cắt đi và mọi phương án nguyên chấp nhận được không bị cắt đi Năm 1958, Ralph Gomory đã xây dựng thuật toán đảm bảo hữu hạn bước nhận được lời giải tối ưu nguyên Đến năm 1960, Land-Doig đã đưa ra thuật toán nhánh cận giải bài toán quy hoạch nguyên hiệu quả hơn nhiều so với phương pháp siêu phẳng cắt của Gomory
Sau đây chúng ta sẽ trình bày thuật toán Land-Doig là một trong những thuật toán của phương pháp nhánh cận Sơ đồ tổng quát của phương pháp nhánh cận chúng ta có thể tìm thấy ở các tài liệu [2], [3] và [5]
Trang 1510
Thuật toán Land-Doig giải bài toán quy hoạch nguyên tuyến tính
Xét bài toán quy hoạch nguyên tuyến tính sau đây:
b Ax
x
cT
, 0
min
(1.9)
Để áp dụng phương pháp nhánh cận, ta phải xác định hai thủ tục chính đó là phân nhánh và tính cận Ta xét cách xây dựng hai thủ tục này của Land-Doig
Trang 16D (1.10)
}1][:
Trang 1712 Gọi P2 là bài toán: min { f ( x ) : x D2}
Rõ ràng đây là các bài toán quy hoạch nguyên tuyến tính
Khi giải bài toán quy hoạch tuyến tính tương ứng với bài toán )
1) Bài toán không có phương án chấp nhận được
2) Tìm được phương án tối ưu i
x nguyên
3) Tìm được phương án tối ưu xikhông nguyên
Trường hợp 1): Bài toán P i cũng không có phương án chấp nhận được, tức là D i Khi đó, ta có thể loại bỏ tập D i khỏi qua trình xét tiếp theo
Trường hợp 2): i
x cũng là phương án của bài toán P i Vì vậy i
x là phương án chấp nhận được của bài toán xuất phát Trong trường hợp này, ta
có thể cải thiện được kỷ lục, còn tập D icũng sẽ bị loại không cần xét tiếp
Trường hợp 3): Ta thu được cận dưới của tập D ilà
)()(D i f x i
Tập D i cần xem xét tiếp:
Ta có thể mô tả thuật toán Land-Doig để giải bài toán quy hoạch nguyên tuyến tính (1.9) như sau:
Thuật toán Land-Doig
Bước chuẩn bị: Giải bài toán quy hoạch tuyến tính tương ứng với P0
và thu được phương án tối ưu 0
x Giả sử 0
x là không nguyên
Trang 182) Nếu P : Chọn P k là bài toán có cận dưới nhỏ nhất trong P
Gọi D k là miền chấp nhận được, k
x là phương án tối ưu của bài toán quy hoạch tuyến tính tương ứng với nó
2.1 Giả sử xt k là một thành phần không nguyên nào đó của k
f Gọi P k2 là bài toán
min { ( ) : }
2
k
D x x
f Đây là các bài toán quy hoạch nguyên tuyến tính
Trang 1914 2.2 Lần lượt giải các bài toán quy hoạch tuyến tính tương ứng với
a) Phát hiện bài toán không có phương án chấp nhận được
b) Tìm được phương án tối ưu k i
Gọi x là kỷ lục tương ứng với giá trị này Bài toán P k i đã xét xong
Trường hợp c): Đặt cận dưới của P k i là ( k i)
x
f , và kết nạp nó vào danh sách các bài toán cần xét:
: { }
i
k
P P
P
và chuyển sang bước k + 1
Như vậy chúng ta đã trình bày xong thuật toán nhánh cận Land-Doig giải bài toán quy hoạch nguyên tuyến tính dạng chuẩn Chúng ta thấy khi giải bài toán quy hoạch nguyên tuyến tính theo thuật toán trên thì các tính toán ở giai đoạn 2.2 để giải các bài toán quy hoạch tuyến tính tương ứng tính cận dưới là khâu quan trọng cần thiết Rõ ràng sau mỗi bước mỗi bài toán quy hoạch tuyến tính tương ứng cần giải lại thêm một ràng buộc bất phương trình
Trang 2015 Chính vì vậy khi giải các bài toán này chúng ta nên lựa chọn các thuật toán giải trực tiếp được cho bài toán quy hoạch tuyến tính dạng chuẩn (miền ràng buộc là hệ bất phương trình tuyến tính) nhất là những thuật toán mà có
ưu điểm thuận lợi trong trường hợp bài toán là tái tối ưu hóa (sau một bước lại
giải lại bài toán khi chỉ bổ sung thêm 1 ràng buộc)
Một thuật toán giải bài toán quy hoạch tuyến tính với miền ràng buộc
là hệ bất phương trình tuyến tính và có ưu điểm khi bài toán là tái tối ưu hóa
là thuật toán nón xoay trong [4] Sau đây chúng tôi sẽ trình bày thuật toán nón xoay và trong trường hợp bài toán cần giải là bài toán tái tối ưu hóa (tức là giải lại bài toán mới khi bổ sung thêm một ràng buộc bất phương trình vào miền ràng buộc của bài toán trước đã biết lời giải của nó) Chứng minh định
lý khẳng định bài toán tái tối ưu hóa nếu có lời giải thì sẽ có ít nhất một lời giải thỏa mãn chặt ràng buộc bổ sung Và nhờ tính chất này mà khi giải các bài toán quy hoạch tuyến tính tương ứng trong bước 2.2 của thuật toán Land-Doig trình bày trên chung ta chỉ phải giải các bải toán quy hoạch tuyến tính
với số chiều (số biến nguyên) là n-1 (n là số chiều của bài toán)
1.3 Bài toán quy hoạch tuyến tính với miền ràng buộc là hệ bất phương trình tuyến tính
Xét bài toán quy hoạch tuyến tính với miền ràng buộc là hệ bất phương trình tuyến tính sau:
n i
f x C x c x L
Trang 2116
C(c 1 , c 2 ,…, c n ), b i R 1 , i=1, 2, ., m Hạng của hệ A i (i=1, 2, …, m) bằng n, giả thiết này rất bình thường bởi miền ràng buộc P L của bài toán quy
hoạch tuyến tính nói chung bao giờ cũng có ràng buộc về dấu của biến x
1.3.1 Phương pháp nón xoay xấp xỉ ngoài tuyến tính
Xét bài toán (L) trong trường hợp biết một nón – min của bài toán (L)
Ý tưởng của thuật toán nón xoay tuyến tính giải bài toán (L) như sau: Xuất pháp từ một nón-min M ban đầu của hàm mục tiêu bài toán,
chúng ta kiểm tra xem đỉnh của nó có thuộc miền chấp nhận của bài toán không (tức là đỉnh này có thoả mãn tất cả các ràng buộc không) nếu đỉnh này
thuộc miền chấp nhận thì nó là một lời giải của bài toán (L) Ngược lại ta xây dựng nón xoay mới M(r,s) (vẫn là nón-min) từ nón cũ M của bài toán (L) và lặp lại quá trình kiểm tra nón xoay mới này tương tự như đối với nón M, quá trình này được thực hiện cho đến khi đỉnh của nón xoay mới M(r,s) thuộc miền chấp nhận của bài toán (L) (khi miền ràng buộc của bài toán (L) có phương án) hoặc sẽ phát hiện ra miền ràng buộc của bài toán (L) là rỗng
Thuật toán xấp xỉ ngoài LP
Bước chuẩn bị (bước 0) Giả sử ta đó biết M 0 là nón - min của bài toán (L) với tập chỉ số cơ sở là I 0 :={ i i10, , ,20 i n0}, x 0 = M0
x là đỉnh của M 0 và các véc tơ chỉ phương của các cạnh i của nón M 0 là z0i=
0
i M
z (iI 0 )
Bước k ( k=0, 1, 2, .) Giả sử M k là nón - min của bài toán (L) (đã
được xây dựng), với tập chỉ số cơ sở, đỉnh và các véc tơ chỉ phương của các
z Xác định tập J +
(x k ) theo (1.6): J(x k) :j1, 2, ,m: A x j, k b j 0
1 Nếu J +
(x k ) = thì dừng lại x k chính là một lời giải của bài toán (L),
Trang 22I = thì dừng lại, suy ra bài toán (L) không có phương án 2.2 Nếu s k
Và ta xây dựng nón xoay M k+1 = M k (r k , s k ) sinh ra từ nón-min M k , tập chỉ số
cơ sở là I k+1 = I k (r k , s k ) = (I k {s k }) \ {r k } và các véc tơ chỉ phương 1
i k
z (xem [4]) sao cho:
0
1
,( ) ,
,1 ,
s r k
Trang 231 1
Quay trở lại bước k với k:= k+1
1.3.2 Bảng lặp giải bài toán quy hoạch tuyến tính bởi thuật toán nón xoay xấp xỉ ngoài tuyến tính
Để dễ tính toán, trong mỗi bước lặp k ta thiết lập bảng dưới đây gọi là
bảng nón xoay thu gọn giải bài toán quy hoạch tuyến tính dạng chuẩn khi biết một nón – min của hàm mục tiêu của bài toán
2
k
i k
2
k
i k
, ,
k sk k
i k i s k
Trang 24i k
n
i kn
s r k
k
s q k
s q
k k k
i k i s k
Bảng lặp nón xoay thu gọn A gồm 2 phần (xem bảng A): Các số liệu
ban đầu được đưa vào bảng và các số liệu cần tính toán theo các công thức trong thuật toán nón xoay được xây dựng thứ tự theo các bước từ trên xuống dưới và từ trái sang phải như sau:
Bước k (k=0, 1, 2, …):
Phần thứ nhất của bảng là khai báo số liệu của bước chuẩn bị:
Đưa vào các số liệu ban đầu của bài toán nằm trong các cột bao gồm có
cột chỉ số cơ sở 1, 2, …, m, cột số liệu các giá trị b i (i=1, 2, …, m), dòng đầu
tiên trên cùng của phần này là các hệ số của hàm mục tiêu, và ma trận hệ số
các ràng buộc A cụ thể là:
- Dòng đầu tiên của bảng là dòng các toạ độ c j của véc tơ C của hàm
mục tiêu
- Cột đầu tiên thứ nhất là cột chỉ số của các véc tơ dòng A i của ma
trận ràng buộc A của bài toán (L) từ 1 đến m
- Cột thứ hai là cột các giá trị (b i i 1, 2, , )m của véc tơ cột B của ma
trận ràng buộc
- Tiếp theo bên phải cột thứ hai là bảng của ma trận hệ số gồm các giá
trị của ràng buộc A: a ij (i=1,2,…,m; j =1,2,…,n)
Trang 2520
Phần thứ hai của bảng liền với phần thứ nhất là số liệu tính toán các giá trị của hệ véc tơ chỉ phương z i k( i I k) và các toạ độ của đỉnh x k:
Tại bước k (k = 0, 1, 2, …) bảng gồm các cột và ma trận của giá trị
các véc tơ chỉ phương z k i( i I k)cụ thể như sau:
- Cột thứ nhất là cột chỉ số cơ sở iI k
- Cột thứ hai là cột giá trị b i với iI k
- Tiếp theo bên phải cột thứ hai là bảng ma trận các véc tơ chỉ phương
Đến đây ta có bảng nón xoay tại bước k (k = 0, 1, 2, ….) đã xây dựng xong
Bây giờ ta chuyển sang kiểm tra tiêu chuẩn tối ưu và xây dựng bảng
nón xoay mới ở bước tiếp theo k+1 nếu x k
chưa phải là phương án tối ưu
Từ dòng cuối cùng của phần thứ hai của bảng là dòng các toạ độ của x k , chúng ta đi tính các giá trị A x i, k b i i( 0,1,2, , )m và xây dựng tiếp các cột chứa các giá trị này ở bên phải ma trận ràng buộc A trong phần thứ nhất của bảng
Từ cột chứa giá trị A x i, k b i i( 0,1,2, , )m đã biết này ở bước lặp
k (vị trí bên phải ma trận ràng buộc A) Theo thuật toán nón xoay ta xác định
được tậpJ(x k) có hai khả năng:
- Nếu J(x k) thì dừng và xk là một lời giải của bài (L)
- Nếu J(x k) thì theo thuật toán nón xoay ta chọn được chỉ số đưa
vào cơ sở s k và chúng ta tiến hành tính toán các cột sau:
Bên phải bảng z k i, i I k ở phần thứ hai của bảng ta xây dựng cột chứa giá trị s k, i ,
Trang 2621
Từ cột giá trị này ta xác định được tập s k
I và theo thuật toán ta có hai khả năng:
i
s k
s i k
C z
Từ đây theo (1.17) của thuật toán nón xoay
tuyến tính ta chọn được chỉ số đưa ra cơ sở là r k
Đến đây các thông tin để xây dựng bảng lặp ở bước k+1 từ bảng lặp
ở bước k đã đầy đủ, chúng ta xây dựng bảng lặp ở bước k+1 phía dưới bảng lặp ở bước k như sau:
- Cột đầu tiên của bảng lặp ở bước k+1 là cột chỉ số cơ sở
k k k k
I I s r được xây dựng bằng cách chuyển cột chỉ số cơ sở của
bảng ở bước lặp k xuống và chỉ cần thay chỉ số r k bằng chỉ số s k ở bảng mới
là được
- Cột tiếp theo là cột chứa các giá trị b i với iI k1 (bên phải cột chỉ số
cơ sở I k1) được xây dựng bằng cách chuyển cột chứa các giá tri b i với iI k của bảng ở bước lặp thứ k xuống và thay giá trị
của nón – min M k ở bảng lặp bước k theo công thức xoay (1.23)
Sau đó ta tính toán đến dòng cuối cùng tiếp theo của bảng này là dòng
các toạ độ của đỉnh nón – min M k+1 là x k+1 =
1 1
Trang 2722
Đến đây bảng nón xoay mới ở bước lặp k+1 đã được xây dựng xong
Quá trình lặp này sẽ kết thúc sau hữu hạn bước bởi định lý 1.6.[4],
Một số phần tử trung tâm cần chú ý khi xây dựng bảng nón xoay thu gọn là:
tương ứng với dòng sk (được chọn đưa vào cơ sở ở bước lặp k) theo mục b1)
hay b2) trong thuật toán nón xoay tuyến tính
s r k
k k
i
s k
s i k
s r k
C z
tương ứng với dòng rk (được chọn
đưa ra cơ sở ở bước lặp k) theo tiêu chuẩn (1.21) và (1.22) của thuật toán nón
1.3.3 Bài toán quy hoạch tuyến tính tái tối ưu hóa và thuật toán TTH
Trên thực tế do những biến động về kinh tế luôn thay đổi theo thời gian, có rất nhiều những vấn để trong sản xuất, xây dựng, sửa chữa và cải tạo lại, … việc bổ sung thêm các điều kiện vật chất vào đầu tư ban đầu là rất cần thiết và không thể thiếu được Do vậy lời giải và các kết quả tìm được từ các
mô hình bài toán quy hoạch trước đây đã trở lên lạc hậu và không còn phù hợp nữa, buộc chúng ta phải bổ sung thêm vào các điều kiện mới cho phù hợp Vì thế xuất hiện một dạng bài toán quy hoạch thường gặp và chúng ta phải giải quyết gọi là bài toán tái tối ưu hoá
Trang 2823 Ngay khi chúng ta đi giải các bài toán quy hoạch nguyên thì việc phải giải các bài toán quy hoạch có bổ sung thêm các ràng buộc là không thể tránh khỏi
Chính vì vậy, dưới đây chúng ta sẽ xét và giải quyết bài toán quy hoạch tuyến tính dạng chuẩn có thêm ràng buộc bổ sung gọi là bài toán tái tối ưu hoá trong trường hợp đã biết lời giải của bài toán ban đầu
1.3.3.1 Bài toán quy hoạch tuyến tính tái tối ưu hoá dạng chuẩn
Xét bài toán qui hoạch tuyến tính dạng chuẩn sau:
quy hoạch tuyến tính thông thường có ràng buộc về dấu của biến x
Giả sử chúng ta đã biết một lời giải của bài toán (T) là * * * *
x thoả mãn (3.1) thì nó cũng là một lời giải của bài toán
(T *) có thêm ràng buộc bổ sung (3.1), nếu ngược lại mà
N 1, M* 1 0
N
(1.21) Thì chúng ta gọi bài toán sau đây là bài toán tái tối ưu hoá của bài toán (T):
Trang 29Rõ ràng để giải bài toán (T * ) mà sử dụng phương pháp đơn hình thì
chúng ta sẽ không khai thác được thông tin về việc đã biết lời giải của bài
toán (T) Còn nếu chúng ta sử dụng phương pháp nón xoay trình bày trong
chương 2 thì sẽ khai thác được thông tin nói trên Đồng thời dựa trên kết quả của một định lý được chứng minh dưới đây chúng ta sẽ đề ra một quy tắc ưu tiên chọn chỉ số đưa ra khỏi cơ sở làm cho thuật toán nón xoay trở nên hiệu
quả hơn khi giải bài toán tái tối ưu hoá (T *)
Định lý tái tối ƣu hoá: Nếu M*
x là một lời giải của bài toán (T), nhưng nó không phải là phương án của bài toán (T * ) và bài toán (T *) có
phương án, thì bài toán (T * ) luôn có phương án tối ưu x* thoả mãn:
Điều này có nghĩa là trên miền P T*hàm mục tiêu bài toán (T *) bị chặn
dưới và nó có phương án thì nó phải có phương án tối ưu Giả sử x 1