1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng tối ưu hóa

78 695 4
Tài liệu đã được kiểm tra trùng lặp

Đ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 78
Dung lượng 1,46 MB

Nội dung

Phương án cực biên tối ưu: Nếu phương án cực biên là phương án tối ưu của bài toán I thì được gọi là phương án cực biên tối ưu của bài toán I.. Định lý: Nếu bài toán I có phương án thì s

Trang 1

ĐẠI HỌC THÁI NGUYÊN

KHOA CÔNG NGHỆ THÔNG TIN

-o0o -

Bài giảng môn

TỐI ƯU HÓA

THÂN QUANG KHOÁT

Trang 2

MỤC LỤC

Chương 1 MỞ ĐẦU 3

§1 ĐỐI TƯỢNG NGHIÊN CỨU 3

1.1 Bài toán tối ưu tổng quát 3

1.2 Phân loại bài toán 3

1.3 Một số mô hình thực tế 4

§2 BÀI TOÁN QUY HOẠCH TUYẾN TÍNH 6

2.1 Dạng tổng quát 6

2.2 Dạng chuẩn tắc 7

2.3 Dạng chính tắc 7

§3 MỘT SỐ KIẾN THỨC BỔ TRỢ 9

3.1 Tập hợp lồi và điểm cực biên 9

3.2 Đa diện lồi (polytope) 10

§4 CẤU TRÚC MIỀN RÀNG BUỘC CỦA BÀI TOÁN 11

QUY HOẠCH TUYẾN TÍNH 11

4.1 Phương án cực biên và phương án cực biên tối ưu 11

4.2 Điều kiện cần và đủ để một phương án là cực biên 13

4.3 Cơ sở của một phương án cực biên 15

Chương 2 THUẬT TOÁN ĐƠN HÌNH 17

§1 MỞ ĐẦU 17

1.1 Bài toán 17

1.2 Phương pháp Hình Học 17

§2 THUẬT TOÁN ĐƠN HÌNH 19

2.1 Tư tưởng của thuật toán đơn hình 19

2.2 Công thức số gia hàm mục tiêu - dấu hiệu tối ưu 20

2.3 Tìm phương án cực biên tốt hơn - Công thức đổi cơ sở 21

2.4 Thuật toán đơn hình (Simplex method) 23

2.5 Bảng đơn hình 24

§3 TÍNH HỮU HẠN CỦA THUẬT TOÁN ĐƠN HÌNH 28

3.1 Trường hợp bài toán không suy biến 28

3.2 Trường hợp bài toán suy biến 28

§4 PHƯƠNG PHÁP HAI PHA 31

4.1 Vấn đề 31

4.2 Phương pháp hai pha giải bài toán QHTT 32

Trang 3

4.3 Một số ví dụ 34

§5 PHƯƠNG PHÁP ĐÁNH THUẾ 36

§6 BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU 41

6.1 Bài toán đối ngẫu 41

6.2 Các định lý đối ngẫu 42

6.3 Một số ứng dụng của lý thuyết đối ngẫu 44

6.4 Thuật toán đơn hình đối ngẫu 46

Chương 3 TỐI ƯU HOÁ RỜI RẠC 56

§1 BÀI TOÁN TỐI ƯU HOÁ RỜI RẠC 56

1.1 Mở đầu 56

1.2 Một số bài toán tối ưu hoá rời rạc tiêu biểu 56

§2 PHƯƠNG PHÁP CẮT GOMORY GIẢI BÀI TOÁN QHTT NGUYÊN 58

2.1 Tư tưởng chung của phương pháp cắt 58

2.2 Phương pháp cắt Gomory cho bài toán QHTT nguyên hoàn toàn 59

2.3 Phương pháp cắt Gomory cho bài toán QHTT nguyên bộ phận 64

§3 PHƯƠNG PHÁP NHÁNH CẬN 65

3.1 Sơ đồ tổng quát 65

3.2 Thuật toán nhánh cận Land-Doig giải bài toán QHTT nguyên 66

3.3 Một số ví dụ 68

§4 BÀI TOÁN CÁI TÚI 72

4.1 Đưa bài toán QHTT Nguyên về bài toán cái túi 72

4.2 Phương pháp Quy hoạch động giải bài toán cái túi 74

Tài liệu tham khảo 77

Trang 4

Chương 1 MỞ ĐẦU

Đ1 ĐỐI TƯỢNG NGHIấN CỨU

1.1 Bài toỏn tối ưu tổng quỏt

Bài toỏn tối ưu tổng quỏt cú dạng như sau:

D được gọi là miền ràng buộc (hay miền chấp nhận được) Mỗi một vectơ

được gọi là một phương ỏn của bài toỏn (hay lời giải chấp nhận được)

(đối với bài toán tìm Max)

*

*

( ) ( ) ,( ) ( ) ,

f x f x x D

f x f x x D

khi đú giỏ trị f x( )* được gọi là giỏ trị tối ưu

1.2 Phõn loại bài toỏn

Chỳng ta thấy rằng, một cỏch hiển nhiờn nhất để giải bài toỏn đặt ra là: Tớnh giỏ trị của hàm f x( ) trờn tất cả cỏc phương ỏn của miền ràng buộc sau đú so sỏnh cỏc giỏ trị của hàm mục tiờu thu được để tỡm ra phương ỏn tối ưu Tuy

