Tải bản đầy đủ (.pdf) (173 trang)

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ạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.81 MB, 173 trang )

ĐẠI HỌC ĐÀ NẴNG
Trườ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ọc

Ngườ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


Lời cảm ơn
Tá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


Lời nói đầu
Tố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 trong
phá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ết
nhữ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 cung
cấ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 định
nhằ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 ưu
hó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ến
thứ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ại
củ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ình
tố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à sinh
viên để giáo trình được hoàn chỉnh hơn.

3


Mục lục
Chương 1 Một số khái niệm toán học cơ bản
1.1

1.2

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

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
2.1

2.2

2.3

21

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

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

Ứ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
3.1

9

33

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


MỤC LỤC
3.1.3
3.2

Đư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

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

Tính chất của quy hoạch tuyến tính dạng chính tắc . . . . . . . . . .

40

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

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

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

3.2.3
3.3

3.4

3.5

5

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

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

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

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

4.4

4.5

4.6

Chương 5 Quy hoạch tuyến tính nguyên và phi tuyến
5.1

85

Quy hoạch tuyến tính nguyên . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

5.1.1

85


Bài toán quy hoạch nguyên tổng quát . . . . . . . . . . . . . . . . . .


MỤC LỤC

5.2

6

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

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
6.1

6.2

6.3

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

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

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
7.1

7.2

8.2

128

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

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
8.1

109

135

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

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


MỤC LỤC
Phụ lục B Code Matlab giải thuật di truyền giải bài toán người du lịch

7
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
du lịch
164
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
hoạch phi tuyến có ràng buộc
168



Danh mục từ viết tắt và ký hiệu
Từ viết tắt
v.đ.k.

Với điều kiện.

Ký hiệu
R
Rn
x∈D
x∈
/D

|A|
A\B
A∪B
A∩B
x
∇f (x)
∇2 f (x)
fxi
MT
M−1
rank(M)

Tập số thực.
Không gian Euclid n chiều.
x thuộc tập D.
x không thuộc tập D.

Tập rỗng.
Số phần tử của tập A.
Hiệu của tập A và B.
Hợp của tập A và B
Giao của tập A và B.
Chuẩn Euclid của x.
Vector gradient của hàm f tại điểm x.
Ma trận Hesse của hàm f tại điểm x.
Đạo hàm riêng của f theo biến xi .
Ma trận chuyển vị của ma trận M.
Ma trận nghịch đảo của ma trận M.
Hạng của ma trận M.

8


Chương 1

Một số khái niệm toán học cơ bản
1.1
1.1.1

Nhắc lại về đại số tuyến tính
Vector

Vector cột
Ta định nghĩa một vector cột n chiều là một mảng của n số, kí hiệu:





 a1 
 
 a2 

a=
 .. 
 . 
 

(1.1)

an
trong đó ai 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.
Vector hàng
Một vector hàng được định nghĩa như sau:
b = (b1 , b2 , . . . , bm )

(1.2)

Vector đơn vị
Vector đơn vị n chiều là vector n chiều có duy nhất một thành phần bằng 1 còn các thành
phần còn lại bằng 0. Vector đơn vị có thành phần thứ i bằng 1 gọi là vector đơn vị thứ i
(i = 1, . . . , n).
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í
dụ, nếu
 

 a1 
 
 a2 

a=
 .. 
 . 
 

an
9


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

10

thì
aT = (a1 , a2 , . . . , an )
Một cách tương đương, ta có thể viết a = (a1 , a2 , . . . , an )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
hay cột) để chỉ vector cột.
Các phép toán vector
• Hai vector a = (a1 , a2 , . . . , an )T và b = (b1 , b2 , . . . , bn )T là bằng nhau nếu
ai = bi , i = 1, 2, . . . , n.
• Tổng của hai vector a và b, kí hiệu a + b là một vector
a + b = (a1 + b1 , a2 + b2 , . . . , an + bn )T

(1.3)


Toán tử cộng các vector có những tính chất sau:
– 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 , . . . , an − bn ) 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 , . . . , αan )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 x1 , x2 , . . . , xk nếu tồn tại các số
thực ci , i = 1, 2, . . . , k sao cho
x = c1 x1 + c2 x2 + . . . + ck xk

