Phương pháp điểm trong và ứng dụng
Trang 1x34:
CHƯƠNG IV
THUẬT TOÁN ĐIỂM TRONG TRÊN MÔ HÌNH NHÚNG
TỰ ĐỐI NGẪU THUẦN NHẤT
4.1 Mở đầu
Hầu hết các thuật toán điểm trong đều cân đến nghiệm chấp nhận được
chặt làm nghiệm xuất phát Tuy nhiên việc tính toán để nhận được nghiệm này
là rất khó khăn, mà mỗi thuật toán hoàn thành phải đạt được hai việc sau:
() xác định được nghiệm tối ưu, nếu bài toán quy hoạch tuyến tính đó giải
được
(ii) tim ra được tính không chấp nhận được hay không bị chặn khi bài toán
quy hoạch tuyến tính là không chấp nhận được hay không bị chặn
Có rất nhiều cách giải quyết vấn để trên trong các tài liệu về quy hoạch tuyến
tính như: phương pháp M lớn, phương pháp pha I_ pha II, Nhưng trong luận văn
này chúng tôi giới thiệu một mô hình hiệu quả nhất là: mô hình tự đối ngẫu thuần nhất Mục 4.2 Nó được xây dựng trên tính thuần nhất và tự đối ngẫu của
bài toán quy hoạch, liên quan đến hai bài toán (LP) và (LD) Mô hình này có thể xem trong [19, 20, 23]
Trong chương này chúng ta sẽ áp dụng hàm đo độ gần tự chính quy vừa
xây dựng trong Chương 3, để giải bài toán quy hoạch tuyến tính ở dạng chính tắc, và tổng quát ở Mục 4.3 và Mục 4.4 Đầu tiên chúng ta sẽ giới thiệu mô hình
nhúng tự đối ngẫu thuần nhất
Trang 2-35-
4.2 Mô hình nhúng tự đối ngẫu thuần nhất
Định nghĩa 4.1
Bài toán quy hoạch tuyến tính được gọi là tự đối ngẫu, nếu bài toán đối ngẫu của nó là chính nó
Xét bài toán quy hoạch tuyến tính tự đối ngẫu:
min c’x,
lỏng
x>0,
ở đây QŸ =~Ó (ma trận đối xứng lệch)
Chúng ta thấy rằng thuận lợi của bài toán tự đối ngẫu là ta có thể áp dụng thuật toán điểm trong gốc-đối ngẫu để giải bài toán tự đối ngẫu mà không cần nhân đôi số chiều trong việc giải hệ ở mỗi bước lặp
Ta sẽ nói sơ bộ về ý tưởng của mô hình nhúng tự đối ngẫu thuần nhất như sau:
Xét bài toán
min {e'x:4x=b, x>0} (LP)
và bài toán đối ngẫu của nó
Hai bài toán (LP) và (LD) có nghiệm tối ưu, thì hệ sau có nghiệm và một trong các nghiệm của hệ sẽ là nghiệm tối ưu của hai bài toán (LP) và (LD)
Ax-b=0,
-ATy+e>0,
by-cx>0,
x>0,ye#”
4.1)
Trang 3- 36 -
Ma tran trong hệ (4.1) trở thành ma trận đối xứng lệch nếu ta mở rộng ma trận
bằng cách: trừ đi véctơ bên phải sau khi ta nhân thêm biến z>0 vào véctơ này, thì hệ (4.1) tương đương với
Ax -br=0,
-A'y +cr 20,
b'y -c"x >0,
x>0, ye#”, r>0
(4.2)
Hệ (4.2) gọi là hệ thuần nhất tự đối ngẫu, và biến 7 gọi là biến thuân nhất
Nhận xét 4.2.1
Hệ (4.2) có thể coi là bài toán quy hoạch tuyến tính với hàm mục tiêu là 0, nhưng hệ (4.2) lại không thoả mãn điều kiện điểm trong Do đó ta cần điều
chỉnh hệ (4.2) vẫn giữ được tính tự đối ngẫu, và thoả điểu kiện điểm trong
Chúng ta làm điều này bằng cách chọn xạ >0, sạ >0, yy 6” và mở rộng bài toán bằng cách đưa vào sai số tương ứng với xạ, sạ, y„ Hệ (4.2) được viết lại như
sau
Ax -br — 1,0=0,
x>0,yeR”,rz>0,0eR
ở đây r„,z„,r„, tương ứng là các sai số cho tính không chấp nhận được của điểm
ban đầu gốc-đối ngẫu, và lỗ hổng đối ngẫu
Giả sử xạ >0, sạ >0, yạ, 7y >0, kg >0, 0y >0, ta có
Trang 4-37-
Cty ~ A" Yy 5p
›
-c"x, ky +b" yy
„ =——h—————,S
r=
% B= Yo -1% 1g - Trong hệ (4.3) ta đưa vào biến nhân tạo 0 và thêm vào ràng buộc thứ 4,
để hệ (4.3) có ma trận ràng buộc là đối xứng lệch, và nó trở thành hệ tự đối
ngẫu thoả mãn điều kiện điểm trong Thêm biến bù s và k vào hệ (4.3) ta được
hệ tương đương
x>0,ye#"”,rz>0,oeR,s>0,k>0
ở đây r„,1„r„ Về Ø xác định giống như trong (4.4)
Ma trận ràng buộc trong hệ (4.5) là đối xứng lệch Do đó nó đảm bảo rằng hệ (4.5) là bài toán quy hoạch tuyến tính tự đối ngẫu thuần nhất
Nhận xét 4.2.2
Nếu chúng ta chon: x„ =é, sy =e, „y =0, thì bài quy hoạch tuyến tính thuần nhất
tương ứng có nghiệm chấp nhận được chặt trên đường trung tâm với
My =1, B=n+1
Ky hiệu!; là tập các nghiệm (y,x,r,D,s,k)chấp nhận được của bài toán
(HLP) Ta có định lý sau
Định lý 4.1 (20, 23])
Trang 5-38-
(đ) Đối ngẫu của bài toán (HLP) là chính nó
đi) Bài toán (HLP) có nghiệm chấp nhận được chặt
y=yy,x=xạ>0,7=l,0=1,s=sạ >0,k=]
(ii) Bài toán (HLP) có nghiệm tối ưu và tập nghiệm tối ưu của nó bị chặn
đv) Giá trị tối ưu của bài toán (HLP) bằng 0 và
(,x,7,U, s, k) c „=> Bo=x's+tk
(v) Bài toán (HLP) có nghiệm tối ưu (y”, x,r,0`=0,s,k )e Tý sao cho
x+s°
„ 4 {2 0
[ +k
Chứng minh: Xem trong [20, 23]
Nhận xét 4.2.3
Chúng ta lại xem xét hệ (4.5) và (4.4) Không mất tính tổng, giả sử ta luôn chọn được (xạ, yạ sạ) với xạ là nghiệm chấp nhận được của bài toán (LP) Từ (4.4) ta
suy ra z„=0 và do đó mọi nghiệm chấp nhận được của bài toán (HLP) với
z>0, thì *h nghiệm chấp nhận được của (LP) Nếu (7, sạ) là nghiệm chấp
T
nhận được của bài toán (LD), tir (4.4) ta suy ra z„ =0 Do đó với mọi nghiệm
chấp nhận được (yạ,sạ) của bài toán (HLP) vớiz >0, thì (#3) là nghiệm
TOT chấp nhận được của (LD)
Định nghĩa 4.2
Nếu (y', x, 7 , 0 =0, s”, &`) là nghiệm tối ưu của bài toán (HLP) thỏa
Mi >0,
t +k thì nó được gọi là nghiệm tối ưu bù chặt của bài toán (HLP)
Trang 6-39-
Định lý sau đây cho chúng ta thấy được mối liên hệ giữa nghiệm tối ưu
của bài toán (HLP) và nghiệm tối ưu của bài toán (LP) và (LD)
Định lý 4.2 (20, 23])
Giả sử (y,x,z,Ð` =0, s , k `) là nghiệm tối ưu tự bù chặt của bài toán
(HLP).Khi đó
() bài toán (LP) có nghiệm tối ưu nếu và chỉ nếu z” >0 Trong trường
hợp này ~ a nghiệm tối ưu của bài toán (LP) và (= 3] là nghiệm tối ưu
của bài toán (LD)
(ii) bài toán (LP) không có nghiệm tối ưu nếu và chỉ nếu #” >0 Trong trường hợp này, nếu c”x` <0, thì bài toán (LD) là không chấp nhận được, nếu -b'y' <0 thì bài toán (LP) là không chấp nhận được, nếu cả cfx`<0
và by <0, thì cả hai bài toán (LP) và (LD) đều không chấp nhận được
Chứng minh: Xem trong [20, 23]
4.3 Thuật toán điểm trong, giải bài toán quy hoạch tuyến tính
ở dạng chính tắc
Ở Mục 4.2, chúng ta đã giới thiệu về mô hình nhúng tự đối ngẫu thuần nhất
Trong phần này chúng ta sẽ tìm cách giải cho mô hình này, trên cơ sở thuật toán
điểm trong đã xây dựng ở Chương 3, cho bài toán quy hoạch tuyến tính ở dạng chính tắc Các kết quả này có thể xem trong ([14, 18])
Giả sử rằng (yụ, xạ, 7ạ; Đạ, sạ, &ạ) là điểm ban đầu xuất phát với:
Xo>0, sạ >0, yạ, 7ạ >0, >0, ủy >0
thì ta có
Trang 7- 40 -
x>0,ye#”,r>0,0eR,s>0,k>0,
“=>
# Dy
foe A’ Yy~ Sy
tụ
T7 s
p= Teoh +BY
T
BH=X Sy + Toko
Giả sử ở bước lặp hiện tại chúng ta đang cần tính toán hướng Newton
(Ay, Av, Ar, Av, As, Ak), n6 sé 1a nghiém cia hé sau
ở đây X = diag(x), S = diag(s) và
Trang 8oA]
u,=q-~0)4,
ry„ ==,V„.VWG,),
tụ ==L Ø2),
“
tk Vig = 4] 8
“
" "
r, €R",r, ER, v, ER’, Vv, ER
Hệ (4.8) viết dưới dạng ma trận như sau
0 A -b -r, 0 0\(Ay) (0 -Ä 0 c -y -I 0] Ax} |0
bu -c 0 =r, 0 -I]] Ar 0
o s 0 X 0|As| |?
0 0 &k 0z \Ak) \z,
Xét ràng buộc trong quy hoạch (4.6), ta nhân ràng buộc thứ nhất với y”,
ràng buộc thứ 2 với a, ràng buộc thứ 3 với 7z và ràng buộc cuối cùng với D,
sau đó cộng tất cả lại với nhau, chúng ta sẽ được phương trình:
Bo=x's+tk
Ap dụng phương trình này vào điểm mới
(y+ Ay,x+Ax,7+A7,0+ AU, s+ As, k+ Ak),
ta được
Ø(D+AU) =(x+Ax)Ï(s+As)+(z+Az)(k+ AK)
Do Ax”As+ Az Ak =0, nên
Trang 9s42
B(Av) = (x" As ts" Ax)+(c Ak+kAt)
Kết hợp với (4.8) ta có
Từ ràng buộc thứ 5, và ràng buộc thứ 6 trong (4.9), ta suy ra
va
Ak=z”'(r„ — kAr) (4.12)
Kết hợp (4.10), (4.11), (4.12) và hệ (4.9), ta có hệ sau
-A XS || Ax |=| ra
At rg
ae
6 day
rp = r,Av,
ra= rAv+X"r,,,
rg = r,Av+T ry §
Để tiện cho việc tính toán ta ký hiệu: Ø?=(X !S)”, thì từ ràng buộc thứ hai trong hệ (4.13), ta suy ra
Hệ (4.13) tương đương với hệ sau
Trang 10- 43 -
ở đó
a=-b-AD'c, â=(@!' -e'P?A'Ƒ,
y=—+cïc,
T
a sec: 2:
PB =ADoF,.5
7, =7,+c'D7,
Tử (4.15), ta có
Liz x
va
ở đó
= a
a=-,
⁄ Fah ha
Van dé còn lại, chúng ta giải hệ (4.17), để tìm Ay Để giải được hệ này, thì đầu tiên chúng ta sẽ giải hệ sau để có 7j, 7
AD’ A'n =F
AD? A’ =-G
Khi có 7, 1, chúng ta có thể sử dụng công thức sau để tìm Ay
ẩn
‘1444
_n+riã*ñ
AI
Khi có Ay, Av, ta sé tinh dude Az, Ax, Ak, As từ (4.16), (4.14), (4.12), (4.11).
Trang 11-44-
4.4 Thuật toán điểm trong, giải bài toán quy hoạch tuyến tính
ở dạng tổng quát
6 Mục 4.3, chúng ta đã trình bày thuật toán theo đường trung tâm với hàm đo độ
gần tự chính quy, để giải bài toán quy hoạch ở dạng chính tắc với biến x>0
Trong phần này với cách xây dựng như trên, chúng ta sẽ giải bài toán quy hoạch
ở dạng tổng quát, với các biến bị chặn trên Các kết quả này có thể xem trong ([14, 18]) Trước hết chúng ta xét bài toán
min c’x, Ax=b,
O<x,<u,,iel,
Osx, jeJ,
(4.19)
ở đây 4e R””, hạng của A=m,
[=LueR’, l<n,
Hai ràng buộc cuối cùng trong hệ (4.19), viết lại như sau
Fx+z=u,
xz0;
z>0,
ở đó FƑ€Ñ””, các hàng của F là véc tơ đơn vị tương ứng với biến bị chặn trên,
và z Rf là biến bù Giả sử rằng chúng ta có điểm xuất phát:
Vor Ms XH >0, T=1, Y=1, Z¿ >0, sạ >0, kạ >0,
ta đưa bài toán (4.19) về mô hình nhúng tự đối ngẫu thuần nhất như sau
Trang 12-46 -
ở đó
X = diag(x), Š = diag(s), Z = diag(2), W = diag(w),
„, =(=6)0,
Toy = Hy Vay WE (Vey) »
Ny =H Vg VE(V5)5
Tex = Me Vee P' Vea)»
zw
Vow = ,
Hy
xs v,, = 5
A
_ |tk
Vix oy
H
Tương tự như cách giải trong Mục 4.3, ta nhân lần lượt từ phương trình thứ nhất,
đến phương trình thứ 5 của hệ (4.20) với: y”, w”, x”, z, o, rồi cộng chúng lại với nhau, ta được phương trình: Ø@0=xÏs+z”w+zÈ Ấp dụng phương trình này
vào điểm mới
(W+ A,x+ Ax,7+ Ar,Z+ Az,s+ As,k + AE),
thì ta có
B(v+ Av) =(x+ Ax)" (s+ As) +(z+Az)’ (wt Aw)+(c+Ar)\(k+Ak)
Do Ax" As + Az’Aw+Ar Ak =0, nén
B(Av) = (x"As +s" Ax)+(z"Aw+ w' Az) +(c Ak +kAr)
Kết hợp với (4.21), ta có
Từ ba phương trình cuối cùng trong hệ (4.21), ta suy ra
Trang 13-47-
As= X'ứ, —SAx),
Ak=r"`(r,, T—kAr)
Kết hợp (4.22), (4.23), (4.24), (4.25), và hệ (4.21), ta có hệ sau
Ay
0 Wˆ'Z -F u -A FT X'S c md | Ax
Tt
ở đó
Từ phương trình thứ 2 của hệ (4.26), ta có
Aw=JWZ `T,„+WZ2 `FAx—HWZ “uAr,
Hệ (4.26), tương đương với hệ sau
-ÄAT” X'S+Ƒ'WZ'F c—F"WZ"u
+
(4.24)
(4.25)
(4.26)
(4.27)
» (4.28)
Trang 14-48-
Ta ky hiéu: D? =(X"'S+F'WZ"'F)'
Từ phương trình thứ 2 trong hệ (4.28) ta có
Hệ (4.28) viết lại như sau
AD’ A" A ?
a=-b-AD*(c—F'WZ"u),
â=b— AD(e+FTWZ"'u),
trong đó
œ (ƒezw)ses F'WZ"u)' D’(c-F'WZ"'u), +
~> 2~
J -ADT, ,
Từ phương trình cuối của (4.30), ta suy ra
⁄
Khi đó, hệ(4.30) được viết lại như sau
ở đó
me a
a=-,
y F=?,-G
Van dé còn lại, chúng ta giải hệ (4.32), để tìm Ay Để giải được hệ này, thì đầu tiên chúng ta sé gidi hé sau dé c6 7,7
Trang 15- 49 -
AD’ A'n =F AD’ A" =a
Khi có 7, 1, chúng ta có thể sử dụng công thức sau để tìm Ay
+a h-a' nh - a
Khi có Ay, Az, chúng ta có thể tính được Az, Ax, Aw, Ak, As, và Az một cách
dễ dàng từ (4.31), (4.29), (4.27), (4.25), (4.24), (4.23)
4.5 Cài đặt thuật toán
Chúng ta sẽ cài đặt các thuật toán điểm trong theo sơ đô như sau:
Bắt đầu
Nhập dữ liệu
Tìm nghiệm xuất phát
Kiểm tra điều kiện tối ưu
———————————-
Tinh huéng Newton
Ỷ
Chọn độ dài bước và
tính điểm mới
Điều kiện
dừng
Trang 16-50-
Màn hình giao diện của thuật toán, được viết bằng ngôn ngữ Matlab như sau
PIG mL) Whos com
PHUONG PHAP DIEM TRONG ,GIAI BAI TOAN QUY HOACH TUYEN TINH BANG
NGON NGU MATLAB
(NGA TO1 WU CUA DAL TORN, MAI HỘI OUP LIEU
Mepectn K+
lMaueA~
Wghiem V-
Me tran «
Nghiem 5<
te wane ©
$0 BUOC LAP CUA TWAT TOAK
CAC THUAT TOME TOM TRONS
n | GE 7a THAI TGAN AE GỐC - KỈ - (423 tan]
Trước tiên để sử dụng được chương trình, chúng ta có thể đọc hướng dẫn
Giai h toan QHTT ban ngon | ~
eg
Chuong trinh nay giai bai toan quy hoach tuyen tinh:
min cT x
Â"w = b x=>0 Cac thong so cho chuong trinh su dung la:
^ - ma tran rang buon cua bai toan
b - dang vecto cot,
© - dang vev to cot +
x - nghiem toi uu cua bai toan, 4.b.c do nguoi su dung nhap vao
ed
Nhập dữ liệu, chúng ta nhập ở bên trái màn hình giao diện
Trang 17= 51
Ví dụ: Giải quy hoạch
X +x, +x, =2,
—%+x,+x,=1, X¡,X;„Xạ, X, > Ũ
Thì màn hình nhập liệu như sau:
MAN HEL VET LED
|
Metenas | 11110;-11014]
Ma tran b = ¡11
Ma tran c= I1; -2 0; 0]
Sau đó, chúng ta sẽ lựa chọn các thuật toán, ví dụ: chọn thuật toán affine gốc
CAC THUAT TOAN DIEM TRONG
THUAT TOAN AFFINEGOC (8|
THUAT TOAN AFFINE GOC
THUAT TOAN DUNG TRUNG TAM GOC THUAT TOAN GIAM THE
THUAT TOAN DONG TT GOC_DOI NGAU CO DIEN THUAT TOAN DUONG TT GOC_DOI NGAU HAM CHAN
THUAT TOAN DUONG TT GOC_DOINGAU TU CHINH QUY
Trang 18
-52-
Rồi nhấp chuột vào nút “Run” để chạy chương trình, và kết quả sẽ hiện ra Ở
màn hình:
NGHIEM TO! UU CUA BAI TOAN (0.51;1.49;0.01:0.02]
Nghiem X=
Nghiem ¥ =
Hghiem $=
‘SO BUOC LAP CUA THUAT TOAH
và đồ thị minh họa của thuật toán như sau:
s_—— _ i#fiNMBNSgRNOtytig GB
— r2
-xI#+x2=l x1>=0,x2»=0
26; ® duong di cua thuat toan +
< mien tang buøc