Trang 5

nhiên cách làm này là rất khó hoặc đúng hơn là không thể làm được trong trường hợp tổng quát (chẳng hạn tập là không đếm được) Vì vậy chúng ta phải phân tách nhỏ ra bằng cách thêm một số điều kiện nào đó để được các bài toán “dễ giải” Người ta đã phân ra một số loại bài toán như sau:

D

+ Quy hoạch tuyến tính

+ Quy hoạch lồi

+ Quy hoạch phi tuyến

+ Quy hoạch toàn phương

+ Quy hoạch rời rạc

+ Quy hoạch nguyên

1.3 Một số mô hình thực tế

Ta sẽ xem xét một số bài toán trong thực tế đưa đến bài toán tối ưu hoá và

mô mình toán học tương ứng của nó

1.3.1 Bài toán lập kế hoạch sản xuất cho một nhà máy

Một nhà máy có khả năng sản xuất loại sản phẩm Để sản xuất loại

sản phẩm này thì cần m loại nguyên liệu Biết:

Trang 6

Tổng lợi nhuận thu được theo kế hoạch sản xuất x sẽ là Như vậy yêu cầu của bài toán này đưa về mô hình toán học như sau:

ij j i j

Mô hình thu được chính là một bài toán quy hoạch tuyến tính

1.3.2 Bài toán cái túi

Một nhà thám hiểm cần đem theo một cái túi có trọng lượng không quá b

Có loại đồ vật có thể đem theo Đồ vật thứ có trọng lượng là và giá trị

sử dụng là

( 1,

j

c j= n) Hỏi rằng nhà thám hiểm cần lấy các loại đồ vật nào và

số lượng bao nhiêu để cho tổng giá trị sử dụng của các đồ vật mang theo là nhiều nhất ?

Gọi x j j ( =1,n) là số lượng đồ vật loại mà nhà thám hiểm sẽ đem theo

Khi đó tổng giá trị của các đồ vật đó là , tổng trọng lượng của chúng là

Từ giả thiết ta có Như vậy yêu cầu của bài toán sẽ đưa

về việc giải bài toán sau:

max

n

j j j n

j j j j

Đây lại là một bài toán quy hoạch tuyến tính Nguyên

1.3.3 Bài toán vận tải

Có m kho hàng cùng chứa một loại hàng hoá, lượng hàng có ở kho thứ i là ( 1,m)

i

a i = Có n địa điểm tiêu thụ loại hàng nói trên, với nhu cầu tiêu thụ ở

điểm là j b j j ( =1,n) Biết là cước phí vận chuyển một đơn vị hàng hoá từ kho thứ đến điểm tiêu thụ thứ Hãy lập kế hoạch vận chuyển hàng hoá từ các kho đến các điểm tiêu thụ sao cho tổng chi phí vận chuyển là nhỏ nhất

ij c

Ký hiệu x ij là lượng vận chuyển từ kho i đến điểm tiêu thụ thứ , khi đó: j

Trang 7

là lượng hàng vận chuyển đến điểm tiêu thụ thứ j

khi đó bài toán lập kế hoạch trên có thể đưa về mô hình toán học như sau:

1 1 1 1

m n

ij ij

i j n

ij i j

n

ij j j

Đây chính là một bài toán Quy hoạch tuyến tính

§2 BÀI TOÁN QUY HOẠCH TUYẾN TÍNH 2.1 Dạng tổng quát

Tìm véctơ ( , , ,1 2 )t sao cho:

1

2 1

n

pj j p j

n

kj j k j

j j j

Dễ thấy rằng:

1) f x( )→min ⇔ −f x( )→max

Trang 8

các biến x n i+ được gọi là các biến bù

6) Một biến không ràng buộc về dấu (tự do) có thể được thay bằng hiệu hai biến không âm:

j x

ij j i j

t

Ax b x

Trang 9

ij j i j

t

Ax b x

Trang 10

§3 MỘT SỐ KIẾN THỨC BỔ TRỢ 3.1 Tập hợp lồi và điểm cực biên

3.1.1 Tập hợp lồi (convex set)

Đoạn thẳng: cho hai điểm khi đó đoạn thẳng nối hai điểm đó là tập hợp điểm có dạng

a b ∈ℜ

[ ]

{x∈ℜn x=λ a+ −(1 λ) ,b λ∈ 0,1} Nếu thì ta sẽ có đường thẳng đi qua hai điểm

λ∈ℜ,

a b Tập lồi: Tập được gọi là tập lồi nếu lấy hai điểm bất kỳ thì đoạn thẳng nối hai điểm này thuộc hoàn toàn trong C

i i

i=c x β}

H x là các tập lồi trong ℜn

Bổ đề: Giao của các tập lồi cũng là một tập lồi

3.1.2 Điểm cực biên (vertex)

Điểm cực biên: điểm 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 thẳng nào nối hai điểm khác nhau thuộc C Tức là,

Ví dụ: C là đa giác lồi trong ℜ thì các đỉnh của nó chính là các điểm cực biên,