(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 x1 , 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 , . . . , ck sao cho

c1 x1 + c2 x2 + . . . + ck xk = 0 ⇔ ci = 0, ∀i = 1, . . . , k

(1.6)


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

11

Ngược lại, nếu có
c1 x1 + c2 x2 + . . . + ck xk = 0
mà tồn tại một số thực cj = 0 thì các vector x1 , 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ủa
các vector còn lại.
Ví dụ 1.1. Cho hai vector:
 

 

1
3
x1 =   và x2 =  
2
4
Để xét xem hai vector này có độc lập tuyến tính hay không, ta xét phương trình
c1 x1 + c2 x2 = 0 hay


1c + 3c = 0
1

2
(1.7)


2c1 + 4c2 = 0
Hệ phương trình có nghiệm c1 = c2 = 0 do đó các vector x1 , x2 độc lập tuyến tính.
Nếu xét hai vector:









1
−3
x1 =   và x2 =  
−2
6
Dễ thấy x2 = −3x1 do đó hai vector là phụ thuộc tuyến tính.

1.1.2

Ma trận

Ma trận cấp m × n là tập hợp gồm m × n số được xếp thành bảng hình chữ nhật m hàng, n
cột như sau:



a11



 a21

 ..
 .
A=

 ai1

 .
 ..




a12

...

a1j

...

a1n

a22

..
.

...
..
.

a2j
..
.

...
..
.

a2n 

.. 
. 

ai2
..
.

...
..
.

aij
..

.

am1 am2 . . . amj

...
..
.






ain 

.. 
. 


(1.8)

. . . amn

Mỗi số aij đượ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 = (aij )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ục 1.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 .


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

12

• Ma trận vuông cấp n: Ma trận vuông cấp n là ma trận có số hàng và số cột bằng n, kí
hiệu là:


a
a
.
.
.
a
11
12
1n




 a21
A=
 ..
 .



a22
..
.



. . . a2n 
 = (aij )n
.. 
..
.
. 


(1.9)

an1 an2 . . . ann
Có thể viết ma trận A = (aij )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 , . . . , ann gọi là đường chéo chính
của ma trận A. Đường thẳng đi qua các phần tử a1n , a2(n−1) , . . . , an1 đượ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ác
phầ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 = (aij )n gọi là ma trận đối xứng nếu
aij = aji , ∀i, j = 1, . . . , n, tức là A = AT .
• Ma trận bậc thang: Ma trận khác không A ∈ Matm×n (R), (m, n ≥ 2) được gọi là ma
trận bậc thang hàng, nếu có một số nguyên r(0 < r ≤ min{m, n}) và một dãy các chỉ
số cột 1 ≤ j1 , j2 , . . . , jr ≤ n, sao cho:


1 ≤ i ≤ r
– aij = 0 nếu r < i ≤ m hoặc



1 ≤ j ≤ ji

– a1j1 a2j2 . . . arjr = 0
Các phần tử a1j1 , a2j2 , . . . , arjr 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:
– a1j1 = a2j2 = . . . = arjr = 1
– akji = 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
thang hàng rút gọn).
Ví dụ 1.2. Cho hai ma trận






0 0 1
M1 = 

0 0 0


3


1 2 3 4





0 0

 và M2 = 

0 0
1


0 0 0 0



1 2 0 0



1 0



0 1


0 0 0 0


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

13

M1 là ma trận bậc thang hàng, M2 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 = (aij )m×n , B = (bij )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
định như sau:
A + B = (cij )m×n với cij = aij + bij
(1.10)
Ví dụ 1.3. Cho hai ma trận









−1 2
3 1 −1 2 



và M2 = 1 31 4
2
0 1



2 2
3 22
5 0 2 2

6 1

M1 = 2 3


Tổng của hai ma trận này là


9

2

4


4

3


5

24

M1 + M2 = 3 34



7



−2

2



• Phép nhân ma trận với một đại lượng vô hướng: Cho ma trận A = (aij )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
kA = (bij )m×n , trong đó , bij = kaij

(1.11)

Ví dụ 1.4. Cho



1
 3

 1 31
M=

−1 4




−1

2

4

2


5

3

22





2

2

3

 6

 2


2

−2

4

62

8

4


8

10

6



4

6

44

Khi đó


2M = 

−2


4





• Phép nhân hai ma trận: Cho ma trận A = (aij )m×p và B = (bij )p×n . Tích AB của A
và B là ma trận C = (cij )m×n , trong đó các phần tử cij được xác định như sau:
p

cij = ai1 b1j + ai2 b2j + . . . + aip + bpj =

aik bkj
k=1


Ví dụ 1.5.







3 1 −1

6 1 −1 2 

 1 3
2 3 0 1 


2 2
5 0 2 2 
1 0


 19 7
4
=
 
10 11
3



2

21

9



−1


12 

5

(1.12)


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

14

Tí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 ∈ Matm×n (R)
• (A + B) + C = A + (B + C), ∀A, B, C ∈ Matm×n (R)
• ∃0 ∈ Matm×n (R) thoả mãn A + 0 = A, ∀A ∈ Matm×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 ∈ Matm×n (R), ∀k ∈ R
• (k + l)A = kA + lA, ∀A ∈ Matm×n (R), ∀k, l ∈ R

• k(lA) = (kl)A, ∀A ∈ Matm×n (R), ∀k, l ∈ R
• 1A = A, ∀A ∈ Matm×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 In = (aij )n×n là ma trận vuông cấp n, trong đó

aij =



0

nếu i = j




nếu i = j

1

Với mọi ma trận A, B nếu A.In xác định thì A.In = A, nếu In .B xác định thì In .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.
Định thức của ma trận
• Định thức cấp 2: Cho A = (aij )2 ∈ Mat2 (R), định thức cấp 2 của ma trận A được
xác định và ký hiệu như sau:

det A = |A| =

a11 a12

= a11 a22 − a21 a12

(1.13)

a21 a22
• Định thức cấp 3: Cho A = (aij )3 ∈ Mat3 (R), định thức cấp 3 của ma trận A được
xác định và ký hiệu như sau:
a11 a12 a13
det A = a21 a22 a23

(1.14)

a31 a32 a33
= a11 a22 a33 + a12 a23 a31 + a21 a32 a13 − a13 a22 a31 − a12 a21 a33 − a23 a32 a11


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

15

• Định thức cấp n: Cho A = (aij )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ử aij là một số được
xác định và ký hiệu như sau:
Aij = (−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 =

a11

a12

. . . a1n

a21
..
.

a22
..
.

. . . a2n
apj Apj : (Khai triển theo hàng p)
.. =
..
.
.
j=1

n

(1.16)


an1 an2 . . . ann
hoặc

n

aiq Aiq : (Khai triển theo cột q)

det A =

(1.17)

i=1

• Các tính chất của định thức:
– Nếu đổi hàng thành cột và cột thành hàng thì định thức không thay đổi.
– Nếu đổi chỗ hai hàng (hai cột) cho nhau thì định thức đổi dấu.
– Thừa số chung của một cột có thể đưa ra ngoài dấu của định thức.
– Định thức sẽ không đổi dấu nếu cộng thêm vào các phần tử của một cột (hàng)
nào đó các phần tử của cột khác (hàng khác) đã nhân với một hằng số.
– Nếu mỗi phần tử của một cột có thể tách thành tổng của hai số thì định thức đó
cũng tách thành tổng của hai định thức tương ứng.
Các phép biến đổi sơ cấp trên hàng
Các phép biến đổi biến ma trận A thành ma trận A sau được gọi là phép biến đổi sơ cấp
trên hàng.
• Loại 1: Đổi chỗ hai hàng cho nhau
• Loại 2: Biến hàng i thành c lần hàng i (c = 0)
• Loại 3: Biến hàng i thành hàng i cộng c lần hàng j (c = 0, i = j).
Hạng của ma trận
Hạng của ma trận A là một số, ký hiệu là rank(A), được định nghĩa là số lớn nhất trong các

cấp của định thức con khác 0. Các phương pháp tìm hạng của ma trận:
• Phương pháp tính định thức (dùng định nghĩa): Tính tất cả các định thức có thể có
của ma trận đã cho, so sánh định thức nào có cấp cao nhất mà giá trị định thức khác
0, thì cấp của định thức đó là hạng của ma trận cần tìm. Phương pháp này tổng quát
nhất nhưng yêu cầu phải tính nhiều định thức.
Lưu ý. Nên tính định thức có cấp cao nhất trước, chỉ cần một định thức cấp cao nhất
nào đó khác 0 thì hạng của ma trận chính là cấp của định thức đó.


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

16

• Phương pháp dùng phép biến đổi sơ cấp: Dùng phép biến đổi sơ cấp biến đổi trên các
hàng để đưa ma trận đã cho về dạng ma trận bậc thang. Khi đó, hạng của ma trận là
số hàng (số cột) khác 0 của ma trận bậc thang.
Ví dụ 1.6.












1 2 −3 4 d3 →d3 − 8 d2 1 2 −3 4 


 d2 →d2 −2d1 



A = 2 4 1 10 −−−−−−−→ 0 0 7 2 −−−−−−7−→ 0 0 7 2  = B

 d3 →d3 −3d1 



5
0 0 8 3
3 6 −1 15
0 0 0 7
1 2 −3

4

Do đó hạng của ma trận A bằng 2. Hơn nữa,













1 2 0 0
1 2 −3 4  d2 →d2 − 2 d3 1 2 −3 4
d2 → 71 d2
d1 →d1 +3d2 





7
B −−−−−−−−→ 0 0 1 2  −−−−−−−→ 0 0 1 0 −−−−−−−→ 0 0 1 0 = C
7
7  d →d −4d





d3 → 5 d3 −3d1

1

0 0

0

1


3

0 0

1

0

0 0 0 1

1

Ma trận B gọi là ma trận bậc thang của A, C là ma trận bậc thang rút gọn của A.

1.1.3

Hệ phương trình tuyến tính

Hệ phương trình n ẩn x1 , x2 , . . . xn dạng:















a11 x1 + a12 x2 + . . . + a1n xn = b1
a21 x1 + a22 x2 + . . . + a2n xn = b2
..
.

(1.18)

am1 x1 + am2 x2 + . . . + amn xn = bm

trong đó aij , bi ∈ R được gọi là một hệ phương trình tuyến tính.
Một phần tử (c1 , c2 , . . . , cn ) ∈ Rn gọi là một nghiệm của hệ phương trình đã cho nếu khi
thay xi bởi ci thì các phương trình trong hệ trở thành những đẳng thức đúng.
Hệ phương trình (1.18) cũng có thể viết dưới dạng ma trận
Ax = b

(1.19)

trong đó:
• Ma trận


 a11


 a21
A=
 ..

 .


a12

···

a22
..
.

···
..
.



a1n 



am1 am2 · · · amn
được gọi là ma trận các hệ số.
• Vector




 b1 


 
 b2 

b=
 .. 
 . 
 

bm
là vector cột các hệ số tự do.



a2n 

.. 
. 


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

17

• Vector









 x1 
 x2 

x=
 .. 
 . 
 

xn
là vector cột ẩn số.
Khi b = 0 hệ phương trình (1.18) được gọi là hệ phương trình tuyến tính thuần nhất.
Ngược lại, ta gọi là hệ không thuần nhất.
Ma trận


 a11

 a21
Abs = (A|b) = 

..

.


a12 · · ·
a22 · · ·
.. . .

.
.



a1n b1 

a2n b2 

.. .. 
. . 

(1.20)



am1 am2 · · · amn bm
được gọi là ma trận bổ sung của hệ phương trình (1.18).
Định lý 1.1 (Định lý Kronecker - Capelli). Hệ phương trình (1.18) có nghiệm khi hạng của
ma trận A bằng hạng ma trận bổ sung: rank(A) = rank(A|b). Hơn nữa
• rank(A) = rank(A|b) = n: hệ có nghiệm duy nhất
• rank(A) = rank(A|b) < n: hệ có vô số nghiệm phụ thuộc (n − r) tham số
• rank(A) < rank(A|b): hệ vô nghiệm
Định lý 1.2. Cho hai hệ phương trình tuyến tính có cùng m phương trình và n ẩn số với ma
trận mở rộng lần lượt là (A|b) và (A |b ), m ≥ 2. Khi đó nếu (A |b ) nhận được từ (A|b)
bởi một số hữu hạn các phép biến đổi sơ cấp hàng thì hai hệ phương trình tuyến tính đã cho
tương đương nhau.
Từ hai định lý trên, phương pháp khử Gauss được đưa ra để giải hệ phương trình tuyến tính.
Phương pháp khử Gauss
Để giải hệ phương trình (1.18) ta thực hiện các bước

• Bước 1: Lập ma trận mở rộng của A:


Abs

 a11

 a21
=

..

.


a12 · · ·
a22 · · ·
.. . .
.
.



a1n b1 

a2n b2 

.. .. 
. . 



am1 am2 · · · amn bm
• Bước 2: Dùng các phép biến đổi sơ cấp hàng đưa ma trận (A|b) về ma trận (A |b )
trong đó A là ma trận bậc thang (rút gọn). Dựa vào định lý Kronecker - Capelli để
kết luận nghiệm.


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

18

Ví dụ 1.7. Giải hệ phương trình



x1 + 2x2 + x3 = 1




(1.21)

2x1 + 5x2 + x3 = 6








−x1 − 4x2 + 2x3 = 2

Giải: Ma trận hóa hệ phương trình trên ta thu được:


1






2





−1 −4 2 2












1 1 
3 −7 
 1 0
 1 0 0 −40 





→  0 1 −1
→ 0 1 0
1 −1 4 
4 
15 





11
0 −2
3 3
0 0
1 11
0 0 1

2 1 1 
 1



→ 0
5 1 6 



2

Hệ có nghiệm duy nhất là: x1 = −40, x2 = 15, x3 = 11.

1.2
1.2.1

Nhắc lại về hàm nhiều biến
Định nghĩa

Hàm số f từ Rn vào R là một quy tắc ứng mỗi điểm x thuộc Rn với một số thực nào đó và
ký hiệu số thực đó là f (x).
Ta viết f : X → R với tập khác rỗng X ⊆ Rn để chỉ f (x) chỉ xác định với các điểm
x ∈ X. Khi đó X được gọi là miền xác định của hàm f .
Vì biến số là các phần tử thuộc Rn nên nó có n thành phần và mỗi thành phần có thể
xem như một biến độc lập. Do vậy, với n ≥ 2 hàm số f thường được gọi là hàm nhiều biến.

1.2.2

Tính liên tục

Cho hàm số f xác định trên tập mở X ⊆ Rn . Ta nói f liên tục tại điểm x0 ∈ X nếu với
mỗi > 0 cho trước, tồn tại δ > 0 sao cho |f (x) − f (x0 )| < với mọi x ∈ X thỏa mãn
x − x0 < δ, trong đó x là chuẩn Euclid của x.


1.2.3

Đạo hàm riêng

Cho hàm số f xác định trên tập mở X ⊆ Rn và x0 = (x01 , . . . , x0n )T là một điểm thuộc X.
Khi đó với mỗi số h ∈ R đủ nhỏ, điểm (x01 , . . . , x0i−1 , x0i + h, x0i+1 , . . . , x0n )T cũng nằm trong
X. Giới hạn
(x01 , . . . , x0i−1 , x0i + h, x0i+1 , . . . , x0n ) − (x01 , . . . , x0i−1 , x0i , x0i+1 , . . . , x0n )
h→0
h
lim

nếu tồn tại, được gọi là đạo hàm riêng của f theo biến xi , tại điểm x0 , ký hiệu là
∂f (x0 )
∂xi

hay

fxi (x0 )

Lưu ý. Đối với hàm một biến f : R → R, kí hiệu ∂ được thay bằng d.
Đạo hàm riêng ∂f∂x(x)
của hàm nhiều biến có thể được tính được bằng cách lấy đạo hàm
i
theo biến xi như hàm một biến và coi các biến còn lại là hằng số.


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN
Giả sử đạo hàm riêng


∂f (x)
∂xi

19

tồn tại với mọi x ∈ X. Khi đó, phép tương ứng x →

∂f (x)
∂xi

∂f
∂f
xác định một hàm số ∂x
: X → R. Nếu tại x0 đạo hàm riêng theo biến xj của hàm ∂x
tồn
i
i
0
tại thì ta gọi đó là đạo hàm riêng cấp hai theo các biến xi và xj của hàm f tại x và ký hiệu
2
0)
0
là ∂∂xfi(x
∂xj hoặc fxi xj (x ).

Tương tự ta có thể định nghĩa được đạo hàm riêng cấp k theo các biến xi1 , xi2 , . . . , xik
của hàm f tại điểm x0 , ký hiệu như sau:
∂ k f (x0 )
∂xi1 ∂xi2 . . . ∂xik


1.2.4

hay

fx(k)
i xi
1

1

...xik (x

0

)

Gradient và ma trận Hesse

Cho hàm f xác định trên tập mở X ⊆ Rn . Giả sử rằng tại x0 tồn tại các đạo hàm riêng của
hàm f theo mọi biến. Khi đó, vector
∂f (x0 ) ∂f (x0 )
∂f (x0 )
,
,...,
∂x1
∂x2
∂xn

T


(1.22)

được gọi là gradient của f tại x0 và ký hiệu là ∇f (x0 ).
Nếu các đạo hàm riêng cấp hai theo mọi biến của f tại x0 đều tồn tại thì ma trận


∂ 2 f (x0 )
 ∂x1 ∂x1





..
.

···
..
.

∂ 2 f (x0 )
∂xn ∂x1

···



∂ 2 f (x0 )
∂x1 ∂xn 


..
.

∂ 2 f (x0 )
∂xn ∂xn

(1.23)





được gọi là ma trận Hesse của f tại x0 và kí hiệu là ∇2 f (x0 ).
Ví dụ 1.8. Cho f (x1 , x2 ) = 3x51 + 3x31 x22 + 6x21 + x2 + 5x2 . Ta có:


∇f (x) =





fx1 

=



∇2 f (x) =


fx1 x1

fx2 x1



fx1 x2 



=

(1.24)

6x31 x2 + 6x21 + 5

fx2




4
2 2
15x1 + 9x1 x2 + 12x1 x2 



3
2
2

60x1 + 18x1 x2 + 12x2 18x1 x2 + 12x1 

18x21 x2 + 12x1

fx2 x2

(1.25)

6x31

Tại x0 = (1, 0)T thì


∇f (x0 ) =



15

11

1.2.5





60 12
và ∇2 f (x0 ) = 
12 6


Tính khả vi

Cho hàm số f xác định trên tập mở X ⊆ Rn . Hàm f là khả vi tại x0 ∈ X nếu tồn tại các đạo
hàm riêng của hàm f theo mọi biến tại x0 và với mọi d ∈ Rn , d đủ nhỏ và x0 + d ∈ X,
ta có
f (x0 + d) − f (x0 ) − ∇f (x0 ), d
=0
lim
d
d →0


CHƯƠNG 1. MỘT SỐ KHÁI NIỆM TOÁN HỌC CƠ BẢN

20

Hàm f được gọi là khả vi trên X nếu f khả vi tại mọi điểm x ∈ X. Nếu hàm f xác định
∂f
trên tập mở X ⊆ Rn có các đạo hàm riêng tại mọi điểm x ∈ X và các hàm ∂x
: X → R liên
i
tục trên X thì ta có hàm f khả vi liên tục trên X.
Cho hàm số f xác định trên trên tập mở X ⊆ Rn . Ta nói hàm f khả vi hai lần tại x0 ∈ X
nếu tồn tại các đạo hàm riêng cấp hai của hàm f theo mọi biến tại x0 và với mọi d ∈ Rn ,
d đủ nhỏ và x0 + d ∈ X, ta có
f (x0 + d) − f (x0 ) − ∇f (x0 ), d −
lim
d
d 2 →0


dT ∇2 f (x0 )d
2

=0

Hàm f được gọi là khả vi hai lần trên X nếu f khả vi hai lần tại mọi điểm x ∈ X. Nếu
hàm f xác định trên tập mở X ⊆ Rn có các đạo hàm riêng cấp 1 và cấp 2 tại mọi điểm
∂2f
∂f
:
X

R

: X → R liên tục trên X thì ta có hàm f khả vi liên
x ∈ X và các hàm ∂x
∂x
i
i ∂xj
tục hai lần trên X.


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
Nhiều vấn đề phát sinh trong các lĩnh vực khác nhau trong thực tế có thể được giải quyết
bằng cách áp dụng các phương pháp tối ưu toán học. Điểm cốt lõi là từ bài toán thực tế cần
xây dựng được một mô hình tối ưu thích hợp dựa vào các dạng bài toán tối ưu đã biết. Sau

đó, cần áp dụng phương pháp tối ưu toán học và quy trình tính toán thích hợp để tìm ra lời
giải cho mô hình đã đặt ra. Trong chương này, những khái niệm cơ bản về mô hình hóa toán
học và tối ưu hóa được trình bày. Để minh họa cho việc xây dựng mô hình toán học của một
vấn đề thực tế, một số mô hình truyền thống của tối ưu hóa cũng được giới thiệu.

2.1
2.1.1

Mô hình hóa toán học
Mô hình toán học

Minsky [50] đưa ra định nghĩa tổng quát sau về mô hình: "Đối với một chủ thể quan sát B,
một đối tượng A∗ là mô hình của một đối tượng A trong phạm vi B có thể dùng A∗ để trả
lời các câu hỏi mong muốn của B về A". Như vậy, mô hình là một đối tượng được một chủ
thể nào đó, trên cơ sở của sự đồng dạng về cấu trúc và chức năng, dùng để thay thế cho một
nguyên bản tương ứng để có thể giải quyết một nhiệm vụ nhất định [27]. Một nguyên bản
có thể có nhiều mô hình tuỳ thuộc vào chủ thể cần giải quyết.
Một mô hình toán là biểu diễn toán học những mặt chủ yếu của một nguyên bản theo
một nhiệm vụ nào đó, trong phạm vi giới hạn với một độ chính xác vừa đủ và trong một dạng
thích hợp cho sự vận dụng. Một mô hình toán của một nguyên bản phải có 4 điều kiện [27]:
• Chỉ mô tả những mặt chính mà chủ thể quan tâm.
• Mô tả trong phạm vi giới hạn.
• Độ chính xác vừa đủ.
• Khả năng vận dụng mô hình đã được lập trong điều kiện cụ thể.

2.1.2

Xây dựng mô hình toán học cho một vấn đề thực tế

Độ phức tạp của việc xây dựng mô hình toán học phụ thuộc nhiều vào độ phức tạp của đối

tương nghiên cứu. Các bước cần thiết khi xây dựng mô hình hoá toán học có thể được trình
bày một cách khái quát như sau [43, 6]:

21


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ÓA22
• Trước hết phải khảo sát bài toán thực tế và phát hiện vấn đề cần giải quyết. Việc xác
định mục tiêu nghiên cứu là rất quan trọng vì cùng một đối tượng nghiên cứu nhưng
mục tiêu nghiên cứu khác nhau sẽ cho ra các mô hình toán học khác nhau.
• Phát biểu các điều kiện ràng buộc và mục tiêu của bài toán dưới dạng định tính. Sau
đó, lựa chọn các biến quyết định/các ẩn số và xây dựng mô hình định lượng tức là
mô hình toán học. Trong nhiều trường hợp các phương trình này dựa trên cơ sở các
nguyên lý hay quy luật cơ bản đã biết về vật lý, hóa học, sinh học, kinh tế,. . .
• Thu thập dữ liệu và lựa chọn phương pháp toán học thích hợp để giải quyết mô hình
trên. Trong trường hợp mô hình toán học là mô hình tối ưu, cần lựa chọn phương pháp
tối ưu thích hợp để giải mô hình.
• Xác định quy trình giải/thuật toán. Có thể giải mô hình bằng cách tính toán thông
thường trên giấy. Đối với các mô hình lớn, bao gồm nhiều biến và nhiều điều kiện ràng
buộc cần tiến hành lập trình và giải mô hình trên máy tính để tìm ra phương án thỏa
mãn mô hình.
• Đánh giá kết quả tính toán. Trong trường hợp phát hiện thấy có kết quả bất thường,
cần xem xét nguyên nhân, kiểm tra và chỉnh sửa lại mô hình hoặc dữ liệu đầu vào hoặc
quy trình giải/thuật toán/chương trình máy tính.

2.2
2.2.1

Tối ưu hóa
Khái niệm cơ bản


Tối ưu hóa là một trong những lĩnh vực kinh điển của toán học có ảnh hưởng đến hầu hết
các lĩnh vực khoa học - công nghệ và kinh tế - xã hội. Trong thực tế, việc tìm giải pháp tối
ưu cho một vấn đề nào đó chiếm một vai trò hết sức quan trọng. Phương án tối ưu là phương
án hợp lý nhất, tốt nhất, tiết kiệm chi phí, tài nguyên, nguồn lực mà lại cho hiệu quả cao.
Trong kỹ thuật, tối ưu hóa là quá trình xác định cực trị của hàm số được nghiên cứu hay
tìm điều kiện tối ưu tương ứng để thực hiện một quá trình cho trước.
Một bài toán tối ưu bao gồm hai thành phần cơ bản sau:
• Hàm mục tiêu là hàm thể hiện kết quả phải đạt được, phụ thuộc vào yếu tố đầu vào.
Hàm mục tiêu được lập trên cơ sở tiêu chuẩn tối ưu đã được lựa chọn.
• Các điều kiện ràng buộc là các biểu thức toán học mô tả các mối quan hệ giữa tiêu
chuẩn tối ưu hoá (hàm mục tiêu) và các thông số ảnh hưởng (thông số cần tối ưu) đến
giá trị tiêu chuẩn tối ưu hoá này. Các quan hệ này thường được biểu diễn bằng phương
trình cơ bản hoặc mô hình thống kê thực nghiệm (phương trình hồi quy). Quan hệ giữa
các yếu tố ảnh hưởng với nhau được biểu diễn bằng đẳng thức hoặc bất đẳng thức.

2.2.2

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

Bài toán tối ưu tổng quát được phát biểu như sau:
min f (x)

v.đ.k. x ∈ D

(2.1)

max f (x)

v.đ.k. x ∈ D


(2.2)

hoặc
trong đó:


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ÓA23
• D ⊆ Rn được gọi là tập ràng buộc hay tập nghiệm chấp nhận được
• f : D → R là hàm mục tiêu.
• Mỗi điểm x ∈ D được gọi là một nghiệm (phương án) chấp nhận được (hoặc gọi tắt là
phương án).
Điểm x∗ ∈ D mà
f (x∗ ) ≤ f (x) ∀x ∈ D
được gọi là nghiệm (phương án) tối ưu toàn cục hoặc nghiệm (phương án) cực tiểu toàn cục
của bài toán (2.1).
Điểm x∗ ∈ D được gọi là nghiệm cực tiểu toàn cục chặt nếu
f (x∗ ) < f (x)

∀x ∈ D và x = x∗

Điểm x∗ ∈ D được gọi là nghiệm cực tiểu địa phương của bài toán (2.1) nếu tồn tại một
-lân cận B(x∗ , ) của điểm x∗ ∈ D sao cho
f (x∗ ) ≤ f (x) ∀x ∈ B(x∗ , ) ∩ D
trong đó B(x∗ , ) = {x ∈ Rn |

x − x∗ < }.

Điểm x∗ ∈ D được gọi là nghiệm cực tiểu địa phương chặt của bài toán (2.1) nếu tồn tại
một -lân cận B(x∗ , ) của điểm x∗ ∈ D sao cho

f (x∗ ) < f (x) ∀x ∈ B(x∗ , ) ∩ D và x = x∗
trong đó B(x∗ , ) = {x ∈ Rn |

x − x∗ < }.

Hình 2.1 minh họa các khái niệm nghiệm cực tiểu địa phương, nghiệm cực tiểu địa phương
chặt và nghiệm cực tiểu toàn cùng chặt của một hàm một biến f trên tập D ⊂ R.

Nghi m c c ti u
toàn c c ch t

Nghi m c c ti u
a ph ng ch t

Nghi m c c ti u
a ph ng không ch t

Hình 2.1: Minh họa các loại nghiệm cực tiểu của một hàm một biến f
Tập nghiệm tối ưu của bài toán (2.1) được ký hiệu là Argmin{f (x)|x ∈ D}. Nếu bài toán
chỉ có một nghiệm tối ưu x∗ thì có thể ký hiệu x∗ = arg min{f (x)|x ∈ D}.
Các khái niệm tương tự cũng được định nghĩa cho bài toán tìm cực đại (2.2).
Lưu ý.


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ÓA24
• Bài toán (2.2) tương đương với bài toán
min −f (x)

v.đ.k. x ∈ D


(2.3)

theo nghĩa tập nghiệm tối ưu của hai bài toán này là trùng nhau và giá trị tối ưu của
chúng thì ngược dấu, tức là
max{f (x)|x ∈ D} = − min{−f (x)|x ∈ D}

(2.4)

Vì vậy, không mất tính tổng quát, chỉ cần xét đến bài toán (2.1).
• Nếu D ≡ Rn thì bài toán (2.1) là bài toán tối ưu không ràng buộc. Ngược lại, ta nói bài
toán tối ưu có ràng buộc. Trong các bài toán tối ưu có ràng buộc, tập D thường được
xác định bởi
D = {x ∈ Rn |gi (x) (≤, =, ≥) bi , i = 1, . . . , m}
(2.5)
với gi , i = 1, . . . , m là các hàm ràng buộc.
Mỗi đẳng thức hoặc bất đẳng thức gi (x) (≤, =, ≥) bi , i = {1, . . . , m} được gọi là một
ràng buộc.

2.2.3

Phân loại bài toán tối ưu

Các bài toán tối ưu được chia thành một số lớp dựa trên tính chất của hàm mục tiêu f và
tập ràng buộc D:
• Quy hoạch tuyến tính: hàm mục tiêu f (x) và tất cả các hàm ràng buộc
gi (x), i = 1, . . . , m đều có dạng tuyến tính. Một trường hợp riêng quan trọng của
quy hoạch tuyến tính là bài toán vận tải.
• Quy hoạch phi tuyến: trong đó hàm mục tiêu f (x) hoặc ít nhất một hàm ràng buộc
gi (x) là phi tuyến (có chứa ít nhất một yếu tố phi tuyến: bậc hai, logarithm, mũ. . . ).
• Quy hoạch rời rạc: khi tập ràng buộc D ⊂ Rn là tập rời rạc. Có thể chia thành:

– Quy hoạch nguyên: khi các biến số chỉ nhận giá trị nguyên. Một trường hợp riêng
quan trọng của Quy hoạch nguyên là bài toán Quy hoạch tuyến tính nguyên, đó
là bài toán quy hoạch tuyến tính mà các biến số chỉ lấy giá trị nguyên.
– Tối ưu đồ thị: là một dạng đặc biệt của bài toán tối ưu rời rạc. Có các đỉnh
là các điểm rời rạc, kí hiệu: X = A, B, C, D, . . . Tập cạnh E = e1 , e2 , . . . hoặc
E = (A, D); (A, B); . . .. Tìm đường đi ngắn nhất của đồ thị thỏa mãn điều kiện
nào đó.
• Quy hoạch động: bài toán xét các đối tượng là các quá trình có thể chia ra thành nhiều
giai đoạn hoặc các quá trình phát triển theo thời gian.
• Quy hoạch đa mục tiêu: là bài toán trong đó có nhiều hàm mục tiêu cần phải tối ưu
trên cùng một tập ràng buộc. Trong đó, có nhiều hàm mục tiêu có thể đối lập nhau.
Khi giải bào toán này phải kết hợp hài hòa các lợi ích (giá trị) đạt được của các hàm
mục tiêu.
• Ngoài ra còn có Quy hoạch d.c (hàm mục tiêu hay các hàm ràng buộc là hiệu của hai
hàm lồi), Quy hoạch ngẫu nhiên (các tham số của bài toán không có giá trị xác định
mà được mô tả bởi các phân phối xác suất), Quy hoạch tham số (các hệ số của hàm
mục tiêu hay hàm ràng buộc phụ thuộc vào một hay nhiều tham số khác nhau). . .


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ÓA25

2.3

Ứng dụng bài toán tối ưu trong thực tế

Mục này trình bày một vài mô hình cổ điển của tối ưu hóa để minh họa cho việc xây dựng
mô hình toán học cho các bài toán có nội dung kinh tế, kỹ thuật.

2.3.1


Tối ưu hóa trong lập kế hoạch sản xuất

Bài toán minh họa: Một cơ sở sản xuất dự định sản xuất hai loại sản phẩm A và B. Các sản
phẩm được chế tạo từ ba loại nguyên liệu I, II và III. Số lượng dữ trự của từng loại và số
lượng từng loại nguyên liệu cần dùng để sản xuất ra một sản phẩm đươc cho bằng bảng 2.1:
Bảng 2.1: Thông số ví dụ bài toán lập kế hoạch sản xuất
Nguyên liệu cần dùng để sản xuất
Loại nguyên liệu

Nguyên liệu dữ trữ

một đơn vị sản phẩm
A

B

I

18

2

3

II

30

5


4

III

25

1

6

Hãy lập quy hoạch sản xuất để thu được tiền lãi là lớn nhất, biết rằng tiền lãi thu được
khi bán một sản phẩm A là 3 triệu đồng, một sản phẩm B là 2 triệu đồng.
Xây dựng mô hình toán học cho bài toán trên: Gọi x, y theo thứ tự là số sản phẩm A, B cần
sản xuất theo kế hoạch. Khi đó, tiền lãi thu được là:
z = 3x + 2y (triệu đồng)
Những ràng buộc về nguyên liệu dữ trữ là:
2x + 3y ≤ 18 (ràng buộc về nguyên liệu I)
5x + 4y ≤ 30 (ràng buộc về nguyên liệu II)
x + 6y ≤ 25 (ràng buộc về nguyên liệu III)
Ngoài ra, còn các ràng buộc tự nhiên là x, y ≥ 0 vì số đơn vị sản phẩm không thể âm.
Như vậy, bài toán có thể được phát biểu như sau: tìm x và y sao cho biểu thức z = 3x+2y
đạt giá trị lớn nhất, với các ràng buộc:




2x + 3y ≤ 18







5x + 4y ≤ 30



x + 6y ≤ 25








x, y ≥ 0

Bài toán lập kế hoạch sản xuất tổng quát: Từ m loại nguyên liệu sản xuất n loại sản
phẩm sao cho doanh thu đạt được cao nhất. Biết rằng:
• Lượng nguyên liệu loại i cần thiết để sản xuất một đơn vị sản phẩm loại j là
aij , i = 1, . . . , m, j = 1, . . . , n


×