TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2TÔ THỊ HƯƠNG LAN THUẬT TOÁN GOMORY GIẢI BÀI TOÁN QUY HOẠCH NGUYÊN TUYẾN TÍNH VÀ ỨNG DỤNG TRONG PHÁO BINH LUẬN VĂN THẠC SĨ TOÁN HỌC HÀ NỘI - 2017... TRƯỜNG
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
TÔ THỊ HƯƠNG LAN
THUẬT TOÁN GOMORY GIẢI BÀI TOÁN QUY HOẠCH NGUYÊN TUYẾN TÍNH
VÀ ỨNG DỤNG TRONG PHÁO BINH
LUẬN VĂN THẠC SĨ TOÁN HỌC
HÀ NỘI - 2017
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
TÔ THỊ HƯƠNG LAN
THUẬT TOÁN GOMORY GIẢI BÀI TOÁN QUY HOẠCH NGUYÊN TUYẾN TÍNH
VÀ ỨNG DỤNG TRONG PHÁO BINH
Trang 3Lời đầu tiên của luận văn tôi xin bày tỏ lòng biết ơn chân thành và sâu sắcnhất tới PGS.TS Nguyễn Năng Tâm, thầy đã định hướng chọn đề tài và tậntình hướng dẫn, giúp đỡ tôi trong suốt quá trình làm và hoàn thiện luận vănnày.
Tôi cũng xin bày tỏ lòng biết ơn chân thành tới Phòng sau đại học, các thầy
cô giáo khoa Toán Trường Đại học sư phạm Hà Nội 2, các thầy giáo giảng dạychuyên ngành Toán ứng dụng đã giúp đỡ tôi trong suốt quá trình học tập tạitrường
Nhân dịp này tôi cũng xin gửi lời cảm ơn đến các đồng nghiệp ở Bộ mônToán Tin Khoa Khoa học cơ bản Trường sĩ quan Pháo binh, nơi tôi đang côngtác; gia đình và bạn bè đã luôn tạo điều kiện giúp đỡ và động viên tôi trongsuốt quá trình học tập và hoàn thành luận văn này
Hà Nội, tháng 6 năm 2017
Tác giả
Tô Thị Hương Lan
Trang 4Tôi xin cam đoan, dưới sự chỉ bảo và hướng dẫn của PGS.TS Nguyễn NăngTâm, luận văn chuyên ngành Toán ứng dụng với đề tài: “Thuật toán Gomorygiải bài toán qui hoạch nguyên tuyến tính và ứng dụng trong Pháobinh ” được hoàn thành bởi sự nhận thức và tìm hiểu của bản thân tác giả.Trong quá trình nghiên cứu và thực hiện luận văn, tác giả đã kế thừa nhữngkết quả của các nhà khoa học với sự trân trọng và biết ơn!
Hà Nội, tháng 6 năm 2017
Tác giả
Tô Thị Hương Lan
Trang 5LỜI CẢM ƠN 1
1.1 Một số vấn đề cơ bản về bài toán tối ưu tuyến tính 7
1.1.1 Bài toán tối ưu [3] 7
1.1.2 Bài toán qui hoạch nguyên tuyến tính 9
1.1.3 Điều kiện tối ưu tổng quát 11
1.2 Phương pháp đơn hình [5] 12
1.2.1 Thuật toán đơn hình dạng bảng 12
1.2.2 Thuật toán đơn hình dạng tọa độ 14
1.2.3 Phương pháp đơn hình đối ngẫu 17
Chương 2 THUẬT TOÁN GOMORY GIẢI BÀI TOÁN QUY HOẠCH NGUYÊN TUYẾN TÍNH 23 2.1 Cơ sở lí thuyết về thuật toán lát cắt 23
2.1.1 Cơ sở lý thuyết 23
2.1.2 Khái niệm lát cắt 27
2.1.3 Tư tưởng phương pháp cắt 30
Trang 62.2.1 Thuật toán Gomory thứ nhất 31
2.2.2 Thuật toán Gomory thứ hai 35
2.2.3 Thuật toán Gomory thứ ba 40
2.3 Định lí về sự tồn tại nghiệm của bài toán 47
2.3.1 Điều kiện để sử dụng thuật toán Gomory 47
2.3.2 Tính hữu hạn của thuật toán Gomory 48
2.3.3 Cơ sở xây dựng lát cắt đúng nguyên 51
Chương 3 ỨNG DỤNG TRONG PHÁO BINH 52 3.1 Khái niệm chỉ tiêu hiệu quả bắn (CTHQB) 52
3.1.1 Khái niệm 52
3.1.2 Khái niệm mục tiêu (M) 53
3.2 Bài toán 56
3.2.1 Bài toán thực tế: 56
3.2.2 Thiết lập mô hình toán 57
3.3 Phương pháp giải bài toán đặt ra 57
3.3.1 Sử dụng thuật toán 57
3.3.2 Văn bản chương trình [7] 63
Trang 7MỞ ĐẦU
1 Lí do chọn đề tài
Bài toán tối ưu tuyến tính là một bài toán quan trọng của lý thuyết tối ưu.Đây là mô hình toán học của nhiều bài toán phổ biến trong thực tế, có hìnhthức toán học đơn giản và dễ giải Mặt khác, về lý thuyết, ta có thể xấp xỉvới độ chính xác cao các bài toán tối ưu phi tuyến bởi dãy các bài toán tối ưutuyến tính
Trong lí thuyết tối ưu ta gặp một lớp bài toán mà đối tượng của nó khôngthể chia cắt nhỏ tùy ý, trong lớp bài toán này tất cả (hoặc một bộ phận) cácbiến chỉ nhận các giá trị nguyên, đó là bài toán qui hoạch nguyên Bài toánquy hoạch nguyên có nhiều ứng dụng trong thực tế và trong quân sự, chẳnghạn bài toán dự tính số đạn trúng mục tiêu; số vọng gác ít nhất để có thể đảmbảo an ninh một khu vực; bài toán tìm số chiến sĩ ít nhất để phân công côngviệc, hay bài toán chiếc ba lô, Vì vậy, vấn đề đặt ra là cần nghiên cứu một lớpcác bài toán quy hoạch nguyên với phương pháp giải phù hợp để giải quyết cácbài toán thực tế và bài toán chuyên ngành Đối với bài toán qui hoạch nguyêntuyến tính, các thuật toán giải bài toán qui hoạch tuyến tính tổng quát cơ bảnhầu hết không thể sử dụng được nữa do yêu cầu về tính nguyên của các biến
số Năm 1958, Gomory (nhà toán học người Mĩ) đã công bố thuật toán cắt nổitiếng để giải bài toán qui hoạch nguyên tuyến tính, mở đầu cho sự ra đời vàphát triển của lí thuyết bài toán qui hoạch nguyên
Lí thuyết tối ưu cũng được ứng dụng nhiều trong trong chuyên ngành chỉhuy của Pháo binh, có nhiều bài toán tối ưu được đưa về bài toán qui hoạch
Trang 8nguyên tuyến tính, chẳng hạn: bài toán dự tính số đạn trúng mục tiêu; bài toánvận tải trong quân sự; bài toán đuổi bắt mục tiêu; thuật toán Gomory tỏ ra
là một công cụ hữu hiệu trong việc xử lí các bài toán này Vì vậy, tôi chọn đềtài nghiên cứu: “Thuật toán Gomory giải bài toán qui hoạch nguyên tuyến tính
và ứng dụng trong Pháo binh”
2 Mục đích nghiên cứu
Sử dụng thuật toán Gomory giải bài toán qui hoạch nguyên để tìm ra phương
án tối ưu cho bài toán
Nghiên cứu lớp bài toán tối ưu diệt mục tiêu pháo binh có yếu tố ngẫunhiên
3 Nhiệm vụ nghiên cứu
Trình bày một số kiến thức cơ bản về bài toán quy hoạch tuyến tính, bàitoán quy hoạch nguyên; Lí thuyết tối ưu; phương pháp cắt; Cơ sở lý thuyếtcủa thuật toán Gomory để giải bài toán quy hoạch nguyên
Nêu bài toán ứng dụng, từ đó mô hình hoá dạng toán học
4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: thuật toán Gomory để giải bài toán quy hoạch nguyên
và ứng dụng trong pháo binh
Phạm vi nghiên cứu: Cơ sở lý thuyết của thuật toán lát cắt Gomory để giảibài toán quy hoạch nguyên
5 Phương pháp nghiên cứu
Tìm hiểu các tài liệu liên quan đến bài toán qui hoạch nguyên, bài toán tối
ưu tuyến tính, thuật toán Gomory
Trang 9Phương pháp nghiên cứu lí thuyết, chủ yếu là các phương pháp suy luậntoán học.
Trang 10DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Trang 11Chương 1 MỘT SỐ KIẾN THỨC CHUẨN BỊ
1.1 Một số vấn đề cơ bản về bài toán tối ưu tuyến tính
1.1.1 Bài toán tối ưu [3]
Trong thực tế và lý thuyết, nhiều bài toán được mô tả dưới dạng:
trong đó f : Rn → R là một hàm cho trước, C ⊂ Rn là một tập con cho trước,
Rn là không gian Euclid n-chiều
Ta còn viết bài toán (P ) như sau: max{f (x) : x ∈ C}
Định nghĩa 1.1 Bài toán (P ) được gọi một bài toán tối ưu hay một bài toánquy hoạch toán học Hàm f gọi là hàm mục tiêu, C là tập ràng buộc (hay miềnchấp nhận được của (P )) Các phần tử của C được gọi là các vectơ chấp nhậnđược của (P ) hoặc các phương án
Nếu C = Rn thì ta nói (P ) là một bài toán không có ràng buộc, ngược lại,(P ) là bài toán có ràng buộc
Định nghĩa 1.2 Điểm x∗ ∈ C mà f (x∗) ≥ f (x) với mọi x ∈ C được gọi lànghiệm, hoặc nghiệm tối ưu, hoặc nghiệm tối ưu toàn cục, hoặc cực đại toàncục của bài toán (P ), ta còn gọi nghiệm tối ưu là phương án tối ưu
Tập các nghiệm tối ưu của (P ) kí hiệu là Sol(P ), tập các nghiệm tối ưu địaphương kí hiệu là loc(P )
Trang 12Hình 1.1
Cực tiểu địa phương: M2, M4 Cực tiểu toàn cục: M2
Cực đại địa phương: M3 Cực đại toàn cục: M3
Hai bài toán tối ưu gọi là tương đương nếu tập nghiệm của chúng trùngnhau
Định nghĩa 1.3 Giá trị tối ưu ν(P ) của (P ) được xác định bởi
ν(P ) = sup{f (x) : x ∈ C}
Nếu C = ∅ thì qui ước ν(P ) = +∞
Dễ thấy, Sol(P ) ⊂ loc(P ), và Sol(P ) = {x ∈ C : f (x) = ν(P )}
Lưu ý: Thay cho bài toán (P ) ở trên, ta có thể gặp bài toán tìm giá trịnhỏ nhất sau:
Trang 13vậy bất kỳ bài toán tìm giá trị nhỏ nhất nào dạng (P1) đều có thể đưa về bàitoán tìm giá trị lớn nhất dạng (P )
Hiển nhiên rằng, nghiệm tối ưu toàn cục của bài toán (P ) (hay (P1)) đều
là nghiệm tối ưu địa phương của (P ) (hay (P1)), điều ngược lại không phải lúcnào cũng đúng Tuy nhiên, nếu C là một tập lồi và f là một hàm lồi trên Cthì mọi nghiệm tối ưu địa phương của (P ) đều là nghiệm tối ưu toàn cục của(P ) Khẳng định sau đây chứng minh điều đó
Định lý 1.1 Cho C ⊂ Rn là tập lồi, f : C → R là một hàm lồi Khi đó, nếu
x∗ là một nghiệm tối ưu của bài toán (P ): max{f (x) : x ∈ C}, thì nó cũng làmột nghiệm tối ưu toàn cục của bài toán đó
Chứng minh Giả sử x∗ là nghiệm tối ưu địa phương của (P ) Khi đó x∗ ∈ C
và tồn tại lân cận mở V trong Rn của x∗ sao cho:
Vì x ∈ C tùy ý, ta suy ra x∗ là nghiệm tối ưu toàn cục của (P )
1.1.2 Bài toán qui hoạch nguyên tuyến tính
Trong các bài toán quy hoạch tuyến tính, các biến số có thể nhận những giátrị thực không âm Tuy nhiên, trong thực tiễn thường gặp các bài toán mà cácbiến số chỉ có thể nhận một số hữu hạn hay đếm được giá trị, thường là cácgiá trị nguyên Chẳng hạn sẽ là vô nghĩa khi đưa ra câu trả lời: cần sản xuấtnửa cái bàn hay cần sử dụng 3,5 người để hoàn thành công việc, hoặc có 1,3viên đạn bắn trúng mục tiêu Vì thế ta sẽ đề cập đến nội dung và phương
Trang 14pháp giải các bài toán tối ưu trên lưới các điểm nguyên hay trên các tập rờirạc, gọi tắt là bài toán quy hoạch rời rạc hay bài toán quy hoạch nguyên.Bài toán qui hoạch nguyên tuyến tính:
Nếu k = n thì bài toán (L, C) với điều kiện (1.1) - (1.4) gọi là bài toán quyhoạch tuyến tính nguyên hoàn toàn Nếu k < n thì bài toán gọi là bài toán quyhoạch nguyên bộ phận Điều kiện (1.4) đôi khi được viết dưới dạng: xj nguyên,
(L, C) là bài toán tối ưu từ vựng với phương án tối ưu mở rộng X =(
Trang 15Nếu X∗ = (x1, , xn) là phương án (hay phương án tối ưu) và x0 = P
cjxjthì vectơ X = (
Một đa diện L mà tất cả các đỉnh của nó đều là nguyên (mọi thành phần
là nguyên) gọi là đa diện nguyên
1.1.3 Điều kiện tối ưu tổng quát
Trong phần này chúng ta sẽ đề cập đến bài toán tối ưu dạng:
trong đó C ⊂ Rn là một tập đóng
Định lý 1.2 [3, tr 63] Bài toán (1.5) có nghiệm tối ưu khi và chỉ khi tồntại x ∈ C sao cho tập M (f0) = {α ∈ R : α ≤ f (x)} đóng, khác rỗng và bị chặntrên
Chứng minh Giả sử (1.5) có nghiệm tối ưu x∗ ∈ C Khi đó, rõ ràng:
M (f ) = {α ∈ R : α ≤ f (x∗)}
Vậy M (f ) là đóng, khác rỗng, bị chặn trên
Giả sử tập M (f ) đóng, khác rỗng và bị chặn trên Khi đó, tồn tại α0 =sup M (f ) < +∞ và α0 ∈ M (f ) Vì α ∈ M (f ), theo định nghĩa của M (f ), tồntại x∗ ∈ C sao cho α0 ≤ f (x∗) Mặt khác, f0(x) ∈ M (f ) với mọi x ∈ C, suy ra
α0 thuộc f (x∗) Vậy f (x∗) = sup M (f0) < +∞, suy ra f (x∗) ≥ f (x) với mọi
x ∈ C Vậy x∗ là nghiệm tối ưu của bài toán (1.5)
Trang 161.2 Phương pháp đơn hình [5]
Đây là một phương pháp đơn giản và hữu hiệu để giải bài toán tối ưu tuyếntính được Dantzig, nhà toán học Mỹ, tìm ra vào năm 1947 Như đã biết, mọibài toán tối ưu tuyến tính đều chuyển được về dạng chính tắc Do đó, trongmục này chỉ xét bài toán dạng chính tắc
1.2.1 Thuật toán đơn hình dạng bảng
Thuật toán đơn hình để giải bài toán qui hoạch tuyến tính chính tắc khibiết một phương án cực biên x0 Xét bài toán tối ưu tuyến tính dạng chính tắckhông suy biến
Bước 1 Kiểm tra dấu hiệu tối ưu của phương án cực biên x0:
Nếu ∆k ≤ 0, ∀k ∈ J(x0) thì x0 là phương án tối ưu Thuật toán dừng
Trang 17Nếu có k /∈ J(x0), ∆k > 0 thì x0 chưa phải phương án tối ưu Chuyển sangBước 2.
Bước 2 Kiểm tra dấu hiệu bài toán không có nghiệm tối ưu:
Với mỗi k /∈ J(x0) mà ∆k > 0, kiểm tra hệ số triển khai xjk: nếu có ∆k > 0
mà xjk ≤ 0, ∀j ∈ J(x0), thì kết luận bài toán không có nghiệm tối ưu Thuậttoán dừng
Nếu với mọi k /∈ J(x0) mà ∆k > 0 đều có ít nhất một j ∈ J (x0) mà xjk ≥ 0thì chuyển sang Bước 3
Bước 3 Chọn ẩn đưa vào cơ sở mới và xác định ẩn loại ra:
Ẩn xs được chọn đưa vào làm ẩn cơ sở (cột As được chọn đưa vào làm cộtcủa cơ sở mới) theo tiêu chuẩn sau: ∆s = max{k /∈ J(x0), ∆k > 0}
Ẩn xs được chọn đưa ra khỏi cơ sở (cột Ar được chọn đưa ra khỏi cơ sở cũ)theo quy tắc:
xrs
Phần tử xrs được gọi là phần tử trục (phần tử xoay) của phép biến đổi cơ sở.Chuyển sang Bước 4
Bước 4 Lập phương án cực biên mới: Xây dựng phương án cực biên mới, với
cơ sở mới J (x1) = J (x0)\{r} ∪ {s} Tính f (x1), ∆1k và x1k theo cơ sở mới J (x1).Quay về Bước 1
Trang 18Bảng đơn hình của bài toán chính tắc dạng:
Hệ số Cơ sở Phương án c1 c2 cjk cn λ
J C J x J A 1 A 2 A jk A n
cj1 Aj1 x 0
j1 xj11 xj12 0 xj1n λj1 .
1.2.2 Thuật toán đơn hình dạng tọa độ
Xét bài toán tối ưu tuyến tính dạng chính tắc không suy biến (L, C)
Trang 19Nhận xét 1.1 Nếu bảng đơn hình xuất phát là l-chuẩn thì chỉ có hai khảnăng có thể xảy ra:
• (L, C) không có phương án
• (L, C) có phương án tối ưu từ vựng
Ví dụ 1.1 Giải bài toán qui hoạch tuyến tính sau:
• Dạng bảng đơn hình
Thêm các biến phụ ta có bài toán trở thành
min(f (x)) = x1+ 2x2 + 0x3 + 0x4+ M x5 (x5 là biến giả)
Trang 20• Dạng tọa độ của phương pháp đơn hình
Thêm các biến bù, bài toán được viết lại thành
Trang 21Ta có các bảng đơn hình như sau:
Ý tưởng của thuật toán: Xuất phát từ một cơ sở mà bảng đơn hình tươngứng là l-chuẩn, nếu bảng đơn hình chưa là chấp nhận được thì ta tiến hànhdịch chuyển sang cơ sở mới mà bảng đơn hình ứng với cơ sở mới cũng là l-chuẩncho đế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
Thuật toán: Giả sử tồn tại cơ sở Br sao cho bảng đơn hình Tr ứng với Br
là l-chuẩn Áp dụng thuật toán đơn hình dạng tọa độ
Trang 22Bước 1: Nếu Tr là chấp nhận được thì phương án cơ sở ứng với Br là phương
án tối ưu từ vựng Thuật toán kết thúc Ngược lại, ta chuyển sang bước 2.Bước 2: Nếu tồn tại i ∈ 1, n sao cho xi0 < 0, xij ≥ 0, ∀j ∈ N thì (L, C) không
có phương án (vì xi = xi0 +P
xij(−xj) < 0, j ∈ N ) Vậy (L, C) không cóphương án tối ưu từ vựng Thuật toán kết thúc Ngược lại:
1.2.3.2 Bảng đơn hình xuất phát không là l-chuẩn
Ý tưởng: Bắt đầu từ một bảng đơn hình không là l-chuẩn, ta thêm vào mộtràng buộc giả tạo được bảng đơn hình mới Sau đó chuyển đổi bảng đơn hìnhnày thành l-chuẩn và từ đó áp dụng thuật toán đơn hình đối ngẫu từ vựng chocho bảng đơn hình Sử dụng kết quả của bài toán mới để đưa ra kết quả chobài toán ban đầu
Thuật toán: Giả sử ta xây dựng bảng đơn hình Tr ứng với bài toán (1.6) - (1.8)không phải là l-chuẩn, ứng với nó có các tập Br và Nr
Rl = lexmin{Rj | j ∈ N }
Thực hiện một bước biến đổi bảng đơn hình, ta nhận được bảng T0 là
Trang 23l-chuẩn (Rj ≥ 0, j ∈ N0) và ứng với nó ta có các tập B0 và N0
B0 = B ∪ {s}, N0 = N ∪ {n + 1}\{s}
Khi đó, ta nhận được bảng đơn hình mới là l-chuẩn
Định lý 1.3 Khi sử dụng thuật toán đơn hình đối ngẫu từ vựng thì các bảngđơn hình đều là l-chuẩn
Chứng minh Với cách chọn dòng và cột xoay như trong thuật toán đơn hìnhđối ngẫu thì nếu bảng đơn hình trước là l-chuẩn thì bảng đơn hình sau cũng
là l-chuẩn
Thật vậy, thực hiện phép biến đổi cơ bản của bảng đơn hình : đưa xk rakhỏi tập các biến cơ sở, đưa xk vào Ta xây dựng bảng tọa độ mới theo côngthức:
Mặt khác, bảng đơn hình xuất phát là l-chuẩn Vậy khi sử dụng thuật toánđơn hình đối ngẫu từ vựng thì các bảng đơn hình đều là l-chuẩn
Nhận xét 1.2 Nếu bảng đơn hình xuất phát là l-chuẩn thì chỉ có hai khảnăng có thể xảy ra:
Trang 24• (L, C) không có phương án.
• (L, C) có phương án tối ưu từ vựng
Nếu bảng đơn hình xuất phát không là l-chuẩn thì có các khả năng có thểxảy ra khi tiến hành thuật toán:
• (L, C) không có phương án
• (L, C) có phương án nhưng không có phương án tối ưu
• (L, C) có tập các phương án tối ưu không bị chặn
• (L, C) có phương án tối ưu từ vựng
Ví dụ 1.2 Giải bài toán sau bằng phương pháp đơn hình đối ngẫu
max x0 = 3x1 − x2+ 2x3
2x1+ 4x2 − x3 ≤ 103x1+ x2+ x3 ≥ 4
x1− x2+ x3+ x6 = 2
− x1+ x2− x3 + x7 = −2
xj ≥ 0, j = 1, 7
Ta có các bảng đơn hình sau khi thêm ràng buộc phụ Vì bảng đơn hình không
là l-chuẩn, nên đưa vào biến mới x8 = 100 − x1− x2− x3, ghi vào cuối Bảng 1
Trang 27Chương 2 THUẬT TOÁN GOMORY GIẢI BÀI TOÁN QUY
HOẠCH NGUYÊN TUYẾN TÍNH
2.1 Cơ sở lí thuyết về thuật toán lát cắt
1 R ≡ V (LN) là một đa diện nguyên (các đỉnh đều là nguyên)
2
3 Tập R∗ các phương án tựa của đa diện R chứa trong RN:
Chứng minh 1 Chứng minh R là một đa diện nguyên:
Vì L là một đa diện lồi nên LN là tập hữu hạn ⇒ R ≡ V (LN) là tổ hợp lồituyến tính của một tập hữu hạn Vì vậy, R là một đâ diện, đồng thời
(tức là R là đa diện nguyên)
Trang 28Hệ quả 2.1 Giả sử X(R, C) là phương án tối ưu của bài toán (R, C) Khi
đó X(R, C) cũng là phương án tối ưu của bài toán (LN, C) Vì vậy để giải bàitoán quy hoạch tuyến tính nguyên (LN, C) ta giải bài toán (R, C)
Người ta đã chứng minh: R = V (LN) là đa diện nguyên duy nhất mà tậpcác điểm nguyên của nó trùng với LN
Trang 29Định lý 2.2 Giả sử L là một đa diện lồi, U là một đa diện lồi nguyên và
Bài toán (L N , C) Bài toán (L, C) Bài toán R ≡ V (L N , C)
max(x1+ x + 2) max(x1 + x + 2) max(x1+ x + 2)
2x1+ 11x2 ≤ 38 2x1+ 11x2 ≤ 38 x2 ≤ 3
x 1 + x 2 ≤ 7 x 1 + x 2 ≤ 7 x 1 + x 2 ≤ 5 4x1− 5x2 ≤ 5 4x1− 5x2 ≤ 5 x1− x2 ≤ 1
xj ≥ 0, xj nguyên xj ≥ 0 xj ≥ 0
2 điểm (2, 3), (3, 2) đoạn [133,83, (409,239)] đoạn [(2, 3), (3, 2)]
Trang 30Hình 2.2
Từ Hệ quả 2.1 chỉ ra khả năng xấp xỉ đúng bài toán (LN, C) bằng bài toánquy hoạch tuyến tính (R, C), xác định R = V (LN) Do đó xuất hiện vấn đề:cho một đa diện lồi L, tìm bao lồi V (LN) các điểm nguyên của nó?
Khi xây dựng V (LN) ta đã không sử dụng thông tin về hàm mục tiêu CXcủa bài toán quy hoạch tuyến tính nguyên Vậy nên tìm một bài toán quyhoạch tuyến tính (R, C) theo bài toán (LN, C) sao cho thỏa mãn 3 điều kiện:
1 các giá trị tối ưu trùng nhau
Trang 312.1.2 Khái niệm lát cắt
Giả sử bài toán (LN, C) là bài toán quy hoạch nguyên nào đó và phương ántựa tối ưu của bài toán quy hoạch tuyến tính tương ứng X(L, C) không thoảmãn điều kiện nguyên, tức là X(L, C) /∈ LN Khi đó bất đẳng thức:
X
j
gọi là lát cắt đúng nếu thỏa mãn 2 điều kiện:
Điều kiện cắt: X(L, C) không thỏa mãn (2.14), tức là aX(L, C) > β
Điều kiện đúng: Nếu X là phương án của (LN, C) thì X thỏa mãn (2.14), tức
Trang 32Mệnh đề 2.2 Giả sử tập các điểm nguyên của tập đa diện là tập C = {x ∈
Z+n : Ax ≤ b} với A = {aij} ∈ Rm×n, u ∈ Rm Khi đó ta có ràng buộc
n
X
j=1
(aj − [aj]) xj ≥ β − [β]
Trang 34x2 ≤
263
⇒ x1+ x2 ≤ 8
Hình 2.4
2.1.3 Tư tưởng phương pháp cắt
Việc giải (LN, C) là một quá trình gồm nhiều bước:
1 Ở bước thứ r giải bài toán quy hoạch tuyến tính phụ
3 Nếu X(Lr, C) không thỏa mãn điều kiện nguyên thì X(Lr, C) không phải
là phương án của bài toán (Lr+1, C) tức là X(Lr, C) /∈ Lr+1
Trang 35Chuyển từ bước r sang bước r + 1, tức là chuyển từ bài toán (Lr, C) sang(Lr+1, C) khi X(Lr, C) không nguyên được thực hiện nhờ một lát cắt đúng
arx ≤ βr Việc bổ sung lát cắt này vào ràng buộc của bài toán (Lr, C) sẽchuyển đa diện lồi Lr thành Lr+1
Như vậy, phương pháp cắt có hai việc: xấp xỉ tuyến tính nhiều bước đối vớibài toán (LN, C), chuyển từ bước này sang bước khác nhờ một lát cắt đúng.Trên cơ sở của tư tưởng đó, Gomory đã xây dựng một số thuật toán sau
2.2 Thuật toán Gomory
Thuật toán Gomory sẽ giải quyết ba vấn đề:
• Xây dựng lát cắt đúng
• Đảm bảo tính hữu hạn của quá trình giải
• Số lượng lát cắt đúng không được tăng mãi
2.2.1 Thuật toán Gomory thứ nhất
Xét bài toán qui hoạch tuyến tính nguyên hoàn toàn
x0i0 = x0i + X
j∈J (x 0 )
xijxj ≤ [βj], i = 1, , n (2.15)
Trang 36Ta có aj = [aj] + {aj}, khi đó (2.15) được viết lại dưới dạng:
xk = −{x0i0} + X
j∈J (x 0 )
{xij}xj ≥ 0 (2.17)Theo Mệnh đề 2.3 thì (2.17) xác định một lát cắt đúng
Nhận xét 2.1 Khi thêm vào các ràng buộc(2.17), miền phương án của bàitoán quy hoạch tuyến tính nguyên (LN, C) vẫn giữ nguyên vì (2.17) là hệ quảcủa các điều kiện ràng buộc của bài toán (LN, C)
Bước 1: Nếu xl có các tọa độ nguyên Dừng thuật toán
Bước 2: Nếu xl có ít nhất một tọa độ không nguyên cần chọn ra một biến
cơ sở có giá trị không nguyên để xây dựng ràng buộc bổ sung (lát cắt thứ k)
(Lk) : {x0i0} − X
j∈J (x 0 )
{xij}xj ≤ 0
Trang 37Bước 3: Giải bài toán thu được bằng phương pháp đơn hình để tìm raphương án tối ưu Đặt k = k + 1 và chuyển về Bước 1.
? Bước kết thúc: Dừng và cho kết quả
Ví dụ 2.3 Giải bài toán quy hoạch tuyến tính sau:
xj ≥ 0, j = 1, 2
xj nguyênGiải Thêm biến phụ, bài toán trở thành
xj ≥ 0, j = 1, 2, 3, 4
xj nguyênLập bảng đơn hình: