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

Phương pháp nhánh – cận cho bài toán quy hoạch nguyên

20 225 0

Đ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 20
Dung lượng 287,95 KB

Nội dung

HỒ CHÍ MINH Lê Văn Thìa PHƯƠNG PHÁP NHÁNH – CẬN CHO BÀI TOÁN QUY HOẠCH NGUYÊN LUẬN VĂN THẠC SĨ TOÁN HỌC... Nó thu hút sự quan tâm của các nhà khoa học nghiên cứu trong các lĩnh vực: k

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH

Lê Văn Thìa

PHƯƠNG PHÁP NHÁNH – CẬN CHO BÀI TOÁN QUY HOẠCH NGUYÊN

LUẬN VĂN THẠC SĨ TOÁN HỌC

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH

Lê Văn Thìa

PHƯƠNG PHÁP NHÁNH – CẬN CHO BÀI TOÁN QUY HOẠCH NGUYÊN

Chuyên ngành: Toán Giải Tích

Mã số: 60 46 01

LUẬN VĂN THẠC SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS Trịnh Công Diệu

Thành phố Hồ Chí Minh – 2012

Trang 3

LỜI CẢM ƠN

Tác giả luận văn xin bày tỏ lòng kính trọng và biết ơn sâu sắc đến thầy TS.Trịnh Công Diệu, Trưởng bộ môn Toán ứng dụng Trường Đại học Sư phạm Tp.Hồ Chí Minh đã tận tâm hướng dẫn, chỉ bảo tận tình trong suốt quá trình hoàn thành đề tài nghiên cứu

Xin chân thành cảm ơn các thầy, cô trong Ban giám hiệu trường, Phòng sau đại học, Khoa Toán – Tin Trường Đại học Sư phạm Tp.Hồ Chí Minh đã tạo điều kiện thuận lợi trong việc học tập, trang bị kiến thức để có thể hoàn thành luận văn

Bên cạnh đó, tôi xin cảm ơn các bạn bè, đồng nghiệp đã giúp đỡ tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn

Cuối cùng, tôi xin cảm ơn gia đình và những người thân đã động viên giúp

đỡ tôi trong quá trình nghiên cứu và hoàn thành luận văn

Tác giả luận văn

Lê Văn Thìa

Trang 4

LỜI MỞ ĐẦU

Quy hoạch nguyên (hay quy hoạch rời rạc) là một hướng quan trọng của quy

hoạch toán học Nó nghiên cứu lớp bài toán quy hoạch trong đó thêm điều kiện các biến chỉ nhận giá trị trên tập số nguyên Lớp bài toán này rất phổ biến trong thực tế

Nó thu hút sự quan tâm của các nhà khoa học nghiên cứu trong các lĩnh vực: kinh

tế, điều khiển, thiết kế, sinh học,… Chính trong các lĩnh vực đó các phương pháp liên tục tỏ ra kém hiệu quả khi nghiên cứu các đối tượng không thể chia nhỏ tùy ý, thì quy hoạch nguyên là công cụ chủ yếu nghiên cứu hiệu quả các lĩnh vực đó

Có thể nói quy hoạch nguyên bắt đầu khai sinh lịch sử của mình từ năm

1958, khi công bố thuật toán nổi tiếng của Gomory về phương pháp cắt Sau đó một thời gian dài, phương pháp cắt là công cụ duy nhất để giải các bài toán quy hoạch nguyên Nhưng từ khi phương pháp nhánh – cận xuất hiện trong [Land – Doig

1960] và nhất là dạng hoàn thiện của nó trong [Dakin 1965], nó trở nên ưu thế rõ

rệt Hiện nay phương pháp nhánh – cận là một trong những phương pháp chủ yếu

để giải bài toán quy hoạch nguyên Do đó, việc tìm hiểu về phương pháp nhánh – cận là cần thiết

Mục tiêu của luận văn là tìm hiểu và trình bày lại một cách chi tiết phương pháp nhánh – cận Các vấn đề được đề cập trong luận văn được trình bày một cách chặt chẽ về mặt toán học

Nội dung luận văn gồm ba chương:

Chương 1 “Một số kết quả của Quy hoạch tuyến tính và Giải tích lồi”

trình bày lại một số khái niệm và tính chất của Quy hoạch tuyến tính và Giải tích lồi Các khái niệm đối ngẫu, định lý đối ngẫu, tập lồi, tập lồi đa diện, điểm cực biên, tia cực biên của tập lồi đa diện Đặc biệt là các tính chất về sự biễu diễn của mỗi tập

Trang 5

lồi đa diện hữu tỉ qua tia cực biên và điểm cực biên của nó, sẽ là cơ sở để chứng minh một số kết quả trong chương 2

Chương 2 “Thuật toán nhánh – cận giải bài toán Quy hoạch tuyến tính

nguyên bộ phận” trình bày một cách chặt chẽ và chi tiết cơ sở lý luận của thuật

toán và thuật toán được minh họa bởi việc giải bài toán thực tế

Chương 3 “Giải bài toán Quy hoạch nguyên tuyến tính trên Matlab”

trình bày lại việc dùng phương pháp nhánh – cận giải bài toán Quy hoạch nguyên bằng ngôn ngữ Matlab Giải một số bài toán Quy hoạch nguyên tuyến tính bằng chương trình Matlab R2009a

Do thời gian có hạn nên luận văn này mới chỉ dừng lại ở việc tìm hiểu tài liệu và sắp xếp trình bày lại các kết quả nghiên cứu theo một chủ đề đặt ra Trong quá trình viết luận văn cũng như trong quá trình xử lý văn bản chắc chắn không tránh khỏi những sai sót Tác giả luận văn rất mong nhận được sự góp ý của các thầy cô và các bạn đồng nghiệp để luận văn được hoàn thiện hơn

Trang 6

MỤC LỤC

MỤC LỤC 6

Chương 1 1

1.1 Quy hoạch tuyến tính 1

1.2 Tập lồi - Tập lồi đa diện 9

1.3.Điểm cực biên Tia cực biên 15

Chương 2 22

2.1 Bài toán quy hoạch tuyến tính nguyên bộ phận (Mixed Integer Linear Programming) 22

2.2 Thuật toán nhánh – cận giải bài toán quy hoạch tuyến tính nguyên bộ phận 25

2.2.1 Cơ sở lý luận của thuật toán 25

2.2.2 Thuật toán nhánh – cận 31

2.3 Một số kĩ thuật được sử dụng trong thuật toán nhánh- cận 31

2.3.1 Kĩ thuật Hậu tối ưu (Reoptimization) 31

2.3.2 Quy tắc chọn bài toán phân nhánh và quy tắc phân nhánh 34

2.4 Ví Dụ 34

Chương 3 44

3.1 Bài toán Quy hoạch tuyến tính với Matlab 44

3.2 Lập trình thuật toán giải bài toán quy hoạch tuyến tính nguyên bộ phận trên Matlab 47

3.3 Giải bài toán Quy hoạch tuyến tính nguyên bộ phận trên Matlab 50

KẾT LUẬN 53

TÀI LIỆU THAM KHẢO 54

Trang 7

Chương 1

Một số kết quả của Quy hoạch tuyến tính và Giải tích lồi

Ta nhắc lại một số kết quả của quy hoạch tuyến tính mà chúng sẽ được sử dụng để chứng minh các kết quả phía sau

Định nghĩa 1.1.1 Bài toán Quy hoạch tuyến tính dạng tổng quát có dạng:

1

n

j j j

f x c x

=

=∑ →

thỏa hệ ràng buộc:

1

( ) , 1, ,

0 , 1, ,

n

j

j

=

trong đó, , , ,c j a ij b i i =1, , ;m j =1, ,n là các hằng số cho trước

Định nghĩa 1.1.2 Tập D các điểm x=( , ,x1 x n) thỏa hệ các ràng buộc gọi là tập phương án chấp nhận được của bài toán

 Điểm *x ∈ sao cho ( )D f xf x( *) ,∀ ∈ x D được gọi là phương án tối ưu của bài toán Quy hoạch tuyến tính

Định nghĩa 1.1.3 Bài toán Quy hoạch tuyến tính có thể phát biểu dưới dạng ma

trận như sau:

( ) , min

f x =<c x >→

thỏa hệ ràng buộc:

( ) 0

x

≤ =≥

 ≥

trong đó, A là ma trận kích thước m n×

Trang 8

 Phương án x=( , ,x1 x n) được gọi là phương án cơ sở nếu hệ các vectơ cột {A j} của ma trận A ứng với các thành phần x j >0 (j =1, , )n là độc lập tuyến tính

 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 sau:

1

n

j j j

f x c x

=

=∑ →

thỏa hệ ràng buộc:

1

, 1, ,

0 , 1, ,

n

j j

=

Giả sử đã biết một phương án cơ sở chấp nhận được náo đó:

0 ( b1 1, b2 2, , bm m),

X = x =a x =a x =a được xác định từ hệ vectơ cơ sở đơn vị m chiều A b1,A b2, ,A bm

- Khai triển mọi vectơ điều kiện A j j( =1, , )n theo hệ vec tơ cơ sở

