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

Các thuật toán giải bài toán quy hoạch tuyến tính và ứng dụng

75 889 8

Đ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 75
Dung lượng 2,21 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hiểu được tầm quan trọng của bài toán tối ưu và sự trọn vẹn đầy đủ, tính chính xác của bài toán quy hoạch tuyến tính, được sự định hướng của thầy giáo TS.Vũ Vinh Quang, em đã chọn nghiên

Trang 1

MỤC LỤC

MỤC LỤC 1

LỜI CẢM ƠN Error! Bookmark not defined LỜI NÓI ĐẦU 3

CHƯƠNG 1: MÔ HÌNH CƠ BẢN CỦA BÀI TOÁN QUY HẠCH TUYẾN TÍNH 5

1.1 Các mô hình thực tế 5

1.1.1 Tổng quan 5

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

1.2 Dạng tổng quát bài toán quy hoạch tuyến tính 10

1.3 Dạng chính tắc, chuẩn tắc 12

1.4 Một số phương pháp biến đổi bài toán quy hoạch tuyến tính 12

CHƯƠNG 2: CÁC KHÁI NIỆM CƠ BẢN VỀ NGHIỆM BÀI TOÁN QUY HẠCH TUYẾN TÍNH 14

2.1 Một số khái niệm cơ bản trong giải tích lồi 14

2.1.1 Tập hợp lồi 14

2.1.2 Hàm lồi 15

2.1.3 Hàm bao lồi của một hàm số 17

2.1.4 Dưới vi phân 19

2.1.5 Hàm D.C và tập D.C 20

2.1.5.1 Hàm D.C 20

2.1.5.2 Mở rộng các hàm D.C 21

2.1.5.3 Tập D.C 21

2.2 Một số tính chất chung của bài toán quy hoạch tuyến tính 22

CHƯƠNG 3: THUẬT TOÁN ĐƠN HÌNH 27

3.1 Cơ sở lý luận của phương pháp đơn hình 27

3.1.1 Tư tưởng của pháp đơn hình 27

3.1.2 Biểu diễn qua cơ sở Dấu hiệu tối ưu 28

3.1.3 Tìm phương án cực biên mới tốt hơn – công thức đổi cơ sở 29

3.2 Thủ tục đơn hình – Bảng đơn hình 33

3.2.1 Các bước của thủ tục đơn hình 33

3.2.2 Tính hữu hạn của thuật toán 34

3.2.3 Bảng đơn hình 34

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

3.3 Dạng ma trận của thủ tục đơn hình 36

3.4 Dạng tích của ma trận nghịch đảo của thủ tục đơn hình 38

3.5 Tìm cơ sở xuất phát 40

3.5.1 Phương pháp hai pha 40

3.5.2 Phương pháp đánh thuế 43

3.6 Hiện tượng xoay vòng – Cách khắc phục 44

3.7 Phương pháp đơn hình đối ngẫu 44

3.7.1 Cơ sở chấp nhận được đối ngẫu 44

3.7.2 Thủ tục đơn hình đối ngẫu 46

Trang 2

3.7.3 Thuật toán đơn hình đối ngẫu khi chưa biết cơ sở xuất phát chấp nhận

được đối ngẫu .48

CHƯƠNG 4: BÀI TOÁN QUY HOẠCH NGUYÊN 50

4.1 Định nghĩa 50

4.2 Thuật toán nhánh cận 50

4.3.Thuật toán Gomory giải bài toán quy hoạch nguyên tuyến tính 52

4.3.1 Ý nghĩa cơ bản của phương pháp cắt 52

4.3.2 Phương pháp cắt 53

4.3.2.1.Thuật toán Gomory thứ nhất 54

4.3.2.2 Thuật toán Gomory thứ hai 57

CHƯƠNG 5: CÀI ĐẶT ỨNG DỤNG 59

5.1 Cài đặt thuật toán đơn hình 59

5.1.1 Thuật toán 59

5.1.2 Giao diện 60

5.2.Thuật toán đơn hình đối ngẫu 63

5.2.1.Thuật toán 63

5.2.2 Giao diện 64

KẾT LUẬN 70

HƯỚNG PHÁT TRIỂN 70

TÀI LIỆU THAM KHẢO 71

PHỤ LỤC 72

Trang 3

LỜI NÓI ĐẦU

Để một công ty xản suất thu được nhiều lãi nhất trên cơ sở hạn chế về nguyên liệu, để người lái xe vận chuyển được nhiều hàng nhất với chi phí vận chuyển nhỏ nhất và một vị khách du lịch mang được nhiều đồ nhất với một cái túi cố định… Tất cả những điều tưởng chừng chẳng có liên hệ với nhau lại có chung một dạng toán học

Bài toán được nói đến ở đây là bài toán tối ưu hóa Tối ưu hóa toán học là một vấn đề quan trọng Tối ưu hóa quyết định năng suất và hiệu quả công việc, giảm được nhiều chi phí về thời gian và tiền của Bài toán tối ưu là một lớp những bài toán xuất phát từ thực tiễn mang tính thực tế rất cao

Trong những năm gần đây, các phương pháp Tối ưu hóa ngày càng được

áp dụng sâu rộng và hiệu quả vào các ngành kinh tế, kỹ thuật, công nghệ thông tin và các ngành khoa học khác

Bài toán quy hoạch tuyến tính là một trong những lớp bài toán tối ưu được nghiên cứu trọn vẹn cả về phương diện lý thuyết lẫn thực hành Bài toán quy hoạch tuyến tính có một vị trí quan trọng trong trong tối ưu hóa vì hai lý do: thứ nhất là mô hình tuyến tính đơn giản dễ áp dụng, thứ hai là nhiều bài toán quy hoạch nguyên và quy hoạch phi tuyến có thể xấp xỉ với độ chính xác cao bởi một dãy các bài toán quy hoạch tuyến tính Điều này có nghĩa là nếu bài toán quy hoạch tuyến tính được giải quyết thì một hệ thống các bài toán quy hoạch khác cũng có thể được giải quyết bằng cách áp dụng liên tiếp bài toán quy hoạch tuyến tính

Hiểu được tầm quan trọng của bài toán tối ưu và sự trọn vẹn đầy đủ, tính chính xác của bài toán quy hoạch tuyến tính, được sự định hướng của thầy giáo

TS.Vũ Vinh Quang, em đã chọn nghiên cứu đề tài “Các thuật toán giải bài toán

quy hoạch tuyến tính và ứng dụng” với mong muốn sau khi hoàn thành đề tài

em sẽ hiểu biết khám phá nhiều hơn các cài đặt và ứng dụng của bài toán quy hoạch tuyến tính trong thực tế

Mặc dù bản thân đã hết sức nỗ lực, cố gắng hoàn thành đồ án trong phạm

vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót

Trang 4

Em xin kính mong nhận được sự cảm thông và ghi nhận tận tình chỉ bảo góp ý của các quý Thầy Cô và các bạn để Đồ Án được hoàn thiện hơn

Em xin chân thành cám ơn!

Trang 5

CHƯƠNG 1: MÔ HÌNH CƠ BẢN CỦA BÀI TOÁN QUY HẠCH TUYẾN

TÍNH 1.1 Các mô hình thực tế

1.1.1 Tổng quan

Loài người đã biết chọn “phương án” hành động trong các công việc của mình từ thời cổ đại Đầu tiên người ta biết chọn phương án “chấp nhận được”, theo các tiêu chuẩn từ mức độ cảm tính đến có cơ sở khoa học định lượng Khi

có nhiều phương án chấp nhận được, điều mong muốn tự nhiên là chọn cái tốt nhất (tức là cái “tối ưu”), cũng lại theo một hoặc một số tiêu chuẩn nào đó Dần dần người ta biết “mô hình hóa toán học” công việc của mình, tức là diễn đạt công việc đó ở dạng phương trình toán học, diễn giải thế nào là tiêu chuẩn chấp nhận được, tiêu chuẩn tối ưu…

Cùng với sự hình thành khá hoàn chỉnh của phép tính vi tích phân vào thế

kỷ 17, “bài toán cực trị” trong lý thuyết này là một mô tả toán học chính xác của bài toán tối ưu

Đồng thời, trong vài thế kỷ vừa qua, các bài toán về kinh tế và quản lý cũng dẫn người ta đến lý thuyết tối ưu từ một góc độ khác

Nhưng lý thuyết toán học về tối ưu chỉ được hình thành và phát triển mạnh như một lĩnh vực khoa học quan trọng từ khoảng giữa thế kỷ 20 Tùy theo dạng các bài toán được nghiên cứu, đặc điểm của mô hình toán học và công cụ xét chúng hoặc phạm vi áp dụng… Nhiều lĩnh vực khá gần nhau và đan xen với nhau của lý thuyết được hình thành với các tên gọi khác nhau: Tối ưu hóa (optimization), quy hoạch toán học (mathematical programming), điều khiển tối

ưu (optimal control)…

Trong quy hoạch toán học lại có bài toán quy hoạch tuyến tính, bài toán quy hoạch phi tuyến tính và nhiều lĩnh vực khác như quy hoạch nguyên, bài toán quy hoạch phân thức, bài toán quy hoạch động, bài toán quy hoạch ngẫu nhiên… Vậy bài toán quy hoạch tuyến tính (linear programming) là gì?

Trang 6

Có thể tạm định nghĩa bài toán quy hoạch tuyến tính là lĩnh vực toán học nghiên cứu các bài toán tối ưu trên hữu hạn biến mà hàm mục tiêu và các ràng buộc đều là hàm và các phương trình hoặc bất phương trình tuyến tính Chúng ta

sẽ xác định cụ thể bài toán quy hoạch tuyến tính ngay trong chương này

Bài toán quy hoạch tuyến tính được coi là ra đời vào năm 1947, khi Dantzig công bố phương pháp đơn hình để giải các bài toán xuất phát từ việc lập

kế hoạch cho không quân Mỹ Cũng như mọi lĩnh vực khoa học khác, bài toán quy hoạch tuyến tính được sinh ra không phải bất ngờ sau vài ngày, hoặc vài tháng Lý thuyết toán học chính là chỗ dựa căn bản để Dantzig phát minh ra phương pháp đơn hình là lý thuyết về các bất đẳng thức tuyến tính, đã được nghiên cứu kỹ bởi Fourier từ năm 1826

Dantzig được coi là cha đẻ của bài toán quy hoạch tuyến tính có thể cũng chỉ vì cuốn sách sớm hơn nhiều “Các phương pháp toán học trong tổ chức và kế hoạch hóa sản xuất” của L.V.Kantorovich do nhà xuất bản đại học quốc gia Leningrad in năm 1939, ít được biết đến thậm chí ở Nga và chỉ được dịch sang tiếng Anh ở Mỹ năm 1960 Trong cuốn sách rất giá trị này Kantorovich đã nêu bật vai trò của một lớp bài toán quy hoạch tuyến tính và để xuất thuật toán sơ bộ

để giải chúng Tuy được biết đến muộn màng ông được coi là nhà toán học hàng đầu trong lịch sử thế giới về toán kinh tế Năm 1975 ông cùng Koopmans được nhận giải Nobel về khoa học kinh tế

Từ khi ra đời, phương pháp đơn hình gần như thống trị trong bài toán quy hoạch tuyến tính Dựa trên nhận xét rằng miền chấp nhận được của bài toán quy hoạch tuyến tính là tập lồi đa diện và nếu bài toán đã có nghiệm tối ưu thì nó luôn có nghiệm tối ưu là đỉnh của tập lồi đa diện này, nội dung của phương pháp đơn hình là cố gắng tìm một đỉnh chấp nhận được rồi mỗi bước là chuyển từ đỉnh chấp nhận được sang đỉnh kề (tức là có một cạch nối nhau) tốt hơn Tức là có các hàm mục tiêu tưng ứng tốt hơn chẳng hạn trong bài toán maximum, là lớn hơn

Vì số đỉnh là hữu hạn, thuật toán sẽ kết thúc ở đỉnh tối ưu sau hữu hạn bước Phương pháp này tận dụng triệt để cấu trúc tuyên tính, khác hẳn các phương pháp tối ưu phi tuyến

