1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

46 837 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 555,73 KB

Nội dung

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.. 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 t

Trang 1

1.4 Thời gian thực hiện thuật toán

Chương II Phương pháp điểm trong

2.1 Tư tưởng của phương pháp điểm trong

2.1.1 Nội dung của ý tưởng

2.1.2 Xác đinh hướ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ương pháp điểm trong

2.2.1 Phươ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

Trang 2

LỜI CẢ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ường

em đã nhận đượ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 được những ý kiến đóng góp của thầy cô và bạn bè để đề tài của em đượ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

Trang 3

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ưới sự hướng dẫn tận tình của thầy giáo Trần Minh Tướ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

Trang 4

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ó khăn thườ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ương pháp đơn hình không còn thực

sự hiệu quả nữa Với những bài toán này người ta thường sử dụng một phương pháp khác là phương pháp điểm trong Để tìm hiểu kỹ hơn về phương

pháp điểm trong tôi đã chọn đề tài: “Phươ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ả các thuật toán của phương pháp điểm trong

3 Phươ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ương pháp đơn hình

Chương II: Phương pháp điểm trong

Trang 5

Chương I BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VÀ

ij 1

ij 1

:

0 0

n

j n

j n

( 1, , )( 1, , )( 1, , )

1

ij 1

0

n

j j j n

j j

Trang 6

c) Dạng chuẩn tắc

ij 1

ij 1

0

n j j n

j j

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

max0

t t

b x

A x c y

b y

A y c y

có dấu tùy ý

Trang 7

 

 

ij 1

ij 1

min

0

t m

i n

i i i

b y

y y

1,

1,1,1,

C  gọi là tập lồi nếu lấy 2 điểm bất kỳ x’ và x”  C thì đoạn

thẳng [x’,x”] 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 x’, x” C, x’ ≠ x” sao cho x0

= x’+ (1- )x” 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:

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:

số rằng buộc của bài toán)

tự do

Trang 8

Đã 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ương án tối ưu hay lời giải của bài toán trong tập hợp các phươ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ương án cực biên 0

x Sau đó kiểm tra xem x0

phải là phương án tối ưu hay không Nếu 0

x chưa phải là phương án tối ưu thì tìm cách cải tiến nó để được một phương án cực biên khác là 0

x tốt hơn x0

theo nghĩa    1 0

f xf x 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ước lặp ta tìm được phương án cực biên tối ưu

Để thực hiện thuật toán đề ra ở trên ta cần làm rõ hai vấn đề:

- Làm thế nào để biết một phươ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ương án cực biên chưa tối ưu tìm được một phương án cực biên mới tốt hơn nó?

Trang 9

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 được tách làm 2 : ma trận cơ sở AJ và phần ngoài cơ sở AK các véc tơ cũng được tách làm 2 phần tương ứng trong và ngoài cơ sở J

K

x x x

 

  

 ,

J K

c c c

 

  

 

Ta có thủ tục đơn hình dưới dạng ma trận như sau:

Bước 1: Tính phương án cực biên tương ứng cơ sở J theo công thức:

Bướ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ơ ước lượng K đều 0 thì kết luận phương án đang xét là phương án tối ưu

 Nếu có thành phần k của véc tơ K dương thì chọn s thỏa

mãn s= max{k>0, kJ } và chuyển sang bước 3

Kiểm tra điều kiện: cột z s 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ước 4

Bước 4:

Chọn chỉ số r thỏa mãn:

Trang 10

thường đượ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ượt quá tốc độ tăng  

của f n Khi n lớn ,   f n cho ta hình dung được mức lớn của   T n ,   f n  

là thướ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

Trang 11

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

Trang 12

Chương II PHƯƠNG PHÁP ĐIỂM TRONG

2.1 Tư tưởng của phương pháp điểm trong

2.1.1 Nội dung của ý tưởng

Phươ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 ở bên trong miền rằng buộc Tên gọi của phương pháp này cũng đã cho thấy ý tưở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ướng di chuyển là tổ hợp của hai thành phần Thành phần thứ nhất

là hướ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ướng tâm

Như vậy để giải quyết bài toán quy hoạch tuyến tính bằng phương pháp này chúng ta phải tìm được 2 thành phần Việc xác định 2 thành phần đó được trình bày dướ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

0

Ax b x

 

Xuất phát từ điểm x nằm bên trong miền rằng buộc, ta di chuyển đến 0điểm mới x1= x0+d Để không vi phạm các rằng buộc phải có Ad = 0 và 

Trang 13

