Chương 1: Cấu trúc tập ràng buộc của bài toán quy hoạch tuyến tính Chương 2: Bài toán quy hoạch tuyến tính nguyên Chương 3: Thuật toán cắt Gomory giải bài toán quy hoạch tuyến tính nguyê
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH
LUẬN VĂN THẠC SĨ TOÁN HỌC
Năm 2011
Trang 2B Ộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH
Trang 3Mở đầu
Nhiều vấn đề của thực tế cuộc sống hoặc trong các lĩnh vực khoa học kỹ thuật, kinh tế…
tuyến tính liên tục là trường hợp đã có các kết quả tương đối trọn vẹn Tình hình tương tự cũng xảy ra đối với hệ tuyến tính rời rạc, đó là trường hợp mà tất cả hoặc một số biến chỉ
nhận giá trị nguyên Tuy nhiên các thuật toán giải hệ tuyến tính rời rạc đều áp dụng cho các
việc làm cần thiết Luận văn này sẽ góp phần làm điều đó
Chương 1: Cấu trúc tập ràng buộc của bài toán quy hoạch tuyến tính
Chương 2: Bài toán quy hoạch tuyến tính nguyên
Chương 3: Thuật toán cắt Gomory giải bài toán quy hoạch tuyến tính nguyên
Chương 4: Thuật toán nhánh cận giải bài toán quy hoạch tuyến tính nguyên
Luận văn trình bày chi tiết một số kết quả của quy hoạch tuyến tính nguyên Việc nghiên
trong các tài liệu, giáo trình về quy hoạch tuyến tính nguyên đang lưu hành) như sau:
toán quy hoạch tuyến tính (không có điều kiện nguyên) tương ứng (định lý 2.4,2.5)
thuật toán nhánh cận giải bài toán quy hoạch tuyến tính nguyên có thể áp dụng cho một lớp bài toán rộng hơn các kết quả đã có
Trong lu ận văn này có thể xem các kết quả trên là đóng góp của tác giả cho việc khảo sát bài toán quy ho ạch tuyến tính nguyên
Cuối cùng, tôi xin bày tỏ lòng biết ơn sâu sắc đến Tiến sĩ Trịnh Công Diệu, Thầy đã tận tình hướng dẫn và tạo điều kiện thuận lợi giúp tôi hoàn thành luận văn này
Tôi xin gởi lời cảm ơn chân thành đến quý thầy cô trường Đại học Sư phạm Tp Hồ Chí Minh đã nhiệt tình giảng dạy tôi trong suốt quá trình học tập
Tôi cũng xin cảm ơn gia đình, bạn bè, đồng nghiệp đã động viên, giúp đỡ tôi trong quá trình học tập cũng như thực hiện luận văn này
Trang 4Mục lục
M ở đầu 3
M ục lục 4
Chương 1: CẤU TRÚC TẬP RÀNG BUỘC CỦA BÀI TOÁN QUY HO ẠCH TUYẾN TÍNH 6
1.1 T ập lồi, tập affine và tập nón 6
1.1.1 Tập lồi 6
1.1.2 Tập affine 6
1.1.3 Tập nón 7
1.2 T ập lồi đa diện 7
1.2.1 Điểm và phương cực biên của tập lồi, đóng 7
1.2.2 Tập lồi đa diện 9
Chương 2: BÀI TOÁN QUY HOẠCH TUYẾN TÍNH NGUYÊN 20
2.1 Khái ni ệm bài toán quy hoạch tuyến tính nguyên 20
2.2 M ối liên hệ giữa dạng chuẩn tắc và chính tắc của bài toán quy hoạch tuyến tính nguyên 20
2.3 M ối liên hệ về tính có nghiệm giữa bài toán quy hoạch tuyến tính nguyên và bài toán quy ho ạch tuyến tính tương ứng 22
Chương 3: THUẬT TOÁN CẮT GOMORY GIẢI BÀI TOÁN QUY HOẠCH TUYẾN TÍNH NGUYÊN 25
3.1 B ảng đơn hình 25
3.1.1 Khái niệm 25
3.1.2 Phép biến đổi cơ bản của bảng đơn hình 26
3.2 So sánh theo nghĩa từ vựng 27
3.2.1 Các khái niệm cơ bản 27
3.2.2 Các tính chất cơ bản 27
3.2.3 Tối ưu theo nghĩa từ vựng 28
3.3 B ảng đơn hình l-chuẩn 29
3.4 Thu ật toán đơn hình đối ngẫu từ vựng tìm phương án tối ưu từ vựng 30
3.5 Thu ật toán cắt Gomory 41
Trang 53.5.1 Điều kiện để sử dụng thuật toán Gomory 41
3.5.2 Thuật toán cắt Gomory 42
3.5.3 Cơ sở lí luận của thuật toán 43
3.5.4 Ví dụ 48
Chương 4: THUẬT TOÁN NHÁNH CẬNGIẢI BÀI TOÁN QUY HO ẠCH TUYẾN TÍNH NGUYÊN 52
4.1 Thu ật toán đơn hình đối ngẫu giải bài toán quy hoạch tuyến tính 52
4.2 K ỹ thuật tái tối ưu hóa 53
4.3 Thu ật toán nhánh cận 54
4.3.1 Điều kiện để sử dụng thuật toán nhánh cận 54
4.3.2 Thuật toán nhánh cận 54
4.3.3 Cơ sở lí luận của thuật toán 56
4.3.4 Ví dụ 61
K ết luận 65
Tài li ệu tham khảo 66
Trang 6Chương 1: CẤU TRÚC TẬP RÀNG BUỘC CỦA BÀI TOÁN QUY
HOẠCH TUYẾN TÍNH 1.1 Tập lồi, tập affine và tập nón
Trang 7Nếu Alà tập affine và a∈Athì tập L={y:∃ ∈x A y, = −x a} là không gian con
của n
viết A= +a L
- Số chiều của tập affine:
Số chiều của tập affine Alà số chiều của không gian con L gắn với A, tức
là A= +a L.Kí hiệu số chiều của A là dim A
Tập nón hữu hạn sinh là một tập nón và cũng là tập lồi
1.2 Tập lồi đa diện
1.2.1 Điểm và phương cực biên của tập lồi, đóng
Cho Alà tập lồi và đóng
1.2.1.1 Điểm cực biên của tập lồi, đóng
Trang 8+ x∈Ađược gọi là điểm cực biên của A nếu không tồn tại y z, ∈A y, ≠zsao cho
[ ]; \{ },
x∈ y z y z ,tức là không tồn tại y z, ∈A y, ≠z và λ∈( )0;1 sao cho x=λy+ − (1 λ)z
+ Tập hợp các điểm cực biên của Ađược kí hiệu là extA
1.2.1.2 Phương vô tận của tập lồi, đóng
n
u∈ được gọi là phương vô tận của Anếu u≠ 0và x+λu∈ ∀ ∈A, x A,λ > 0
Nh ận xét:
Nếu u là phương vô tận của thì λucũng là phương vô tận của A với mọi λ> 0 Như
vậy tập hợp các phương vô tận của Alà tập nón Vì thế ta thường gọi tập các phương vô tận
của Alà nón các phương vô tận của A
Định lý 1.2:
Một tập lồi đóng và không bị chặn thì có phương vô tận
Ch ứng minh:
A⊂ là tập lồi đóng và không bị chặn Vì A không bị chặn nên tồn tại dãy
{ }a k ⊂ A sao cho lim k
k a
k k
a b a
= Dãy { }b k nằm trong tập
k b u
Đầu tiên, ta thấy u≠ 0( u = 1) do lim k
Vậy u là phương vô tận của A
1.2.2.2 Phương cực biên của tập lồi, đóng
u∈ được gọi là phương cực biên của Anếu ulà phương vô tận của Avà không
tồn tại 2 phương vô tận độc lập tuyến tính v w, của Avà α β, > 0sao cho u=αv+βw
Nh ận xét:
Trang 9Vì nếu u là phương vô tận của Athì λucũng là phương vô tận của A vớiλ> 0 nên ta
có thể định nghĩa phương cực biên của tập lồi, đóng như sau:
u∈ được gọi là phương cực biên của Anếu ulà phương vô tận của A và không
tồn tại 2 phương vô tận độc lập tuyến tính v w, của Asao cho u= +v w
1.2.2 Tập lồi đa diện
1.2.2.1 Khái ni ệm tập lồi đa diện
+ Nửa không gian đóng :
Tập hợp có thể quy về dạng {x∈ n: a x, ≤b} (a≠0,b∈ )được gọi là nửa không
Nh ận xét:
Nửa không gian đóng là một tập lồi và đóng
+ Tập lồi đa diện:
=
= trong đó H ilà các nửa không gian đóng
Biểu diễn
Trang 10Như nhận xét trên, tập lồi đa diện là một tập lồi đóng Do đó tập lồi đa diện cũng có các
cứu các khái niệm ấy của tập lồi đa diện
1.2.2.3 Điểm cực biên của tập lồi đa diện
B ổ đề 1.3:
Cho D là tập lồi đa diện khác rỗng và không chứa đường thẳng Khi ấy, nếu x thuộc
D và x không phải là điểm cực biên thì tồn tại ythuộc D thỏa
Trang 11+ Trước hết ta chứng tỏ tồn tại i∈ 1,m sao cho a x i, <b i Giả sử ngược lại,
Suy ra D ch ứa đường thẳng qua y,z Điều này mâu thuẫn với giả thiết D không chứa
đường thẳng Vậy tồn tại i∈1,m sao cho a x i, <b i
Do D không chứa đường thẳng nên đoạn thẳng [ ]y z; không thể kéo dài mãi về 2
thoát ra khỏi D tại y
Giả sử với mọii∈1,m nếu a x i, <b i thì ta cũng có a y i, <b i Không mất tính tổng quát ta giả sử
Với mỗi i∈ +k 1,m, chọn b i′ <b i sao cho a y i, <b′ i
Khi ấy, với t> 0 đủ nhỏ, ta có
i t i i i i i
a y = a y +t a y−x < +b′ t a y−x <b ∀ = +i k m
Mặt khác, a y i, t =b i,∀ =i 1,k do a y i, = a x i, =b i,∀ =i 1,k
Vậy nên y t∈D với t> 0 đủ nhỏ Như vậy đoạn thẳng [ ]y z; có thể kéo dài về phía y
tới y tsao cho nó vẫn còn nằm trong D Điều này mâu thuẫn với giả sử đường thẳng qua y,z
thoát ra khỏi D tại y
Định lý 1.4:
Tập lồi đa diện khác rỗng nếu không chứa đường thẳng thì có điểm cực biên
Ch ứng minh:
Xét D là tập lồi đa diện khác rỗng và không chứa đường thẳng Chọn x∈D bất kỳ
Nếu x∈extD, ta có điều phải chứng minh.Ngược lại, giả sử x∉extD Theo bổ đề 1.3 có
x ∈D sao cho tồn tại i∈ 1,m thoả mãn
Trang 12i i
a x <b và a x i, 1 =b i Đặt H i ={x∈n: a x i, =b i} Ta có x∉H i Đặt D1 =H iD
Ta chứng minh dimD1<dimD Thậy vậy, giả sử dimD1=dimD Vì D1⊂D nên
1
affD ⊂affD Lại có dimD1=dimD nên affD1 =affD Vì D1⊂H i nên affD1⊂affH i =H i.Suy
ra affD⊂H i Điều này mâu thuẫn vì x∈ ⊂D affD nhưng x∉H i
Ta chứng minh extD1⊂extD Xét x∈extD1 Giả sử x∉extD Khi ấy tồn tại
Vậy nếu x1là điểm cực biên của D1thì x1 cũng là điểm cực biên của D Ta có điều
phải chứng minh Ngược lại nếu x1không phải là điểm cực biên của D1thì ta lập luận như trên và giảm được dim D1 vì D1 cũng là tập lồi đa diện khác rỗng và không chứa đường
thẳng Quá trình lập luận này phải dừng lại ở một bước k nào đó mà x klà điểm cực biên của
k
j j j
L= a a a Vì dimL⊥ = −n dimL= − ≥n k 1 nên tồn tại h∈L h⊥, ≠0 Vậy
với ε > 0 đủ nhỏ, ta có a x i, ±εh = a x i, ≤b i nếu a i∈L và a x i, ±εh <b i nếu a i∉L Như
vậy x±εh∈D và x+εh≠ −x εh do h≠ 0 Mặt khác, ta có 1( ) 1( )
này mâu thuẫn với x là điểm cực biên
Số cách chọn n vectơ từ m vectơ là hữu hạn Do đó ta có hệ quả sau
H ệ quả 1.6:
Trang 13Tập hợp các điểm cực biên của tập lồi đa diện có hữu hạn phần tử
1.2.2.4 Phương vô tận của tập lồi đa diện
Ax≤b Au≤ λ > Vậy u là phương vô tận của D
1.2.2.5 Phương cực biên của tập lồi đa diện
a u = ∀ =i k Đặt 1, 2, ,
ε > đủ nhỏ, ta có a u i, +εh =0 nếu a i∈L và a u i, +εh <0 nếu a i∉L.Do vậy theo định
lý 1.4, hai vectơ u±εh là các phương vô tận và là các phương vô tận độc lập tuyến tính do 2
vectơ u,h độc lập tuyến tính
Trang 141.2.2.6 C ấu trúc của tập lồi đa diện không chứa đường thẳng
Định lý 1.10:
Tập lồi đa diện bị chặn chính là bao lồi của các điểm cực biên của nó
Ch ứng minh:
Xét D tập lồi đa diện bị chặn Ta sẽ chứng minh D=conv extD( )
Vì D là tập lồi chứa extD nên conv extD( )⊂D Ta chứng minh D⊂conv extD( ) ( )*
bằng quy nạp theo n= dimD
( )* đúng với n= 0 vì khi ấy D có một phần tử duy nhất Giả sử ( )* đúng với mọi
n<k, ta chứng minh ( )* cũng đúng với n=k Thật vậy, xét x∈D Nếu x∈extDthì ta có điều phải chứng minh Giả sử x∉extD Khi ấy tồn tại y z, ∈D y, ≠z và λ∈( )0;1 sao cho
(1 )
x=λy+ −λ z Do D b ị chặn nên đường thẳng qua y,z thoát ra khỏi D tại 2 điểm Không
mất tính tổng quát ta giả sử hai điểm đó là y và z Theo bổ đề 1.3, ta có tồn tại i∈ 1,m thoả mãn
,
i i
a x <b và a y i, =b i Đặt H i ={x∈ n: a x i, =b i} Đặt D1=H iD Như trong chứng minh định lý 1.4, ta
có dimD1<dimD và extD1⊂extD.Theo giả thiết quy nạp ta có D1⊂conv extD( 1).Suy ra
Vì conv extD( )⊂D nên ( ) { n: 0}
conv extD + ∈u Au≤ ⊂D Ta chứng minh
D⊂conv extD + ∈u Au≤ ( )* bằng quy nạp theo n= dimD
Rõ ràng ( )* đúng với n= 0 Giả sử ( )* đúng với mọi n<k, ta chứng minh ( )* cũng đúng với n=k Nếu D bị chặn thì theo định lý 1.7, D=conv extD( ) Ta có điều phải chứng
minh Ngược lại, giả sử D không bị chặn thì theo định lý 1.2 , D có phương vô tận hay tồn
Trang 15tại v≠ 0,v∈ ∈{u n:Au≤ 0 } Xét x∈D Ta có tia {x−λ λv: ≥0}phải thoát khỏi D tại một điểm y nào đó vì nếu không D sẽ chứa toàn bộ đường thẳng qua x phương v – đường thẳng
{x+λ λv: ∈ } Theo bổ đề 1.3, ta có tồn tại i∈1,m thoả mãn
,
i i
a x v+ <b và a y i, =b i Đặt H i ={x∈n: a x i, =b i} Đặt D1=H iD Như trong chứng minh định lý 1.4, ta
có dimD1<dimD và extD1⊂extD Vì D1cũng là tập lồi đa diện không chứa đường thẳng nên theo giả thiết quy nạp, ta có
Nếu n= 0 thì G={ }0 =cone{ }0 Vậy ( )* đúng với n= 0
Giả sử ( )* đúng với mọi n<k k( ≥1), ta chứng minh ( )* cũng đúng với n=k Do
dimG= ≥k 1 nên tồn tại v∈G v, ≠ 0 Xét x∈G Ta có tia {x−λ λv: ≥0}phải thoát khỏi G tại
thẳng {x+λ λv: ∈ } và khi ấy D cũng chứa đường thẳng Theo bổ đề 1.3, ta có tồn tại
1,
i∈ m thoả mãn
a x v+ < và a y, =0
Trang 16Đặt H i ={x∈ n: a x i, = 0 ,} ∀ =i 1,m Đặt G i =H iG Như trong chứng minh định
lý 1.4, ta có dimG i <dimG Vậy theo giả thiết quy nạp, ta có
Do số ràng buộc a x i, =0 là hữu hạn ( m ràng buộc) nên G⊂coneR với R là tập hữu
hạn VìR⊂G nên coneR⊂G Vậy G=coneR
Định lý 1.13:
hợp {u∈ n:Au≤ 0}là tập nón sinh bởi các phương cực biên của D
Ch ứng minh:
Theo bổ đề 1.12, ta giả sử rằng
{u∈ n:Au≤ 0}=cone x{ 1 , ,x k}
Ta nhận xét rằng nếu x1 có thể biểu diễn thành tổ hợp nón của các x icòn lại thì ta có
thể loại nó ra khỏi {x1, ,x k} vì khi ấy ta có cone x x{ 1, 2, ,x k}=cone x{ 2, ,x k}.Vậy ta giả thiết rằng {x1, ,x k}gồm các phần tử mà mỗi phần tử không thể biểu diễn thành tổ hợp nón
của các phần tử còn lại Khi ấy ta có x i là phương cực biên với mọi i∈ 1,k Thậy vậy, giả sử
Trang 17các phương vô hạn – tập hợp {u∈ n:Au≤ 0} là tập nón sinh bởi các phương cực biên của
D
Từ các định lý 1.10, 1.11, 1.13 ta rút ra kết quả quan trọng sau
Định lý 1.14:
Cho D là tập lồi đa diện khác rỗng và không chứa đường thẳng Gọi u1, ,u k là các
điểm cực biên của D và v1, ,v l là các phương cực biên của D Ta có
1 Bài toán quy ho ạch tuyến tính
1.1 Bài toán t ối ưu
Cho hàm số f xác định trên tập hợp X
Bài toán tối ưu max{f x( ):x∈X} là bài toán tìm giá trị lớn nhất của hàm số f trên
X
Trang 18Hàm mục tiêu: Hàm số f được gọi là hàm mục tiêu của bài toán
Phương án: Nếu x∈X thì x được gọi là phương án của bài toán
Tập ràng buộc: X được gọi là tập ràng buộc hay tập các phương án của bài toán Phương án tối ưu và giá trị tối ưu: Nếu tồn tại x∗∈X sao cho f x( )≤ f x( )∗ với mọi
x∈X thì x∗ được gọi là phương án tối ưu của bài toán và giá trị f x( )∗ được gọi là giá trị tối
ưu của bài toán
1.2 Bài toán quy ho ạch tuyến tính
Cho E={x∈ n:Ax≤b x, ≥ 0} và c∈n,c≠0
Bài toán quy hoạch tuyến tính dạng chuẩn tắc là bài toán có dạng max{ c x, :x∈E}
Định lý sau đưa ra một điều kiện cần và đủ để một bài toán quy hoạch tuyến tính
dạng chuẩn tắc có phương án tối ưu
và chỉ khi tập các phương án của bài toán khác rỗng và hàm mục tiêu bị chặn trên trên tập các phương án của bài toán
Trang 19+ Nếu D bị chặn thì D là tập compact nên hàm liên tục c x, đạt giá trị lớn nhất
trên D Vậy bài toán có phương án tối ưu
+ Nếu D không bị chặn
Xét v là phương vô tận của D thì ta có , c v ≤ Thật vậy, giả sử ngược lại 0
c v > Lấy cố định x D∈ Ta có c x, +λv = c x, +λ c v, → +∞(λ→ +∞ Điều này )
mâu thuẫn với giả thiết hàm mục tiêu bị chặn trên
rỗng, không chứa đường thẳng và không bị chặn Gọi u1, ,u k là các điểm cực biên của D và
Trang 20Chương 2: BÀI TOÁN QUY HOẠCH TUYẾN TÍNH NGUYÊN 2.1 Khái niệm bài toán quy hoạch tuyến tính nguyên
Bài toán quy hoạch tuyến tính nguyên ( toàn phần) là bài toán quy hoạch tuyến tính
có thêm ràng buộc các biến phải là các số nguyên
Dạng chuẩn tắc của bài toán quy hoạch tuyến tính nguyên:
, max , 0, n
Từ đây về sau ta chỉ xét trường hợp các dữ liệu của bài toán đều là các số nguyên
nghĩa là các ma trận ,A b , vectơ c có các thành phần là các số nguyên
2.2 Mối liên hệ giữa dạng chuẩn tắc và chính tắc của bài toán quy hoạch tuyến tính nguyên
Vấn đề đặt ra là liệu có thể giải bài toán quy hoạch tuyến tính nguyên dạng chuẩn tắc
nếu biết cách giải bài toán quy hoạch tuyến tính nguyên dạng chính tắc không
Xét bài toán quy hoạch tuyến tính nguyên dạng chuẩn tắc
, 0, n
c x P
Trang 21Đặt z=( )x y c, , =( )c, 0 ,A= A I m (I là ma tr m ận đơn vị cấp m ) Khi đó bài toán
phụ có thể viết lại dưới dạng một bài toán quy hoạch tuyến tính nguyên dạng chính tắc như sau
, 0, n m
c z P
Giả sử ( )P′ có phương án tối ưu x∗
Đặt y∗ = −b Ax∗ Vì x∗ là phương án của ( )P′ nên y∗≥ và 0 m
Nếu z∗ =(x y∗, ∗)(x∗∈n,y∗∈ là phương án tối ưu của m) ( )P′′ thì x∗ là phương án
tối ưu của ( )P′
Vậy x∗ là phương án tối ưu của( )P′
Như vậy qua hai mệnh đề trên, ta có thể đưa ra lời giải của ( )P′ dựa trên kết quả
của( )P′′ :
+ Nếu ( )P′′ không có phương án tối ưu thì ( )P′ cũng không có phương án tối ưu
Trang 22+ Nếu ( )P′′ có phương án tối ưu z∗=(x y∗, ∗)(x∗∈n,y∗∈ thì x m) ∗ là phương án
tối ưu của( )P′
2.3 Mối liên hệ về tính có nghiệm giữa bài toán quy hoạch tuyến tính nguyên và bài toán quy hoạch tuyến tính tương ứng
B ổ đề 2.3:
Nếu D={x∈ n:Ax≤b} là tập lồi đa diện không bị chặn, không chứa đường thẳng
và A có các thành phần là các số hữu tỷ thì các phương cực biên của D có các thành phần là
các số hữu tỷ (nếu u là phương cực biên của D thì có thể chọn λ thích hợp để λulà phương
cực biên của D có các thành phần là các số hữu tỷ)
Ch ứng minh:
Đặt dòng thứ i của ma trận A là a i =(a a i1, i2, ,a in)
cực biên u=(u u1, 2, ,u n) Theo định lý 1.8, không mất tính tổng quát ta coi hệ
rankB= − Vn ậy có thể chọn từ B n− 1 vec tơ cột độc lập tuyến tính Không mất tính
tổng quát ta giả sử B có n− 1 vec tơ cột đầu tiên độc lập tuyến tính, tức là ma trận
1 ( 1)
0
n n
n n n
a u
1
1 ( 1)
n n
a u
Trang 23Đặt
1 1
′ = Ta có u′là phương cực biên của D có các thành phần là các số hữu tỷ
( )P là bài toán quy hoạch tuyến tính tương ứng Hai định lý sau thể hiện mối liên hệ về tính
có nghiệm giữa hai bài toán:
Định lý 2.4:
Nếu ( )P không có phương án tối ưu thì ( )P′ cũng không có phương án tối ưu
Ch ứng minh:
Nếu ( )P′ không có phương án thì ( )P′ không có phương án tối ưu Định lý được
chứng minh Giả sử ( )P′ có phương án là x0 Đặt D là tập ràng buộc của bài toán ( )P D
khác rỗng (chứa x0) và vì ( )P không có phương án tối ưu nên D không bị chặn Gọi
1, , k
u u là các điểm cực biên của D và v1, ,v l là các phương cực biên của D Theo định lý
1.13, ta có với mỗi x∈Dtồn tại các số α βi, j sao cho
c v > Thật vậy, giả sử ngược lại c v, j ≤ 0
với mọi j= 1,l Khi đó với mọi x∈D, ta có
Trang 24c x không bị chặn trên trên tập các phương án của ( )P Điều này mâu thuẫn với giả thiết
( )P có phương án tối ưu
Vậy nếu ( )P có phương án tối ưu và có phương án nguyên thì ( )P′ cũng có phương
án tối ưu
Trang 25Chương 3: THUẬT TOÁN CẮT GOMORY GIẢI BÀI TOÁN QUY
HOẠCH TUYẾN TÍNH NGUYÊN
Có thể nói tối ưu rời rạc khai sinh lịch sử phát triển của mình từ năm 1985 khi
Trong chương này ta sẽ nghiên cứu thuật toán cắt Gomory và cơ sở lí luận của nó sử dụng
để giải bài toán quy hoạch tuyến tính nguyên dạng chính tắc:
, 0, n
c x P
a A a
Các biến x j,j∈Bgọi là các biến cơ sở
Các biến x j,j∈Ngọi là các biến phi cơ sở
Sử dụng đại số tuyến tính, ta có thể biểu diễn các biến cơ sở qua các biến phi cơ sở Như vậy, hàm mục tiêu x0, các biến x1, ,x n đều có thể biểu diễn qua các biến phi cơ sở Cụ
Trang 26Với i j, ∈N, 1,
0 ,
ij
i j x
= Ma trận Tgọi là bảng đơn hình ứng với cơ sở B
Nếu x i0 ≥0 với mọi i= 1,n thì Tgọi là chấp nhận được và khi ấy (x10, ,x n0)là phương án cơ sở ứng với cơ sở B
Nếu x0j ≥0 với mọi j∈N thì Tgọi là chuẩn và (x01, ,x0n) gọi là giả phương án ứng
với cơ sở B
3.1.2 Phép biến đổi cơ bản của bảng đơn hình
Phép biến đổi cơ bản của bảng đơn hình : đưa x k ra khỏi tập các biến cơ sở, đưa x l
{ }
l k
kl kj
j j l
kl
R R
x x
Trang 27kl kj
+ x gọi là không âm từ vựng và kí hiệu x≥l 0nếu x>l 0 hoặc x= 0
+ x gọi là lớn hơn từ vựng y và kí hiệu là x>l ynếu x− >y l 0
+ x gọi là không bé hơn từ vựng y và kí hiệu là x≥l ynếu x− ≥y l 0
+ x gọi là không dương từ vựng và kí hiệu x≤l 0nếu x l<0 hoặc x= 0
+ x gọi là bé hơn từ vựng y và kí hiệu là x<l ynếu x− <y l 0
+ x gọi là không lớn hơn từ vựng y và kí hiệu là x≤l y nếu x− ≤y l 0
Trong định nghĩa trên có thể thay x y, là các vectơ cột
Giả sử x1, ,x k là các vectơ trong n
+ x s s( ∈1,k)gọi là vectơ cực đại từ vựng của các vectơ x1, ,x knếu x s ≥l x i với mọi
1,
i∈ k Kí hiệu x s =lexmax{x i i: =1,k}
+ x s s( ∈1,k)gọi là vectơ cực tiểu từ vựng của các vectơ x1, ,x knếu x s ≤l x i với mọi
Trang 283.2.3 Tối ưu theo nghĩa từ vựng
+ Phương án u=(u1, u n) của ( )P gọi là phương án tối ưu từ vựng nếu với mọi phương án x=(x1, x n) của ( )P , ta có
( c u u, , , , 1 u n) (≥l c x, , , ,x1 x n) +( c x, , , ,x1 x n) được gọi là phương án mở rộng ứng với phương án (x1, x n) của
( )P
Nh ận xét:
+ Phương án tối ưu từ vựng là phương án tối ưu
+ Phương án tối ưu từ vựng nếu có thì là duy nhất
D=D x∈ c x =x cũng là tập lồi đa diện và bị chặn Đặt u i i( =1,k) là các điểm
Trang 29Dlà tập lồi đa diện không bị chặn nên có phương vô tận v Vì các thành phần của
một phương án của Dlà không âm nên v≥ 0 và v≠ 0 Vậy v>l 0 Đặt u1=u0+v Ta có
1
u ∈D và u1 >l u0 Điều này mâu thuẫn với u0 là phương án tối ưu từ vựng của ( )P
Vậy tập các phương án tối ưu của ( )P khác rỗng và bị chặn
Vậy phương án tối ưu từ vựng của ( )P (nếu có) là phương án cực biên của ( )P
x R x
Trang 30Biểu diễn hàm mục tiêu và các biến qua các biến phi cơ sở:
( )
00 0
10 1
x x
⇒ Giả sử ( )P có phương án tối ưu từ vựng x Theo định lý,xcũng là phương án
cực biên tức là phương án cơ sở Ta chứng minh cho trường hợp xlà phương án cơ sở không thoái hóa nghĩa là x> 0 Xét T là bảng đơn hình ứng với x T là chấp nhận được vì
xlà phương án cơ sở Ta chứng minh T cũng là l-chuẩn Giả sử ngược lại tồn tại l∈Nsao cho R l <l 0 Khi đó tồn tại i∈ 1,n để x il >0 vì nếu ngược lại thì hàm mục tiêu không bị
chặn trên, mâu thuẫn với ( )P có phương án tối ưu [3, tr.28-29]
Thực hiện phép biến đổi cơ bản của bảng đơn hình : đưa x l vào tập các biến cơ sở, đưa x k ra theo tiêu chuẩn
x
x
′ = − > vì x k0,x kl >0,R l <l 0 Điều này mâu thuẫn với x là phương
án tối ưu từ vựng của ( )P
3.4 Thuật toán đơn hình đối ngẫu từ vựng tìm phương án tối ưu từ vựng
+ Trường hợp bảng đơn hình xuất phát là l-chuẩn:
Ý tưởng của thuật toán:
chưa là chấp nhận được thì ta tiến hành dịch chuyển sang cơ sở mới mà bảng đơn hình ứng
Trang 31với cơ sở mới cũng là l-chuẩn cho đến khi gặp bảng đơn hình là chấp nhận được thì dừng Khi đó phương án cơ sở ứng với bảng đơn hình cuối là phương án tối ưu từ vựng
+ Thực hiện phép biến đổi cơ bản của bảng đơn hình : đưa x k ra khỏi tập các biến cơ
sở, đưa x l vào Quay trở lại bước 1
biến đổi cơ bản của bảng đơn hình : đưa x k ra khỏi tập các biến cơ sở, đưa x l vào Ta có
bảng đơn hình mới được tính lại theo công thức
Trang 32{ }
l k kl kj
j j l
kl
R R
x x
R R
Vậy bảng đơn hình sau cũng là l-chuẩn tức là R′ j >l 0 với mọi j∈N ′
đối ngẫu từ vựng thì các bảng đơn hình đều là l-chuẩn
x
x
′ = − < vì x k0,x kl <0,R l >l 0
Cơ sở lí luận của thuật toán:
Do định lý 3.5 ta sẽ tránh được hiện tượng xoay vòng tức là thuật toán lại quay trở về
một cơ sở mà trước đó đã xét qua và vì ( )P chỉ có hữu hạn các cơ sở nên thuật toán sẽ dừng sau một số hữu hạn các bước lặp
+ Trường hợp bảng đơn hình xuất phát không là l-chuẩn:
Ý tưởng:
được bảng đơn hình mới Sau đó chuyển đổi bảng đơn hình này thành l-chuẩn và từ đó áp
Trang 33dụng thuật toán đơn hình đối ngẫu từ vựng cho cho bảng đơn hình này Sử dụng kết quả của bài toán mới để đưa ra kết quả cho bài toán ban đầu
Thu ật toán:
Giả sử ( )P có cơ sở Bmà bảng đơn hình tương ứng không là l-chuẩn Ta thêm ràng
buộc giả tạo vào bài toán:
Thực hiện phép biến đổi cơ bản của bảng đơn hình: đưa x n+1 ra khỏi tập các biến cơ
sở, đưa x l vào theo quy tắc từ vựng:
R =lex R j∈N Khi đó, ta nhận được bảng đơn hình mới là l-chuẩn Thật vậy, theo công thức biến đổi bảng đơn hình ta có
vựng cho bài toán mở rộng ( )P M Chú ý rằng trong quá trình tiến hành thuật toán ta luôn xem M là số lớn hơn bất kì số nào cần so sánh với nó và chỉ có cột đầu tiên phụ thuộc vào
M Thuật toán sẽ dừng ở một trong những trường hợp sau:
+ ( )P M không có phương án thì ( )P không có phương án Vậy ( )P không có phương án
tối ưu từ vựng