1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tài liệu CHƯƠNG 8: TỐI ƯU HOÁ pptx

33 443 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 8: Tối Ưu Hoá
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Toán Học Tối Ưu Hoá
Thể loại Tài liệu giảng dạy
Thành phố Hà Nội
Định dạng
Số trang 33
Dung lượng 405,62 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Việc tìm cực đại của fx thực hiện một cách đơn giản bằng cách tìm cực tiểu của hàm −fx.. Các thuật toán cực tiểu hoá là các thủ thuật lặp đòi hỏi một giá trị ban đầu của biến x.. Nếu fx

Trang 1

CHƯƠNG 8: TỐI ƯU HOÁ

§1. KHÁI NIỆM CHUNG VỀ TỐI ƯU HOÁ 

hoá một hàm. Thông thường ta chỉ cần tìm cực tiểu một hàm là đủ. Việc tìm cực đại của f(x) thực hiện một cách đơn giản bằng cách tìm cực tiểu của hàm 

−f(x). Hàm f là hàm giá trị hay hàm đối tượng, cần được giữ cực tiểu. Biến x 

là biến có thể hiệu chỉnh tự do. 

  Các thuật toán cực tiểu hoá là các thủ thuật lặp đòi hỏi một giá trị ban đầu của biến x. Nếu f(x) có nhiều cực tiểu địa phương, việc chọn giá trị đầu sẽ xác định cực tiểu nào được tính. Ta không có cách nào bảo đảm là tìm được cực tiểu toàn cục. 

  Các  biến  có  thể  bị  ràng  buộc  bằng  các  đẳng  thức  hay  bất  đẳng  thức. Phần lớn các phương pháp là tìm cực tiểu không ràng buộc, nghĩa là không có hạn chế nào đối với biến x. Các bài toán này bao gồm tìm cực tiểu của hàm, tìm điểm tĩnh ‐ điểm có gradient triệt tiêu. Các bài toán tìm cực tiểu có ràng buộc khó hơn và thuật toán khá phức tạp.  

đi  xuống  tại  các  điểm  tiếp  theo  x1,  x2,  x3,   cho  đến  tại  xn  hàm  tăng  lại  thì dừng. Điểm cực tiểu bị vây trong khoảng (xn‐2, xn). Khoảng (xi+1, xi) không nên chọn là hằng số vì như vậy cần nhiều bước tính. Hợp lí nhất là nên tăng kích thước bước tính để đạt được cực tiểu nhanh hơn, ngay cả khi cực tiểu bị vây trong  một  đoạn  khá  rộng.  Ta  chọn  kích  thước  tăng  theo  dạng  hằng  số: + =

Trang 2

= −

1

x b rh  và x2 = +a rh  như hình vẽ. Nếu f1 = f(x1) lớn hơn f2 = f(x2) như hình 

a  thì  cực  tiểu  nằm  trong  khoảng  (x1,  b)  nếu  ngược  lại  cực  tiểu  nằm  trong khoảng (a, x2). 

Trang 8

Bước  3:  Nếu  không  ta  coi 

điểm  cực  tiểu  nằm  đối  diện  với 

