Tải bản đầy đủ (.pdf) (46 trang)

Luận văn sư phạm Phương pháp điểm trong giải bài toán quy hoạch tuyến tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (608.06 KB, 46 trang )

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  AJ1b .
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  AJ1a s
Ki m tra đi u ki n: c t zs  0 t c là z js  0j  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 AJ11 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ó:

0x  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  0i  j . Mà
0

xio  0 nên si  0i  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 xn1 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 ,
s0
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


×