Ở đó có các ví dụ minh họa rõ hơn.Chương 3 tập trung vào một số bài toán có cấu trúc phân rã trong QHPT,trong đó với trường hợp ràng buộc phức tạp được xem xét qua các ví dụ sửdụng phươn
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA TOÁN - CƠ - TIN HỌC
Phan Ngọc Tú
BÀI TOÁN QUY HOẠCH PHI TUYẾN VỚI KỸ THUẬT PHÂN RÃ VÀ ỨNG DỤNG
LUẬN VĂN THẠC SỸChuyên ngành: Toán giải tích
Mã số: 60.46.01.02
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS NGUYỄN HỮU ĐIỂN
Trang 2DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
QHTT Quy hoạch tuyến tính
QHPT Quy hoạch phi tuyến
Rn Không gian thực n chiều
∇f(x) Gradient của hàm f tại điểm x
∇2f(x) Ma trận Hessian của hàm f tại điểm x
k.k Chuẩn Euclid
∂ f(x)
x Đạo hàm riêng của hàm f theo biến x
Trang 3Mục lục
1.1 Một số kiến thức về bài toán tối ưu 1
1.2 Bài toán đối ngẫu 4
2 Phân rã trong quy hoạch tuyến tính 12 2.1 Những ràng buộc phức tạp 12
2.1.1 Cấu trúc bài toán 13
2.1.2 Sự phân rã 16
2.1.3 Thuật toán phân rã Dantzig-Wolfe 21
2.2 Những biến phức tạp 30
2.2.1 Cấu trúc bài toán 30
2.2.2 Thuật toán phân rã Benders 31
Trang 43.1.2 Thuật toán 50
3.1.3 Đối ngẫu bất khả thi 51
3.1.4 Cập nhật hệ số 52
3.2 Phân rã Lagrange gia tăng 54
3.2.1 Sự phân rã 54
3.2.2 Thuật toán 56
3.2.3 Tính tách được 57
3.2.4 Cập nhật hệ số 57
3.2.5 Cập nhật tham số phạt 57
Trang 5Lời nói đầu
Tối ưu hóa là một môn toán học ứng dụng đang được nghiên cứu, giảng dạy
và học tập ở nhiều trường Đại học - Cao đẳng, góp phần quan trọng trongviệc ứng dụng khoa học công nghệ vào cuộc sống và sản xuất
Ngày nay, Quy hoạch tuyến tính (QHTT) vẫn là một phần quan trọng vàđược phát triển hoàn thiện nhất trong lý thuyết tối ưu hóa Phần ít được đềcập hơn là tối ưu phi tuyến, còn gọi là quy hoạch phi tuyến (QHPT) Ở cả haiphần này, một số bài toán thực tế trong cuộc sống ta hay gặp các bài toán cókích thước lớn, do đó việc xử lý chúng như thông thường là điều không thể
Vì vậy việc thiết kế những thuật toán theo hướng giải quyết các bài toán lớn
là một trong những vấn đề vẫn đang được quan tâm xử lý hiện nay
Trong luận văn xem xét chú ý đến những trường hợp riêng của các bàitoán tối ưu hóa, những bài toán có cấu trúc phân rã có thể khai thác thuậnlợi Các bài toán phân rã tối ưu hóa là những bài toán phổ biến trong kỹ thuật
và khoa học ứng dụng Luận văn đề cập đến các bài toán QHTT và QHPTvới các trường hợp ràng buộc phức tạp và biến phức tạp Các kỹ thuật phân
rã bao gồm Dantzig - Wolfe, Benders, phương pháp giảm dư Lagrange vànhững kỹ thuật khác
Bố cục của luận văn bao gồm ba chương
Chương 1 trình bày một số khái niệm cơ bản về tối ưu hóa, định lý Karush
Trang 6trong đó thuật toán phân rã Dantzig - Wolfe được đề cập đến trong trườnghợp ràng buộc phức tạp và thuật toán Benders trong trường hợp biến phứctạp Ở đó có các ví dụ minh họa rõ hơn.
Chương 3 tập trung vào một số bài toán có cấu trúc phân rã trong QHPT,trong đó với trường hợp ràng buộc phức tạp được xem xét qua các ví dụ sửdụng phương pháp giảm dư Lagrange và phương pháp Lagrange gia tăng.Trong luận văn chắc chắn không thể tránh khỏi những hạn chế và sai sót,tôi mong nhận được sự góp ý và những ý kiến đóng góp của Thầy Cô và bạnđọc Qua đây em xin bày tỏ lòng biết ơn chân thành và sâu sắc tới PGS.TSNguyễn Hữu Điển, người đã giúp đỡ em trong quá trình thực hiện luận văn
Hà Nội, tháng 09 năm 2014
Học viên
Phan Ngọc Tú
Trang 7Chương 1
Các kiến thức cơ bản
1.1 Một số kiến thức về bài toán tối ưu
Trong không gian vectơ Rn , cho D⊆Rnlà một tập khác rỗng và hàm số thực
f : D→R tùy ý Bài toán tối ưu có dạng
là bài toán tìm vectơ (điểm) x∗∈D sao cho f(x∗) ≤ f(x) với mọi x∈D
Trường hợp D = Rn ta có bài toán tối ưu không ràng buộc
min{f(x) : x∈Rn}hay min
0 gọi là các ràng buộc đẳng thức Bài toán (P) với f (x) không tuyến tính hoặc
tập D cho bởi (1.1) trong đó có ít nhất một trong các hàm g i , h j là phi tuyến
Trang 8Định nghĩa 1.1 (Hàm nửa liên tục)
+ Hàm f : D→R gọi là hàm nửa liên tục dưới tại điểm x∈D nếu với mỗi ε>0
có một δ>0 sao cho f(x) −ε6 f(x) với mọi x thuộc D, kx−xk <δ Hàm f gọi
là nửa liên tục dưới trên D nếu f liên tục dưới tại mọi điểm x∈D.
Định nghĩa trên tương đương với lim x∈D,x→x f(x) > f(x)
+ Hàm f : D→Rgọi là hàm nửa liên tục dưới tại điểm x∈D nếu với mỗi ǫ>0
có một δ>0 sao cho f(x) 6 f(x) +ε với mọi x thuộc D, kx−xk <δ Hàm f gọi
là nửa liên tục trên trên D nếu f liên tục trên tại mọi điểm x∈D.
Định lí 1.1 Một hàm f(x) nửa liên tục dưới trên một tập compact D khác rỗng phải
đạt cực tiểu trên D Tương tự, một hàm f(x) nửa liên tục trên trên một tập compact
D khác rỗng phải đạt cực đại trên D.
Định lí 1.2 a) Một hàm f : D →R nửa liên tục dưới trên một tập đóng D khác rỗng mà bức (coercive) trên D, nghĩa là f(x) → +∞ khi x∈ D,kxk → +∞, thì f phải có cực tiểu trên D.
b) Một hàm f : D→R nửa liên tục trên trên một tập đóng D khác rỗng mà - f bức trên D, nghĩa là f(x) → −∞khi x∈D,kxk → +∞, thì f phải có cực đại trên D.
Định lí 1.3 (Định lý Karush - Kuhn - Tucker).
Giả sử các hàm f, g i , h j(i =1, , m; j =1, , p) khả vi trên một tập mở chứa D,
x∗∈D là một điểm cực tiểu địa phương của bài toán ở trên và x∗ là điểm chính qui Khi đó, tồn tại vectơ λ∗= (λ1∗, , λ∗m)T , µ∗ = (µ∗1, , µ∗p)T thỏa mãn
Chứng minh Do x∗ là điểm cực tiểu địa phương nên theo điều kiện cần tối
ưu cấp 1 ta có <∇f(x∗), d >>0 với mọi d ∈T D(x∗) Do x∗ là điểm chính
qui (tức là T D(x∗) = S(x∗)) nên bất đẳng thức này đúng với mọi d ∈S(x∗),nghĩa là với mọi d ∈Rn nghiệm đúng hệ phương trình trên với x∗ thay cho
x0
Áp dụng bổ đề Farkas cho ma trận A với ma trận chuyển vị A T có các cột là
−∇g i(x∗), i∈I(x∗),∇h j(x∗),−∇h j(x∗) (j =1, , p)
Trang 9điều kiện (1.1) gọi là điều kiện dừng, bởi vì ∇x L(x, λ, µ) = 0; (1.2) là điều kiện bù
và (1.3) là điều kiện chấp nhận được.
b) Trường hợp tập D có thêm ràng buộc x k>0 với k∈K ⊂ {1, , n}, tức là
Trang 10tại điểm cực tiểu địa phương x∗= (x∗1, x∗2)của (P).
Trong ví dụ này g(x) = x1 +x2 −2 Hàm Lagrange có dạng
Giải hệ trên ta được điểm KKT duy nhất là x∗ = (1, 1)T với λ∗ =1
Đó chính là nghiệm cực tiểu của bài toán trên (Chú ý (P) là bài toán lồi).b) Một ví dụ khác Kiểm tra điều kiện KKT đối với bài toán sau
#,∇g2(x∗) =
"
1
−1
#
Vì thế điều kiện KKT được thỏa mãn nếu đặt λ∗ = (34,14, 0, 0)T
1.2 Bài toán đối ngẫu
Những kết quả thu được cho bài toán quy hoạch tuyến tính được khái quátcho bài toán quy hoạch phi tuyến Xét bài toán gốc phi tuyến tổng quát
min
x f(x), với
g(x) 60
Trang 11trong đó f : R n→R, h : R n →Rl , g : R n→Rm.
Bài toán đối ngẫu đòi hỏi về hàm đối ngẫu được định nghĩa như sau
Φ(λ, µ) =inf
x { f(x) +λ T h(x) + µ T g(x)}
trong đó λ∗, µ∗ là những hệ số liên hợp với những ràng buộc (1) về nghiệm
tối ưu x∗ của bài toán trên
Bài toán đối ngẫu của bài toán gốc trên được định nghĩa như sau
x L(x, λ, µ)i
Định nghĩa 1.2 (Điều kiện đủ thứ hai) Giả sử f ,h.g∈C2 Những điều kiện sau
là đủ để điểm x∗thỏa mãn (1) trở thành cực tiểu tương đối ngặt của bài toán trên (a) Những ràng buộc ở định lý Karush - Kuhn - Tucker đáp ứng.
(b) Ma trận Hessian L(x∗) = F(x∗) +λ T H(x∗) +µ T G(x∗) là xác định dương trên không gian con
µ ≥0 mà điều kiện (1.1) và µ j >0 được đáp ứng và ma trận Hessian L(x∗) =
F(x∗) + λ T H(x∗) +µ T G(x∗) là xác định dương trên không gian tiếp xúc của những ràng buộc tại x∗.
Ví dụ 1.2 (Hàm đối ngẫu) Xét bài toán
min
x1,x2z= x21+x2, với
Trang 13Định nghĩa 1.4 (Dưới gradient và dưới vi phân).
Cho C là một tập lồi không âm trong R n và cho Φ : C→R là lồi Khi đó, α được gọi là một dưới gradient của Φ(λ) tại eλ∈C nếu
Định lí 1.4 (Đối ngẫu yếu) Đối với bất kỳ nghiệm khả thi x của bài toán gốc và
bất kỳ nghiệm khả thi λ,µ của bài toán đối ngẫu, ta luôn có
f(x) >φ(λ, µ)
Định nghĩa 1.5 (Độ lệch đối ngẫu) Hiệu số giữa
sup{Φ(λ, µ)|µ>0} −inf{f(x)|h(x) = 0, g(x) 60},
được gọi là độ lệch đối ngẫu của bài toán đối ngẫu và bài toán gốc.
Ví dụ 1.3 Xét bài toán sau đây
min
x1,x2−2x1+x2, với
x1 +x2 = 5, (x1, x2) ∈X.
Trang 14Hàm đối ngẫu của nó được cho bởi
Hình 1.1: Đồ thị minh họa độ lệch đối ngẫu trong ví dụ minh họa 1.3.
Bây giờ để hiểu được về sự phân rã trong bài toán tối ưu ta xét ví dụ sau
Ví dụ 1.4 (Tính toán lưu vực sông) Xét một lưu vực sông bao gồm hai hồ
chứa như minh họa trong hình vẽ Mỗi hồ chứa đã kết hợp một nhà máy thủyđiện sản xuất điện Các dòng vào tự nhiên tới hồ 1 và 2 trong suốt khoảng
Trang 15Hình 1.2: minh họa của ví dụ tính toán lưu vực sông.
thời gian t được định nghĩa tương ứng bằng w t1 và w t2 Dung lượng nướccủa hồ 1 và 2 tại thời điểm cuối của chu kỳ t được định nghĩa tương ứng bởi
r t1 và r t2 Nước xả ra trong suốt khoảng thời gian t bởi hồ 1 và 2 tương ứng là
d t1 và d t2 Các dung lượng được giới hạn trên và dưới tương ứng bởi những
hằng số rmax
1 , rmin1 , rmax2 , rmin2 Tương tự, thể tích nước xả được giới hạn trên
bởi dmax
1 , dmax2 Giả sử rằng nước tháo ra trong hồ 1 đến ngay lập tức hồ 2, đó
là giả định hợp lý nếu các hồ không quá xa nhau
Tổng số năng lượng sản xuất bởi nhà máy điện 1 và 2 trong suốt khoảngthời gian t là tỷ lệ thuận tương ứng với sự xả nước trong khoảng thời gian t
đó Hằng số tỷ lệ cho nhà máy 1 và 2 là k1 và k2
Hệ thống sông được vận hành để cung cấp cho nhu cầu điện năng của
địa phương trong mỗi khoảng thời gian, e t Nếu năng lượng bổ sung có thể
được sản xuất trong suốt thời gian t, nó được bán với giá thị trường λ t, vớimục tiêu tối đa hóa lợi nhuận
Xét một thời gian là 2h và giả sử rằng dung lượng hồ tại lúc bắt đầu của
tầng thời gian là r01 và r02, tương ứng cho hồ 1 và 2
Bài toán tối đa hóa lợi nhuận là
Trang 16Với những ràng buộc cân bằng nước
k1d11+k2d12>e1,
k1d21+k2d22>e2.Những giới hạn cấp độ hồ
rmin1 6r11, r216r1max; rmin2 6r12, r22 6rmax2
Trang 17Trong thực tế, số lượng thiết bị sản xuất có thể cao như 100, và việc xâydựng khía cạnh của bài toán chi phí sản xuất năng lượng tối thiểu, không córàng buộc tuyến tính bổ sung, yêu cầu 2100−1 ràng buộc, một con số có thểngăn chặn thậm chí viết ra bài toán Tuy nhiên, nghiệm của nó là tầm thườngbằng cách sử dụng quy tắc trật tự Tuy nhiên, nếu ràng buộc tuyến tính thêmđược bao gồm, kết quả bài toán sẽ trở nên không viết được và nan giải, trừkhi một kỹ thuật phân rã được sử dụng để giảm bớt những ràng buộc phứctạp Kỹ thuật phân rã được giải thích trong chương tiếp theo.
Trang 18Kỹ thuật phân rã cho phép loại nhất định của các bài toán được giải quyếtmột cách phân cấp hoặc phân phối Ngoài ra, chúng dẫn đến sự đơn giảnhóa thủ tục nghiệm của bài toán được nghiên cứu.
Đối với một kỹ thuật phân rã có ích , bài toán ở đây phải có cấu trúc thíchhợp Hai trường hợp như vậy xảy ra trong thực tế: các ràng buộc phức tạp
và cấu trúc biến phức tạp Hai trường hợp này được xem xét trong chươngnày Trong một bài toán quy hoạch tuyến tính, các ràng buộc phức tạp liênquan đến các biến từ các khối khác nhau rõ ràng, ràng buộc phức tạp cản trởmột nghiệm của bài toán bằng các khối
Trang 192.1.1 Cấu trúc bài toán
Xét bài toán quy hoạch tuyến tính
Trong đó những ràng buộc (2.2) có một cấu trúc phân rã trong r khối, mỗi
khối có kích cỡ là n k(k=1, , r), tức là chúng có thể được viết như sau
j (j =1, , n) được xem xét cho tất cả các
biến tối ưu x j(j =1, , n) Giả định này cho phép làm việc với một miềnkhả thi compact (hữu hạn), dẫn đến một phân tích lý thuyết đơn giản củabài toán (2.1) - (2.4) Giả định này là hợp lý bởi tính chất bị chặn của hầu hếtbiến kỹ thuật
Hình 2.1 cho thấy cấu trúc của bài toán nêu trên đối với trường hợp r = 3
Trang 20Cụ thể bài toán này có thể được viết như sau
Trong trường hợp tổng quát bài toán ban đầu có thể được viết như sau
Hình 2.1: ma trận phân rã với những ràng buộc phức tạp
Trang 21Nếu những ràng buộc phức tạp được bỏ qua, tức là chúng được giảm bớt
đi, bài toán gốc trở thành
Bài toán này được gọi là phiên bản rút gọn của bài toán
Do đó phân rã bài toán con thứ k là
Trang 23bản của bài toán giảm dư là
x(11), x2(1) x(n1)
x(1p), x(2p) x(n p),
trong đó x(s)
j là thành phần thứ j của nghiệm s, nơi mà tất cả các biến từ tất
cả các bài toán được xem xét, và p giá trị hàm mục tiêu tối ưu tương ứng là
Trang 24việc này bằng cách giải quyết các bài toán trọng lượng dưới đây, cái được gọi
Trong đó những biến đối ngẫu λ i và σ được chỉ định.
1 Mọi nghiệm của bài toán trên là sự kết hợp lồi của các nghiệm cơ bảnkhả thi của bài toán giảm dư; do đó, nó chính là một nghiệm cơ bản khả thicủa bài toán giảm dư
2 Ràng buộc phức tạp được thực thi; do đó, các nghiệm của bài toán trên
là một nghiệm cơ bản khả thi cho bài toán gốc (không giảm dư)
Hãy xem xét rằng một nghiệm cơ bản khả thi mới tiềm năng được thêmvào bài toán nêu trên Giá trị hàm mục tiêu của nghiệm này là z và những
giá trị ràng buộc phức tạp của nó là r1, , r m
Bài toán trọng lượng mới trở thành
Trang 25mới dự kiến, có thể được tính như
Lưu ý rằng các ràng buộc của bài toán giảm dư phải được thêm vào
Nếu hằng số σ được giảm từ hàm mục tiêu, bài toán trên trở thành
!
Trang 26Cần lưu ý rằng bài toán trên có cấu trúc tương tự như các bài toán giảm
dư nhưng với hàm mục tiêu khác nhau Do đó, nó có thể được giải quyếtbằng các khối Bài toán con liên quan đến khối k là
Từ những phân tích thực hiện, các kết luận sau đây có thể được rút ra
1 Để xác định có hay không một nghiệm cơ bản cho tính khả thi của bàitoán giảm dư nên được thêm vào các bài toán trọng lực, các bài toán liênquan đến bài toán giảm dư nên được giải quyết với những hàm mục tiêusửa đổi
2 Hàm mục tiêu sửa đổi của bài toán con thứ k là
Trang 27bài toán giảm dư được tính như sau
Tối thiểu giảm chi phí là sau đó
a) Nếu v0>σ0, các nghiệm cơ bản khả thi dự kiến không thể cải thiện cácnghiệm hiện tại của bài toán trọng vì chi phí giảm của nó là không âm
b) Ngược lại nếu v0 <σ0, các nghiệm cơ bản khả thi dự kiến nên được baogồm trong các bài toán trọng vì chi phí giảm của nó là tiêu cực và điều này
có thể được sử dụng để đạt được một nghiệm cơ bản khả thi có giá trị hàmmục tiêu nhỏ hơn so với hiện tại
Do tầm quan trọng của nó, ta dành một phần cho phương pháp phân hủyDantzig - Wolfe
2.1.3 Thuật toán phân rã Dantzig-Wolfe
Thuật toán phân rã Dantzig-Wolfe làm việc như dưới đây
Input Một bài toán quy hoạch tuyến tính với những ràng buộc phức tạp.
Trang 28nghiệm khác nhau của bài toán giảm dư bằng cách giải p(ν) lần một trong rbài toán con dưới đây (k=1, ,r)
phí tùy ý để đạt được p(ν) nghiệm ban đầu của bài toán r
Bước 1: Nghiệm bài toán chủ Giải bài toán chủ
Bước 2: Nghiệm bài toán giảm dư Tạo ra một nghiệm của bài toán giảm dư
bằng cách giải quyết các bài toán r (k = 1, ,r) dưới đây
Trang 29để thu được một nghiệm của bài toán giảm dư, tức là x(p(ν)+ 1 )
Bước 3: Kiểm tra sự hội tụ
Nếu v(ν) >σ(ν), nghiệm tối ưu của bài toán gốc đã đạt được Nó được tínhnhư sau
và kết luận thuật toán
Còn lại, nếu v(ν) <σ(ν), nghiệm hiện tại bài toán giảm dư có thể được sử
dụng để cải thiện nghiệm của bài toán chủ Cập nhật biến đếm lặp, ν←ν+1,
và số lượng các nghiệm có sẵn của bài toán giảm dư, p(ν+ 1 ) =p(ν)+1 Đi tớibước 1
Định lí 2.1 Định lý biểu diễn Minkowski
Xét miền khả thi của một bài toán QHTT P = {x|Ax = b,x>0} Nếu P là bị
chặn thì chúng ta có thể mô tả bất kỳ điểm x∈P như là một sự kết hợp tuyến tính của các điểm cực của nó x(j)
x=∑λ x(j), với
λ j >0
Trang 30Nếu miền khả thi không được giả định bị chặn chúng ta cần phải dẫn đến như sau
λ j =1 được biết như là ràng buộc lồi.
Hình 2.2: Sơ đồ thuật toán phân rã Dantzig - Wolfe
Trang 31Ví dụ 2.2 Phân rã Dantzig - Wolfe
Xét bài toán dưới đây
x1∗=2, x2∗= 3
2, x
∗
3 =2
Bài toán này được giải trong những bước sau sử dụng thuật toán Dantzig
- Wolfe như đã nói ở mục 2.1.3
Bước 0 Khởi đặt Biến lặp được khởi đặt, ν= 1 Hai nghiệm (p(1) =2) bàitoán giảm dư được thu bằng cách giải quyết ba bài toán con hai lần Đầu
tiên, hệ số chi phí bc( 1 )
1 = −1, bc(21) = −1, và bc(31) = −1 được sử dụng Nhữngbài toán con cho nghiệm đầu tiên là
Trang 32Bước 2 Nghiệm bài toán giảm dư Những bài toán con được giải quyết dưới
đây để thu được một nghiệm cho bài toán giảm dư hiện tại
Hàm mục tiêu của bài toán giảm dư đầu tiên là
Trang 33Cuối cùng, hàm mục tiêu của bài toán giảm dư thứ ba là
Chú ý rằng v( 1 )<σ(1)(−5<4)và do đó nghiệm hiện tại của bài toán giảm
dư có thể được sử dụng để cải thiện các nghiệm của bài toán tổng thể
Biến đếm được cập nhật ν=1+1=2, và số lượng các nghiệm có sẵn của
bài toán giảm dư cũng được cập nhật p( 2 ) =2+1=3 Thuật toán tiếp tụctrong bước 1
Bước 1: Nghiệm bài toán chủ Bài toán chủ dưới đây đước giải quyết
min
u1,u2,u3 −22u1−17u2 −21u3, với
18u1+13u2 +16u3 ≤17 : λ1;
Bước 2: Nghiệm bài toán giảm dư Những bài toán con được giải quyết dưới
đây để thu được một nghiệm cho bài toán giảm dư hiện tại