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

giới thiệu về tối ưu hóa

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.73 MB, 55 trang )

11/03/2014

Giới thiệu về TỐI ƯU HÓA

Chúng ta có đang
sử dụng tối ưu
hóa???

1


11/03/2014

Tối ưu hóa là gì???
 Tối ưu hóa là tìm ra kết quả tốt nhất trong một điều kiện đề ra
 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.

 Về mặt toán học, tối ưu hóa là tìm ra cực đại, cực tiểu của hàm
số, trong một số các điều kiện ràng buộc

Giới thiệu về tối ưu hóa

2


11/03/2014



Giới thiệu về tối ưu hóa

Giới thiệu về tối ưu hóa
Tối ưu hóa hàm 1 biến
Đối với hàm số liên tục và khả vi f(x), f(x) đạt cực trị tại x* nếu
f’(x*) = 0
VD: Tìm giá trị nhỏ nhất của f(x) = (x-15)2
4500
4000
3500
3000
2500
2000
1500
1000
500
0
-100

-50

0

50

100

3



11/03/2014

Giới thiệu về tối ưu hóa
Tối ưu hóa hàm 1 biến
Đối với hàm số liên tục và khả vi f(x), f(x) đạt cực trị tại x* nếu
f’(x*) = 0
VD: Tìm giá trị nhỏ nhất của f(x) = (x-15)2
4500
4000
3500
3000

2500
2000
1500
1000
500
0
-100

-50

0

50

100

Giới thiệu về tối ưu hóa

Tối ưu hóa hàm 1 biến
Đối với hàm số liên tục và khả vi f(x), f(x) đạt cực trị tại x* nếu
f’(x*) = 0
VD: Tìm giá trị nhỏ nhất của f(x) = (x-15)2
4500

Không đúng
với trường
hợp này

4000
3500
3000
2500
2000
1500
1000
500
0
-100

-50

0

50

100

4



11/03/2014

Giới thiệu về tối ưu hóa
Tối ưu hóa khi không có điều kiện giới hạn
 Điều kiện cần để f(x) đạt cực trị : df/dx = 0

 Đối với hàm nhiều biến f(x1, x2, …,xn): tất cả các đạo hàm riêng = 0

f ( xi )
 0, i  1, 2,..., n
xi
Hoặc viết cách khác, Gradient = 0

 f ( x1 ) f ( x2 )
f ( xn ) 
 0
f ( x)  
,
,...,

x

x
xn 
1
2



Giới thiệu về tối ưu hóa
Cực đại và cực tiểu toàn cầu và địa phương

5


11/03/2014

Giới thiệu về tối ưu hóa

Giới thiệu về tối ưu hóa

6


11/03/2014

Giới thiệu về tối ưu hóa

Giới thiệu về tối ưu hóa

7


11/03/2014

Giới thiệu về tối ưu hóa

Giới thiệu về tối ưu hóa


8


11/03/2014

Giới thiệu về tối ưu hóa
Các bài toán tối ưu hóa đặc trưng
- Tìm giá trị nhỏ nhất của sai số có thể trong tính toán

- Tối đa hóa xác suất đưa ra quyết định đúng
- Tìm thời gian hoặc năng lượng nhỏ nhất cần thiết để thực
hiện 1 mục tiêu nào đó
- Tối thiểu hóa sai số vận hành của một hệ thống điềuu khiển

- Bài toán ước lượng
- Bài toán điều khiển

Giới thiệu về tối ưu hóa
Thiết lập bài toán tối ưu dùng để:

-Lựa chọn chiến lược tốt nhất
- Lựa chọn những thông số thiết kế tốt nhất
- Lựa chọn số ước tính chính xác nhất
Giá trị tối ưu đạt được khi lựa chọn những biến điều khiển
tốt nhất

9


11/03/2014


Tối ưu hóa tuyến tính
(Linear programming)

Tối ưu hóa tuyến tính
Một bài toán tối ưu hóa tuyến tính đơn giản
Maximize
Đk ràng
buộc

10


11/03/2014

Tối ưu hóa tuyến tính
Miền khả thi
Maximize
Đk ràng
buộc