Trang 7

Đối với bài toán cỡ lớn (có thể đến chục nghìn biến và mấy trăm ràng buộc) phải dùng đến máy tính, phương pháp đơn hình cũng được kiểm nghiệm qua mấy chục năm áp dụng là rất hiệu quả, với thời gian tính toán khá ngắn có một lĩnh vực rất quan trọng nghiên cứu về độ phức tạp tính toán Ở đây hiệu quả của một phương pháp được đo bằng thời gian tính toán phụ thuộc theo cỡ của bài toán Cỡ của bài toán là thời gian cần thiết để máy tính ghi các dữ liệu của bài toán (do đó có thể nói nôm na là cỡ của bài toán đặc trưng bởi số ràng buộc) Một thuật toán được gọi là có độ phức tạp đa thức, hoặc được gọi là thuật toán đa thức (polynomial algorithm) nếu thời gian tính toán phụ thuộc theo quy luật đa thức vào cỡ của bài toán, kể cả trong trường hợp xấu nhất

Năm 1972 V.L.Klee và G.J.Minty đã đưa ra ví dụ một bài toán quy hoạch tuyến tính mà thời gian tính toán theo thuật toán đơn hình là hàm mũ của cỡ bài toán

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

Khi tiến hành kế hoạch hóa sản xuất, điều khiển các hệ thống và thiết kế

kỹ thuật mà biết dựa trên các nguyên tắc cực trị ta sẽ tiết kiệm được vật tư, tiền vốn, tài nguyên sức lao động, thời gian và tăng được hiệu quả giải quyết các vấn

đề được đặt ra

Những bài toán dưới đây mô tả một lớp những bài toán thực tế cần được giải quyết, nó chính là mục tiêu của bài toán quy hoạch toán học hay tối ưu hóa toán học

Bài toán 1 Bài toán kinh tế

Một công ty mốn sản xuất hai loại sản phẩm mới A và B bằng các loại nguyên liệu I, II và III Suất chi phí nguyên liệu để sản xuất các sản phẩm đó cho trong bảng sau, có nghĩa là:

- Để sản xuất một đơn vị sản phẩm A cần dùng 2 đơn vị nguyên liệu

I và 1 đơn vị nguyên liệu II

- Để sản xuất một đơn vị sản phẩm B cần dùng một đơn vị nguyên liệu I và 2 đơn vị nguyên liệu II và 1 đơn vị nguyên liệu III Ban giám đốc công ty có dự trữ các loại nguyên liệu I, II và III tương

Trang 8

ứng là 8, 7 và 3 Tiền lãi một đơn vị sản phẩm A là 4 triệu đồng Tiền lãi một đơn vị sản phẩm B là 5 triệu đồng

Cần lập kế hoạch sản xuất sao cho

công ty thu được tiền lãi lớn nhất trên cơ

Bài toán lập kế hoạch sản xuất tối ưu tổng quát phát biểu như sau:

Giả sử một xí nghiệp sản xuất n sản phẩm và sử dụng m loại nguyên liệu khác nhau Ta đưa vào các ký hiệu sau:

xj – lương sản phẩm loại j (j = 1,n) mà xí nghiệp sản xuất

cj – tiền lãi(hay giá bán) của đơn vị sản phẩm j(j= 1 ,n)

aij – suất chi phí tài nguyên loại i để sản xuất một đơn vị sản phẩm loại j (j =1 ,n)

bi – lượng dự trữ tài nguyên loại i(i = 1,m)

Trong các điều kiện đã cho xác định các giá trị xj (j = 1 ,m) sao cho tổng tiền lãi (hay tổng giá trị sản lượng hàng hóa) là lớn nhất với số tài nguyên hiện

2x1+x2 ≤ 8 ( ràng buộc về nguyên liệu I )

x1+2x2 ≤ 7 ( ràng buộc về nguyên liệu II )

x2 ≤ 3 ( ràng buộc về nguyên liệu III )

x1 ≥ 0, x2≥ 0 ( ràng buộc về dấu của biến số )

Trang 9

m i b x a

j

n

j

i j ij

,1,0

,1,

1

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

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

Có m kho hàng cùng chứa một loại hàng hóa (đánh số i = 1 ,m) lượng hàng có

ở kho i là ai, (i = 1,m) gọi kho i là điểm phát i Có n địa điểm tiêu thụ loại hàng

ở trên(đánh số j = 1 ,n) với nhu cầu tiêu thụ ở điểm j là bj (j = 1 ,n) Gọi điểm tiêu thụ j là điểm thu j

Biết cij cước phí vận chuyển một đơn vị hàng hóa từ điểm phát đến điểm thu j (i=1 ,m , j = 1 ,n) Hàng có thể chuyển từ điểm phát i bất kỳ đến điểm thu j bất kỳ

Hãy lập kế hoạch vận chuyển hàng hóa từ điểm phát đến điểm thu sao cho tổng chi phí vận chuyển là nhỏ nhất với các điều kiện: các điểm phát thì phát hết hàng hóa, còn các điểm thu thì thỏa mãn nhu cầu

Ký hiệu xij là lượng hàng vận chuyển từ điểm phát i đến điểm thu j Khi đó ta

n j b x

m i a x

ij

m

i

j ij

n

j

i ij

,1,,1,0

,1,

,1,

Trang 10

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

Một người du lịch muốn đem theo một cái túi nặng không quá b kilogram có

n loại đồ vật mà anh ta dự định đem theo Mỗi một đồ vật loại j có khối lượng ajkilogram và giá trị cj, người du lịch muốn chất vào túi các đồ vật sao cho tổng giá trị đồ vật đem theo là lớn nhất

Ký hiệu xj là đồ vật loại j sẽ chất vào trong túi Ta có bài toán sau:

n j x

b x a

j j

n

j j j

,1,

,1,0

1

Đây là một bài toán quy hoạch nguyên

1.2 Dạng tổng quát bài toán quy hoạch tuyến tính

