Tr n H i Y n – K32 CN Toán
M CL C
L ic m n
L i cam đoan
M đ u
Ch
ng I BƠi toán quy ho ch tuy n tính vƠ ph
ng pháp đ n hình
1.1 Bài toán quy ho ch tuy n tính và quy ho ch tuy n tính đ i ng u
1.2. T p l i và các đi m c c biên
1.3 Ph
ng pháp đ n hình
1.4. Th i gian th c hi n thu t toán
Ch
ng II Ph
2.1 T t
ng pháp đi m trong
ng c a ph
ng pháp đi m trong
2.1.1 N i dung c a ý t
2.1.2 Xác đinh h
ng
ng gi m
2.1.3 Thành ph n h
ng tâm
2.2 M t s thu t toán c a ph
2.2.1 Ph
ng pháp đi m trong
ng pháp t l affin
2.2.2 Thu t toán gi m th
2.2.3 Thu t toán theo đ
ng trung tâm
2.2.4 Thu t toán theo đ
ng trung tâm – đ i ng u
2.2.5 So sánh các ph
ng pháp đi m trong
K t lu n
TƠi li u tham kh o
Khóa lu n t t nghi p
1
Tr n H i Y n – K32 CN Toán
L IC M
N
Trong su t quá trình th c hi n khóa lu n c ng nh h c t p t i tr
em đã nh n đ
ng
c s quan tâm, giúp đ và t o đi u ki n c a các th y cô giáo
trong Khoa Toán, nh t là các th y cô giáo trong t Toán ng d ng, cùng v i
s đ ng viên khích l c a các b n sinh viên. Em xin chân thành c m n s
giúp đ quý báu này.
c bi t em xin bày t lòng bi t n sâu s c đ n th y giáo Tr n Minh
T
c, ng
i đã t n tình h
ng d n, giúp đ em trong su t th i gian qua đ
em có th hoàn thành khóa lu n này.
Trong quá trình th c hi n đ tài, do đi u ki n v th i gian và s h n
ch v ki n th c, khó tránh kh i nh ng thi u sót khi hoàn thành khóa lu n
này. Vì v y em r t mong nh n đ
b n bè đ đ tài c a em đ
c nh ng ý ki n đóng góp c a th y cô và
c hoàn thi n h n .
Em xin chân thành c m n!
Hà N i, ngày 05 tháng 05 tháng 2010
Sinh viên th c hi n
Tr n H i Y n
Khóa lu n t t nghi p
2
Tr n H i Y n – K32 CN Toán
L I CAM OAN
Tôi xin cam đoan nh ng v n đ em trình bày trong khóa lu n là nh ng
k t qu nghiên c u c a riêng b n thân tôi d
giáo Tr n Minh T
is h
ng d n t n tình c a th y
c, b n khóa lu n này không trùng v i k t qu nghiên c u
c a các tác gi khác.
N u không tôi xin hoàn toàn ch u trách nhi m.
Hà N i, ngày 05 tháng 05 n m 2010
Sinh viên th c hi n
Tr n H i Y n
Khóa lu n t t nghi p
3
Tr n H i Y n – K32 CN Toán
M
U
1. Lý do ch n đ tƠi
Bài toán quy ho ch tuy n tính là bài toán gi i quy t nh ng v n đ
kh n th
khó
ng g p trong cu c s ng và trong lao đ ng s n xu t. Vi c gi i nh ng
bài toán Quy ho ch tuy n tính này giúp ta tìm đ
c ph
ng án t i u nh t,
h p lý nh t nh m mang l i hi u qu cao nh t trong s n xu t.
Thông th
ng chúng ta dùng ph
ng pháp đ n hình đ gi i bài toán
Quy ho ch tuy n tính. ây là m t cách gi i nhanh và hi u qu . Tuy nhiên v i
nh ng bài toán có đ ph c t p l n thì ph
s
ph
ng pháp đ n hình không còn th c
hi u qu n a. V i nh ng bài toán này ng
ng pháp khác là ph
i ta th
ng pháp đi m trong.
pháp đi m trong tôi đã ch n đ tài: “Ph
ng s
d ng m t
tìm hi u k h n v ph
ng
ng pháp đi m trong gi i bài toán
quy ho ch tuy n tính” . cho khóa lu n t t nghi p.
2. M c đích, nhi m v nghiên c u
M c đích nghiên c u: Tìm hi u các thu t toán c a ph
ng pháp đi m
trong đ gi i bài toán Quy ho ch tuy n tính.
Nhi m v nghiên c u: Trình bày khái quát và đánh giá hi u qu
thu t toán c a ph
3. Ph
các
ng pháp đi m trong.
ng pháp nghiên c u
Trong đ tài s d ng nh ng ph
ng pháp chính nh : ph
ng pháp tìm
ki m, phân tích, th ng kê, t ng h p, so sánh,….
4. B c c khóa lu n
Khóa lu n g m m đ u, hai ch
ng và k t lu n
Ch
ng I: Bài toán quy ho ch tuy n tính và ph
Ch
ng II: Ph
ng pháp đ n hình
ng pháp đi m trong
Khóa lu n t t nghi p
4
Tr n H i Y n – K32 CN Toán
Ch
ng I BÀI TOÁN QUY HO CH TUY N TệNH VÀ
PH
NG PHÁP
N HÌNH
1.1 BƠi toán quy ho ch tuy n tính vƠ quy ho ch tuy n tính đ i ng u
1.1.1 BƠi toán quy ho ch tuy n tính
a) D ng t ng quát
Tìm véc t x x1 , x2 ,..., xn n sao cho
t
n
f(x) =
c x
j 1
j
j
min(max)
v i các đi u ki n:
n
a ij x j b j
j 1
n
a ij x j b j
j 1
D: n
a ij x j b j
j 1
xj 0
x 0
j
xj
(i 1,..., m)
(i m1 1,..., m2 )
(i m2 1,..., m)
( j 1,..., n1 )
( j n1 1,..., n2 )
( j n2 1,..., n)
b) D ng chính t c
n
f ( x) c j x j min
j 1
n
(i 1, 2,..., m)
a ij x j b j
j 1
xj 0
( j 1, 2,..., n)
Hay d
i d ng ma tr n
Khóa lu n t t nghi p
5
Tr n H i Y n – K32 CN Toán
f x c t x min
Ax b
x 0
Trong đó c, x n , b m , A là ma tr n c p m n .
c) D ng chu n t c
n
f ( x) cij x j min
j 1
n
a ij x j b j
(i 1,2,..., m)
j 1
xj 0
( j 1,2,..., n)
Hay d
i d ng ma tr n
f x c t x min
Ax b
x 0
1.1.2 Bài toán quy ho ch tuy n tính đ i ng u
a)
i ng u c a bài toán quy ho ch tuy n tính d ng chu n t c
bt x max
t
A x c
y 0
b)
i ng u c a bài toán quy ho ch tuy n tính d ng chính t c
bt y max
t
A y c
y
có d u tùy ý
c)
i ng u c a bài toán quy ho ch tuy n tính d ng t ng quát
Khóa lu n t t nghi p
6
Tr n H i Y n – K32 CN Toán
bt y min
m
a y c
i
j
ij
i 1
n
a ij yi c j
i 1
yi 0
yi t do
j 1, n
1
j n 1, n
i 1, m
i m 1, m
1
1
1
1.2 T p l i vƠ các đi m c c biên.
a) T p C n g i là t p l i n u l y 2 đi m b t k ồ’ và ồ” C thì đo n
th ng [ồ’,ồ”] n i 2 đi m này hoàn toàn thu c C.
b)
i m x0 thu c t p l i C đ
c g i là đi m c c biên c a C n u nó không là
đi m trong c a b t k đo n nào n i 2 đi m khác nhau c a C t c là không t n
t i ồ’, ồ” C, ồ’ ≠ ồ” sao cho x0= ồ’+ (1- )ồ” v i nào đó thu c (0,1).
c) M t t h p l i c a các đi m xi n (i 1,2,...m) là đi m x n có d ng:
x 1x1 2 x2 .... n xn
trong đó i 0(i 1, m),
1.3 Ph
m
i 1
i
1.
ng pháp đ n hình
1.3.1 T t
ng c a ph
ng pháp đ n hình
Xét bài toán quy ho ch tuy n tính d ng chính t c:
f x c t x min
Ax b
x 0
V i x, c n , b m , A là ma tr n c p m n . Gi thi t r ng h ng A m (m là
s r ng bu c c a bài toán).
Khóa lu n t t nghi p
7
Tr n H i Y n – K32 CN Toán
ã bi t r ng:
- N u bài toán có ph
ng án thì có ph
ng án c c biên.
- N u bài toán có ph
ng án t i u thì c ng có ph
ng án c c biên t i
u
- S ph
ng án c c biên là h u h n.
Do đó ta có th tìm m t ph
trong t p h p các ph
ng án t i u hay l i gi i c a bài toán
ng án c c biên. Do t p này là h u h n nên Dantzig đã
đ xu t m t thu t toán g i là thu t toán đ n hình:
Xu t phát t m t ph
ph i là ph
ng án c c biên x0 . Sau đó ki m tra xem x0 có
ng án t i u hay không. N u x0 ch a ph i là ph
tìm cách c i ti n nó đ đ
c m t ph
ng án t i u thì
ng án c c biên khác là x0 t t h n x0
theo ngh a f x1 f x0 . Quá trình này l p l i nhi u l n. vì s ph
ng án
c c biên là h u h n nên sau m t s h u h n b
ng án
c l p ta tìm đ
c ph
c c biên t i u.
th c hi n thu t toán đ ra
- Làm th nào đ bi t m t ph
trên ta c n làm rõ hai v n đ :
ng án c c biên đã cho là t i u hay
ch a? T c là đi tìm d u hi u t i u.
- Làm th nào đ m t ph
ph
ng án c c biên ch a t i u tìm đ
cm t
ng án c c biên m i t t h n nó?
1.3.2 D ng ma tr n c a th t c đ n hình
Xét bài toán quy ho ch tuy n tính d ng chính t c
f x c t x min
Ax b
x 0
Khóa lu n t t nghi p
8
Tr n H i Y n – K32 CN Toán
V i x, c n , b m , A là ma tr n c p m n .
đ n gi n ta gi thi t
c s J đang xét g m đúng m c t đ u tiên c a ma tr n A, t c J={1,2,....,m}.
t K={1,2,....,n}\J. Ma tr n A đ
ngoài c s AK. các véc t c ng đ
c tách làm 2 : ma tr n c s AJ và ph n
c tách làm 2 ph n t
ng ng trong và
ngoài c s J.
x
c
A AJ AK x J , c J .
xK
cK
Ta có th t c đ n hình d
B
c 1: Tính ph
i d ng ma tr n nh sau:
ng án c c biên t
ng ng c s J theo công th c:
X j AJ1b .
Tính véc t
B
cl
ng k AJ 1 AK cJ cK .
t
c 2: Ki m tra d u c a các thành ph n k c a véc t K :
N u t t c các thành ph n c a véc t
k t lu n ph
ng án đang xét là ph
N u có thành ph n k c a véc t
mãn
B
cl
ng K đ u 0 thì
ng án t i u.
K d
ng thì ch n s th a
s = max{ k >0, k J } và chuy n sang b c 3.
c 3: Tính c t z s theo các h s z js theo công th c:
zs AJ1a s
Ki m tra đi u ki n: c t zs 0 t c là z js 0j J . N u
-
úng: thì k t lu n hàm m c tiêu gi m vô h n trên mi n ràng bu c.
K t thúc thu t toán.
- Sai: chuy n sang b
B
c 4.
c 4:
Ch n ch s r th a mãn:
Khóa lu n t t nghi p
9
Tr n H i Y n – K32 CN Toán
x
xr
min j , j J , z js 0
zrs
z js
L p c s m i J j J \ r s.
c 5: Tính ma tr n ngh ch đ o AJ11 và l p l i t b
B
c 1.
1.4 Th i gian th c hi n thu t toán.
nh ngh a
1.4.1
M t thu t toán đ
c g i là t t h n n u th i gian th c hi n đ gi i bài
toán là ng n h n. Th i gian th c hi n thu t toán đ
c đo b ng s các phép
toán c n ti n hành đ gi i bài toán b ng thu t toán này. Tuy nhiên s phép
toán l i ph thu c vào “kích th
chính là “s l
th
ng đ
c” c a bài toán, là m t s n nguyên d
ng,
ng” d li u đ u vào. Do đó th i gian th c hi n thu t toán
c bi u di n d
i d ng T(n) là m t hàm s d
ng c a n, đ ng bi n
theo n.
ti n so sánh th i gian th c hi n c a các thu t toán, ng
i ta đ a ra
ký hi u O (đ c là O l n).
Gi s
f n là hàm s không âm. Ta vi t T n O f n ngh a là
t c đ t ng c a T n khi n ti n đ n vô cùng không v
c a f n . Khi n l n , f n cho ta hình dung đ
là th
t quá t c đ t ng
c m c l n c a T n , f n
c đo đ l n c a T n
1.4.2 Th i gian th c hi n thu t toán đ n hình.
Trong m i b
c l p c a ph
ng pháp đ n hình c n th c hi n O(m.n)
phép toán s h c đ tính giá tr hàm m c tiêu, các bi n c s và O(m2) phép
Khóa lu n t t nghi p
10
Tr n H i Y n – K32 CN Toán
toán đ tính l i ma tr n c s . T ng s phép toán s h c trong m t phép l p
đ n hình là O(m.n + m3).
Nói chung, ng
i ta th y c n O(m) phép l p đ n hình đ gi i bài toán
quy ho ch tuy n tính. V trung bình, th i gian gi i bài toán quy ho ch tuy n
tính b ng thu t toán đ n hình là m t đa th c theo m và n.
Khóa lu n t t nghi p
11
Tr n H i Y n – K32 CN Toán
Ch
2.1 T t
ng II
ng c a ph
NG PHÁP I M TRONG
ng pháp đi m trong
2.1.1 N i dung c a ý t
Ph
PH
ng
ng pháp đ n hình tìm l i gi i bài toán quy ho ch tuy n tính b ng
cách di chuy n qua các đi m c c biên, n m trên biên c a mi n r ng bu c.
Ph
ng pháp đi m trong xu t phát t m t đi m n m bên trong mi n
r ng bu c và di chuy n d n đ n l i gi i t i u nh ng v n luôn
mi n r ng bu c. Tên g i c a ph
ng pháp này c ng đã cho th y ý t
bên trong
ng này.
T m t đi m đang xét ta di chuy n d n đ n m t đi m m i t t h n theo
h
ng d. H
là h
ng di chuy n là t h p c a hai thành ph n. Thành ph n th nh t
ng gi m hàm m c tiêu. Thành ph n th hai nh m h
ng vào bên trong
đ không ch m vào biên c a mi n r ng bu c, g i là thành ph n h
Nh v y đ gi i quy t bài toán quy ho ch tuy n tính b ng ph
này chúng ta ph i tìm đ
trình bày d
ng tâm.
ng pháp
c 2 thành ph n. Vi c xác đ nh 2 thành ph n đó đ
c
i đây.
2.1.2 Xác đ nh h
ng gi m
Xét mi n r ng bu c c a bài toán quy ho ch tuy n tính
Ax b
x 0
Xu t phát t đi m x0 n m bên trong mi n r ng bu c, ta di chuy n đ n
đi m m i x1= x0+ d .
không vi ph m các r ng bu c ph i có Ad = 0 và
đ bé.
Gi s z là h
Chi u g
ng gi m nhanh nh t hàm m c tiêu t i đi m đang xét.
ng gi m này lên không gian con Ax = 0 ta đ
ch
ng gi m hàm
m c tiêu mà không vi pham ràng bu c.
Khóa lu n t t nghi p
12
Tr n H i Y n – K32 CN Toán
Gi thi t r ng rankA = m. Toán t chi u lên không gian con Ax là :
P I At AAt A
1
vì z, A( Pz) A( I At ( AAt )1 A) z ( A AAt ( AAt )1 A) z Az Az 0 .
V yh
ng di chuy n là d = Pz.
Trong tr
đi m x h
ng h p hàm m c tiêu là hàm tuy n tính f x ct x thì t i m i
ng gi m nhanh nh t là h
ng ng
c gradient –c. Ta c n tính Pc .
t ( AAt )1 Ac hay nói cách khác là nghi m c a h ph
ng trình
đ i s tuy n tính: AAt Ac .
Ta có: Pc ( I At ( AAt )1 A)c c At ( AAt )1 Ac c At .
tính Pc thay cho vi c ngh ch đ o ma tr n ta gi i h ph
tuy n tính AAt Ac , sau đó tính theo công th c
2.1.3 ThƠnh ph n h
ng trình đ i s
trên.
ng tơm
dãy đi m đang xét nh m h
ng vào bên trong không ch m vào biên c a
mi n r ng bu c ta có hai cách:
Cách m t (ph
m t hàm s d
ng pháp hàm ch n): Ta c ng thêm vào hàm m c tiêu
ng, d n t i m i khi dãy đi m g n ti n t i biên mi n ràng
bu c. M t hàm ch n hay dùng là là hàm logarit:
n
( x) ln x j
j 1
do các ràng bu c b t đ ng th c có d ng x 0 nên khi x 0 thì các hàm ch n
trên d n ti n đ n .
Cách hai (ph
ng pháp c n ch nh Ềllipsoiế): Ta xây d ng m t elip có
tâm t i đi m đang xét và n i ti p trong mi n ràng bu c. Biên c a mi n ràng
bu c xác đ nh b ng các đ ng th c xj= 0, nên n u m t ràng bu c s p vi ph m
Khóa lu n t t nghi p
13
Tr n H i Y n – K32 CN Toán
t i đi m đang xét thì bán tr c c a elip t
di chuy n s đ
ng ng v i bi n này s ng n, h
ng
c đi u ch nh đ nghiêng v phía bán tr c dài h n c a elip.
H
Khóa lu n t t nghi p
ng di chuy n
14
Tr n H i Y n – K32 CN Toán
2.2 M t s thu t toán c a ph
2.2.1 Ph
2.2.1.1 ụ t
ng pháp đi m trong
ng pháp t l affin
ng c a thu t toán
T im ib
c l p, khi đã có môt nghi m trong, ta thay bài toán quy
ho ch tuy n tính b ng bài toán có cùng hàm m c tiêu nh ng t p ràng bu c là
m t elip có tâm là nghi m trong đã có, x p x v i t p l i đa di n ràng bu c
c a quy ho ch tuy n tính. Nghi m c a bài toán m i s đ
c ch ng minh là
nghi m trong c a bài toán c a bài toán quy ho ch tuy n tính và s đ
làm tâm c a elip
b
c dùng
c l p ti p theo. C ti p t c quá trình này đ n khi
kho ng cách đ i ng u nh h n m t ng
ng 0 nào đó.
2.2.1.2 Xơy d ng thu t toán
Ta có hình trên là quá trình ch y thu t toán t l affin cho bài toán d
Khóa lu n t t nghi p
i đây
15
Tr n H i Y n – K32 CN Toán
min x1 x2
x 2 x 8
2
1
2 x1 x2 9
3x x 6
1 2
x1 , x2 0
Bây gi ta đi xét chi ti t t ng b
c c a thu t toán.
Xét bài toán quy ho ch tuy n tính chính t c
min ct x,
Ax b,
x 0.
Tr
(1.1)
c tiên ta đi xây d ng elip v i tâm là nghi m trong x0 đã có:
2
n
xi xi0
n
2
E x :
0
x
i 1
i
Bài toán elip x p x là bài toán nh n đ
(1.2)
c t bài toán quy ho ch tuy n tính
(1.1) v i nghi m trong x0 đã cho và thay các ràng bu c x 0 b ng ràng bu c
elip (1.2). Ta có bài toán elip x p x :
min ct x,
Ax b,
(1.3)
2
xi x
2
0
xi
i 1
0
i
n
0
i bi n x X x ' , X0 là ma tr n đ
ng chéo v i các ph n t th I
đ
ng
0
0
0
chéo là Xii xi , X diag x1 ,..., xn .
0
0
Bài toán elip x p x tr thành bài toán c c ti u hàm tuy n tính trên hình c u:
Khóa lu n t t nghi p
16
Tr n H i Y n – K32 CN Toán
min ct X 0 x '
AX 0 x ' b
n
x ' 1
i 1
2
i
(1.4)
2
n
2
0
0
Vì e là tâm hình c u B x ' n : x 'i 1 2 , X e x , và e
i 1
thu c đa t p tuy n tính H x ': AX 0 x ' b cho nên e c ng là tâm c a hình
c u v i s chi u ít h n s chi u c a B H và có cùng bán kính .
bài (1.4) hình c u ràng bu c n m trong đa t p tuy n tính H song song
v i không gian con Ker( AX 0 ) : x ' n : AX 0 x ' 0 do đó đóng vai trò
h
ng –c
đây ph i là h
ng P( ct X 0 ), v i P là phép chi u n lên
Ker( AX 0 ). Áp d ng công th c nghiêm t i u c a bài toán tìm c c ti u hàm
tuy n tính trên hình c u ta có nghi m t i u là :
PX 0c
x' e
PX 0c
*
(1.5)
tính PX0c ta c n s d ng b đ (1.1) sau đây:
B
(1.1): Gi s A là ma tr n c p m n v i rank A = m. Khi đó v i
n
t
t 1
m i x : P ( x) : A ( AA ) Ax là hình chi u c a ồ lên không gian
hàng R(At) và x - P(x) là hình chi u c a ồ lên không gian KỀrA.
CH NG MINH: ThỀo đ nh ngh a c a hình chi u P lên R(At) ta ph i
tính
P(x)= arg min ||x – Atu||.
u n
t
Do đó ta ph i tìm minn || x Au || ho c bài toán t
u
ng đ
ng là
t
t
x Au
min(
)t ( x Au
) , đâỔ là bài toán c c ti u hàm c p hai:
n
u
Khóa lu n t t nghi p
17
Tr n H i Y n – K32 CN Toán
t
t
min(
xt x 2 xt Au
u t AAu
).
n
u
Nghi m c a bài toán chính là đi m ế ng u*= (AAt)-1Aồ. Do đó ta có:
P(x)= Atu*= At(AAt)-1Ax.
Vì KỀrA là ph n bù tr c giao ( R( At )) nên x-P(ồ) là hình chi u c a ồ
lên không gian nhân KerA.
Vì P là ma tr n chi u lên không gian con Ker( AX 0 ) nên theo b đ trên ta có
PX 0 ( I X 0 At ( A( X 0 )2 At ) 1 AX 0 ) X 0c
V y ta đã có nghi m t i u c a bài toán (1.4) bi u di n qua A, c c a bài toán
quy ho ch và nghi m trong x0 đã bi t.
Ta dùng phép đ i bi n x= X0x‟ vào (1.5) đ đ
X 0 PX 0c
x x
.
|| PX 0c ||
*
0
c nghi m t i u:
(1.6)
Ta th y nghi m t i u x* c a bài toán elip x p x là nghi m ch p nh n
đ
c c a bài toán quy ho ch tuy n tính. H n n a nó đ t c c ti u hàm m c
tiêu c t x trong elip. Nh ng elip ch là m t ph n c a t p l i đa di n ràng bu c
c a bài toán quy ho ch tuy n tính nên x* ch a ph i là nghi m t i u c a bài
toán quy ho ch tuy n tính.
x* là nghi m t i u c a bài toán quy ho ch
tuy n tính thì x* ph i r i vào biên c a t p l i hay nói cách khác: “n u x j 0
*
v i j nào đó thì x* cho b i (1.6) là nghiêm t i u c a bài toán quy ho ch
tuy n tính”.
Ta đi ch ng minh kh ng đ nh trên.
Ta có b đ : N u ồ E thì x> 0 khi < 1 và x 0 khi = 1. B đ đ
h a b ng hình h c sau và ch ng minh đ
Khóa lu n t t nghi p
c minh
c b ng gi tích:
18
Tr n H i Y n – K32 CN Toán
2
1
Ta bi n đ i PX 0c nh sau:
PX 0c ( I X 0 At ( A( X 0 )2 At )1 AX 0 ) X 0c
X 0 ( I At ( A( X 0 ) 2 At ) 1 A( X 0 ) 2 )
X 0 (c At y)
(1.7)
X s
0
0 2 t 1
0 2
V i y ( A( X ) A ) A( X ) c và s c At y
Ta đang xét bài toán quy ho ch tuy n tính chính t c và bài toán quy ho ch đ i
ng u c a nó là:
max yt b,
yt A c
Ta s ch ng minh n u j{0, . . . , n} đ x*j 0 thì x* và (y,s) t
ng ng là
c p nghi m t i u c a hai bài toán quy ho ch tuy n tính đ i ng u nhau.
Thay (1.6) vào (1.7) ta có
( X 0 )2 s
x x
|| X 0 s ||
*
Vì X0 là ma tr n đ
0
ng chéo nên ta có:
0x x
*
j
Khóa lu n t t nghi p
0
j
( x0j )2 s j
|| X 0 s ||
19
Tr n H i Y n – K32 CN Toán
0
0
Do đó xj s j X s > 0, suy ra sj > 0, m t khác theo đ nh ngh a chu n
|| X 0 s|| thì ph i có xi si 0i j . Mà
0
xio 0 nên si 0i j . Nh
v y ( y, s ) th a mãn m i ràng bu c c a bài toán đ i ng u.
ng th i c p x* và
(y,s) th a mãn đi u ki n đ l ch bù. Do đó chúng là c p nghi m t i u.
2.2.1.3 Mô t thu t toán
*
u vào c a thu t toán:
- D li u c a bài toán A, b, c
- M t nghi m trong t c là nghi m ch p nh n đ
c g c x0 > 0;
- C n i l ng t i u 0 ;
- Tham s (0,1].
* Th t toán
Xu t phát t x0. b
c l p đi n hình xu t phát t xk > 0 g m các đo n sau:
1. Tính nghi m đ i ng u ng viên
yk ( A( X k ) 2 At ) 1 A( X k ) 2 c
V i Xk = diag( x1 ,..., xn )
k
k
2. Tính bi n bù đ i ng u ng viên
s k c At yk
k
3. Ki m tra đi u ki n t i u: n u s 0 và et X k s k thì ng ng.
Nghi m hi n hành g c xk là - t i u và yk là ngi m đ i ng u - t i
u.
k 2 k
4. Ki m tra tính không gi i n i: n u ( X ) s 0 thì ng ng, m c
tiêu t i u là
5. Tính nghi m trong ti p theo
Khóa lu n t t nghi p
20
Tr n H i Y n – K32 CN Toán
k 1
x
( X k )2 s k
x
|| X k s k ||
k
k 1
6. Ki m tra tính t i u: n u x j 0 v i m t j nào đó thì ng ng. x
k 1
khi đó là nghi m g c t i u. Trái l i đ t k k 1 và quay l i đo n 1.
2.2.1.4
Tìm nghi m trong xu t phát
tìm nghi m trong xu t phát x0 ta đ a thêm vào bi n xn1 và xét bài
toán t ng c
ng:
min ct x Mxn 1,
Ax (b Ae) xn 1 b,
( x, xn 1 ) 0.
đây M>0 là s r t l n nào đó và e = (1,1,…,1)t n . ta có (x, xn+1) là
nghi m trong c a bài toán quy ho ch tuy n tính t ng c
ch ng minh đ
c xn+1= 0 là nghi m t i
ng này. Ta có th
u c a bài toán t ng c
ng, do đó nó
là nghiêm t i u c a bài toán g c.
2.2.1.5
Nh n xét v thu t toán
Trong thu t toán affin, t i m i b
c l p th i gian tính toán ch y u là
dành đ tính nghi m đ i ng u x p x . C th là: đ u tiên tính ma tr n A(Xk)2At
v i O(m2n) phép toán s h c. Sau đó là gi i h ph
ng trình tuy n tính có ma
tr n là A(Xk)2At v i O(m3) phép toán s h c. Vì m < n nên t ng s phép toán
s h c đ tính yk là O(m2n + m3) = O(n3)
Trong th c hành ng
i ta th y khi x g n đ n biên thì thu t toán s bi n
đ i x ch y d c theo biên c a đa di n l i( g n gi ng v i ph
hình). Vì v y ng
ng pháp đ n
i ta tin r ng đ ph c t p c a thu t toan affin c ng gi ng
v i đ ph c t p c a thu t toán đ n hình (m c dù ch a có ch ng minh).
Khóa lu n t t nghi p
21
Tr n H i Y n – K32 CN Toán
2.2.2 Thu t toán gi m th
2.2.2.1 ụ t
Do b
ng thu t toán
c nh y trong thu t toán affin b gi i h n khi nghi m hi n t i x
g n ch m đ n biên c a đa di n l i, trong thu t toán gi m th ng
i ta đ a
thêm vào hàm m c tiêu các s h ng có tác d ng ph t khi x g n ch m đ n biên
c a đa di n l i. Nh v y x s đ
c gi càng cách xa biên c a đa di n l i càng
t t n u x ch a g n v i nghi m t i u.
Thu t toán gi m th kh c ph c đi m y u c a thu t toán t l affin là „b
b y‟ khi g n ch m vào biên c a đa di n l i.
2.2.2.2 Xơy d ng thu t toán
Ta có hình v trên là quá trình ch y thu t toán cho bài toán sau đây:
Khóa lu n t t nghi p
22
Tr n H i Y n – K32 CN Toán
min x1 x2
x 2 x 8
2
1
2 x1 x2 9
3 x x 6
1 2
x1 , x2 0
Bây gi ta xét chi ti t t ng b
c c a thu t toán:
Xét bài toán quy ho ch tuy n tính d ng chính t c:
min ct x,
Ax b,
x 0,
và bài toán quy ho ch tuy n tính đ i ng u c a nó:
max yt b,
yt A st ct ,
s0
V i gi thi t A là ma tr n c p m n có h ng m và c quy ho ch g c và quy
ho ch đ i ng u đ u có nghi m trong.
Ta th y r ng trong thu t toán t l affin khi nghi m t i u x p x hi n
hành g n ti n t i biên c a mi n ch p nh n đ
c thì elip x p x r t d t và b
nh y c a thu t toán r t ng n. Do đó s c i thi n m c tiêu qua các b
c
c là r t
ít. Cách t t nh t đ kh c ph c tình tr ng này là „đ y xa‟ đi m hi n hành ra
kh i biên.
ng th i các b
c c a thu t toán c ng ph i làm gi m d n đ l ch
bù stx (stx c ng chính là l h ng đ i ng u, t c là đ l ch gi a hai giá tr m c
tiêu c a hai bài toán g c và đ i ng u).
đ tđ
c hai đi u này ta đ a thêm vào hàm th đ
c đ nh ngh a nh
sau:
n
n
j 1
j 1
G( x, s) q log s x log x j log s j
t
Khóa lu n t t nghi p
(2.1)
23
Tr n H i Y n – K32 CN Toán
đây q > n là h ng s , log là kí hi u c a loge. ta th y G(x,s) là m t l a hàm
ph t: s h ng đ u đ c ch ng cho l h ng đ i ng u, hai s h ng sau ph t vào
s g n biên c a nghi m trong x và s.
Ta xỨt đ nh lý (2.1): Gi s ồ0 > 0 và (y0,s0) v i s0 >0 là nghi m ch p
nh n đ
c c a bài toán quỔ ho ch g c và quỔ ho ch đ i ng u t
M i thu t toán sao cho
các b
c luôn đ m b o tính ch p nh n đ
c p nghiêm hi n hành và gi m hàm th G(ồ,s) m t l
ng ng.
cc a
ng không ít h n 0
s đ tđ
c c p nghi m g c và đ i ng u v i l h ng đ i ng u (s K )t xK
sau K b
c.
đâỔ
1
1
K [G( x0 , s 0 ) (q n) log n log n]
(2.2)
* Ch ng minh đ nh lý
n
n
j 1
j 1
G( x, s) q log s t x log x j log s j
n
n
j 1
j 1
n log s x log x j log s j (q n) log s t x
t
n log n (q n) log s t x
Ta có đ
n
n
j 1
j 1
c b t đ ng th c trên ếo n log s x log x j log s j đ t c c
t
ti u khi xi si
1 t
s x, i 1,..., n và b ng nlogn. Do đó ta có
n
n
n
j 1
j 1
n log s t x log x j log s j n log n
(2.3)
V i 0 c đ nh thì thu t toán th a mãn:
G( xk 1 , s k 1 ) G ( xk , s k ) , k
Sau K b
c ta có G( xK , s K ) G( x0 , s 0 ) K
Khóa lu n t t nghi p
24
Tr n H i Y n – K32 CN Toán
V iKb
c ồác đ nh thỀo (2.2) thì ta suỔ ra đ
G( xK , s K ) (q n) log
1
c
n log n
M t khác thỀo (2.1) và (2.3) ta có
G( xK , s K ) n log n (q n) log( s K )t xK
Do đó ( s ) x
K t
K
nh lý trên đã kh ng đ nh n u qua m i b
hàm th G(x,s) đ u gi m m t l
c l p c a thu t toán b t k mà
ng c đ nh thì ta s đ t đ
u c a c c p quy ho ch đ i ng u nhau sau m t s nh b
C ng t đ nh lý trên c ng cho ta ý t
c nghi m - t i
c l p.
ng c a thu t toán:
m ib
c
l p, xu t phát t nghi m g c trong hi n hành x > 0 và nghi m trong đ i ng u
hi n hành s > 0 ta c g ng tìm h
ng d sao cho G( x d , s) G( x, s) và x d
v n là nghi m trong g c t c là d ph i th a mãn b đ (1.1):
Ad 0 , ||X-1d || <1
có đ
(2.4)
c b t đ ng th c G( x d , s) G( x, s) ta ph i gi i
min G ( x d , s )
Ad 0,
|| X 1d ||
gi i bài toán phi tuy n trên ta x p x hàm th phi tuy n G ( x d , s ) b i
G( x, s) xG( x, s)t d là ph n chính b c nh t trong công th c Taylor c a
G ( x d , s ) theo d,
G(.,s) t i x, đ c bi t
'
đây xG( x, s) là gradient (đ o hàm c a Gx ( x, s) ) c a
đây G(.,s): n n là phi m hàm nên Gx ( x, s) là
'
vect n chi u và g i là gradient.
Tai m i b
c ta c n gi i bài toán x p x :
Khóa lu n t t nghi p
25