Tối ưu hóa tuyến tính

11


11/03/2014

Tối ưu hóa tuyến tính
Dạng tổng quát của bài toán tối ưu hóa tuyến tính

Viết theo dạng ma trận
Maximize
Đk ràng
buộc

c1 x1  c2 x2  ...  cn xn
a11x1  a12 x2  ...  a1n xn  b1
a21x1  a22 x2  ...  a2 n xn  b2

Maximize C T X
Đk ràng
buộc

AX  b

...
...
am1 x1  am 2 x2  ...  amn xn  bm

Tối ưu hóa tuyến tính
Nếu thay đổi CT từ (1,1) thành (1/6,1)

Infinite optimal
solutions

12


11/03/2014


Tối ưu hóa tuyến tính
Maximize

Maximize

Đk ràng
buộc

Đk ràng
buộc

x1  0
x2  0
x2  x1  1
x1  6 x2  15
4 x1  x2  10

No feasible
solution, no optimal
solution
Linear program is
infeasible

Tối ưu hóa tuyến tính
Maximize

Maximize

Đk ràng
buộc


Đk ràng
buộc

x1  0
x2  0
x2  x1  1

There are feasible
solution, but no
optimal solution

Linear program is
unbounded

13


11/03/2014

Tối ưu hóa tuyến tính
Maximize C T X
Đk ràng
buộc

AX  b

Một bài toán tối ưu tuyến tính có thể có 4 trường
hợp:
(i) Có 1 lời giải (singular optimal solution)


(ii) Có 1 tập hợp không giới hạn lời giải (infinite
optimal solutions)
(iii) Không có biến khả thi , không có lời giải cho bài
toán tối ưu (no feasible solution, no opmial
solution)
(iv) Có biến khả thi, nhưng không có lời giải cho bài
toán tối ưu (there are feasible solutions, but no
optimal solution)