Như vậy ta sẽ đưa ra dạng tổng quát của bài toán quy hoạch:

Bài toán tối ưu hóa tổng quát được phát biểu như sau:

Cực đại hóa(cực tiểu hóa) hàm:

Tập hợp:

D =  xX | gi(x) (≤, =, ≥) bi, i = 1 ,m

Trang 11

được gọi là miền ràng buộc (hay miền chấp nhận được) Mỗi điểm x = (x1, x2,

…, xn)  D được gọi là một phương án (hay một lời giải chấp nhận được) Một phương án x*  D đạt cực đại (hay cực tiểu) của hàm mục tiêu, cụ thể là:

f(x*) ≥ f(x), x  D (đối với bài toán max)

f(x*) ≤ f(x), x  D (đối với bài toán min)

được gọi là phương án tối ưu(lời giải tối ưu) Khi đó giá trị f(x*) được gọi là giá trị tối ưu của bài toán

Bài toán quy hoạch tuyến tính tổng quát:

Để nhất quán lập luận ta xét bài toán tìm cực đại, sau đó ta xét cách chuyển bài toán tìm cực tiểu sang tìm cực đại

Bài toán tổng quát của bài toán quy hoạch tuyến tính có dạng:

m i b x

ij

,1,0

,1,),,(1

Nếu gặp bài toán (min) tức là:1 ,m 1 ,n

Nếu bài toán (max) có phương án tối ưu là x* thì bài toán (min) cũng có phương án tối ưu là x* và fmin= - f max

Thật vậy, vì x* là phương án tối ưu của bài toán (max)

Trang 12

m i b x a

j

n

j

i j ij

,1,0

,1,1

m i b x a

j

n

j

i j ij

,1,0

,1,1

1.4 Một số phương pháp biến đổi bài toán quy hoạch tuyến tính

Bất kỳ bài toán quy hoạch tuyến tính nào cũng có thể đưa về một trong hai dạng chuẩn hoặc chính tắc nhờ các phép biến đổi tuyến tính sau:

Trang 14

CHƯƠNG 2: CÁC KHÁI NIỆM CƠ BẢN VỀ NGHIỆM BÀI TOÁN QUY

HẠCH TUYẾN TÍNH 2.1 Một số khái niệm cơ bản trong giải tích lồi

Trong việc nghiên cứu các bài toán tối ưu nói chung, giải tích lồi giữ một vai trò quan trọng Nó được sử dụng là cơ sở cho việc xây dựng các thuật toán Trong mục này sẽ trình bày một số khái niệm và tính chất cơ bản của tập lồi, hàm lồi

2.1.1 Tập hợp lồi

Khái niệm về tập hợp lồi là một khái niệm cơ bản của giải tích lồi quy hoạch lồi Nhiều tính chất quan trọng và thú vị của bài toán quy hoạch lồi có được trên miền ràng buộc là một tập hợp lồi

tập lồi nếu x1, x2  X và   [0,1], ta cóx1 + (1- )x2 X

Như vậy nếu X là một tập lồi thì nó chứa chọn đoạn thẳng nối hai điểm bất kỳ của nó Các ví dụ đơn giản của tập lồi là các đoạn thẳng, siêu phẳng, nửa không gian

là coA

Đây chính là giao của tất cả các tập lồi chứa A Ví dụ bao lồi của tập chỉ gồm hai điểm a và b chính là đoạn thẳng nối a và b Như vậy nếu X là một tập lồi thì nó chứa bao lồi của mọi tập con của nó

Cho A và B là hai tập bất kỳ trong Rn, tổ hợp lồi của A và B là tập hợp tất

cả các điểm thuộc Rn có dạng:

x = a + (1 - )b, aA, bB, 0 ≤≤ 1

một số phép lấy tổ hợp tuyến tính Tức là: nếu A và B là hai tập lồi trong Rn thì các tập hợp sau cũng là lồi:

1 AB := {x : xA, xB}

Trang 15

giới nội) được biểu diễn bởi tập hợp tất cả những điểm có dạng:

=1, i ,j ≥ 0 với mọi i, j, còn các di

với iI là các đỉnh của X, gj với jJ là phương các cạnh vô hạn của X

Chú ý rằng nếu X giới nội thì nó không có các cạnh vô hạn, do đó trong biểu diễn trên chỉ còn lại tổng thứ nhất Trong trường hợp này, mọi điểm của X đều biểu diễn qua tổ hợp lồi của các đỉnh của X

2.1.2 Hàm lồi

lồi trên X, nếu với mọi x, y X, 0 ≤≤ 1 ta có:

f(x + (1 - )y) ≤ f(x) + (1-)f(y)

Hàm f(x) được gọi là lồi chặn trên X nếu:

f(x + (1 - )y)<f(x) + (1 - )f(y) x,yX, 0 << 1

Hàm f(x) được gọi là lõm (lõm chặn) trên tập lồi X nếu hàm –f(x) là lồi (lồi chặn) trên X

Các hàmf, f + g và max(f,g) được định nghĩa như sau:

Trang 16

 max(f,g)(x) := max(f(x),g(x))

Các hàm lồi là đóng đối với phép tổ hợp tuyến tính không âm và phép lấy max cụ thể ta có định lý sau:

Y lúc đó các hàm sau là lồi trên XY:

1 f +g , 0

2 max(f, g)

lồi) Một điểm x*X được gọi là cực tiểu địa phương của f trên X, nếu tồn tại lân cận mở U của x* sao cho f(x*)≤f(x) với mọi xXU Điểm x*X được gọi là cực tiểu tuyệt đối của f trên X nếu f(x*)≤f(x) với mọi xX

Dưới đây là tính chất cơ bản về cực trị của một hàm lồi

là cực tiểu tuyệt đối

Hệ quả Bất kỳ cực đại địa phương nào của hàm lõm trên tập lồi cũng là

cực đại tuyệt đối

Tính chất sau đây đặc trưng cho một hàm lồi khả vi và rất bổ ích để kiểm tra tính chất lồi của một hàm số Ký hiệu f’(a) hoặc f(a) là đạo hàm của f tại a

cần và đủ để f lồi trên X là:

f(x) + <f(x),y - x > ≤ f(y), với mọi x,yX

Nếu f khả vi hai lần thì điều kiện cần và đủ để f lồi trên X với mọi xX là

ma trận Hessian H(x) của f tại x xác định không âm Tức là:

YTH(x)y ≥ 0, xX, yRn

Ma trận Hessian H(x) tại x là ma trận có dạng:

n n

(x)f

j i 2

Sau đây ta xét một cách nhận biết khác của hàm lồi

các điểm thuộc phần trên đồ thị hàm f

Trang 17

1 f lồi khi và chỉ khi epi(f) lồi

2 Nếu f lồi thì L(f,) lồi Điều ngược lại không luôn đúng

Hàm f được gọi là tựa lõm nếu – f là tựa lồi

Nhận xét: Tổng của hai hàm tựa lồi chưa hẳn là một hàm tựa lồi

2.1.3 Hàm bao lồi của một hàm số

Trong một số trường hợp khi việc tìm cục trị của một hàm số không lồi gặp khó khăn, chúng ta phải xấp xỉ bằng cách tìm cực trị của hàm bao lồi của hàm số đó, nghĩa là ta đưa việc giải bài toán quy hoạch không lồi về việc giải bài toán quy hoạch lồi tương ứng Vì vậy, khái niệm hàm bao lồi đóng vai trò quan trọng trong lý thuyết quy hoạch

R Khi đó một hàm số F(x) được gọi là hàm bao lồi của hàm f trên D nếu:

1 F(x) là hàm lồi trên D,

2 F(x)≤ f(x), xD,

3 Nếu h(x) là một hàm lồi nào đó trên D mà h(x)≤f(x), xD thì h(x)≤F(x), xD

Trang 18

Định lý 2.9 Xét bài toán cực tiểu toàn cục:

Min{f(x)|xD},

Trong đó D compact, lồi trong Rn F(x) là bao lồi của f(x) trên D khi đó:

f*:= min{ f(x)|xD} = min{F(x)|xD}

{y  D|f(y)= f*}{yD|F(y) = f*}

Nhận xét: Định lý cho phép chúng ta đưa việc giải bài toán quy hoạch không lồi

về việc giải bài toán quy hoạch lồi tương ứng Vấn đề là bằng cách nào để tìm được hàm bao lồi của hàm mục tiêu

F(x)của hàm lõm f(x) trên P có thể biểu diễn như sau:

1

 =1

=(1, 2, …, k)

f(x) là hàm lõm trên D Lúc đó bao lồi của hàm f(x) trên D là một hàm affin h(x)

 1

min {min{Fi(xi)|xiDi}}

Như chúng ta đã biết, trong bài toán quy hoạch lồi cực tiểu địa phương cũng là cực tiểu toàn cục Điều này nói chung không còn đúng với bài toán không lồi

Trang 19

Định lý 2.15 Giả sử D là tập compact khác rỗng trong Rn và f(x) lên tục trên D thì f(x) luôn đạt giá trị nhỏ nhất và lớn nhất trên D

Định nghĩa 2.8 Một hàm số f(x): D→R được gọi là nửa liên tục dưới

Nhận xét: Định lý 2.15 vẫn đúng đối với bài toán cực tiểu nếu f(x) là hàm

nửa liên tục dưới và đối với bài toán cực đại nếu f(x) là hàm nửa trên liên tục trên

lim

||  

x

= +

Định lý 2.16 Nếu f(x) là một hàm bức và liên tục thì tồn tại một điểm cực

tiểu toàn cục trong Rn

compact lồi DRn tại một điểm cực biên của D

2.1.4 Dưới vi phân

gọi là một dưới gradien của f tại điểm x0 nếu:

<p,x - x0> +f(x0)≤f(x),x

ký hiệu bởi f(x0) Hàm f gọi là khả dưới vi phân tại x0 nếu f(x0) ≠ 0

int(domf), tập

C x

f(x) là không rỗng và giới nội Trong trường hợp riêng f(x0)

là không rỗng và bị chăn tại mỗi x0  int(domf)

* Một hàm lồi f có thể nhận được từ một số phép toán trên các hàm lồi fi, i

 I Ta thử xem dưới vi phân của f có thể là tổ hợp của các dưới vi phân không ?

với mỗi xRn:

Trang 20

hàm D.C trên  nếu nó có thể biểu diễn dưới dạng hiệu của hai hàm lồi trên , nghĩa là nếu:

f(x) = f1(x) – f2(x)

Trong đó f1(x) và f2(x) là các hàm lồi trên 

Lẽ tất nhiên, hàm lồi thực và hàm lõm là các trường hợp riêng của hàm D.C Mỗi hàm toàn phương f(x) = (1/2) <x, Qx> trong đó Q là một ma trận đối xứng là một hàm D.C mà có thể không phải là lồi, cũng không là lõm

Với x = U.y, trong đó U=[ u1, , un] là một ma trận các vector chuẩn hóa của Q, ta có UTQU = diag(1,2,…, n), như vậy:

,  ithực (i =1,n)

(ii) g(x) = max{f1(x),…,fm(x)}

(iii) h(x) = min {f1(x), … ,fm(x)}

Trang 21

Từ định lý 2.20 có thể suy ra rằng: một hệ bất phương trình gi(x)≤ 0 i = 1,…, m có thể viết thành:

ở đó hệ thức thứ nhất là bất đẳng thức lồi, còn hệ thức hai là bất đẳng thức lồi đảo

mỗi > 0 tồn tại một hàm D.C sao cho:

C x

max |f(x) –g(x)|≤

Một hàm f: D→ R xác định trên tập lồi DRn được gọi là D.C cục bộ nếu với mỗi xD tồn tại một tập lồi mở U của x và 1 cặp hàm lồi g, h trên U sao cho: F|U = g|U – h| U

2.1.5.3 Tập D.C

hàm lồi g,h : RnR sao cho:

M = { x|g(x)0, h(x)0}

Như thế M = D\C với D = {x|g(x)≤0} và C= {x |h(x)0}

Trang 22