các điểm khác đều không là điểm cực biên Tất cả các điểm trên đường tròn là

2

Trang 11

điểm cực biên của hình tròn đó

3.2 Đa diện lồi (polytope)

3.2.1 Tổ hợp lồi (convex combinatorial)

Định nghĩa: Một tổ hợp lồi của các điểm x i∈ℜn (i=1,m là điểm )

Định lý: Tập C là tập lồi khi và chỉ khi i , 0 ( 1, )

i

i x C

Bổ đề: Tập hợp M gồm mọi tổ hợp lồi của hữu hạn các điểm cho trước là một

tập lồi

3.2.2 Đa diện lồi

Định nghĩa: Tập hợp M gồm mọi tổ hợp lồi của một số hữu hạn điểm cho trước

được gọi là một đa diện lồi sinh bởi hệ điểm đã cho

Ví dụ: Đoạn thẳng nối hai điểm A và B là một đa diện lồi

Đa diện lồi sinh bởi 3 điểm A, B, C trên mặt phẳng là một tam giác Ba điểm A, B, C là các điểm cực biên của đa diện lồi này

Định lý: Nếu M là một đa diện lồi thì nó có điểm cực biên Số điểm cực biên của M

Trang 12

là hữu hạn và mọi điểm của M đều là các tổ hợp lồi của các điểm cực biên đó

Như vậy định lý này cho chúng ta biết được một tính chất quan trọng của

đa diện lồi, đó là số đỉnh cực biên của một đa diện lồi cho trước là hữu hạn

Về mặt hình học ta thấy, đa diện lồi là một tập lồi và là giao của một số các nửa không gian đóng trong Tuy nhiên điều ngược lại chưa chắc đúng Vậy thì làm thế nào để biết được phần giao của các nửa không gian đóng trong là một đa diện lồi ?

n

× b∈ℜm φ

§4 CẤU TRÚC MIỀN RÀNG BUỘC CỦA BÀI TOÁN

QUY HOẠCH TUYẾN TÍNH 4.1 Phương án cực biên và phương án cực biên tối ưu

Không mất tổng quát ta xét bài toán QHTT dạng chính tắc như sau:

Trang 13

Phương án cực biên tối ưu: Nếu phương án cực biên là phương án tối ưu của bài toán (I) thì được gọi là phương án cực biên tối ưu của bài toán (I)

0

x

0

x

Người ta đã chứng minh được định lý sau đây:

Định lý: Xét tập G= ∈ℜ{x n Ax b≥ }, Giả sử Khi đó có điểm cực biên khi và chỉ khi Đặc biệt hơn, nếu G thì đều có thể được viết dưới dạng trong đó

Hệ quả: xét miền D= ∈ℜ{x n Ax b x= , ≥0}, Khi đó nếu

thì nó có điểm cực biên và mọi điểm luôn tồn tại biểu diễn

trong đó

D

i i

0

j

Ay =

Bây giờ ta sẽ dùng hệ quả này để chứng minh kết quả sau cho bài toán (I)

Định lý: Nếu bài toán (I) có phương án thì sẽ có phương án cực biên, và nếu

hàm mục tiêu bị chặn dưới trong thì bài toán sẽ có phương án tối ưu, do đó

có phương án cực biên tối ưu

D

Chứng minh:

Rõ ràng theo hệ quả trên ta có: nếu bài toán (I) có phương án thì nó sẽ có

Trang 14

phương án cực biên

Bây giờ ta giả thiết rằng (I) có hàm mục tiêu bị chặn dưới trong D Khi

đó bài toán (I) sẽ có phương án cực biên tối ưu Thật vậy:

Theo hệ quả thì mọi phương án x của (I) đều có thể viết dưới dạng:

Gọi ( ) min{ ( ),f x r = f x i i = m1, } Ta sẽ chứng minh rằng sẽ là phương án tối

ưu của bài toán (I)

i j i

r

Điều này trái với giả thiết

hàm mục tiêu bị chặn dưới trên miền ràng buộc D

Vậy ( )f xf x( ),r ∀ ∈x D, hay là phương án tối ưu của bài toán (I) Do đó ta

r

x

4.2 Điều kiện cần và đủ để một phương án là cực biên

Xét bài toán QHTT dạng chính tắc (I) Ký hiệu là các véctơ cột của ma trận ràng buộc

Trang 15

(nếu có phương trình nào trong hệ là tổ hợp tuyến tính của các phương trình khác thì ta có thể loại bỏ đi) Khi đó ta có định lý sau:

Ax b=

Định lý: Phương án là một phương án cực biên khi và chỉ khi hệ các véctơ cột của ma trận tương ứng với các thành phần dương của độc lập tuyến tính

“Điều kiện cần”: giả thiết x0∈D là một phương án cực biên của (I)

đó tồn tại các số không đồng thời bằng 0 để Đặt

, trái với giả thiết là phương án cực biên của (I) Vậy hệ { độc lập tuyến tính

0

x

1, , ,2 k

“Điều kiện đủ”: giả thiết hệ {a a1, , ,2 a k độc lập tuyến tính

Giả sử x0 không là phương án cực biên của (I) Khi đó

x = x′+ x′′ Dễ dàng thấy rằng ( ) thành phần cuối cùng của

x cũng bằng 0, còn các thành phần khác là không âm Vậy ta có:

Trang 16

1 1 0

})