1, 2, ,

A A A có nghĩa là tính các hệ số x1j,x2j, ,x mj, j=1, ,n

- Tính các hiệu Z jc j, j=1, , ,n

trong đó

1

, 1, ,

m

i

=

Để tiện tính toán người ta trình bày theo bảng sau:

Trang 9

sở

b

C

0

A c1 … c1 … c 2 … c blc … k c … j c … bm c n

1

AA1 … A2 … A blA kA jA bmA n

1

A c1 x1 x11 … 1 … 0 … 0 … x 1kx 1 j … 0 … x 1n

2

A c2 x 2 x21 … 0 1 … 0 … x 2kx 2 j … 0 … x 2n

… … … …

bl

A c bl x bl x1 … 0 … 0 … 1 … x lkx … 0 ljx ln

… … … …

bm

A c bm x bm x bm … 0 … 0 … 0 … x mkx mj … 1 … x mn

Zc Z0 … … … …

- Nếu Z j − ≤c j 0 ,∀ ∈j {1, 2, , }n thì phương án cơ sở chấp nhận được là phương án tối ưu

- Nếu có một chỉ số j nào đó mà Z jc j > 0 và hệ số x ij ≤0 (∀ =i 1, , )m thì dạng tuyến tính Z không bị chặn trên tập phương án chấp nhận được

- Nếu có một chỉ số j nào đó mà Z jc j > , và 0 A j có ít nhất một hệ số

0

ij

x > thì phương án cơ sở chấp nhận được chưa tối ưu và có thể cải thiện được bằng cách đưa vào cơ sở vectơ có (Z jc j) max>0 Giả sử (Z jc j) max=Z kc k >0, khi đó đưa vectơ A vào cơ sở và loại ra khỏi cơ k

sở vectơ ứng với:

0

min

ik

bi x ik

x t

x

>

=

Trang 10

Giả sử

0

min

ik

x

x x t

x x

>

= = , do đó A bl bị loại ra khỏi cơ sở Cơ sở mới gồm m

vectơ: (A b1, ,A bl−1,A K,A bl+1, ,A bm) Phần tử x được gọi là phần tử giải được lk

Bằng phép biến đổi cơ bản và đơn giản biểu thức:

, ( , 1, , )

,

bl

lk bl k lk

lj

lk lj lj lk

x

x x x bi bl l m

x x x x x

x x x bi bl

x x x x



 ′ =



 ′ =



Ta biến đổi vectơ A k về vectơ đơn vị với x lk =1 Khi hoàn thành phép biến đổi

ta được bảng đơn hình mới và được tính theo cơ sở mới

Quá trình tính toán tương tự được tiếp tục cho đến khi tìm được phương án tối

ưu

Định nghĩa 1.1.4 Giả sử ma trận A có vectơ hàng là a và các vectơ cột là i A j Giả

sử bài toán gốc có cấu trúc ở bên trái trong bảng sau đây Khi đó, bài toán đối ngẫu được định nghĩa với cấu trúc tương ứng bên phải

, min

Z = <c x> → , Với ràng buộc

1

a x b i M

< >= ∈

2

a x b i M

< > ≤ ∈

2

a x b i M

< > ≥ ∈

1

0,

j

xjN

2

0,

j

xjN

j

x tự do jN3

, max

f = <b y> → Với ràng buộc

i

y tự do, iM1

2

0,

i

yiM

3

0,

i

yiM

1

, j j,

y A c j N

< >≤ ∈

2

, j j,

y A c j N

< >≥ ∈

3

, j j,

y A c j N

< > = ∈

Định nghĩa 1.1.5

Trang 11

 Cặp bài toán đối ngẫu không đối xứng là cặp bài toán đối ngẫu mà trong đó những ràng buộc trong bài toán gốc được cho bằng đẳng thức và những ràng buộc của bài toán đối ngẫu được cho bằng bất đẳng thức

 Cặp bài toán đối ngẫu đối xứng là cặp bài toán đối ngẫu mà trong đó các biến của hai bài toán đều không âm và các ràng buộc đều là bất đẳng thức

Định lý 1.1.6.(Định lý đối ngẫu yếu) Cho A là ma trận cỡ m n × , m

b ∈  và

n

c ∈  P={x∈n:Axb} và Q={y∈m: A y T =c y, ≤0} Khi đó

(i) Nếu x P ∈ và y Q ∈ thì <c x, >≥<b y, > (ii) Nếu bài toán min{ ,<c x> ∈:x P} không bị chặn dưới, thì Q = ∅ (iii) Nếu bài toán max{ ,<b y> ∈:y Q} không bị chặn trên thì P = ∅