Do đó S có thể coi như là hình chiếu trên Rn của tập D.C MRn+1

Một tập đóng trong Rn là hình chiếu trên Rn của một tập D.C trong Rn+1 Đối với mỗi hàm nửa liên tục dưới f(x), tồn tại một hàm lồi f(x) sao cho bất đẳng thức f(x)  0 tương đương với bất đẳng thức D.C:

g(x)-||x||2≤0

2.2 Một số tính chất chung của bài toán quy hoạch tuyến tính

Ngoài ra từ (2.1), (2.2) và (2.3) dễ thấy x≥0 Định lý đã được chứng minh

Tập lồi D các phương án của một bài toán quy hoạch tuyến tính xác định bởi các ràng buộc Tập D có thể là rỗng, hoặc là một đa diện lồi hoặc là một tập lồi đa diện không giới nội

Nếu D là một đa diện lồi thì bài toán có phương án, hơn nữa giá trị tối ưu của hàm mục tiêu trên đa diện lồi đó là hữu hạn và việc tìm phương án tối ưu đưa

Trang 23

đến việc chọn các đỉnh của đa diện D có số đỉnh (điểm cực biên hay phương án cực biên) hữu hạn

tại một điểm cực biên của tập D Nếu hàm mục tiêu không chỉ nhận max tại một điểm cực biên của tập lồi D mà tại nhiều điểm thì nó sẽ đạt giá trị cực đại tại những điểm là tổ hợp tuyến tính lồi của các điểm đó

Chứng minh Ký hiệu các điểm cực biên của đa diện D là x1,x2, …, xp còn

phương án tối ưu là x0, ta có:

f(x0)≥f(x) xD (2.4) Nếu x0 đã là điểm cực biên rồi thì ý thứ nhất của định lý đã được chứng minh

Giả thiết x0 không phải là điểm cực biên Theo kêt quả của giải tích lồi thì

x0 có thể biểu diễn dưới dạng tổ hợp lồi của các điểm cực biên của D và tổ hợp dương của các hướng các cạnh vô hạn

p

i j i

x

1

1 0

1,

1

)()

Ta lại dễ thấy rằng f(rj)≤ 0, j vì nếu không theo hướng rj vô hạn thì f(x0)

→ +, mâu thuẫn với giả thiết x0 là phương án tối ưu

i

p

i

k i i

Trang 24

Bây giờ giả sử f(x) nhận giá trị max tại x1, x2, …, xq:

, i≥ 0,

p

i i

p

i i

1

M = M Vậy x cũng là phương án tối ưu

Định lý đã được chứng minh

Ký hiệu Aj (j = 1,n) là các vector cột của ma trận A khi ấy hệ ràng buộc Ax = b

có thể viết:

x1A1 + x2A2 + … + xnAn = b (2.9)

tuyến tính và sao cho:

x1A1 + x2A2 + … + xnAn = b

trong đó xj>0, j = 1 ,k thì điểm x = (x1 , x2 , …, xk , 0, …, 0) là điểm cực biên của tập lồi đa diện D

Chứng minh Bằng phản chứng, giả sử x không phải là phương án cực biên Khi

đó nó có thể biểu diễn dưới dạng tổ hợp lồi của hai điểm x1, x2 nào đó của D:

x = x1 + (1-)x2 , 0<<1 (2.10)

Vì các thành phần của x1 và x2 đều không âm và 0<<1 nên từ (2.10) ta phải có n – k thành phần cuối của x1 và x2cũng bằng 0 Vì x1 và x2 cũng là phương án nên ta có:

Trang 25

Định lý 2.26. Nếu x = (x1, x2, …, xn) là điểm cực biên của tập lồi đa diện

D thì các vector trong biểu diễn (2.9) ứng với thành phần xj> 0 lập thành hệ độc lập tuyến tính Vì ma trận A có m dòng nên từ đây suy ra rằng điểm cực biên không có quá m thành phần dương

Chứng minh Giả sử các thành phần dương của x là x1, x2, …, xk như thế:

i

k

i

i A x

1

Bằng phản chứng, giả sử các vector Aj, j = 1 ,k phụ thuộc tuyến tính Khi

ấy tồn tại tổ hợp tuyến tính của các vector này bằng vector không:

d1A1 + d2A2 + … + dkAn = 0 (2.12) Trong đó ít nhất một hệ số d1 ≠ 0

Nhân hai vế của (2.12) với một số q > 0 ta có:

1

= b Vậy hệ phương trình (2.11) có hai nghiệm:

1

x2 nghĩa là x là tổ hợp lồi của hai điểm x1, x2D

Điều này mâu thuẫn với điều kiện x là phương án cực biên Vậy diều phản chứng rằng các vector aj,j = 1 ,k là độc lập tuyến tính là sai Định lý đã được chứng minh

Các định lý 2.25 và 2.26 có thể gộp lại thành một định lý cần cà đủ sau:

Trang 26

Định lý 2.27 Để x = (x1, x2, …, xn) là phương án cực biên của bài toán quy hoạch tuyến tính dưới dạng chính tắc thì cần và đủ là các vector cột Aj của

ma trận A ứng với các thành phần xj >0 là độc lập tuyến tính

Trang 27

CHƯƠNG 3: THUẬT TOÁN ĐƠN HÌNH 3.1 Cơ sở lý luận của phương pháp đơn hình

3.1.1 Tư tưởng của pháp đơn hình

Xét bài toán quy hoạch tuyến tính dạng chính tắc:

(

x

b Ax

X C x

- 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 tối ưu là hữu hạn

Do đó ta có thể tìm một phương án cực biên tối ưu (hay một lời giải của bài toán) trong tập các phương án cực biên Tập hợp này là hữu hạ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 x0 Kiểm tra xem x0 có phải là lời giải tối ưu hay chưa.Nếu x0 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à x1 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ước lặp ta phải tìm thấy phương án cực biên tối ưu

Để thực hiện thuật toán đề ra ở trên, ta cần phải làm rõ hai vấn đề sau: 1- 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à cần tìm được “dấu hiệu tối ưu”

2- Làm thế nào để từ 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ó

Nội dụng phần tiếp theo sẽ trả lời câu hỏi trên

Trang 28

3.1.2 Biểu diễn qua cơ sở Dấu hiệu tối ưu

Giả sử có phương án cực biên x0với cơ sở J (tức là hệ vector cột độc lập tuyến tính {aj, j  J} và JJ+(x) = {j, xj > 0})

ja x

(kJ) Giả sử xD là một phương án bất kỳ

1

J j

ja x

J k

ka x

J j

ja x

+

J k k

J j

jka z

jkx z

(j  J) hay

xj = x0

J k

jkx z

1

J j

jx c

J k

kx c

thay (3.3) vào ta được

jkx z

)cj + k J k

