You are on page 1of 33

ĐẠ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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
1.1 Tối ưu hóa một thông số
Thực hiện: 2 bước
- Tìm [a, b] 6 5 165 4 3
f ( x)  5 x  36 x   x  60 x  36
- Thu hẹp [a, b] tìm x* 2

30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051 99
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2. Thuật toán tối ưu hóa một thông số
Bước 1: Tìm [a, b] 6 5 165 4 3
f ( x)  5 x  36 x   x  60 x  36
2

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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.1 Thuật toán phân đôi
Yêu cầu: y f(x)
-Hàm f(x)
-Biết [a, b]
-Sai số 
f(x2)
f(x1)

x1 x 2 x
a c b

30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051 117
7
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.1 Thuật toán phân đôi
Thực hiện: y f(x)
ab
-Biết a, b tính: c 
2
 
-Biết c,  tính: x1  c  x2  c 
3 3 f(x2)
f(x1)
-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 x1 x2 x
+ Nếu: f(x1) > f(x2): thay a bằng c a c b
-Tính: ∆=∣a - b∣
-So sánh: ∆ ⇌ :
+ Nếu: ∆  : Dừng
+ Nếu: ∆ > : lặp

30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051 118
8
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.1 Thuật toán phân đôi
Cho f(x)
a, b, 
y f(x)
ab Tính: c, x1, x2; x  c  
c f(x1), f(x2)
1, 2
3
2
f(x2)
f(x1) đ s
b=c f(x)  f(x) a=c

x1 x2 x Tính: ∆=∣a-b∣
a c 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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
 2
f ( xy )  100 y  x   ( 1  x)
2

x  0 y  0

30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051 220
0
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.2 Thuật toán lát cắt vàng
Thực hiện: y f(x)
3 3
-Biết a, b tính: L  a  a b
2
 
-Biết c,  tính: x1  L  x2  L 
3 3 f(x2)
f(x1)
-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 x1 x2 x
+ Nếu: f(x1) > f(x2): thay a bằng c a L b
-Tính: ∆=∣a - b∣
-So sánh: ∆ ⇌ :
+ Nếu: ∆  : Dừng
+ Nếu: ∆ > : lặp

30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051 224
4
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.2 Thuật toán lát cắt vàng
Cho f(x)
a, b, 
y f(x)
ab Tính: L, x1, x2; x  c  
c f(x1), f(x2)
1, 2
3
2

f(x2)
f(x1) đ f(x)  f(x)
s a=L
b=L

x1 x2 x Tính: ∆=∣a-b∣
a L 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
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.2 Thuật toán lát cắt vàng
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 226
6
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.2 Thuật toán lát cắt vàng

30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051 227
7
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.2 Thuật toán lát cắt vàng
f(x) = 2x2 + exp( – x)
Sai số:  = 10-4
Mô phỏng kết quả:
Như vậy:
x [0,20382; 0,20892]
Tính 14 lần lặp

30.05.2018
11:13
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051 228
8
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.3 Một số phương pháp khác
Tối ưu hóa một thông số có thể tìm bằng các phương pháp:
-Phân đôi.
-Lát cắt vàng.
-Phương pháp quét.
-Phương pháp Fibonacci.

30.05.2018 29
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051
11:13
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.3 Một số phương pháp khác
Với giá trị đầu x0 sau 20 lần tính thì tỷ số x0/x20 là:
1) Phương pháp phân đôi: 1024
2) Phương pháp lát cắt vàng: 9349
3) Phương pháp Fibonaci: 10946

30.05.2018 30
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051
11:13
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.3 Một số phương pháp khác
Với giá trị đầu x0 sau 20 lần tính thì tỷ số x0/x20 là:
1) Phương pháp phân đôi: 1024
2) Phương pháp lát cắt vàng: 9349
3) Phương pháp Fibonaci: 10946

Phương pháp tìm kiếm Sai số  cần đạt được


0,1 0,05 0,01 0,001
Phân đôi 7 9 14 20
Lát cắt vàng 6 8 11 16
Đồng đều (quét( 19 39 199 1999

30.05.2018 31
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051
11:13
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
2.4 Dùng Solver và Minimize
Ñeå söû duïng thuû tuïc Solver caàn löu yù nhöõng tuøy choïn sau:
Set Target Cell: Haøm muïc tieâu;
Equal to: Max, Min, Value of;
By Changing Cells: Caùc bieán;
Subject to the constraints: Caùc raøng buoäc (ñieàu kieän);
Ñeå thay ñoåi caùc tuyø choïn cuûa Solver ta aán chuoät vaøo Options … thì

30.05.2018 32
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051
11:13
TỐI ƯU HÓA VÀ ỨNG DỤNG TRONG CNHH

190361
3. Ứng dụng: xác định chỉ số thích hợp
Chỉ số hồi lưu được tối ưu hóa:
- Chỉ tiêu kinh tế kỹ thuật
- Chỉ tiêu thể tích tháp nhỏ nhất

30.05.2018 33
Mô hình hóa – Mô phỏng – Tối ưu hóa MS: CH2051
11:13

You might also like