Chứng minh

Giả sử ma trận A có vectơ hàng là a i i ( =1, , )m và các vectơ cột là ( 1, , )

j

A j= n

(i) Ta đặt

( , ),

u y a x b

v c y A x

= < > −

= − < >

Theo định nghĩa của bài toán đối ngẫu thì y và i <a x i, > − b i cùng dấu, còn ,

c − < y A > và x j cùng dấu Do đó, u i ≥ ∀ và 0, i v j ≥ ∀ 0, j

Nhận xét rằng

,

i i j j

u y Ax b

v c yA x

=< − >

=< − >

Do đó,

≤∑ ∑+ =< > − < > (ii) Nếu bài toán min{ ,<c x> ∈:x P} không bị chặn dưới thì tồn tại dãy { }x k các phương án chấp nhận được sao cho<c x, k >→ −∞ khi k → ∞ Giả sử

Trang 12

y Q

∃ ∈ Khi đó, theo (i) ta có 0

< > ≥ < > ∀ Cho k → ∞ ta được

0

,

b y

< > ≤ −∞ (vô lí) Do đó, Q = ∅

(iii) Nếu bài toán max{ ,<b y > ∈:y Q} không bị chặn trên thì thì tồn tại dãy {y k} các phương án chấp nhận được sao cho<b y, k >→ +∞ khi k → ∞ Giả sử

0

x P

∃ ∈ Khi đó, theo (i) ta có 0

< > ≥ < > ∀ Cho k → ∞ ta được

0

,

c x

< > ≥ +∞ (vô lí) Do đó, P = ∅

Định lý 1.1.7.(Định lý đối ngẫu mạnh) Nếu bài toán quy hoạch tuyến tính gốc có

nghiệm tối ưu thì bài toán quy hoạch đối ngẫu cũng có nghiệm tối ưu và giá trị mục tiêu tối ưu bằng nhau

Chứng minh

Ta có thể đưa cặp bài toán đối ngẫu đối xứng về cặp bài toán đối ngẫu không đối xứng, do đó chỉ chứng minh cho cặp bài toán đối ngẫu không đối xứng Giả sử

bài toán đối ngẫu không đối xứng có phương án tối ưu nhận được bằng phương pháp đơn hình (xem trong tài liệu tham khảo [Cảnh 2004], [Khánh – Nương 2000], [Khánh 2002]) Hệ vectơ cơ sở tương ứng với phương án tối ưu gồm các vectơ

1, 2, ,

A A A Đặt A b =(A b1, ,A bm) ma trận được thành lập từ hệ các vectơ cơ sở Khi đó, A j = A X b j Biểu diễn D=(X1, ,X n) ma trận được thành lập từ những hệ

số của bảng đơn hình cuối cùng Ta có:

1

A= A D D=A A

1

A X = A X = A A

1 min b opt b b 0, (1.3)

Z =C X =C A A

trong đó X opt là phương án tối ưu của bài toán thuận Xét vectơ

( , , )

C D C− = Zc Zc có các tọa độ là những hiệu Z jc j Vì là phương án tối ưu nên mọi hiệu Z j − ≤c j 0, (j−1, , )n , do đó:

0 (1.4)

b

C D C− ≤

Trang 13

Người ta chứng minh được rằng, phương án tối ưu của bài toán đối ngẫu nhận được theo công thức:

1

(1.5)

Y =C A

Thật vậy,

Xét vectơ Y A C opt − Khi sử dụng liên tiếp các công thức (1.5), (1.1), (1.4) ta được

1

0

Y A C− =C A A C− − =C D C− ≤

Do đó, Y A optC có nghĩa là Y opt là phương án chấp nhận được của bài toán

đối ngẫu Bây giờ tính giá trị của dạng tuyến tính f khi Y =Y opt

1

( opt) opt b b b opt min (1.6)

f Y =Y A =C A A− =C X = Z

ở đây các công thức (1.5), (1.2), (1.3) được dùng liên tiếp

Biểu thức (1.6) chứng tỏ rằng: giá trị dạng tuyến tính của bài toán đối ngẫu (khi Y =Y opt), (f Y opt) trùng với giá trị tối ưu của bài toán gốc

Bây giờ cần chứng minh rằng: Y opt là phương án tối ưu của bài toán đối ngẫu

Ta có:

0

f Y =YA =YAX Một phương án chấp nhận được bất kỳ Y của bài toán đối ngẫu phải thỏa mãn YAC, do đó:

( ) ( )

f YCX =Z X

Suy ra