kx c

jx c

- 

J k

J k

jkc z

- ck)xk

Ký hiệu

Trang 29

k= j

J k

jkc z

- ck(k J) Gọi là ước lượng của vector cột ak theo cơ sở J và

f(x) = f(x0) - k

J k

Phương án cực biên x0 với cơ sở J là phương án tối ưu thì k≤ 0, k  J

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

Giả sử x0 với cơ sở J là một phương án cực biên nhưng chưa phải là phương án tối ưu, khi đó kJ, s  0 Giả sử s là một chỉ số trong các chỉ số mới nói trên: sJ, s  0

Theo thuật toán đơn hình ta cần cải tiến x0 để nhận được một phương án cực biên mới x1 tốt hơn Nhằm mục đích kế thừa tận dụng những kết quả ở bước trước ta sẽ tìm phương án cực biên mới x1 với cơ sở J1 chỉ khác J một vector: j1= (J\r)s, nghĩa là ta sẽ đưa vector as vào cơ sở thay thế cho vector ar khác bị loại

bổ khỏi cơ sở J Các vector ar và as được lựa chọn sao cho x1 tốt hơn x0

Vì mọi thành phần ngoài cơ sở của phương án cực biên đều bằng 0, do đó phương án cực biên mới x1 có cơ sở J1 = (J\r)s là:

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

Thay thế (3.5) vào (3.3) ta được:

x1 x0 z x1k x0j zjs( j J )

J k jk j

Trang 30

j j j

J j j j

J j

J j js j

J j

Vậy chỉ cần chọn  sao cho x1 ≥ 0 có hai trường hợp xảy ra:

Trường hợp a) Nếu zjx 0 jJx1 0   0 thì x1 là phương án của bài toán, nhưng do s  0:

F(x1) = f(x0)- 1  ( 0) ( )

 s k

J k

j

z x

Trang 31

(3.7)

f(x1) = f(x0) -

rs

r s

án cực biên với cơ sở J1 = (J\r)s

Chứng minh Theo (2.7) suy ra x1r = 0 nên J+(x1)  J1 Ta cần chứng minh

j js s r

j J j

j j

s s r

j J j

j j J

1

j js r

j J

,,

0

rs s

js s j

z

r j J j z

Các công thức (2.7), (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 x1 cùng với giá trị hàm mục tiêu f(x1) thông qua các hệ số khai triển

s j J

0 1

js rs

r j rs

r j

z z

x x

z

x

x

Trang 32

zjk và các ước lượng ktrong 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 z1

J j

rs

a z a

j r j J j js s

rs

rk j r j J j jk j

rk r

j J j

z

z a z z

z z

s j z z

js rs

rk jk rs rk

,,

rk r

j J j

jk k

j J

z z c

,

1 1

1

rs

rk j J

j

js rs

rk

z

z c z z

j J j

js rs

rk k

j J

j

jk

z

z c

c z z

z c c

Trang 33

1 s.

rs

rk k k

3.2.1 Các bước của thủ tục đơn hình

 Bước xuất phát: Tìm một phương án cực biên x0 và cơ sở J tương ứng Tính các hệ số khai triển Zjk và các ước lượngk

 Bước 1: Kiểm tra dấu hiệu tối ưu:

a) Nếu k≤0 kJ thì x0 là phương án tối ưu Thuật toán kết thúc

b) Nếu k 0 thì chuyển sang bước hai

 Bước 2: Kiểm tra dấu hiệu hàm mục tiêu giảm vô hạn: Với mỗi kJ mà

k

 > 0 thì kiểm tra các hệ số khai triển Zjk của cột ak tương ứng:

a) nếu có một k  0 mà tất cả các Zjk≤0 jJ thì kết luận hàm mục tiêu giảm vô hạn trên miền ràng buộc Bài toán không có lời giải hữu hạn Thuật toán kết thúc

thì tiến hành tìm phương án cực biên mới tốt hơn với cơ sở J1= (J\r)s

theo quy tắc sau:

(vì khi đó hàm số giảm nhanh nhất)

- Chọn vector ar đưa ra khỏi cơ sở theo quy tắc:

x x

}

Trang 34

 Bước 4: Tính các x1

j, f(x1), 1 1

, jk

 trong cơ sở mới J1=(J\r)s các công

thức (3.7), (3.8), (3.9), (3.10) Quay trở lại bước 1

3.2.2 Tính hữu hạn của thuật toán

Nếu bài toán quy hoạch tuyến tính có phương án và không suy biến thì sau

hữu hạn bước lặp theo thủ tục đơn hình ta sẽ tim thấy phương án tối ưu hoặc phát

hiện ra bài toán có hàm mục tiêu giảm vô hạn hay bài toán không có lời giải hưu

ra x1 ≠ x0, f(x1)<f(x0) nghĩa là x1 thực sự tốt hơn x0 Sau mỗi bước lặp, nếu không

xảy ra trường hợp 2a) thì ta 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 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 phải tìm được phương án cực biên

tối ưu

3.2.3 Bảng đơn hình

Để thuận tiện cho việc tính toán theo thủ tục đơn hình người ta sắp xếp

các số liệu thành 1 bảng gọi là bảng đơn hình như dưới đây:

Xj

z11 z12 z1n

z21 z22 z2n

- Với kJ thì cột k của bảng đơn hình là hệ số khai triển của cột ak của ma

trận A theo cơ sở J Ta ký hiệu cột này là zk nghĩa là ak của ma trận A theo cơ sở