các véctơ cột tương ứng là:

chúng lập thành hệ độc lập tuyến tính Vậy là một phương án cực biên

4.3 Cơ sở của một phương án cực biên

để được một hệ véctơ độc lập tuyến tính cực đại gồm đủ véctơ, nghĩa là ta

Trang 17

Cơ sở của phương án cực biên: ta gọi hệ véctơ nói trên là một cơ sở của phương án cực biên Đôi khi ta còn gọi tắt J là cơ sở của

{a j J j: ∈ }0

Định nghĩa: một phương án cực biên là không suy biến nếu có đúng

thành phần dương, tức là Ngược lại thì gọi là suy biến

0

( ( )0 )

Ví dụ: Đối với ví dụ trên thì rank A =( ) 3

Do đó nó là phương án cực biên không suy biến

J x+ =

1( ) {3} {2; 4; 3}

J J x= + ∪ =

Bài toán QHTT gọi là không suy biến nếu mọi phương án cực biên của nó không suy biến Rõ ràng là nếu một phương án là không suy biến thì nó chỉ có một cơ sở duy nhất Như vậy nếu bài toán QHTT là không suy biến thì số cơ sở nhiều nhất là (vì lấy m véctơ từ véctơ), do đó số phương án cực biên của

bài toán QHTT nhiều nhất cũng chỉ là Vậy số các phương án cực biên là hữu hạn

m n

m n C

Trang 18

Chương 2 THUẬT TOÁN ĐƠN HÌNH

§1 MỞ ĐẦU 1.1 Bài toán

Ta xét bài toán QHTT dạng chính tắc sau:

- Thuật toán đơn hình (do Dantzig đề xuất)

- Các phương pháp điểm trong (do Karmarkar đề xuất)

- Các phương pháp Ellipsoid (do Khachian đề xuất)

Trong đó các phương pháp Điểm trong và phương pháp Ellipsoid là các phương pháp có độ phức tạp tính toán là đa thức, còn phương pháp Đơn hình thì không Tuy nhiên trong thực tế tính toán thì người ta thấy rằng, phương pháp đơn hình là rất hiệu quả, đồng thời nó cũng là thuật toán dễ hiểu và dễ thực hiện Một trường hợp đặc biệt là khi chúng ta xét những bài toán QHTT trong không gian 2 chiều hoặc 3 chiều thì chúng ta có thể dùng phương pháp hình học khá hữu hiệu để giải

Trang 19

một nửa mặt phẳng Như vậy tập D là giao của m nửa mặt phẳng sẽ là một đa

giác lồi trên mặt phẳng

Phương trình khi α thay đổi sẽ xác định trên mặt phẳng các

đường thẳng song song với nhau

1 1 2 2

c x +c x =α

Định nghĩa: Với mỗi một giá trị của thì đường thẳng

được gọi là một đường mức

α c x1 1+c x2 2=α

Với mỗi điểm x=( , )x x1 2 ∈D sẽ nằm trên đường mức có giá trị mức là

1 1 2 2

c x +c x = Như vậy bài toán đặt ra có thể phát biểu như sau: Trong số các α

đường mức cắt tập D , hãy tìm đường mức có giá trị mức nhỏ nhất α

Ta thấy rằng nếu dịch chuyển các đường mức song song các đường mức theo hướng véctơ pháp tuyến của chúng thì giá trị của mức sẽ tăng, nếu dịch chuyển theo hướng ngược lại thì giá trị mức sẽ giảm Vì vậy chúng ta

có thể giải bài toán đặt ra theo cách như sau: Bắt đầu từ một đường mức cắt D ,

ta dịch chuyển đường mức theo hướng ngược với hướng véctơ cho đến khi nào việc dịch chuyển tiếp theo làm cho đường mức không cắt D nữa thì dừng Các điểm của nằm trên đường mức này sẽ là các lời giải cần tìm, còn giá trị mức chính là giá trị tối ưu của bài toán

1 2( , )

c= c c

1 2( , )

(1, 1)

c = −

Trang 20

Vậy x =* (0; 7) là phương án tối ưu và f x =−( )* 7

§2 THUẬT TOÁN ĐƠN HÌNH 2.1 Tư tưởng của thuật toán đơn hình

Xét bài toán QHTT dạng chính tắc:

( )0

t

Ax b x

Trang 21

trong đó c x, ∈ℜn, b∈ℜm, Alµ ma trËn cÊp m n×

Chúng ta đã biết rằng:

- Nếu bài toán (I) có phương án thì có phương án cực biên

- Nếu bài toán (I) 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

Vì tập hợp các phương án cực biên là hữu hạn nên ta có thể tìm một phương án tối ưu (hay một lời giải của bài toán) Vì vậy Dantzig đã đề xuất một

thuật toán như sau (gọi là thuật toán đơn hình): Xuất phát từ một phương án cực

biên Kiểm tra đã là phương án tối ưu hay chưa Nếu chưa là phương

án tối ưu thì ta tìm cách chuyển sang một phương án cực biên mới là tốt hơn theo nghĩa