Giả thiết rằng rankA = m Toán tử chiếu lên không gian con Ax là :

  1

P I A AAA

vì z A Pz, ( ) A I( A AA t( t)1A z) (AAA AA t( t)1A z) AzAz 0

Vậy hướng di chuyển là d = Pz

Trong trường hợp hàm mục tiêu là hàm tuyến tính   t

Cách một (phương pháp hàm chắn): Ta cộng thêm vào hàm mục tiêu

một hàm số dươ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:

1( ) ln

n

j j

Cách hai (phương pháp căn chỉnh ellipsoid): 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 x j = 0, nên nếu một ràng buộc sắp vi phạm

Trang 14

tại điểm đang xét thì bán trục của elip tương ứng với biến này sẽ ngắn, hướng

di chuyển sẽ được điều chỉnh để nghiêng về phía bán trục dài hơn của elip

Hướng di chuyển

Trang 15

2.2 Một số thuật toán của phương pháp điểm trong

2.2.1 Phương pháp tỷ lệ affin

2.2.1.1 Ý tưởng của thuật toán

Tại mỗi bướ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ẽ được dùng làm tâm của elip ở bướ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ưới đây

Trang 16

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 ,

,0

t

c x

Ax b x

2 0

2 0

Trang 17

 

0 0

2 21

' ' 1

t

n

i i

i i

Hx AX xb 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 BH 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( 0

: x' n:AX x'0 do đó đóng vai trò hướng –c ở đây phải là hướng P( t 0

x P xA AAAx là hình chiếu của x lên không gian

hàng R(A t ) và x - P(x) là hình chiếu của x lên không gian KerA

CHỨNG MINH: Theo định nghĩa của hình chiếu P lên R(A t ) ta phải tính P(x)= arg min

Trang 18

Vì KerA là phần bù trực giao ( ( )) t

R A nên x-P(x) là hình chiếu của x lên không gian nhân KerA

Vì P là ma trận chiếu lên không gian con Ker( 0

AX ) nên theo bổ đề trên ta có

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 x t 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 x E thì x>0 khi <1 và x0 khi =1 Bổ đề được minh

họa bằng hình học sau và chứng minh được bằng giả tích:

Trang 20

Do đó 0 0

j j

x s  X s  > 0, suy ra sj > 0, mặt khác theo định nghĩa chuẩn

||X s|| thì phải có 0 x si0 i    0 i jxi o  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

Trang 21

6 Kiểm tra tính tối ưu: nếu xk j1  0 với một j nào đó thì ngừng xk1

khi đó là nghiệm gốc tối ưu Trái lại đặt k  k 1và 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 0

x ta đưa thêm vào biến x n1 và xét bài toán tăng cường:

1, 1 1

chứng minh được xn+1= 0 là nghiệm tối ư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

)2 A t 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

Trang 22

2.2.2 Thuật toán giảm thế

2.2.2.1 Ý tưởng thuật toán

Do bướ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:

Trang 23

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:

, 0,

t

y b

y A s c s

í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:

( , ) log log log

t

G x sq s x x  s (2.1)

Trang 24

ở đâ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ử x 0 >0 và (y0,s0) với s 0 >0 là nghiệm chấp nhận được của bài toán quy hoạch gốc và quy hoạch đối ngẫu tương ứng Mọi thuật toán sao cho ở các bước luôn đảm bảo tính chấp nhận được của cặp nghiêm hiện hành và giảm hàm thể G(x,s) một lượ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 ( ) K t K

1 1( k , k ) ( k, k) ,

G xs  G x s    k

( K, K) ( , )

G x sG x s  K

Trang 25

Với K bước xác định theo (2.2) thì ta suy ra được

1( K, K) ( ) log log

Định lý trên đã khẳng định nếu qua mỗi bước lặp của thuật toán bất kỳ mà

hàm thế G(x,s) đều giảm một lượng cố định thì ta sẽ đạt được nghiệm  - tối

ưu của cả cặp quy hoạch đối ngẫu nhau sau một số nhỏ bước lặp

Cũng từ định lý trên cũng cho ta ý tưởng của thuật toán: ở mỗi bướ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à xd

vẫn là nghiệm trong gốc tức là d phải thỏa mãn bổ đề (1.1):

|| ||

G x d s Ad

G xd s theo d, ở đây x G x s( , ) là gradient (đạo hàm của G x s x'( , ) ) của

G(.,s) tại x, đặc biệt ở đây G(.,s):n n là phiếm hàm nên G x sx'( , ) 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ỉ:

Ngày đăng: 31/10/2015, 08:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w