Bài giảng toán chuyên ngành thầy Nguyễn Danh Ngọc, Trường Đại học bách khoa Đà Nẵng. Bài giảng toán chuyên ngành thầy Nguyễn Danh Ngọc, Trường Đại học bách khoa Đà Nẵng. Bài giảng toán chuyên ngành thầy Nguyễn Danh Ngọc, Trường Đại học bách khoa Đà Nẵng. Bài giảng toán chuyên ngành thầy Nguyễn Danh Ngọc, Trường Đại học bách khoa Đà Nẵng.Bài giảng toán chuyên ngành thầy Nguyễn Danh Ngọc, Trường Đại học bách khoa Đà Nẵng.
Trang 1Trường Đại học Bách Khoa
Bài giảng môn học
TỐI ƯU HÓA VÀ QUY HOẠCH THỰC NGHIỆM
Người soạn: TS Nguyễn Danh NgọcNgười hướng dẫn: PGS.TS Trần Xuân Tùy
Đà Nẵng, 13/11/2016
Bộ môn Cơ Điện tử - Khoa Cơ Khí Trường Đại học Bách Khoa – Đại học Đà Nẵng
Trang 2Tác giả xin chân thành cảm ơn Thầy giáo hướng dẫn - PGS.TS Trần Xuân Tùy vì nhữngđịnh hướng, hỗ trợ nhằm hoàn thiện giáo trình này Tác giả cũng xin cảm ơn Thầy NguyễnĐắc Lực, trưởng Bộ môn Cơ Điện tử, cũng như các thầy cô trong Khoa Cơ Khí đặc biệt làThầy Trưởng Khoa - TS Lưu Đức Bình và Thầy Phó trưởng Khoa - TS Lê Hoài Nam đãhết sức giúp đỡ, tạo điều kiện làm việc thuận lợi cho Tác giả trong quá trình tập sự tại bộmôn Cơ Điện tử, khoa Cơ khí, trường Đại học Bách khoa - Đại học Đà Nẵng.
Đà Nẵng, ngày 13 tháng 11 năm 2016
Nguyễn Danh Ngọc
2
Trang 3Tối ưu hoá là một ngành của Toán học, được ứng dụng rộng rãi và hiệu quả trong thiết kếchế tạo máy, điều khiển tự động, công nghệ thông tin hỗ trợ cho việc ra quyết định trongphát triển và quản lý hệ thống Các lĩnh vực của Tối ưu hoá rất đa dạng tập trung giải quyếtnhững vấn đề khác nhau về kỹ thuật cũng như kinh tế - quản lý như Quy hoạch toán học,Vận trù học (Operation Research), Điều khiển tối ưu, Lý thuyết trò chơi .
Giáo trình "Tối ưu hoá và Quy hoạch thực nghiệm" này được biên soạn với mục đích cungcấp cho sinh viên năm thứ 3 ngành Công nghệ Chế tạo máy và ngành Kỹ thuật Cơ Điện tửcủa Khoa Cơ khí, trường Đại học Bách khoa, Đại Học Đà Nẵng một số kiến thức cơ bản vềcác lĩnh vực quan trọng của Tối ưu hoá, cung cấp những nền tảng cũng như công cụ về môhình hoá, các phương pháp và thuật toán phân tích và giải quyết các bài toán quyết địnhnhằm đưa ra các quyết định hợp lý nhất Thật vậy, để một kỹ sư có thể áp dụng "Tối ưuhóa" vào thực tế công việc của mình, đòi hỏi người kỹ sư cần được trang bị nền tảng kiếnthức vững vàng cả về lý thuyết, thuật toán và phương pháp
Sau khi trình bày những khái niệm cơ bản của Tối ưu hoá (chương 2), các chương còn lạicủa giáo trình lần lượt trình bày nền tảng lý thuyết cũng như công cụ của một số mô hìnhtối ưu cụ thể như:
• Quy hoạch tuyến tính (chương 3)
• Bài toán vận tải (chương 4)
• Quy hoạch tuyến tính nguyên và phi tuyến (chương 5)
• Tối ưu hoá đa mục tiêu (chương 6)
• Quy hoạch thực nghiệm (chương 7)
• Ứng dụng công cụ tin học trong tối ưu hóa (chương 8)
Trong quá trình biên soạn, tuy tác giả rất cố gắng nhưng có lẽ không tránh khỏi sai sót.Tác giả mong nhận được các ý kiến đóng góp của các nhà khoa học, các giảng viên và sinhviên để giáo trình được hoàn chỉnh hơn
3
Trang 4Chương 1 Một số khái niệm toán học cơ bản 9
1.1 Nhắc lại về đại số tuyến tính 9
1.1.1 Vector 9
1.1.2 Ma trận 11
1.1.3 Hệ phương trình tuyến tính 16
1.2 Nhắc lại về hàm nhiều biến 18
1.2.1 Định nghĩa 18
1.2.2 Tính liên tục 18
1.2.3 Đạo hàm riêng 18
1.2.4 Gradient và ma trận Hesse 19
1.2.5 Tính khả vi 19
Chương 2 Khái niệm cơ bản về mô hình hóa toán học và tối ưu hóa 21 2.1 Mô hình hóa toán học 21
2.1.1 Mô hình toán học 21
2.1.2 Xây dựng mô hình toán học cho một vấn đề thực tế 21
2.2 Tối ưu hóa 22
2.2.1 Khái niệm cơ bản 22
2.2.2 Bài toán tối ưu tổng quát 22
2.2.3 Phân loại bài toán tối ưu 24
2.3 Ứng dụng bài toán tối ưu trong thực tế 25
2.3.1 Tối ưu hóa trong lập kế hoạch sản xuất 25
2.3.2 Tối ưu hóa trong vận tải 26
2.3.3 Tối ưu hóa trong nông nghiệp 27
2.3.4 Tối ưu hóa trong thiết kế 28
2.3.5 Bài toán cắt gọt kim loại 29
2.3.6 Bài toán cái túi 30
2.3.7 Bài toán đường đi ngắn nhất 31
Chương 3 Quy hoạch tuyến tính 33 3.1 Phát biểu bài toán quy hoạch tuyến tính 33
3.1.1 Bài toán tổng quát 33
3.1.2 Dạng chính tắc và dạng chuẩn tắc 34
4
Trang 53.1.3 Đưa bài toán quy hoạch tuyến tính bất kỳ về dạng chuẩn tắc hoặc
chính tắc 34
3.2 Tính chất tập phương án và tập phương án tối ưu của bài toán quy hoạch tuyến tính 37
3.2.1 Tập lồi 37
3.2.2 Tính chất của tập phương án và tập phương án tối ưu của bài toán quy hoạch tuyến tính 40
3.2.3 Tính chất của quy hoạch tuyến tính dạng chính tắc 40
3.3 Phương pháp hình học giải bài toán quy hoạch tuyến tính hai biến 42
3.3.1 Tổng quát về phương pháp 42
3.3.2 Ví dụ minh họa 43
3.4 Phương pháp đơn hình giải bài toán quy hoạch tuyến tính dạng chính tắc 44
3.4.1 Ý tưởng chung của phương pháp 45
3.4.2 Cơ sở lý thuyết của phương pháp 45
3.4.3 Thuật toán đơn hình 49
3.4.4 Bảng đơn hình 50
3.4.5 Hiện tượng xoay vòng 54
3.4.6 Tìm phương án cực biên xuất phát và cơ sở xuất phát 54
3.5 Lý thuyết đối ngẫu 61
3.5.1 Định nghĩa bài toán đối ngẫu 61
3.5.2 Các định lý về đối ngẫu 63
3.5.3 Độ lệch bù 65
3.5.4 Ý nghĩa thực tiễn của cặp bài toán đối ngẫu 68
Chương 4 Bài toán vận tải 70 4.1 Phát biểu bài toán vận tải 70
4.2 Sự tồn tại phương án tối ưu 71
4.3 Bảng vận tải, chu trình 72
4.3.1 Bảng vận tải 72
4.3.2 Chu trình 73
4.4 Tìm phương án cực biên xuất phát 74
4.4.1 Phương pháp góc tây bắc 74
4.4.2 Phương pháp cước phí tối thiểu 75
4.5 Phương pháp thế vị 75
4.5.1 Cơ sở lý thuyết 76
4.5.2 Thuật toán thế vị 77
4.6 Một số bài toán vận tải mở rộng 82
4.6.1 Bài toán vận tải không cân bằng thu phát 82
4.6.2 Bài toán vận tải có ô cấm 83
4.6.3 Bài toán vận tải có hàm mục tiêu đạt cực đại 84
Chương 5 Quy hoạch tuyến tính nguyên và phi tuyến 85 5.1 Quy hoạch tuyến tính nguyên 85
5.1.1 Bài toán quy hoạch nguyên tổng quát 85
Trang 65.1.2 Phân loại các bài toán quy hoạch nguyên 85
5.1.3 Phương pháp cắt Gomory 86
5.1.4 Phương pháp nhánh và cận Land-Doig 88
5.2 Quy hoạch phi tuyến 98
5.2.1 Phát biểu bài toán quy hoạch phi tuyến 98
5.2.2 Một số khái niệm cơ bản về hàm lồi 100
5.2.3 Bài toán quy hoạch phi tuyến không ràng buộc 101
5.2.4 Phương pháp hướng giảm 102
Chương 6 Tối ưu hóa đa mục tiêu 109 6.1 Một số khái niệm cơ bản 109
6.1.1 Phát biểu bài toán tối ưu hóa đa mục tiêu 109
6.1.2 Tối ưu Pareto 110
6.2 Thuật toán truyền thống 111
6.2.1 Phương pháp không ưu tiên 112
6.2.2 Phương pháp hậu nghiệm 112
6.2.3 Phương pháp tiền nghiệm 114
6.2.4 Phương pháp tương tác 114
6.3 Thuật toán tiến hóa 115
6.3.1 Giải thuật di truyền 115
6.3.2 Thuật toán tối ưu hóa đàn kiến 123
6.3.3 Thuật toán tối ưu hóa bầy đàn 125
Chương 7 Quy hoạch thực nghiệm 128 7.1 Một số khái niệm cơ bản 128
7.1.1 Định nghĩa quy hoạch thực nghiệm 128
7.1.2 Đối tượng của quy hoạch thực nghiệm 128
7.1.3 Các nguyên tắc cơ bản của quy hoạch thực nghiệm 129
7.2 Phân tích hồi quy 130
7.2.1 Phương pháp bình phương bé nhất 130
7.2.2 Hồi quy một biến 130
7.2.3 Hồi quy nhiều biến 133
Chương 8 Ứng dụng công cụ tin học trong tối ưu hóa 135 8.1 Giải các bài toán tối ưu trên Excel 135
8.1.1 Giới thiệu về công cụ Solver của Excel 135
8.1.2 Giải các bài toán quy hoạch toán học trên Excel 136
8.1.3 Giải các bài toán hồi quy trên Excel 142
8.2 Giải các bài toán tối ưu trên MATLAB 148
8.2.1 Giới thiệu về MATLAB và toolbox Tối ưu hóa 148
8.2.2 Giải các bài toán tối ưu hóa bằng MATLAB 149
Phụ lục A Phương pháp Newton cổ điển giải hệ phương trình phi tuyến 159
Trang 7Phụ lục B Code Matlab giải thuật di truyền giải bài toán người du lịch 161
Phụ lục C Code Matlab thuật toán tối ưu hóa đàn kiến giải bài toán người
Phụ lục D Code Matlab thuật toán tối ưu hóa bầy đàn giải bài toán quy
Trang 8k x k Chuẩn Euclid của x.
∇f (x) Vector gradient của hàm f tại điểm x.
∇2f (x) Ma trận Hesse của hàm f tại điểm x.
f x0i Đạo hàm riêng của f theo biến x i
MT Ma trận chuyển vị của ma trận M.
M−1 Ma trận nghịch đảo của ma trận M.
rank(M) Hạng của ma trận M.
8
Trang 9Một số khái niệm toán học cơ bản
1.1 Nhắc lại về đại số tuyến tính
trong đó a i là thành phần thứ i của vector a.
Ký hiệu R là tập hợp các số thực và Rn là tập hợp các vector cột n chiều với các thành
phần thực Rn được gọi là một không gian vector thực n chiều.
Chuyển vị của vector
Chuyển vị của vector cột a là vector hàng với các thành phần tương ứng, kí hiệu là aT Ví
Trang 10aT = (a1, a2, , a n)
Một cách tương đương, ta có thể viết a = (a1, a2, , a n)T
Lưu ý Trong suốt tài liệu này, chúng ta quy ước rằng thuật ngữ vector (không nói rõ hàng
– Tính giao hoán: a + b = b + a
– Tính kết hợp: (a + b) + c = a + (b + c)
– Vector « không » 0 = (0, 0, , 0) T là vector thỏa mãn a + 0 = 0 + a = a
• Vector (a1− b1, a2− b2, , a n − b n) là hiệu của a và b, được ký hiệu là a − b Vector
0 − b được ký hiệu là −b.
• Phép nhân của một vector a ∈ Rn với một số thực α được định nghĩa là
αa = (αa1, αa2, , αa n)T (1.4)Toán tử nhân có những tính chất sau:
– Tính chất phân phối: đối với bất kỳ đại lượng vô hướng thực α và β,
α(a + b) = αa + αb;
(α + β)a = αa + βa;
– Tính chất kết hợp: α(βa) = (αβ)a
– Đại lượng vô hướng 1 thỏa mãn 1a = a
– Bất kỳ đại lượng vô hướng α nào cũng thỏa mãn α0 = 0
– Đại lượng vô hướng 0 thỏa mãn 0a = 0
– Đại lượng vô hướng −1 thỏa mãn −1a = −a
Các vector độc lập tuyến tính
Một vector x được gọi là tổ hợp tuyến tính của các vector x 1, x2, , xk nếu tồn tại các số
thực c i , i = 1, 2, , k sao cho
x = c1x 1+ c2x 2+ + c kx k (1.5)
Vector 0 là tổ hợp tuyến tính của bất kỳ nhóm vector nào.
Các vector x 1, x2, , xk∈ Rn được gọi là độc lập tuyến tính khi và chỉ khi tồn tại k số thực c1, c2, , c k sao cho
c1x 1+ c2x 2+ + c kx k= 0 ⇔ c i = 0, ∀i = 1, , k (1.6)
Trang 11Ngược lại, nếu có
c1x 1+ c2x 2+ + c kx k= 0
mà tồn tại một số thực c j 6= 0 thì các vector x 1, x2, , xk là phụ thuộc tuyến tính
Lưu ý Nếu x1, x2, , xk độc lập tuyến tính thì không vector nào là tổ hợp tuyến tính củacác vector còn lại
Ví dụ 1.1 Cho hai vector:
x 1 =
12
Hệ phương trình có nghiệm c1 = c2 = 0 do đó các vector x 1, x2 độc lập tuyến tính
Nếu xét hai vector:
Mỗi số a ij được gọi là một thành phần của ma trận Nó nằm ở hàng thứ i và cột thứ j.
Có thể viết ma trận A một cách đơn giản bởi A = (a ij)m×n
Kí hiệu Matm×n (R) là tập hợp các ma trận cấp m × n với các thành phần thuộc tập số
thực R
Các dạng đặc biệt của ma trận
• Ma trận hàng, ma trận cột: Ma trận hàng là ma trận có một hàng và n cột Đây chính
là vector hàng như định nghĩa ở mục 1.1.1 Ma trận cột là ma trận có m hàng và một
cột Đây chính là vector cột như định nghĩa ở mục1.1.1
• Ma trận không: Ma trận không là ma trận có tất cả các phần tử đều bằng 0, kí hiệu
0 = 0m×n
Trang 12Có thể viết ma trận A = (a ij)n Tập hợp các ma trận vuông cấp n được ký hiệu
Matn (R) Đường thẳng đi qua các phần tử a11 , a22, , a nn gọi là đường chéo chính
của ma trận A Đường thẳng đi qua các phần tử a 1n , a 2(n−1) , , a n1được gọi là đường
chéo phụ của ma trận A.
• Ma trận tam giác: Ma trận tam giác trên là ma trận vuông có các phần tử nằm phía
dưới đường chéo chính đều bằng 0 Ma trận tam giác dưới là ma trận vuông có cácphần tử nằm phía trên đường chéo chính đều bằng 0
• Ma trận chéo: Ma trận chéo là ma trận vuông có các phần tử không nằm trên đường
chéo chính bằng 0
• Ma trận đơn vị cấp n: Ma trận đơn vị cấp n là ma trận chéo có các phần tử nằm trên
đường chéo chính bằng 1
• Ma trận chuyển vị: Chuyển vị của ma trận A là ma trận có được từ A bằng cách viết
các hàng của ma trận A theo thứ tự thành cột, ký hiệu là AT
• Ma trận đối xứng: Ma trận vuông A = (a ij)n gọi là ma trận đối xứng nếu
Các phần tử a 1j1, a 2j2, , a rj r gọi là các phần tử được đánh dấu của A.
Nếu ngoài hai điều kiện trên còn có thêm:
– a 1j1 = a 2j2 = = a rj r = 1
– a kj i = 0, 1 ≤ k < i ≤ r
thì A được gọi là ma trận bậc thang hàng rút gọn.
Ma trận khác không B ∈ Matm×n (R), (m, n ≥ 2) được gọi là ma trận bậc thang cột
(bậc thang cột rút gọn) nếu chuyển vị của B là một ma trận bậc thang hàng (bậc
Trang 13M 1 là ma trận bậc thang hàng, M 2 là ma trận bậc thang hàng rút gọn.
Các phép toán ma trận
• Phép cộng hai ma trận: Cho hai ma trận A = (a ij)m×n , B = (b ij)m×n cùng cỡ m × n.
Tổng của hai ma trận A và B là một ma trận được ký hiệu là A + B và được xác
• Phép nhân ma trận với một đại lượng vô hướng: Cho ma trận A = (a ij)m×n cỡ m × n,
và k ∈ R Tích của k và ma trận A là ma trận cỡ m × n ký hiệu kA xác định bởi
• Phép nhân hai ma trận: Cho ma trận A = (a ij)m×p và B = (b ij)p×n Tích AB của A
và B là ma trận C = (c ij)m×n , trong đó các phần tử c ij được xác định như sau:
Trang 14Tính chất của các phép toán ma trận
Phép cộng hai ma trận có các tính chất sau:
• A + B = B + A, ∀A, B ∈ Mat m×n(R)
• (A + B) + C = A + (B + C), ∀A, B, C ∈ Mat m×n(R)
• ∃0 ∈ Matm×n (R) thoả mãn A + 0 = A, ∀A ∈ Mat m×n(R)
• ∀A ∈ Matm×n(R) tồn tại ma trận −A ∈ Matm×n(R) sao cho A + (−A) = 0
• k(A + B) = kA + kB, ∀A, B ∈ Mat m×n (R), ∀k ∈ R
• (k + l)A = kA + lA, ∀A ∈ Mat m×n (R), ∀k, l ∈ R
• k(lA) = (kl)A, ∀A ∈ Mat m×n (R), ∀k, l ∈ R
• 1A = A, ∀A ∈ Mat m×n(R) trong đó 1 là đơn vị của R
Phép nhân hai ma trận có các tính chất sau:
• (AB)C = A(BC), ∀A, B, C sao cho các phép toán ở hai vế xác định.
• (A + B)C = AC + BC và C(A + B) = CA + CB, ∀A, B, C sao cho các phép toán ở
hai vế xác định
• k(AB) = (kA)B = A(kB), ∀k ∈ R và ∀A, B sao cho AB xác định.
• Với n ≥ 1, ký hiệu I n = (a ij)n×n là ma trận vuông cấp n, trong đó
Với mọi ma trận A, B nếu A.I n xác định thì A.I n= A, nếu In .B xác định thì I n .B = B.
(In được gọi là ma trận đơn vị cấp n)
Lưu ý Phép nhân ma trận không có tính giao hoán.
a11 a12
a21 a22
a11 a12 a13
a21 a22 a23
a31 a32 a33
(1.14)
= a11a22a33+ a12a23a31+ a21a32a13− a13a22a31− a12a21a33− a23a32a11
Trang 15• Định thức cấp n: Cho A = (a ij)n∈ Matn (R), ta ký hiệu A(i, j) là ma trận nhận được
từ A bằng cách bỏ hàng i và cột j Phần phụ đại số của phần tử a ij là một số đượcxác định và ký hiệu như sau:
A ij = (−1)i+j det A(i, j) (1.15)
Định thức cấp n của ma trận A được định nghĩa là:
det A =
... x j toán
bị chặn tải trọng b túi.
2.3.7 Bài toán đường ngắn nhất
Bài tốn gọi toán người đưa thư, toán người du lịch toán ngườichào hàng (travelling... hay quy luật biết vật lý, hóa học, sinh học, kinh tế,
• Thu thập liệu lựa chọn phương pháp tốn học thích hợp để giải mơ hìnhtrên Trong trường hợp mơ hình tốn học mơ hình tối ưu, cần lựa... Thơng số ví dụ toán lập kế hoạch sản xuất
Loại nguyên liệu Nguyên liệu trữ
Nguyên liệu cần dùng để sản xuấtmột đơn vị sản phẩm
Xây dựng mơ hình toán học cho toán trên: Gọi