2.2 Công thức số gia hàm mục tiêu - dấu hiệu tối ưu

Giả sử ta có phương án cực biên x0 với cơ sở J tương ứng Khi đó ta có:

1

n j j

Trang 22

ta gọi (2.2.3) là khai triển của một phương án bất kỳ qua cơ sở J

Bây giờ ta xét hàm mục tiêu:

) Do đó ta có dấu hiệu tối ưu sau:

2.3 Tìm phương án cực biên tốt hơn - Công thức đổi cơ sở

Giả sử với cơ sở là một phương án cực biên nhưng chưa phải là phương án tối ưu, khi đó Giả sử

ta sẽ tìm phương án cực biên mới với cơ sở chỉ khác J một véctơ:

, nghĩa là ta sẽ đưa véctơ vào cơ sở thay thế cho véctơ bị

loại khỏi cơ sở J các véctơ và phải được lựa chọn sao cho tốt hơn

k s θ

⎪⎪

⎪⎩

Trang 23

trong đó là một số dương sẽ được xác định sau sao cho là một phương án cực biên

víi

1 0

b) Trường hợp 2: Nếu , khi đó theo (2.2.6) số θ không thể lớn tuỳ

ý, nó phải thoả mãn điều kiện Như vậy có thể lấy:

Trang 24

víi víi

víi

0 1

0 0

r j rs r

j js rs

j J j s x

Từ (2.2.7) ta thấy f x( )1 ≥f x( )0 nên tốt hơn x1 x0

Định lý: Phương án được xác định theo công thức (2.2.8) là phương án cực

biên với cơ sở

1

x

1 { }\{ }

J = ∪J s r

Các công thức (2.2.7), (2.2.8) cho ta cách tìm các thành phần của phương

án cực biên mới cùng với giá trị hàm mục tiêu x1 f x( )1 thông qua các hệ số khai triển và các ước lượng trong cơ sở J Để có thể tiến hành các bước tiếp

theo, ta cần xác định các đại lượng tương ứng và trong cơ sở Người

ta đã tìm được chúng như sau:

1

,

rk rs jk

rk

jk js rs

Các công thức (2.2.7), (2.2.8), (2.2.9), (2.2.10) gọi là các công thức đổi cơ

sở từ cơ sở sang cơ sở Chúng cho phép dựa vào kết quả bước trước để tìm tất cả các yếu tố cần thiết cho việc thực hiện các bước sau của thuật toán đơn hình

¾ Bước 1: (kiểm tra dấu hiệu tối ưu)

a) Nếu ∆ ≤ ∀ = n k 0, k 1, thì kết luận là phương án tối ưu Kết thúc thuật toán

0

x

Trang 25

b) Ngược lại, nếu ∃∆ >k 0 thì chuyển sang bước 2

¾ Bước 2: (kiểm tra dấu hiệu hàm mục tiêu không bị chặn)

chuyển sang bước 4

¾ Bước 4: Tính các giá trị trong cơ sở mới

theo các công thức (2.2.7), (2.2.8), (2.2.9), (2.2.10) Quay trở lại bước 1

Trang 26

liệu thành một bảng gọi là bảng đơn hình Trong đó các cột ứng với các sẽ

là các véctơ đơn vị với số 1 nằm trên dòng với chỉ số Còn các cột k của bảng

đơn hình là các hệ số khai triển của cột a của ma trận theo cơ sở J Ta ký

hiệu cột này là z , khi đó ta có: , trong đó A là ma trận

có các cột Ma trận được gọi là ma trận cơ sở

,

* Thủ tục trên bảng đơn hình:

¾ Bước 1: (kiểm tra dấu hiệu tối ưu)

- Nếu ∆ ≤ ∀k 0, k thì kết luận x0 là phương án tối ưu

- Ngược lại, nếu ∃ ∉k J:∆ >k thì chuyển sang bước 2

¾ Bước 2: (kiểm tra dấu hiệu hàm mục tiêu giảm vô hạn)

không bị chặn trên miền ràng buộc, bài toán không có phương án tối ưu hữu hạn Kết thúc thuật toán

- Ngược lại, ∀ ∆ >k 0 mµ ∃z > thì chuyển sang bước 3

¾ Bước 3: (xác định dòng xoay, cột xoay, phần tử xoay)

- Chọn cột xoay s theo quy tắc: ∆ =s max{∆ ∆ >k: k 0}

- Chọn dòng xoay r theo quy tắc: 0 { 0 }

- Phần tử z rs được gọi là phần tử xoay

¾ Bước 4: Tiến hành tính toán theo các công thức (2.2.7)-(2.2.10) Ghi nhận các kết quả trong một bảng mới Quay về bước 1

Ví dụ 1: Giải bài toán QHTT sau

Trang 27

Chọn là phương án cực biên xuất phát với cơ sở tương ứng là Ma trận cơ sở là ma trận đơn vị nên ta có ngay bảng đơn hình như sau:

Ta thấy nên chưa phải là phương án tối ưu Do đó ta phải tiến hành đổi cơ sở và tính lại bảng đơn hình

4 -2 3 3/5 0 1/5 1 7/5 0