J Ta ký hiệu cột này là zk nghĩa là ak = Ajzk hay zk = Aj-1ak, ở đây Aj là ma trận

Trang 35

có các cột aj, jJ Ma trận Aj gọi là ma trận cơ sở Nếu ma trận A có m cột là các vector đơn vị và ta chọn chúng làm cơ sở xuất phát, thì ma trận cơ sở Aj là ma trận đơn vị khi đó zk = ak,(k = 1, 2, …, n) và phần bảng dành cho các hệ số khai triển zjk trở thành chính ma trận A

- Dòng ước lượng: là dòng cuối cùng của bảng

J j j j

k t j k j J j jk

kz ccc zc

Với j 0,jJ

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

 Bước 1: Kiểm tra dấu hiệu tối ưu:

- Nếu k≤0 kphương án x0 đang xét là phương án tối ưu

- 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 giảm vô hạn: có k>0 và cột tương ứng gồm toàn các phần tử không dương zjk≤0 jJ

- nếu có một k 0 mà tất cả các zjk≤0 jJ thì kết luận hàm mục tiêu giảm vô hạn trên miền ràng buộc Bài toán không có lời giải hữu hạn Thuật toán kết thúc

- Trái lại nếu với mọi k 0 đều tồn tại ít nhất một jJ để zjk>0 thì

chuyển sang bước 3

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

x x

}

Trang 36

- Mỗi phần tử khác ngoài hàng xoay trừ đi tích của phần tử cùng hàng với

nó trên cột xoay với phần tử cùng cột với nó trên hàng chuẩn được phần tử cùng

vị trí trong bảng đơn hình mới

(

x

b Ax

X C x

Trong đó A là ma trận cấp m × n: các vector x,c Rn, bRm Để đơn giản, giả thiết rằng cơ sở J đang xét gồm đúng m cột đầu tiên của ma trận A tức là J={1,2, …,m} Đặt K = {1,2,…, n} \ J Ma trận cơ sở Aj và phần ngoài cơ sở Akcác vector x,c cũng được tách làm làm hai phần tương đương trong ngoài cơ sở J

Trang 37

Từ phương trình Ax = b ta có Ajxj + Akxk = b Nhân hai vế với ma trận nghịch đảo Aj-1 ta được:

Cột zk của bảng đơn hình là hệ số khai triển của vector cột ak của ma trận

A theo cơ sở J, tức là ak = Aj zk hay zk = Aj-1ak Gọi zk là ma trận gồm các cột zk,

ta có:

Zk = Aj-1Ak

Ký hiệu k= (m1, m2, , n)t là vector các ước lượng

)(,

Tóm lại ở mỗi bước thì cần biết được nghịch đảo của ma trận cơ sở Aj thì

ta có thể tính được toàn bộ các dữ liệu cần thiết để tiến hành thủ tục đơn hình Cụ thể, thủ tục đơn hình dưới dạng ma trận như sau: Giả sử có cơ sở xuất phát là J, nghịch đảo của ma trận cơ sở A-1j

kA A cc

Bước 2: Kiểm tra dấu của các thành phần k của vector k:

Ngày đăng: 03/08/2016, 15:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Ngọc Thắng, Nguyễn Đình Hóa (2006), Quy hoạch tuyến tính, Nhà xuất bản Đại Học Quốc Gia Hà Nội Sách, tạp chí
Tiêu đề: Quy ho"ạch tuyến tính
Tác giả: Nguyễn Ngọc Thắng, Nguyễn Đình Hóa
Nhà XB: Nhà xuất bản Đại Học Quốc Gia Hà Nội
Năm: 2006
[2] Nguyễn Thành Cả (2006), Tối ưu hóa tuyến tính, Nhà xuất bản Lao Động Xã Hội Sách, tạp chí
Tiêu đề: T"ối ưu hóa tuyến tính
Tác giả: Nguyễn Thành Cả
Nhà XB: Nhà xuất bản Lao Động Xã Hội
Năm: 2006
[3] Phan Quốc Khánh, Trần Huệ Nương (2000), Quy hoạch tuyến tính, Nhà xuất bản Giáo Dục Sách, tạp chí
Tiêu đề: Quy ho"ạch tuyến tính
Tác giả: Phan Quốc Khánh, Trần Huệ Nương
Nhà XB: Nhà xuất bản Giáo Dục
Năm: 2000
[4] Bùi Minh Trí (2006) Quy hoạch toán học, Nhà xuất bản Khoa Học và Kỹ Thuật Sách, tạp chí
Tiêu đề: Quy ho"ạch toán học
Nhà XB: Nhà xuất bản Khoa Học và Kỹ Thuật
[5] Dương Quang Thiện (2005), C# Căn bản, Nhà xuất bản Tổng Hợp TP.HCM Sách, tạp chí
Tiêu đề: C# Căn bản
Tác giả: Dương Quang Thiện
Nhà XB: Nhà xuất bản Tổng Hợp TP.HCM
Năm: 2005
[7] Dương Quang Thiện (2005), GUI và user Control, Nhà xuất bản Tổng Hợp TP.HCM Sách, tạp chí
Tiêu đề: GUI và user Control
Tác giả: Dương Quang Thiện
Nhà XB: Nhà xuất bản Tổng Hợp TP.HCM
Năm: 2005
[8] Weldon W.Nash, Sr (2007), Accelerated C# 2008, Apress [9] http://congdongcviet.com/ Sách, tạp chí
Tiêu đề: Accelerated C# 2008
Tác giả: Weldon W.Nash, Sr
Năm: 2007

HÌNH ẢNH LIÊN QUAN

3.2.3. Bảng đơn hình - Các thuật toán giải bài toán quy hoạch tuyến tính và ứng dụng
3.2.3. Bảng đơn hình (Trang 34)
Hình áp dụng đối với bài toán đối ngẫu và kết quả làm việc của nó phải được phát - Các thuật toán giải bài toán quy hoạch tuyến tính và ứng dụng
nh áp dụng đối với bài toán đối ngẫu và kết quả làm việc của nó phải được phát (Trang 46)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w