max ( )f Y ≤min ( ).Z X (1.7) Theo (1.6) với Y =Y opt thì bất đẳng thức (1.7) trở thành đẳng thức Vì vậy Y opt là phương án tối ưu của bài toán đối ngẫu 

Định lý 1.1.8.(Điều kiện độ lệch bù) Cho x là nghiệm chấp nhận được của bài

toán min{<c x, >:Ax ≤ và y b} là nghiệm chấp nhận được của bài toán

Trang 14

max{<b y, >: A y T =c y, 0} Giả sử ma trận A có vectơ hàng là ( 1, , ) a i i = m và các vectơ cột là A j (j =1, , )n Khi đó, , x y là nghiệm tối ưu nếu và chỉ nếu

( , ) 0 ,

y <a x> −b = ∀ i

(c j− < A y j, >)x j = ∀ 0 j

Chứng minh

Ở chứng minh định lý 1.1.6 ta đã đặt

( , ),

u y a x b

v c y A x

= < > −

= − < >

Theo định nghĩa của bài toán đối ngẫu ta thấy rằng u i ≥0, v j ≥ ∀ ∀ 0 i, j

Đồng thời ta cũng có

< > − < > = ∑ ∑+

Theo định lý đối ngẫu mạnh , nếu x và y là phương án tối ưu thì

c x b y

< > = < > Do đó, u i =v j = ∀ ∀0, i, j Ngược lại, nếu u i =v j = ∀ ∀ thì 0, i, j

c x b y

< > = < > suy ra ,x y là phương án tối ưu 

Định lý 1.1.9 (Bổ đề Farkas) Tập hợp { : x Ax=b x, ≥ là 0} tập khác rỗng khi và chỉ khi không tồn tại vectơ y sao cho A y T ≥ và 0 <b y, >< 0

Chứng minh

Theo Quy hoạch tuyến tính đối ngẫu ta có min{<c x, >: Ax=b x, ≥0}≤ 0 khi và chỉ khi max{ ,<b y >: A y Tc}≤ 0

Chọn c=0, khi đó { :x Ax=b x, ≥0}≠ ∅ khi và chỉ khi không tồn tại y sao

cho A y T ≥ và 0 <b y, >< 0 

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

Thuật toán đơn hình đối ngẫu bắt đầu từ một phương án sơ sở chấp nhận được của bài toán đối ngẫu nhưng không chấp nhận được của bài toán gốc (vì có biến cơ sở âm) Bằng thuật toán đơn hình chuyển dần đến phương án tối ưu

Thuật toán đơn hình đối ngẫu có thể chia thành hai giai đoạn sau:

Trang 15

- Giai đoạn 1: Không quan tâm đến sự không âm của các biến cơ sở mà thuật toán đơn hình đưa bài toán đến một bảng đơn hình có (∀ Z jc j)≤ 0

+ Nếu ∀ ≥ x bi 0 thì ta có phương án ấy là phương án tối ưu và ngừng tính + Thông thường thì phương án ấy không phải là phương án tối ưu, vì trong các biến cơ sở vẫn còn có biến âm, chuyển sang giai đoạn 2

- Giai đoạn 2: Khi các biến cơ sở còn biến âm ta cần khử các biến âm mà vẫn giữ được (∀ Z jc j)≤0 Phương án là tối ưu khi mọi biến cơ sở đều không âm

Giả sử x bl <0, khi đó ta loại vectơ A khỏi cơ sở Nếu trong hàng l không l

có thành phần x lj < thì bài 0 toán không có phương án chấp nhận được Nếu có một vài x lj < 0 thì phương án có thể cải thiện được và đưa vectơ A k vào cơ sở với k

được xác định bởi:

0

min

lj

x

Z c Z c

<

= Việc chọn như vậy các hiệu Z jc j vẫn không dương Quá trình tính toán tương tự được tiếp tục đến khi nhận được phương án tối ưu

Trong trường hợp, nếu có vài biến cơ sở x bl < 0 thì việc chọn phần tử giải được chọn theo công thức:

0

min

ij

x

ij

Z c x

<

Phương pháp đơn hình đối ngẫu giảm nhẹ sự biến đổi các ràng buộc và do đó giảm kích thước bảng đơn hình, khối lượng tính toán được giảm một cách đáng kể

1.2 Tập lồi - Tập lồi đa diện

Định nghĩa 1.2.1

 Cho tập n

X ⊂  , tập X được gọi là tập lồi nếu với mọi 1 2

,

x xX ta đều

có λx1+ −(1 λ)x2∈X, ∀ ∈λ (0,1)

Ngày đăng: 23/08/2016, 16:11

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w