2 -1 8 -1/5 1 -2/5 0 -9/5 0

6 -3 1 -2/5 0 1/5 0 2/5 1 -17 -4/5 0 -3/5 0 -21/5 0

Trang 28

Ta thấy tất cả các ∆ ≤k 0, k=1,6 nên là phương án tối ưu

Bây giờ ta sẽ đi giải bài toán (2)

Bài toán (2) có phương án cực biên xuất phát là với cơ sở là

Trang 29

6 -7 15 -1 1 0 -1 0 1

3 1 39 -4 2 1 -2 0 0

5 1 47 1 3 0 -1 1 0 -19 -2 -3 0 1 0 0

Ta thấy và mọi phần tử trên cột 4 đều âm Do đó ta kết luận hàm mục tiêu của bài toán không bị chặn dưới trong miền ràng buộc Bài toán không

có lời giải hữu hạn

∆ >

§3 TÍNH HỮU HẠN CỦA THUẬT TOÁN ĐƠN HÌNH

3.1 Trường hợp bài toán không suy biến

Định lý: Nếu bài toán QHTT là không suy biến thì thuật toán đơn hình sẽ kết

thúc sau một số hữu hạn bước

Chứng minh: vì bài toán không suy biến nên x j0> ∀ ∈J0, j

0

r rs

x x x f x f x z

θ

nghĩa là thực sự tốt hơn Sau mỗi bước lặp, nếu không xảy ra trường hợp hàm mục tiêu không bị chặn thì ta sẽ tìm được một phương án mới thực sự tốt hơn phương án cũ, tức là không bao giờ trở lại phương án đã đi qua Nhưng vì

số phương án cực biên là hữu hạn nên sau hữu hạn bước lặp ta sẽ tìm được

1

3.2 Trường hợp bài toán suy biến

Nếu bài toán QHTT suy biến tức là trong một bước lặp có thể ta gặp một phương án cực biên suy biến có Sau bước lặp đó ta thu được một đỉnh mới

Trang 30

r J∈ mà , tức là Khi đó nên , thực chất ta vẫn

đứng ở đỉnh cũ, chỉ có cơ sở J được thay đổi Đến bước lặp tiếp theo vẫn có thể

xảy ra tình huống đó

0( )

r J x∉ + x = r0 0 θ =0 x1=x0

)

Có 2 khả năng xảy ra:

a) Sau một số bước nào đó ta may mắn thoát khỏi đỉnh và chuyển sang một đỉnh mới tốt hơn

0

x

b) Không rời khỏi được đỉnh Vì như đã biết trong bài toán QHTT có hữu hạn các cơ sở nên sau một số bước ta quay lại đúng cơ sở đã xét và từ đó xoay vòng mãi Đó được gọi là hiện tượng xoay vòng Nếu chúng ta không

có cách khắc phục hiện tượng này thì thuật toán đơn hình sẽ có thể kéo dài vô hạn

0

x

Để khắc phục hiện tượng xoay vòng thì người ta đã đưa ra một số các

phương pháp, chẳng hạn: Phương pháp Nhiễu loạn, Phương pháp Tự vựng,…

* Phương pháp tự vựng:

Khái niệm tự vựng (Lexic):

- Ta nói rằng véctơ là tự vựng dương nếu thành phần đầu tiên khác 0 của nó dương Ký hiệu:

c = − − d =(1; 0; 6; 2; 3)−

Bây giờ ta sẽ áp dụng định nghĩa Lexic vào thuật toán đơn hình của chúng

Trang 31

ta Giả sử chúng ta đang thực hiện lần lặp nào đó của thuật toán đơn hình, phương án cực biên đang xét là với cơ sở J tương ứng Giả sử chưa là phương án tối ưu, do đó chúng ta phải chọn một véctơ để đưa vào cơ sở Giả

thiết chúng ta đã chọn được cột s Khi đó

j j jn j

1,

, ta sẽ chọn hàng r theo một quy tắc mới là

Định lý sau đây sẽ khẳng định tính đúng đắn khi áp dụng phương pháp tự vựng

p =lexicp j J

Định lý: Khi áp dụng thuật toán đơn hình giải bài toán QHTT (I) trong mỗi

bước ta đều chọn véctơ đưa ra khỏi cơ sở bằng phương pháp tự vựng thì không bị xoay vòng và thuật toán kết thúc sau hữu hạn bước

Trang 32

(0; 3; 0; 0; 1; 6; 3; 36)(0; 0; 2; 0; 1; 2; 1/3; 4/3)

j J

p p

Trang 33

luôn giả thiết rằng , tức là các dòng của ma trận là độc lập tuyến tính Tuy nhiên trong thực tế không có gì đảm bảo được điều này cả, thậm chí có thể miền ràng buộc là rỗng, vậy thì làm sao mà tìm được phương án cực biên xuất phát?

( )

Để giải quyết những vướng mắc này thì người ta đã đề xuất một phương

pháp gọi là Phương pháp Hai pha

4.2 Phương pháp hai pha giải bài toán QHTT

ij j i j

ij j n i i j

các biến u n i+ (i=1,m) gọi là các biến giả Rõ ràng là (P) là một bài toán QHTT

dạng chính tắc với m ràng buộc và m+n biến

