Phương pháp đơn hình giải bài toán tối ưu đa mục tiêu tuyến tính.. Thuật toán đơn hình chứa tham số của bài toán tối ưu hai mục tiêu tuyến tính... Tóm lại, mụcđích của bài toán quy hoạch
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
Trang 3ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
LUẬN VĂN THẠC SĨ KHOA HỌC
Người hướng dẫn khoa học: PGS TS Tạ Duy Phượng
Hà Nội - 2016
Trang 5LỜI CẢM ƠN
Trước khi trình bày nội dung 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ắc tới PGS TS Tạ Duy Phượng, người đã tận tình hướng dẫn, chỉ bảo tôihoàn thành luận văn này
Tôi cũng xin bày tỏ lòng biết ơn chân thành tới toàn thể các thầy giáo, cô giáo côngtác tại trường Đại học Khoa học Tự nhiên - Đại học Quốc gia Hà Nội, đã truyền đạtkiến thức cho tôi trong suốt quá trình học tập tại trường
Cuối cùng, tôi xin gửi lời cảm ơn tới các bạn đồng nghiệp và gia đình đã tạo mọiđiều kiện thuận lợi nhất để tôi hoàn thành luận văn này
Xin chân thành cảm ơn!
Hà Nội, ngày 04 tháng 12 năm 2016
Học viên
Hồ Thị Thu Thủy
Trang 6Mục lục
Lời mở đầu 5
Chương 1 Kiến thức chuẩn bị 7
1.1 Một số kết quả của giải tích lồi 7
1.1.1 Tập lồi 7
1.1.2 Tập lồi đa diện 10
1.2 Bài toán quy hoạch tuyến tính 13
1.2.1 Bài toán quy hoạch tuyến tính 13
1.2.2 Phương pháp đơn hình giải bài toán QHTT 16
Chương 2 Bài toán tối ưu đa mục tiêu tuyến tính 23
2.1 Khái niệm và định nghĩa 23
2.2 Phương pháp đơn hình giải bài toán tối ưu đa mục tiêu tuyến tính 28 2.2.1 Kiểm tra tính hữu hiệu của cơ sở hiện tại 28
2.2.2 Di chuyển của các đỉnh kề 32
Chương 3 Phương pháp đơn hình giải bài toán tối ưu đa mục tiêu tuyến tính 35
3.1 Bảng đơn hình đa mục tiêu 36
3.1.1 Tìm nghiệm hữu hiệu cơ sở 37
3.1.2 Chuyển từ một đỉnh hữu hiệu sang các đỉnh kề hữu hiệu 40
3.1.3 Tạo ra tất cả các đỉnh nghiệm hữu hiệu 42
3.1.4 Thuật toán đơn hình đối với bài toán đa mục tiêu 45
3.2 Phương pháp trọng số giải bài toán tối ưu đa mục tiêu tuyến tính 50 3.2.1 Thuật toán trọng số giải bài toán tối ưu đa mục tiêu tuyến tính 50
3.2.2 Thuật toán đơn hình chứa tham số của bài toán tối ưu hai mục tiêu tuyến tính 52
Trang 73.2.3 Thuật toán 54
Kết luận 57 Tài liệu tham khảo 58
Trang 8LỜI MỞ ĐẦU
Trong mọi lĩnh vực của cuộc sống, ta luôn quan tâm tới bài toán tìm ra phương
án tốt nhất để đạt mục tiêu mong muốn trong những điều kiện ràng buộc nhất định.Các phương pháp tối ưu là công cụ đắc lực giúp người làm quyết định có những giảipháp tốt nhất về định lượng và định tính Trong những năm gần đây, các phươngpháp tối ưu hóa ngày càng được áp dụng sâu rộng và hiệu quả vào kinh tế, kỹ thuật,công nghệ thông tin và các ngành khoa học khác
Một trong những lớp bài toán tối ưu đầu tiên được nghiên cứu trọn vẹn cả về
lý thuyết lẫn thuật toán là bài toán quy hoạch tuyến tính (QHTT) Quy hoạch tuyếntính ngay từ khi ra đời (vào cuối năm 30 - 40 của thế kỷ XX) đã chiếm vị trí quantrọng trong tối ưu hoá Mô hình tuyến tính là mô hình rất phổ biến trong thực tế,đồng thời phụ phuộc tuyến tính là sự phụ thuộc đơn giản và dễ nghiên cứu về mặttoán học Hơn nữa, về mặt lý thuyết, chúng ta có thể xấp xỉ với độ chính xác caocủa bài toán phi tuyến bởi dãy các bài toán quy hoạch tuyến tính Nói cách khác,các thuật toán giải QHTT là công cụ quan trọng trong việc nghiên cứu giải các bàitoán phức tạp hơn
Bài toán quy hoạch đa mục tiêu cũng đã được phát triển thành một chuyên ngànhtoán học, bắt đầu từ những năm 1980 Nhằm giải đáp những câu hỏi đặt ra mà quyhoạch tuyến tính không giải được, chẳng hạn như trong một công ty ngoài mục tiêunâng cao chất lượng sản phẩm thì công ty cũng chú trọng tới các mục tiêu khác như
đa dạng hoá sản phẩm, già thành rẻ, doanh thu lớn, Khách hàng khi chọn muahàng thì muốn hàng rẻ, vừa có chất lượng cao, vừa có hình thức đẹp Tóm lại, mụcđích của bài toán quy hoạch tuyến tính đa mục tiêu là tối ưu đồng thời nhiều hàmmục tiêu độc lập với nhau trên một miền chấp nhận được Trong quy hoạch đa mụctiêu, ta phải có khái niệm nghiệm tương ứng Một phương án chấp nhận, được gọi
là nghiệm hữu hiệu nếu không tồn tại một phương án chấp nhận được khác tốt hơn
nó, ít nhất là theo một mục tiêu, còn các mục tiêu khác không tồi hơn
Đầu thế kỷ XX, Pareto đã sử dụng khái niệm này khi ông nghiên cứu phúc lợi vàthu nhập của dân chúng Ông đã lập luận như sau: "Nếu thu nhập của một nhóm dân
cư tăng lên, nhưng thu nhập của một nhóm khác giảm xuống thì khi đó không thể
so sánh "phúc lợi" của toàn xã hội Đó là trường hợp không so sánh được Nhưng cóthể thấy rằng, phúc lợi xã hội sẽ tăng lên nếu thu nhập của ít nhất một nhóm ngườinào đó lớn lên, còn thu nhập của những nhóm khác không thấp xuống" Khái niệmnghiệm hữu hiệu do Pareto nêu ra đã được trình bày dưới ngôn ngữ toán học và sử
Trang 9dụng trong quy hoạch đa mục tiêu.
Khi k (k ≥ 2) , các hàm mục tiêu đều là hàm tuyến tính và miền ràng buộc làtập lồi đa diện khác rỗng trong Rk, ta nhận được bài toán quy hoạch tuyến tính đamục tiêu Cho tới nay, có rất nhiều thuật toán đưa ra để xác định một phần hoặctoàn bộ tập nghiệm hữu hiệu của bài toán, chẳng hạn: phương pháp vô hướng hoá,phương pháp tham số, phương pháp đơn hình đa mục tiêu và các dạng cải biên,phương pháp nón pháp tuyến, Tuy nhiên, khối lượng tính toán của các thuật toánnày tăng nhanh khi kích thước của bài toán quy hoạch tuyến tính đa mục tiêu (tức
số ràng buộc của miền chấp nhận, số chiều của không gian quyết định và số hàmmục tiêu) tăng
Trong những năm gần đây nhiều nhà toán học đó chuyển sang nghiên cứu giảiquyết bài toán quy hoạch tuyến tính đa mục tiêu Luận văn này chủ yếu trình bàyphương pháp đơn hình giải bài toán quy hoạch tuyến tính đa mục tiêu trong khônggian Rk, dựa trên giáo trình "Multiobjective Linear Programming: An Introduction"
của GS Đinh Thế Lục, Springer International Publishing Switzerland (2016); và
bài giảng "Multiobjective Linear Programming Theory" của Matthias Ehrgott, The
University of Auckland, New Zealand (2007)
Nội dung chính của luận văn là trình bày các phương pháp đơn hình để giải bàitoán quy hoạch tuyến tính, một trong những phương pháp phổ biến nhất trong toánhọc tính toán Ngoài phần Mục lục, Mở đầu và Tài liệu trích dẫn nội dung chính củaluận văn gồm ba chương
• Chương 1 dành cho việc giới thiệu một số khái niệm cơ bản về giải tích lồi,trình bày bài toán quy hoạch tuyến tính (QHTT) và phương pháp đơn hìnhgiải bài toán quy hoạch tuyến tính một mục tiêu
• Chương 2 trình bày bài toán tối ưu đa mục tiêu tuyến tính
• Chương 3 trình bày phương pháp đơn hình và thuật toán giải bài toán tối ưu
đa mục tiêu tuyến tính; phương pháp trọng số giải bài toán tối ưu đa mụctiêu tuyến tính và thuật toán đơn hình chứa tham số của bài toán tối ưu tuyếntính hai mục tiêu
Hà Nội, ngày 24 tháng 12 năm 2016
Học viên
Hồ Thị Thu Thủy
Trang 10Chương 1
Kiến thức chuẩn bị
Chương này trình bày một số kiến thức cơ bản về giải tích lồi, giới thiệu về bàitoán quy hoạch tuyến tính một mục tiêu Các kiến thức được tham khảo từ các tàiliệu [1], [2] và [4]
1.1.1 Tập lồi
Trong suốt luận văn này, Rnbiểu thị không gian Euclide n-chiều của cột n -véctơthực Một phần tử x = (x1, , xn)T ∈ Rn
là một véctơ cột của Rn.Cho hai điểm a = (a1, , an)T và b = (b1, , bn)T ∈ Rn Đường thẳng đi qua haiđiểm a và b là tập có dạng {x ∈ Rn : x = λ a + (1 − λ )b, λ ∈ R}
Tập [a, b] := {x ∈ Rn : x = λ a + (1 − λ )b, λ ∈ [0, 1]} gọi là đoạn thẳng nối haiđiểm a và b
Trong Rn siêu phẳng H = {x : ha, xi = α} với a ∈ Rn\ {0} và α ∈ R chia Rn thànhhai nửa không gian đóng
H−= {x : ha, xi 5 α} , H+= {x : ha, xi = α} ,mỗi nửa không gian này ở về một phía của siêu phẳng và phần chung của chúngchính là siêu phẳng H Tương tự, siêu phẳng H cũng chia Rn thành hai nửa khônggian mở
{x : ha, xi < α} , {x : ha, xi > α}
Trang 11• Tập Q được gọi là tập lồi (convex set) nếu nó chứa trọn đoạn thẳng nối hai
điểm bất kỳ thuộc Q, tức là với mọi x, y ∈ Q và mỗi số thực λ ∈ [0, 1], thì ta có
được gọi là một tổ hợp lồi của hệ véctơ {x1, , xk}
• Cho Q ⊂ Rn là một tập bất kỳ Bao lồi (convex hull) của Q, ký hiệu là conv (Q) (Hình 1.2), là giao của tất cả các tập lồi chứa Q Rõ ràng bao lồi của Q là tập lồi nhỏ nhất chứa Q.
Một tập Q là lồi khi và chỉ khi nó chứa mọi tổ hợp lồi hữu hạn các điểm của
Trang 12Hình 1.2: Bao lồi của Q.
Định nghĩa 1.1.3 Giả sử Q ⊆ Rn là một tập hợp khác rỗng.
• Tập Q được gọi là một nón (cone) nếu với mọi x ∈ Q và mọi λ ≥ 0 ta có
λ x ∈ Q (Hình 1.3).
• Một nón Q được gọi là nón lồi nếu Q đồng thời là một tập lồi.
Hình 1.3: Nón lồi Nón không lồi
• Bao nón (conic hull) của một tập Q, ký hiệu là cone(Q) là
Trang 13• Cho một tập con lồi khác rỗng Q ⊆ Rn, điểm x ∈ Q được gọi là điểm trong
tương đối (relative interior point) của Q, nếu
ri (Q):= {x ∈ Q : (x + εBn) ∩ aff (Q) ⊆ Q, ∃ε > 0}
• Phần trong tương đối của tập Q, ký hiệu riQ, là tập chứa tất cả các điểm
trong tương đối của Q.
1.1.2 Tập lồi đa diện
Định nghĩa 1.1.5.
• Một tập được gọi là tập lồi đa diện (convex polyhedron set), nếu nó là giao
của một số hữu hạn các nửa không gian đóng.
• Một tập lồi đa diện bị chặn được gọi là đa diện lồi hay gọi tắt là đa diện
(polytope).
• Theo định nghĩa của nửa không gian đóng, một tập lồi đa diện là tập nghiệm
của hệ hữu hạn của bất phương trình
i, x 5 bi, i = 1, , k, (1.1.1)
trong đó a1, , ak là véctơ cột n-chiều và b1, , bk là các số thực.
Khi bi = 0, i = 1, , k, tập nghiệm của (1.1.1) là một nón và gọi là một
nón lồi đa diện (convex polyhedral cone).
• Tập khác rỗng H ∩ P được gọi là một diện (hay mặt) của P Một tập con khác
rỗng F của P là một mặt nếu có một véctơ khác không v ∈ Rn mà
hv, yi ≤ hv, xi với mọi x ∈ F, y ∈ P.
Trang 14Hình 1.4: Siêu phẳng tựa
Theo quy ước P cũng là một mặt của chính nó và được gọi là mặt chính thường.
Định nghĩa 1.1.7.
• Một điểm x ∈ Q được gọi là điểm cực biên (hay là đỉnh) của Q, nếu không
tồn tại a, b ∈ Q, a 6= b, λ ∈ (0, 1) sao cho x = λ a + (1 − λ ) b.
• Mặt có chiều bằng 1 được gọi là cạnh biên Hai đỉnh kề nhau nếu chúng là
điểm cuối của cạnh biên.
• Một cạnh vô hạn được gọi là một tia cực biên (hay là một diện nửa đường
thẳng) Phương của tia cực biên được gọi là phương cực biên (extreme rections).
di-Nhận xét 1.1.1 Đỉnh của tập lồi đa diện P là một diện có thứ nguyên bằng 0 Số
điểm cực biên của một tập lồi có thể hữu hạn hoặc vô hạn Khi tập lồi có hữu hạn điểm cực biên thì chúng thường được gọi là các đỉnh Nếu P là một đa diện lồi thì tập các phương cực biên bằng rỗng.
Định nghĩa 1.1.8.
• Cho Q là một tập lồi khác rỗng trong Rn Một véctơ v 6= 0 được gọi là một
tiệm cận (asymptotic) hoặc hướng lùi xa (recession direction) của Q, nếu mọi tia xuất phát từ một điểm bất kỳ của Q theo phương v đều nằm trọn trong Q, tức là v là phương lùi xa khi và chỉ khi
x+ tv ∈ Q với mọi x ∈ Q,t = 0
• Tập tất cả các phương tiệm cận (asymptotic direction) của Q cùng với điểm
gốc được gọi là nón tiệm cận (asymptotic cone) của Q, ký hiệu là Q∞ (Hình 1.6).
Trang 15Hình 1.5: Nón tiệm cận
Nón tiệm cận là một nón lồi Hiển nhiện nếu Q là một tập bị chặn, thì nón tiệmcận của Q chỉ gồm duy nhất điểm gốc
Định nghĩa 1.1.9.
• Cho tập lồi đa diện P xác định bởi hệ bất phương trình (1.1.1) và điểm x của
P Ta nói rằng véctơ v là véctơ pháp tuyến (normal vector) của p tại x nếu
hv, y − xi 5 0 với mọi y ∈ P.
• Tập tất cả các vectơ pháp tuyến của P tại x tạo thành nón lồi, được gọi nón
pháp tuyến (normal cone) của P tại x và ký hiệu NP(x) Khi x là điểm trong của P, nón pháp tuyến tại điểm đó là không
Hình 1.6: Nón pháp tuyến
Trang 161.2 Bài toán quy hoạch tuyến tính
1.2.1 Bài toán quy hoạch tuyến tính
Bài toán quy hoạch tuyến tính (QHTT) (Linear Programming) có thể được phátbiểu dưới dạng:
Tìm cực đại hc, xivới điều kiện
Ax= b,
trong đó A = (ai j)m×n được gọi là ma trận hệ số ràng buộc, b ∈ Rm hay b =(b1, , bm)T được gọi là véc tơ vế phải và điểm x ∈ Rn hay x = (x1, , xn)T đượcgọi là các biến cần tối ưu
Hàm tuyến tính x 7→ hc, xi là hàm mục tiêu hay hàm giá (cost function).
• Bài toán (LP) được cho bởi ràng buộc (1.2.2) được gọi là chuẩn tắc (standard
form) Nó được gọi là chính tắc (canonical form) khi ràng buộc (1.2.2) thay
k× (n − k)-ma trận N, được gọi là phần phi cơ sở (non-basis part) của A
Trang 17• Giả sử x là một véctơ với thành phần xB và xN, trong đó xB là một véctơk-chiều và xN là một véctơ (n − k)-chiều thoả mãn
BxB= b,
xN = 0
• Nếu xB là một véctơ dương, khi đó x là một nghiệm của (1.2.2) và được gọi
là một nghiệm cơ sở chấp nhận được (feasible basic solution) (gắn với cơ sởB) Nếu ngoài xBkhông có thành phần bằng không, thì nó được gọi là khôngsuy biến (non-degenerate); nếu ngược lại thì gọi là suy biến (degenerate)
• Cho B là cơ sở chấp nhận được, ta gọi nó là cơ sở tối ưu (optimal basic) nếu
nghiệm cơ sở tương ứng là nghiệm tối ưu của bài toán (LP) Ta sẽ phân rãvéctơ giá c thành véctơ cơ sở cB và véctơ phi cơ sở cN
Cho X khác rỗng Bốn điều kiện sau là tương đương.
(i) (LP) có nghiệm tối ưu.
(ii) (LP) có nghiệm tối ưu đạt tại đỉnh.
(iii) Hàm giá là không dương trên mỗi phương tiệm cận của X
(iv) Hàm giá là bị chặn trên trên X
Chứng minh.(i) ⇒ (iv) Hiển nhiên
(iv) ⇒ (iii) Giả sử α là cận trên của hàm giá trên X và giả sử u là phương tiệm cậnkhông bằng 0 của X nếu nó tồn tại Vì X 6=6 0, nên có thể chọn điểm x bất kỳ Do u
là phương tiệm cận nên với mỗi số dương t, điểm x + tu thuộc X Do đó
hc, x + tui = hc, xi + t hc, ui 5 α
Bất đẳng thức này đúng với mọi dương t, suy ra hc, ui 5 0
(iii) ⇒ (ii) Giả sử v1, , vp là tập các đỉnh và giả sử u1, , uq là tập hợp cáctia cực biên của đa diện X Chú ý răng, tập hợp các tia cực biên có thể là rỗng Chọnđỉnh vi0 sao cho
i0 1 , , hc, vpi
Trang 18Giả sử x là điểm bất kỳ trong X Theo Định lý 2.4.9 [4], có các số không âm ti và sj
Định lý 1.2.2 (Định lý 3.1.4 [4] trang 52-53)
Giả sử B là cơ sở chấp nhận được và x nghiệm cơ sở chấp nhận được tương ứng với¯
B Khi đó ta có các khẳng định sau
(i) Nếu véctơ giá rút gọnc¯N là âm, thì B là tối ưu.
(ii) Khi B là không suy biến, nó là tối ưu nếu và chỉ nếu véctơ giá rút gọn c¯N là âm.
Chứng minh.Bằng cách đổi biến thích hợp, ta có ma trận A là được phân rã thành
, tập chỉ số cơ sở là {1, , m} và tập chỉ số phi cơ sở là {m + 1, , n} (i) Giả sử x là nghiệm chấp nhận được bất kỳ của bài toán Khi đó x là nghiệm của
hệ Ax = b, cơ sở xB của x tương ứng với cột cơ sở của B là các tọa độ phi cơ sở của
nó qua
xB= B−1b− B−1NxN = ¯xB− B−1NxN (1.2.3)Giá trị của hàm giá tại x là
Trang 19Vì ˆxN là dương, theo (1.2.3), ˆxlà tối ưu, tức là
1.2.2 Phương pháp đơn hình giải bài toán QHTT
Ý tưởng của thuật toán đơn hình mô tả như sau: Giả thiết rằng B0 là cơ sở chấpnhận được
Bước 1 Xuất phát từ một đỉnh chấp nhận được x0 của miền ràng buộc, ta có các tọa
độ là x0B= (B0)−1bvà xN0 = 0 Bước 2 Đặt k := k + 1 Giả sử Bk là cơ sở chấp nhậnđược hiện tại và tương ứng với đỉnh cơ sở xk với hai tọa độ xkBvà xkN Tính
¯b = B−1
k b,
¯
cN= cN− B−1k NTcB
Bước 3 Nếu ¯cN 5 0, thì dừng lại Đỉnh hiện tại xk là tối ưu
Ngược lại đến Bước 4
Bước 4 Giả sử s là chỉ số mà ¯cs> 0 Chọn cột ascủa ma trận A và tính ¯as= B−1k as.Nếu véctơ này là âm, thì dừng lại Bài toán là có giá trị bằng +∞
Ngược lại tìm chỉ số l sao cho
Bước 5 Lập một cơ sở chấp nhận được mới Bk+1 từ Bk bằng cách gạch đi cột al
và thay vào cột as Đỉnh tương ứng với xk+1 nhận được từ xk bằng cách đặt biến
xs= ˆxs> 0 và biến xl = 0
Bước 6 Tính ma trận nghịch đảo B−1k+1 của cơ sở mới Bk+1 và quay về Bước 2