Các ví dụ bài toán tối ưu tuyến tính
Bài 1. Tối ưu hóa chế độ ăn uống: đầy đủ và tiết kiệm
Văn phòng Thanh tra dinh dưỡng đ{nh giá c{c món ăn nhanh phục vụ tại cơ sở ăn uống
A không đ{p ứng yêu cầu dinh dưỡng quy định: thiếu vitamin A v| C v| chất xơ.
Chủ cơ sở ăn uống phải khắc phục thiếu sót bằng cách đưa thêm bắp cải trắng, c|rốt, và
dưa chuột muối vào các món ăn để đ{p ứng yêu cầu dinh dưỡng. Hãy giúp chủ cơ sở A
tìm cách đ{p ứng yêu cầu dinh dưỡng với giá thành thêm vào thấp nhất.
Cho bảng dữ liệu sau:

* Giá thêm vào giá thành sản phẩm

14


11/03/2014

Các ví dụ bài toán tối ưu tuyến tính
Bài 1. Tối ưu hóa chế độ ăn uống: đầy đủ và tiết kiệm

Bài toán tối ưu đặt ra:


Các ví dụ bài toán tối ưu tuyến tính
Bài 2. Sản xuất kem trong 1 năm
Một nhà máy sản xuất kem cần thiết lập kế hoạch sản xuất kem cho năm tiếp
theo. Căn cứ vào số liệu trước đ}y, điều tra thị trường, bộ phận tiếp thị đã dự
đo{n nhu cầu sản xuất kem cho năm tới như sau:

Lập kế hoạch sản xuất cho nhà máy đ{p ứng nhu cầu thị trường với chi phí thấp nhất

15


11/03/2014

Các ví dụ bài toán tối ưu tuyến tính
Bài 2. Sản xuất kem trong 1 năm
Nếu theo nhu cầu thị trường để sản xuất thì sự thay đổi nhu cầu trong các tháng
sẽ có thể làm tăng chi phí do phải mướn thêm nhân công, điều chỉnh máy móc v.v.
Do đó, nhà máy muốn phân bố đều sản xuất trong năm kết hợp với lưu trữ
trong kho lạnh để giảm thiểu chi phí phát sinh do sự thay đổi nhu cầu tiêu thụ
Gọi di là nhu cầu tiêu thụ trong tháng i
xi là lượng kem được sản xuất trong tháng i
si là lượng kem còn dư phải lưu trữ cuối tháng i
Điều kiện ràng buộc:

s0 = 0
s12 = 0
xi, di, si ≥ 0

Các ví dụ bài toán tối ưu tuyến tính

Bài 2. Sản xuất kem trong 1 năm
Mục tiêu: Tìm chi phí thấp nhất để đ{p ứng nhu cầu tiêu thụ kem
Giả sử: - Chi phí chênh lệch khi thay đổi lượng sản xuất kem từ tháng i-1 sang tháng i : 50 E/ton
- Chi phí lưu trữ kem : 20 E/ton

Hàm mục tiêu

Không phải
là hàm
tuyến tính

16


11/03/2014

Các ví dụ bài toán tối ưu tuyến tính
Bài 2. Sản xuất kem trong 1 năm
Hàm mục tiêu

Không phải
là hàm
tuyến tính

Để đưa về hàm tuyến tính
Sự thay đổi lượng sản xuất giữa thángi-1 và thángi có thể là tăng lên hoặc giảm đi
Gọi yi là lượng sản xuất kem tăng lên giữa thángi-1 và thángi
zi là lượng sản xuất kem giảm đi giữa giữa thángi-1 và thángi

Hàm mục tiêu trở thành


Các ví dụ bài toán tối ưu tuyến tính
Bài 2. Sản xuất kem trong 1 năm
Hàm mục tiêu trở thành

Biến điều khiển (y, z, s)

17


11/03/2014

Các ví dụ bài toán tối ưu tuyến tính
Bài 3. Tìm mối quan hệ tuyến tính giữa 2 biến (fitting the line)
Độ ồn (dB) được đo lúc 8h mỗi buổi tối với một số lượng mẫu nhất định. Số %
người xemTV cũng được khảo sát vào mỗi thời điểm đo. Tìm mối quan hệ giữa
độ ồn và % người xem TV, giả sử rằng mối quan hệ đó là tuyến tính

Các ví dụ bài toán tối ưu tuyến tính
Bài 3. Tìm mối quan hệ tuyến tính giữa 2 biến (fitting the line)
Mục tiêu: Tìm đường tuyến tính (ax+b) “best fit” cho các điểm đo đạc  tổng
sai số giữa điểm đo đạc và điểm trên đường quan hệ là nhỏ nhất

18


11/03/2014

Các ví dụ bài toán tối ưu tuyến tính
Bài 3. Tìm mối quan hệ tuyến tính giữa 2 biến (fitting the line)

Phương pháp phổ biến nhất là phương pháp bình phương nhỏ nhất (least square)

Cho các điểm (x1, y1), (x2, y2), …, (xn, yn), tìm đường y = ax +b để:

Minimize

Các ví dụ bài toán tối ưu tuyến tính
Bài 3. Tìm mối quan hệ tuyến tính giữa 2 biến (fitting the line)

19


11/03/2014

Các ví dụ bài toán tối ưu tuyến tính
Bài 3. Tìm mối quan hệ tuyến tính giữa 2 biến (fitting the line)
Phương pháp thứ 2 là sử dụng giá trị tuyệt đối
Cho các điểm (x1, y1), (x2, y2), …, (xn, yn), tìm đường y = ax +b để:

Minimize

Đưa về dạng bài toán tối ưu tuyến tính

Các ví dụ bài toán tối ưu tuyến tính
Bài 4. Phân chia vùng của các điểm
Một cái bẫy được điều khiển bằng máy tính được lập trình sao cho bẫy chỉ bắt thỏ, nếu chồn
đến gần, bẫy sẽ không hoạt động. Bẫy sẽ cảm ứng khối lượng và diện tích bóng của con vật để
sập hoặc không.
Biểu đồ thể hiện các mẫu thỏ/chồn theo khối lượng và diện tích bóng của chúng
Thỏ


Mục tiêu: t{ch rời c{c điểm trắng v| đen
bằng một đường thẳng (không có điểm
n|o nằm trên đường thẳng n|y)

Chồn

20


11/03/2014

Các ví dụ bài toán tối ưu tuyến tính
Bài 4. Phân chia vùng của các điểm
Thỏ

pi

qi

Chồn

B|i to{n tối ưu đặt ra

Các ví dụ bài toán tối ưu tuyến tính
Bài 4. Phân chia vùng của các điểm
Nếu thay đường y = ax + b bằng đường parapolic y = ax2 + bx + c để t{ch rời điểm
trắng v| điểm đen

B|i to{n tối ưu đặt ra


Tổng quát: b|i to{n tối ưu tuyến tính có thể {p dụng cho b|i to{n ph}n chia
vùng điểm với đường tổng qu{t dạng y  f ( x)  a11 ( x)  a2 2 ( x)  ...  akk ( x)

21


11/03/2014

Các ví dụ bài toán tối ưu tuyến tính
Bài 5. Cắt cuộn giấy
Một nh| m{y giấy sản xuất cuộn giấy với chiều rộng tiêu chuẩn l| 3 m. Tuy
nhiên, kh{ch h|ng muống mua cuộn giấy với chiều rộng nhỏ hơn, v| nh| m{y
phải cắt theo ý muốn kh{ch h|ng từ c{c cuộn giấy 3 m. Ví dụ, 1 cuộn giấy 3 m có
thể cắt th|nh 2 cuộn giấy rộng 93cm, 1 cuộn giấy rộng 108cm, 6 cm còn lại bị bỏ
phí.
Kh{ch h|ng yêu cầu:
-97 cuộn giấy 135cm
-610 cuộn giấy 108cm
-395 cuộn giấy 93cm
-211 cuộn giấy 42cm
Tìm số cuộn giấy 3m nhỏ nhất phải cắt để đ{p ứng yêu cầu kh{ch h|ng

Các ví dụ bài toán tối ưu tuyến tính
Bài 5. Cắt cuộn giấy
C{c kích thước cuộn giấy theo yêu cầu của kh{ch h|ng l| : 135 cm, 108 cm, 93 cm, 42cm
X{c định tất cả c{c khả năng để cắt cuộn giấy 3m th|nh những kích thước theo yêu cầu

Gọi x1, x2 ,..., x12 l| số cuộn giấy cắt theo phương {n 1 – 12.
B|i to{n tối ưu đặt ra


2 x1  x2  x3  x4  97
12

Min

x
i 1

i

Subject to

x2  2 x5  x6  x7  x8  610
x3  2 x6  x7  3x9  2 x10  x11  395
x2  x3  3x4  2 x5  2 x7  4 x8  2 x10  4 x11  7 x12  211

22


11/03/2014

Giải bài toán tối ưu hóa tuyến tính
bằng pp đơn hình
(Simplex method)

Bài toán tối ưu tuyến tính dạng chính tắc
Một bài toán tối ưu tuyến tính dạng chính tắc có dạng như sau:
(standard form/equational form)


Một bài toán tối ưu tuyến tính ở dạng chính tắc khi:
- Có điều kiện các biến điều khiển đều không âm (X ≥ 0)
- Các điều kiện giới hạn còn lại đều l| những điều kiện bằng (equality constraints)
- Vectơ b phía bên phải không }m (b ≥ 0)

23


11/03/2014

Bài toán tối ưu tuyến tính dạng chính tắc
Để giải b|i to{n tối ưu tuyến tính theo phương ph{p đơn hình, phải
chuyển b|i to{n tối ưu tuyến tính về dạng chính tắc

Chuyển về dạng chính tắc
bằng c{ch dùng biến bù
(slack variables)

Chuyển bài toán tối ưu tuyến tính dạng chính tắc
Cho b|i to{n tối ưu tuyến tính

Slack
variable

24


11/03/2014

Chuyển bài toán tối ưu tuyến tính dạng chính tắc

Cho b|i to{n tối ưu tuyến tính

Chuyển bài toán tối ưu tuyến tính dạng chính tắc
Ngo|i ra, cũng có thể chuyển đổi b|i to{n min sang bài toán max

25


×