Đối với bài toán (P) ta thấy ngay phương án cực biên xuất phát là

, tức là các biến ( , ) (0, )x u = b x j=0 (j = n và 1, ) u n i+ =b i i ( =1,m), cơ sở tương ứng gồm cột cuối và ma trận cơ sở là ma trận đơn vị Như vậy ta đã có đầy

đủ các thông tin cho việc thực hiện thuật toán đơn hình Tuy nhiên hai bài toán (I) và (P) có quan hệ gì với nhau? Định lý sau đây sẽ chỉ ra mối liên hệ này

m

Định lý: Bài toán ban đầu (I) có phương án cực biên là khi và chỉ khi bài

toán (P) có phương án tối ưu là với

*

x

* *( , )x u u =* 0

Trang 34

Chứng minh:

“Điều kiện cần”: giả thiết bài toán (I) có phương án cực biên là x*

Rõ ràng ( ,0)x* là một phương án của bài toán (P) Hơn nữa, f x u ≥ , ( , ) 0

0

n i

u +

∀ ≥ f x( ,0) 0* = nên ( ,0)x* là phương án tối ưu của (P)

“Điều kiện đủ”: giả thiết là phương án tối ưu của (P) Khi đó ta thấy ngay

là phương án của (I)

*( ,0)x

*

x

Gọi là cơ sở của Khi đó ta thấy ngay nên

độc lập tuyến tính Do đó là phương án cực biên của (I) ■

J ( ,0)x* J J x⊆ +( )* { ,a j J x j ∈ +( )}*

*

x

Như vậy để giải bài toán QHTT (I) thì ta làm theo các bước sau đây: Pha 1,

giải bài toán phụ để tìm phương án cực biên xuất phát cho bài toán (I) Pha 2, giải bài toán (I) với phương án cực biên xuất phát vừa tìm được ở pha 1

Giả sử khi giải bài toán (P) ta thu được phương án tối ưu là Có ba khả năng sau:

* *( , )x u

a) Nếu u ≠* 0 thì kết luận bài toán ban đầu (I) không có phương án

b) Nếu và cơ sở tương ứng không chứa cột nào ứng với các biến giả

Khi đó ta kết luận chính là phương án cực biên xuất phát của bài toán (I)

u =

n i

c) Nếu u =* 0 và trong cơ sở có một số cột ứng với các biến giả u n i+ Khi đó:

- Trường hợp 1: Nếu trên dòng ( của bảng đơn hình cuối cùng mà ta không tìm được chỉ số ngoài cơ sở mà thì ta loại bỏ hàng

và loại bỏ biến giả tương ứng

- Trường hợp 2: Nếu trên dòng ( của bảng đơn hình cuối cùng mà ta

tìm được chỉ số k ngoài cơ sở mà thì ta thực hiện phép biến đổi bảng đơn hình với phần tử xoay chính là để đưa k vào cơ sở thay cho

Lặp lại cách làm này ta sẽ loại bỏ hết các cột ứng với các biến giả ra khỏi cơ sở Cuối cùng ta sẽ thu được cơ sở xuất phát cho bài toán (I) gồm

Chú ý: Khi áp dụng phương pháp hai pha, nếu trong ma trận có một cột là

véctơ đơn vị với phần tử bằng 1 tại dòng i thì ta không cần thêm biến giả

A

n i

u +

Trang 35

tương ứng với dòng i Có bao nhiêu cột của ma trận là véctơ đơn vị khác

nhau thì ta bớt được bấy nhiêu biến giả

Trang 36

* *( , ) (0; 0; 0.5; 2.5; 0; 0)x u = t

Vậy phương án tối ưu của bài toán ban đầu là và giá trị tối

Trang 37

Nhưng nên ta kết luận bài toán (*) không có phương án

* *( , ) (25; 0; 0; 33; 2; 0)x u =

pháp hai pha Để khắc phục yếu điểm này thì người ta đã đưa ra phương pháp

đánh thuế (kết hợp hai pha lại thành một) như sau đây:

Trang 38

ij j i j

0 0( , )x u x0=0,u0=b

}{ 1, ,

Dễ dàng thấy rằng nếu (M) có một phương án tối ưu mà thì

sẽ làm cho giá trị tối ưu rất lớn (bị đánh thuế rất nặng) Hơn nữa, nếu là phương án tối ưu của (I) thì cũng là phương án tối ưu của (M) Định lý sau đây khẳng định rõ điều này:

* *( , )x u u ≠* 0

*

x

*( ,0)x

Định lý: tồn tại một số dương M0 đủ lớn để ∀ >M M0 thì

a) Nếu bài toán (I) có phương án thì mọi phương án cực biên tối ưu

của bài toán (M) phải có

( , )x u

0

u = b) Bài toán (I) có phương án tối ưu khi và chỉ khi bài toán (M) có phương

án tối ưu là

*

x

*( ,0)x Chứng minh (xem trong [2])

Như vậy việc giải bài toán (I) có thể đưa về việc giải bài toán (M) Tuy nhiên, khi giải bài toán (M) thì cần chú ý một số điểm sau:

Trang 39

* Chú ý:

a) Trong khi giải bài toán (M) thì ta không quan tâm đến giá trị cụ thể của

Chỉ biết rằng nó là một số vô cùng lớn

M

b) Vì hàm mục tiêu của bài toán (M) phụ thuộc vào nên các ước lượng

trong thuật toán đơn hình cũng phụ thuộc vào M Ta sẽ viết nó dưới

dạng sau:

M k

k α k

β

Sau khi giải bài toán (M) thì sẽ xảy ra một trong các trường hợp sau:

- Thu được phương án tối ưu là thì ta kết luận chính là phương án tối ưu cần tìm

+Nếu cơ sở đang xét không có thành phần tương ứng với biến giả thì

ta kết luận bài toán (I) có phương án nhưng hàm mục tiêu không bị chặn dưới trong miền ràng buộc

+Ngược lại thì ta giải pha một trong phương pháp hai pha để xét xem bài toán (I) có phương án hay không

Ví dụ: Giải bài toán QHTT sau

Ngày đăng: 10/10/2013, 10:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đức Nghĩa. Tối ưu hoá (Quy hoạch tuyến tính và rời rạc). NXB giáo dục, 1999 Sách, tạp chí
Tiêu đề: Tối ưu hoá (Quy hoạch tuyến tính và rời rạc)
Nhà XB: NXB giáo dục
[2] Nguyễn Ngọc Thắng, Nguyễn Đình Hoá. Quy hoạch tuyến tính. NXB ĐHQG, 2004 Sách, tạp chí
Tiêu đề: Quy hoạch tuyến tính
Nhà XB: NXB ĐHQG
[4] Bùi Minh Trí. Quy hoạch toán học, các phương pháp tối ưu hoá, các mô hình thực tế, các chương trình mẫu Pascal. NXB khoa học và kỹ thuật, 2001 Sách, tạp chí
Tiêu đề: Quy hoạch toán học, các phương pháp tối ưu hoá, các mô hình thực tế, các "chương trình mẫu Pascal
Nhà XB: NXB khoa học và kỹ thuật
[5] Phan Quốc Khánh, Trần Huệ Nương. Quy hoạch tuyến tính, lý thuyết cơ bản, phương pháp đơn hình, bài toán mạng, thuật toán điểm trong. NXB giáo dục, 2000 Sách, tạp chí
Tiêu đề: Quy hoạch tuyến tính, lý thuyết cơ bản, phương "pháp đơn hình, bài toán mạng, thuật toán điểm trong
Nhà XB: NXB giáo dục
[6] Bùi Thế Tâm, Trần Vũ Thiệu. Các phương pháp tối ưu hoá. NXB giao thông vận tải, 1998 Sách, tạp chí
Tiêu đề: Các phương pháp tối ưu hoá
Nhà XB: NXB giao thông vận tải
[7] H.W. Lenstra. Integer programming with a fixed number of variables. Math. Oper. Res., vol. 8 , 538–548, 1983 Sách, tạp chí
Tiêu đề: Integer programming with a fixed number of variables
[8] J. A. De Loera, D. Haws, R. Hemmecke, P. Huggins, R. Yoshida. A Computational Study of Integer Programming Algorithms based on Barvinok's Rational Functions. Springer- verlag, 2005 Sách, tạp chí
Tiêu đề: A Computational Study "of Integer Programming Algorithms based on Barvinok's Rational Functions
[9] Barvinok, A.I. Polynomial time algorithm for counting integral points in polyhedra when the dimension is fixed. Math. Oper. Res., 19, 769-779, 1994 Sách, tạp chí
Tiêu đề: Polynomial time algorithm for counting integral points in polyhedra when "the dimension is fixed
[10] M. Dyer, R. Kannan. On Barvinok’s Algorithm for Counting Lattice Points in fixed dimension. Math. Oper. Res, Vol. 22, 545-549, 1997 Sách, tạp chí
Tiêu đề: On Barvinok’s Algorithm for Counting Lattice Points in fixed "dimension
[11] A. Barvinok. The Complexity of Generating Functions for Integer Points in Polyhedra and Beyond. 2000 Sách, tạp chí
Tiêu đề: The Complexity of Generating Functions for Integer Points in Polyhedra "and Beyond
[12] J.E. Mitchell, P.M. Pardalos, M.G.C. Resende. Interior point methods for combinatorial optimization. Kluwer Academic Publishers, 1998 Sách, tạp chí
Tiêu đề: Interior point methods for combinatorial "optimization
[13] I. Adler, N. Karmarkar, M.G.C. Resende, G. Veiga. An implementation of Karmarkar’s algorithm for linear programming. Math. Programming, vol. 44 , 297–335, 1989 Sách, tạp chí
Tiêu đề: An implementation of Karmarkar’s "algorithm for linear programming
[14] R.E. Gomory. Solving Linear Programming Problems in Integers. In Combinatorial Analysis, AMS, 211-216, 1960 Sách, tạp chí
Tiêu đề: Solving Linear Programming Problems in Integers

HÌNH ẢNH LIÊN QUAN

2.5. Bảng đơn hình - Bài giảng tối ưu hóa
2.5. Bảng đơn hình (Trang 25)

TỪ KHÓA LIÊN QUAN

w