điểm  c  trên  đường  ab(xem  hình 

và  nếu f(r)  <  f(c)  thì  lấy  r  làm  giá 

trị  mới  của  c;  nếu  f(r)  ≥  f(b)  thì 

lấy: 

và nếu f(s) < f(c) thì lấy s làm giá trị mới của c; nếu không bỏ các điểm b, c và dùng m và c1 = (a + c)/2 làm điểm b và c mới và cho rằng cực tiểu nằm quanh điểm a. 

Trang 13

 

function [x, fx, xx] = newtons(f, x0, tolx, maxiter) 

Trang 16

thì hướng của [u] và [v] là liên hợp. Điều này cho thấy khi ta muốn cực tiểu hoá f(x) theo hướng [v], ta cần di chuyển theo hướng [u] để không làm hỏng cực tiểu trước đó. Với hàm bậc hai n biến độc lập ta có thể xây dựng n hướng liên  hợp.  Các  phương  pháp  gradient  liên  hợp  khác  nhau  dùng  các  kỹ  thuật khác nhau để tìm hướng liên hợp. 

3. Phương pháp Powell: Phương pháp Powell là phương pháp bậc zero, chỉ đòi hỏi tính f([x]). Thuật toán gồm các bước: 

Trang 18

  ‐ cho [x0], tính f([x0])    

‐ khởi gán x(n) = xk; tính [g0] = ‐∇f([x0]); s(k) = ‐ g(xk)  

‐ lặp k = 0, 1, 2,  

  • [xk+1] = [xk] + αk[sk]  

Trang 21

có thể trở về trạng thái năng lượng thấp, tạo thành một tinh thể duy nhất có cấu trúc hình chữ nhật. Làm nguội nhanh sẽ có thể tạo ra sự không đồng nhất 

và làm biến dạng cấu trúc tinh thể giống như  khi tìm cực tiểu toàn cục quá nhanh. Phương pháp mô phỏng quá trình ủ (simulated annealing ‐ SA) có thể thực hiện bằng cách dùng phân bố xác suất Boltzmann của mức năng lượng E tại nhiệt độ T, được mô tả bằng: 

  p(E)= αe−KTE       (1) 

Chú ý là ở nhiệt độ cao, đường cong phân bố xác suất phẳng trong một phạm 

vi E rộng, ngụ ý là hệ thống có thể ở trạng thái năng lượng cao cũng ngang bằng ở trạng thái năng lượng thấp. Trong khi đó ở nhiệt độ thấp đường cong 

Trang 22

có khả năng ở mức năng lượng thấp nhiều hơn nhưng vẫn có một cơ hội nhỏ 

ở trạng thái năng lượng cao để nó có thể thoát khỏi trạng thái năng lượng cực tiểu địa phương. 

k 100 k

10 để tạo ra [∆x] và lấy [x1] = [x] + [∆x]  

∗ nếu [∆f] = f([x1]) ‐ f([x]) < 0    ‐ [x] = [x1] và nếu f([x]) < [fo] thì [x] = [xo] và [fo] = f([xo]) 

∗ không thì: 

‐ tạo số  ngẫu nhiên z trong đoạn [0, 1] và cho [x] = [x1] chỉ trong trường hợp z < p 

• Với [xo] gần với điểm cực tiểu mà ta đang tìm ta có thể dùng nó như giá  trị  đầu  và  dùng  các  quy  tắc  tìm  cực  tiểu  địa  phương  khác  để  tìm điểm cực tiểu của hàm f([x]) 

Dựa  trên  thuật  toán  này  ta  xây  dựng  hàm simannealing().  Hàm  này  có  hai 

phần có số bước lặp thay đổi khi nhiệt độ giảm. Một phần có kích thước của bước tính [∆x] tạo ra bởi vec tơ ngẫu nhiên [y] có các giá trị nằm trong đoạn [‐

k 100 k

Trang 24

§9. THUẬT TOÁN DI TRUYỀN 

nhiên có định hướng, mô phỏng sự chọn lọc tự nhiên để có các cá thể sống sót thích  nghi  nhất.  Cũng  như  thuật  toán  SA,  GA  cho  phép  tìm  được  cực  tiểu toàn cục ngay cả khi hàm đối tượng có nhiều cực trị gồm các điểm uốn, các cực tiểu địa phương, các cực đại địa phương. Thuật toán di truyền lai gồm các bước: khởi gán, chọn lọc, vượt qua, đột biến. Thuật toán gồm các bước sau: 

• Cho giá trị đầu [xo]  =  [xo1,  xo2, ,xoN]  (N  là  kích  thước  của  biến),  biên dưới [l] = [l1, ,lN], biên trên [u] = [u1, ,uN], kích thước của quần thể Np, vec  tơ  Nb  =  [Nb1, ,  NbN]  gồm  số  bit  các  gán  cho  mỗi  thể  hiện  của  mỗi biến xi, xác suất sống sót Pc, xác suất đột biến Pm, tỉ lệ học η(0≤ η ≤ 1, thể  

Trang 25

• Khởi tạo ngẫu nhiên số cá thể ban đầu của quần thể.  

Cho [xo] = [xo], fo = f([xo]) và xây dựng theo cách ngẫu nhiên mảng các cá thể ban đầu [X1] chứa Np trạng thái(trong vùng cho phép báo bởi biên trên [u] và biên dưới [l]) bao gồm cả trạng thái ban đầu [xo] bằng ccáh đặt: 

−bm

∗ nếu fmin = f(nb) < fo thì đặt fo = f(nb) và [xo] = [x(nb)] 

Trang 26

Chọn lọc

Vượt qua

Trang 28

        X(n, :) = X(n, :) + eta*(fXm ‐ fX1(n))/fXm*(X(nb, :) ‐ X(n, :)); %Pt.(5)      end 

Trang 31

sẽ chọn r1 (0.5 < r1 < 1) trong đoạn con [a ,b1 1]=[a , bo o] Ta đã kí hiệu b1 = do và 

do co ∈ [ao, do] nên ta có: 

fr

1

n

f1

f f ff

n 1

fr

f     và: 

Trang 32

Thuật  toán  tìm  Fibonacci  gồm  (n  ‐  2)  lần  tính.  Đoạn  con  thứ  (k+1)  có  được bằng  cách  giảm  độ  dài  của  đoạn  thứ  k  bằng  hệ  số  − −

= n 1 k k

n k

fr

f .  Sau  (n  ‐  2)  lần tính, độ dài của bước cuối cùng là: 

Ngày đăng: 23/01/2014, 06:20

TỪ KHÓA LIÊN QUAN

w