ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
TỐI ƯU HÓA
ỨNG DỤNG TRONG CÔNG NGHỆ HÓA HỌC
TS. Nguyễn Đình Thọ
Bộ môn: QT & TB Hoá – Thực phẩm – Sinh học
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1. Định nghĩa và phân loại
2. Thuật toán tối ưu hóa
3. Ứng dụng trong CN Hóa học
4. Bài tập
S
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
22
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1. Định nghĩa và phân loại
Tối ưu hóa là gì?
Hoạt động có mục đích, nhằm:
-có được kết quả tốt nhất (giá trị của các tham số)
-trong các điều kiện thích hợp
Phân loại?
-Tìm các cực trị của hàm đang được xem xét
-Điều kiện tối ưu để thực hiện quy trình công nghệ
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
33
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1. Định nghĩa và phân loại
Tối ưu hóa là gì?
Hoạt động có mục đích, nhằm:
-có được kết quả tốt nhất (giá trị của các tham số)
-trong các điều kiện thích hợp
Tiêu chí tối ưu hóa có thể là:
- kinh tế;
- kỹ thuật và kinh tế;
- kỹ thuật và công nghệ;
- khác (tâm lý, thẩm mỹ, môi trường, xã hội …)
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
44
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1. Định nghĩa và phân loại
Phân loại?
-Tối ưu hóa một thông số
-Tối ưu hóa nhiều thông số
Trình tự thực hiện?
- Trước tiên cần chọn tiêu chí tối ưu hóa
- Thiết lập mô hình toán liên hệ giữa: tiêu chí tối ưu
các thông số
- Chọn thuật toán để tối ưu hóa
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
55
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1.1 Tối ưu hóa một thông số
Phân loại
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
66
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1.1 Tối ưu hóa một thông số
Cần tìm x* để f(x*) Min
Nếu cần tìm x* để g(x*) Max
Đặt:
f(x) = - g(x)
Thì:
g(x*) Max
f(x*) Min
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
77
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1.1 Tối ưu hóa một thông số
Yêu cầu:
-Hàm f(x) có dạng giải tích
-Biết [a, b]: trên [a, b] chỉ có 1 cực tiểu duy nhất
-Sai số cho phép:
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
88
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1.1 Tối ưu hóa một thông số
Thực hiện: 2 bước
- Tìm [a, b]
- Thu hẹp [a, b] tìm x*
165 4
3
f ( x) 5 x 36 x
x 60 x 36
2
6
5
S
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
99
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1.1 Tối ưu hóa một thông số
Phân loại:
-Tìm kiếm có định hướng
-Tìm kiếm ngẫu nhiên
Các phương pháp tìm kiếm định hướng:
-Thứ tự “0”
-Gradien
-Newton
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
110
0
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1.1 Tối ưu hóa một thông số
Tìm kiếm đồng mức (quét)
Phân làm hai khoảng
- Lát cắt vàng
- Xấp xỉ bậc 2
- Newton-Raphson
Phân đôi
- Cát tuyến
- Xấp xỉ bậc 3
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
111
1
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
1.2 Tối ưu hóa nhiều thông số
Chỉ xét bài toán tìm cực tiêu
Thực hiện hai bước:
- Tìm giá trị gần đúng ban đầu
- Tìm giá trị tối ưu từ giá trị gần đúng ban đầu
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
112
2
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2. Thuật toán tối ưu hóa một thông số
Thực hiện:
-Tìm đoạn [a, b]: có một cực tiểu
-Thu hẹp [a. b]: tìm x* [a, b]: để f(x*) , (với sai số đã cho)
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
113
3
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2. Thuật toán tối ưu hóa một thông số
Bước 1: Tìm [a, b]
165 4
3
f ( x) 5 x 36 x
x 60 x 36
2
6
5
50
36
22
f ( x)
8
6
20
1
0
1
2
3
4
x
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
114
4
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2. Thuật toán tối ưu hóa một thông số
Bước 2: thu hẹp [a, b]
- Phương pháp phân đôi
6
5 165 4
3
f ( x) 5 x 36 x
x 60 x 36
- Phương pháp lát cắt vàng
2
- Dùng các hàm của Mathcad
50
36
22
f ( x)
8
6
20
1
0
1
2
3
4
x
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
115
5
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2. Thuật toán tối ưu hóa một thông số
Đơn giản nhất:
-Giải phương trình: df/dx = 0
-Một số khó khăn:
-Hàm không có đạo hàm
-Đạo hàm phức tạp
Tìm kiếm cực trị không dùng đạo hàm
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
116
6
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2.1 Thuật toán phân đôi
Yêu cầu:
-Hàm f(x)
-Biết [a, b]
-Sai số
y
f(x)
f(x2)
f(x1)
a
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
x1 x 2
c
MS: CH2051
x
b
117
7
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2.1 Thuật toán phân đôi
Thực hiện:
ab
-Biết a, b tính: c
2
x2 c
-Biết c, tính: x1 c
3
3
-Biết f(x), x1, x2 tính: f(x1) và f(x2)
-So sánh: f(x1) ⇌ f(x2):
+ Nếu: f(x1) < f(x2): thay b bằng c
+ Nếu: f(x1) > f(x2): thay a bằng c
-Tính: ∆=∣a - b∣
-So sánh: ∆ ⇌ :
+ Nếu: ∆ : Dừng
+ Nếu: ∆ > : lặp
30.05.2018
11:13
y
f(x)
f(x2)
f(x1)
a
Mô hình hóa – Mô phỏng – Tối ưu hóa
x1 x2
c
MS: CH2051
x
b
118
8
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2.1 Thuật toán phân đôi
Cho f(x)
a, b,
y
f(x)
ab
c
2
f(x2)
f(x1)
a
x1 x2
c
b=c
đ
x
b
Tính: c, x1, x2; x c
1, 2
f(x1), f(x2)
3
s
f(x) f(x)
a=c
Tính: ∆=∣a-b∣
∆
s
đ
Kết thúc
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
119
9
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2.1 Thuật toán phân đôi
Tìm cực tiểu: f(x,y) = 100(y – x2)2 + (1 – x)2
-Giá trị ban đầu (0, 0)
-Sai số: = 10-4
2
f ( xy ) 100 y x
x 0
30.05.2018
11:13
2
( 1 x)
2
y 0
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
220
0
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2.1 Thuật toán phân đôi
Tìm cực tiểu: f(x) = 2x2 + exp( – x)
Sai số: = 10-4
Tìm được:
a=0
b=1
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
221
1
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2.1 Thuật toán phân đôi
Tìm cực tiểu: f(x) = 2x2 + exp( – x)
Sai số: = 10-4
Phương pháp phân đôi:
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
222
2
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2.1 Thuật toán phân đôi
Tìm cực tiểu: f(x) = 2x2 + exp( – x)
Sai số: = 10-4
Mô phỏng kết quả:
Như vậy:
x [0,203844; 0,204155]
Tính 15 lần lặp
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
223
3
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2.2 Thuật toán lát cắt vàng
Thực hiện:
3 3
a b
-Biết a, b tính: L a
2
x2 L
-Biết c, tính: x1 L
3
3
-Biết f(x), x1, x2 tính: f(x1) và f(x2)
-So sánh: f(x1) ⇌ f(x2):
+ Nếu: f(x1) < f(x2): thay b bằng c
+ Nếu: f(x1) > f(x2): thay a bằng c
-Tính: ∆=∣a - b∣
-So sánh: ∆ ⇌ :
+ Nếu: ∆ : Dừng
+ Nếu: ∆ > : lặp
30.05.2018
11:13
y
f(x)
f(x2)
f(x1)
a
Mô hình hóa – Mô phỏng – Tối ưu hóa
x1 x2
L
MS: CH2051
x
b
224
4
190361
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH
2.2 Thuật toán lát cắt vàng
Cho f(x)
a, b,
y
f(x)
ab
c
2
f(x2)
f(x1)
a
x1 x2
L
b=L
đ
x
Tính: L, x1, x2; x c
1, 2
f(x1), f(x2)
3
s
f(x) f(x)
a=L
Tính: ∆=∣a-b∣
b
∆
s
đ
Kết thúc
30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa
MS: CH2051
225
5