2. Các phương pháp tối ưu
2.2. Các phương pháp giải quyết ài toán tối ưu hóa
2.2.1. hu t toán mô ph ng lu ện kim Simulated nnearling - SA):
SA là một thuật toán tìm kiếm xác suất, là phương pháp tối ưu hoá ó thể áp dụng để tìm kiếm tối ưu hoá toàn cục của hàm chi phí và tránh tối ưu hoá địa phương bằng việc chấp nhận một lời giải tồi hơn với một xác suất phụ thuộc nhiệt độ T.
Tiền thân của SA là thuật toán Monte Carlo năm 1953 ủa nhóm Metropolis.
Thuật toán SA đượ đề xuất bởi S. Kirk _ partrick năm 1982 và được công bố trước ng h ng năm 1983.
SA có nguồn gốc từ ơ học hệ thống. SA thự thi đơn giản và tương tự quá trình luyện kim vật lý. Trong luyện kim vật lý, kim loại đƣợ đốt nóng tới nhiệt độ cao và làm lạnh từ từ để nó kết tinh ở cấu hình năng lượng thấp tăng kí h thước của tinh thể và làm giảm những khuyết điểm của chúng). Nếu việc làm lạnh không xảy ra từ từ thì chất rắn kh ng đạt đƣợc trạng thái có cấu hình năng lƣợng thấp sẽ đ ng lạnh đến một trạng thái không ổn định (cấu trúc tối ưu địa phương .
Gọi E là năng lƣợng của trạng thái s, E‟ là trạng thái năng lƣợng của trạng thái s‟ và ∆E = E‟ – E là sự chệnh lệch nhiệt độ giữa trạng thái s‟ và trạng thái s. Nếu ∆E ≤ 0 thì sự thay đổi kết quả đƣợc chấp nhận với xác suất trong đó T là nhiệt độ, kB là một hằng số vật l đƣợc gọi là hằng số Boltzmann.
SA sử dụng một biến điều khiển toàn cục là biến nhiệt độ T. Ban đầu T ở giá trị rất ao và sau đó đƣợc giảm dần xuống. Trong quá trình tìm kiếm SA thay lời giải hiện thời bằng cách chọn ngẫu nhiên lời giải láng giềng với một xác suất phụ thuộc vào sự chênh lệch giữa giá trị hàm mục tiêu và tham số điều khiển T.
12
Quá trình tối ƣu hoá đƣợc tiếp tục cho tới khi cực tiểu toàn cụ đƣợc tìm thấy hoặc tổng số ước chuyển vượt quá một số tối đa á ước chuyển đã đượ định trước.
Sự chuyển tiếp ở một nhiệt độ kết th khi đạt tới trạng thái cân bằng nhiệt. Sau khi đạt tới trạng thái cân bằng nhiệt thì nhiệt độ đƣợc giảm thấp hơn. Nếu hệ thống không đ ng lạnh và ũng kh ng tìm đƣợc cực tiểu toàn cục thì vòng lặp vẫn tiếp tục và chỉ số k tăng. Hệ thống đ ng lạnh khi T tiến tới nhiệt độ Tcuối do người dùng đưa ra.
- Mã giả thuật toán:
s ← s0; e ← E(s) // Initial state, energy.
sbest ← s; ebest ← e // Initial "best" solution k ← 0 // Energy evaluation count.
while k < kmax and e > emax // While time left & not good enough:
T ← temperature(k/kmax) // Temperature calculation.
snew ← neighbour(s) // Pick some neighbour.
enew ← E(snew) // Compute its energy.
if P(e, enew, T) > random() then // Should we move to it?
s ← snew; e ← enew // Yes, change state.
if e < ebest then // Is this a new best?
sbest ← snew; ebest ← enew // Save 'new neighbour' to 'best found'.
k ← k + 1 // One more evaluation done return sbest // Return the best solution found.
2.2.2. hu t toán di tru n G s
GAs là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải pháp thích hợp cho các bài toán tối ƣu tổ hợp (combinatorial optimization), là một phân ngành của giải thuật tiến hóa, vận dụng các nguyên lý của tiến hóa nhƣ: di truyền, đột biến, chọn lọc tự nhiên, và trao đổi chéo. Nó sử dụng ngôn ngữ máy tính để mô phỏng quá trình tiến hoá của một tập hợp những đại diện trừu tƣợng (gọi là những nhiễm sắc thể), của các giải pháp có thể (gọi là những cá thể) cho bài toán tối ƣu hóa vấn đề. Tập hợp này sẽ tiến triển theo hướng chọn lọc những giải pháp tốt hơn. GAs ũng như á thuật toán tiến hoá, đều đƣợc hình thành dựa trên một quan niệm đƣợc coi là một tiên đề phù hợp với thực tế khá h quan. Đó là quan niệm "Quá trình tiến hoá tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ƣu". Quá trình tiến hoá thể hiện tính tối ưu ở chỗ thế hệ sau bao giờ ũng tốt hơn thế hệ trước.
13
Ngày nay, GAs càng trở nên quan trọng, đặc biệt là trong lĩnh vực tối ƣu hoá, một lĩnh vực có nhiều bài toán thú vị, đƣợc ứng dụng nhiều trong thực tiễn nhƣng thường khó và hưa ó phương pháp hiệu quả để giải quyết.
2.2.2.1. Các tính chất của giải thuật di truyền:
GAs là kỹ thuật chung, giúp giải quyết vấn đề bằng cách mô phỏng sự tiến hóa của on người hay của sinh vật nói chung (dựa trên thuyết tiến hóa muôn loài của Darwin , trong điều kiện qui định sẵn của m i trường. Mục tiêu của GAs không nhằm đưa ra lời giải chính xác tối ưu mà là đưa ra lời giải tương đối tối ưu. Một cá thể trong GAs sẽ biểu diễn một giải pháp của bài toán. Tuy nhiên, không giống với trong tự nhiên là một cá thể có nhiều nhiễm sắc thể NST mà để giới hạn trong GAs, ta quan niệm một cá thể có một NST. Do đó, khái niệm cá thể và NST trong GAs oi nhƣ là tương đương. Một NST được tạo thành từ nhiều gen, mỗi gen có thể có các giá trị khác nhau để quy định một tình trạng nào đó. Trong GAs, một gen đƣợ oi nhƣ một phần tử trong chuỗi NST. Một tập hợp các cá thể có cùng một số đặ điểm nào đấy đƣợc gọi là quần thể. Trong thuật giải di truyền, ta quan niệm quần thể là một tập các lời giải của một bài toán.
2.2.2.2. Các bước cơ bản của giải thuật di truyền:
Hình 1. 9 Sơ đồ thực hiện giải thu t di tru n đơn giản
14
Nhƣ trong hình trên, ta thấy giải thuật di truyền đơn giản đƣợc thực hiện qua á ƣớ ơ ản sau:
1. [Bắt đầu ] Nhận các tham số cho thuật toán.
2. [Khởi tạo] Sinh ngẫu nhiên một quần thể gồm n cá thể ( là n lời giải cho bài toán).
3. [Quần thể mới ] Tạo quần thể mới bằng cách lặp lại á ƣớ sau ho đến khi quần thể mới hoàn thành.
[Thí h nghi] Ƣớ lƣợng độ thích nghi eval(x) của mỗi cá thể.
[Kiểm tra ] Kiểm tra điều kiện kết thúc giải thuật.
[Chọn lọc] Chọn hai cá thể bố mẹ từ quần thể ũ theo độ thích nghi của chúng (cá thể ó độ thích nghi càng cao thì càng có nhiều khả năng đƣợc chọn).
[Lai ghép] Với một xác suất lai ghép đƣợc chọn, lai ghép hai cá thể bố mẹ để tạo ra một cá thể mới.
[Đột biến] Với một xác suất đột biến đƣợc chọn, biến đổi cá thể mới
4. [Chọn kết quả] Nếu điều kiện dừng đƣợc thỏa mãn thì thuật toán kết thúc và trả về lời giải tốt nhất trong quần thể hiện tại GAs có hai loại điều kiện dừng ơ ản:
(1) Dựa trên cấu trúc nhiễm sắc thể, kiểm soát số gen đƣợc hội tụ, nếu số gen hội tụ vƣợt quá số phần trăm nào đó ủa tổng số gen, việc tìm kiếm sẽ kết thúc.
(2) Dựa trên nghĩa đặc biệt của một nhiễm sắc thể, đo tiến bộ của giải thuật trong một số thế hệ ho trước, nếu tiến bộ này nhỏ hơn một hằng số ε xá định, kết thúc tìm kiếm.
2.2.2.3. Nguyên lý hoạt động:
Nền tảng lý thuyết của GAs dựa trên biểu diễn chuỗi nhị phân và lý thuyết sơ đồ. Một sơ đồ là một chuỗi, dài bằng chuỗi nhiễm sắc thể, các thành phần của nó có thể nhận một trong các giá trị của tập ký tự biểu diễn gen hoặc một ký tự đại diện “*”.
Sơ đồ biểu diễn một không gian con của không gian tìm kiếm. Không gian con này là tập tất cả các chuỗi trong không gian lời giải mà với mọi vị trí trong chuỗi giá trị của gen trùng với giá trị của sơ đồ.
Khái niệm bậc của sơ đồ giúp cho việc tính xác suất sống còn của sơ đồ do ảnh hưởng của đột biến. Chiều dài xá định của sơ đồ S (ký hiệu là δ S là khoảng cách giữa hai vị trí cố định ở đầu và cuối. Nó định nghĩa “độ nén” ủa thông tin chứa trong một sơ đồ. Ví dụ: δ S1 =10-4=6; δ S2 =9-5=4; δ S3 =10-1=9
Nhƣ vậy, một sơ đồ chỉ có một vị trí cố định duy nhất thì sẽ có chiều dài xác định là 0.
15
Khái niệm chiều dài xá định của sơ đồ giúp tính xác suất sống còn của sơ đồ do ảnh hưởng của phép lai.
GAs sử dụng một quần thể của các lời giải có thể. Mỗi lời giải đƣợ đại diện bởi một NST, nó chỉ là một đại diện trừu tƣợng. Cá NST đƣợc mã hóa thành các chuỗi nhị phân, mỗi vị trí trên chuỗi tồn tại hai giá trị là “1” hoặ “0”. Chẳng hạn nhƣ:
1 0 0 1 0 1 0 1 1 0.
Độ tốt của một cá thể đƣợ đánh giá ằng hàm mục tiêu g(x) với x là một NST.
Hàm mụ tiêu g x sau khi đƣợc tính toán sẽ là ơ sở để đánh giá độ thích nghi của cá thể. Hàm thích nghi f(x) là sẽ quyết định khả năng một cá thể đƣợc chọn lọc vào thế hệ sau, việc ánh xạ g x → f x ó nhiều phương pháp ánh xạ khác nhau phụ thuộc vào mụ đí h ủa bài toán.
2.2.2.4. So sánh GAs với kỹ thuật tối ưu khác:
Hoạt động của GAs đơn giản là việc mô phỏng sự tiến hóa và chọn lọc tự nhiên bằng máy tính bắt đầu từ một quần thể ngẫu nhiên. Bên cạnh đó để tối ƣu ta ần hàm lƣợng giá hoặ hàm thí h nghi để chọn cá thể tốt và loại bỏ cá thể xấu.
Thuật toán di truyền (GAs) khác với kĩ thuật tối ƣu khá ở chỗ [2]:
- GAs làm việc với bộ mã của biến chứ không phải làm việc trực tiếp trên biến.
- Hầu hết á kĩ thuật tối ưu th ng thường tìm kiếm từ một đỉnh, trong khi đó GAs luôn hoạt động trên tập hợp đỉnh điểm tối ƣu , điều này là một ƣu điểm của GAs gi p tăng ơ hội tiếp cận tối ƣu toàn ục và tránh hội tụ sớm tại điểm cục bộ địa phương.
- GAs đánh giá hàm mụ tiêu để phục vụ quá trình tìm kiếm, vì vậy có thể ứng dụng cho bất kì bài toán tối ƣu nào liên tục hay rời rạc).
- GAs thuộc lớp các thuật toán xác suất, á thao tá ơ ản của GAs dựa trên khả năng tí h hợp ngẫu nhiên trong quá trình xử lý.
2.2.3. Hệ thống Mờ Fu S stem
Trong những năm gần đ y, l thuyết hệ thống mờ đã ó nhiều áp dụng thành ng trong lĩnh vự điều khiển. Bộ điều khiển dựa trên l thuyết logi mờ gọi là ộ điều khiển mờ. Trái với kỹ thuật điều khiển ổ điển, kỹ thuật điều khiển mờ thí h hợp với á đối tượng phứ tạp, kh ng xá định mà người vận hành ó thể điều khiển ằng kinh nghiệm. Đặ điểm ủa ộ điều khiển mờ là kh ng ần iết m hình toán họ m tả đặ tính động ủa hệ thống mà hỉ ần iết đặ tính ủa hệ thống dưới dạng á phát iểu ng n ngữ. Chất lƣợng ủa ộ điều khiển mờ phụ thuộ rất nhiều vào kinh nghiệm ủa người thiết kế.
16
Về nguyên tắ , hệ thống điều khiển mờ ũng kh ng ó gì khá so với hệ thống điều khiển th ng thường khá . Sự khá iệt ở đ y là ộ điều khiển mờ làm việ tư duy như „ ộ não‟ dưới dạng trí tuệ nh n tạo. Nếu khẳng định với ộ điều khiển mờ ó thể giải quyết mọi vấn đề từ trướ đến nay hưa giải quyết đượ ằng phương pháp ổ điển thì kh ng hoàn toàn hính xá , vì hoạt động ủa ộ điều khiển phụ thuộ vào kinh nghiệm và phương pháp r t ra kết luận theo tư duy on người, sau đó đượ ài đặt vào máy tính dự trên ơ sở logi mờ. Hệ thống điều khiển mờ do đó ũng ó thể oi nhƣ một thế thống nơ-ron hệ thần kinh , hay đ ng hơn là 1 hệ thống điều khiển đƣợ thiết kế mà kh ng ần iết trướ m hình ủa đối tượng.
Bộ điều khiển mờ ó thể dùng trong á sơ đồ điều khiển khá nhau. Sau đ y là 2 sơ đồ thường gặp:
Điều khiển trự tiếp: Bộ điều khiển mờ đượ dùng trong đường thuận forward path ủa hệ thống điều khiển nối tiếp. Tín hiệu ủa đối tƣợng điều khiển đƣợ so sánh tín hiệu ài đặt, nếu ó sai lệ h thì ộ điều khiển mờ sẽ xuất tín hiệu vào đối tƣợng nhằm mụ đí h làm sai lệ h giảm về 0. Đ y là sơ đồ điều khiển rất quen thuộ , trong sơ đồ này, ộ điều khiển mờ đƣợ dùng thay thế ộ điều khiển ổ điển.
Điều khiển thí h nghi: Cá quy tắ mờ ó thể dùng để hiệu hỉnh th ng số ủa ộ điều khiển tuyến tính trong sơ đồ điều khiển thí h nghi. Nếu ó đối tƣợng phi tuyến thay đổi điểm làm việ , để hất lƣợng điều khiển tốt thì th ng số ủa ộ điều khiển phải thay đổi theo.
Hình 1. 10 Đi u khiển mờ trực tiếp
Hình 1. 11 Đi u khiển thích nghi mờ
17
2.2.3.1. Cấu tr c của bộ điều khiển mờ:
Bộ điều khiển mờ ơ ản ó 3 khối hứ năng là mờ hóa, hệ quy tắ và giải mờ.
Thự tế trong một số trường hợp khi ghép ộ điều khiển mờ vào hệ thống điều khiển ần thêm 2 khối tiền xử l và hậu xử l . Chứ năng ủa từng khối trong sơ đồ đƣợ m tả nhƣ sau:
Hình 1. 12 Bộ đi u khiển mờ cơ bản 2.2.3.2. hối tiền xử lý:
Tín hiệu vào ộ điều khiển thường là giá trị rõ từ á mạ h đo, ộ tiền xử l ó hứ năng xử l á giá trị đo này trướ khi đưa vào ộ điều khiển mờ ơ ản. Khối tiền xử l ó thể:
- Lƣợng tử hóa hoặ làm tròn giá trị đo.
- Chuẩn hóa hoặ tỉ lệ giá trị đo vào tầm giá trị huẩn.
- Lọ nhiễu.
- Lấy vi ph n hay tí h ph n.
Bộ điều khiển mờ ơ ản là ộ điều khiển tĩnh. Để ó thể điều khiển động, ần ó thêm á tín hiệu vi ph n, tí h ph n ủa giá trị đo, những tín hiệu này đƣợ tạo ra ởi á mạ h vi ph n, tí h ph n trong khối tiền xử l .
Cá tín hiệu ra ủa ộ xử l sẽ đƣợ đƣa vào ộ điều khiển mờ ơ ản, và ần h rằng á tín hiệu này vẫn là giá trị rõ ràng.
2.2.3.3. ộ điều khiển mờ cơ bản:
- Mờ Hóa: khối đầu tiên trong ộ điều khiển mờ ơ ản là khối mờ hóa, khối này ó hứ năng iến đổi giá trị rõ sang giá trị ng n ngữ, hay nói á h khá là sang tập mờ, vì hệ thống quy tắ mờ ó thể suy diễn trên á tập mờ.
- Hệ quy tắ : hệ quy tắ mờ ó thể xem là m hình toán họ iểu diễn tri thứ , kinh nghiệm ủa on người trong việ giải quyết ài toán dưới dạng á phát iểu
18
ng n ngữ. Hệ quy tắ mờ g m á quy tắ ó dạng nếu-thì, trong đó mệnh đề điều kiện và mệnh đề kết luận ủa mỗi quy tắ là á mệnh đề mờ liên quan đến 1 hay nhiều iến ng n ngữ. Điều này ó nghĩ là ộ điều khiển mờ ó thể áp dụng để giải á ài toán điều khiển 1 ngõ vào 1 ngõ ra SISO hay nhiều ngõ vào nhiều ngõ ra (MIMO).
- Phương pháp suy diễn: Suy diễn là sự kết hợp á giá trị ng n ngữ ủa ngõ vào sau khi mờ hóa với hệ quy tắ để r t ra kết luận giá trọ mờ ủa ngõ ra. Hai phương pháp suy diễn thường dùng trong điều khiển là Max-Min và Max-Prod.
- Giải mờ: kết quả suy diễn ởi hệ quy tắ là giá trị mờ, á giá trị mờ này ần đƣợ huyển đổi thành á giá trị rõ để điều khiển đối tƣợng.
2.2.3.4. hối hậu xử lý:
Trong trường hợp á giá trị mờ ở ngõ ra ủa á quy tắ đượ định nghĩa trên tập ơ sở huẩn thì giá trị rõ sau khi giải mờ phải đƣợ nh n với 1 hệ số tỷ lệ để trở thành giá trị vật l .
Khối hậu xử l thường gồm á mạ h khuế h đại ó thể hỉnh độ lợi , đ i khi khối hậu xử l ó thể ó kh u tí h ph n.
2.2.3.5. Phương pháp thiết kế bộ điều khiển mờ:
Khi thiết kế ộ điều khiển mờ, h ng ta hỉ mong muốn ộ điều khiển ho kết quả „ hấp nhận đƣợ ‟ hứ kh ng phải là kết quả „tốt nhất‟. Mặt khá , nhƣ đã trình ày ở trên, ài toán ổn định và tối ƣu hóa ủa hệ thống điều khiển mờ vẫn òn là ài toàn mở. Vì vậy hỉ nên sử dụng ộ điều khiển mờ khi kết quả điều khiển ằng á phương pháp ổ điển kh ng thõa mãn yêu ầu thiết kế.
Rất khó ó thể đưa ra đượ phương pháp thiết kế hệ thống điều khiển mờ tổng quát. Một ộ điều khiển mờ đƣợ thiết kế tốt hay kh ng hoàn toàn phụ thuộ vào kinh nghiệm ủa người thiết kế. Ở đ y hỉ đưa ra 1 số đề nghị về trình tự thiết kế 1 ộ điều khiển mờ.
2.2.3.6. Các bước thiết kế bộ điều khiển mờ:
- Bướ 1: Xá định á iến vào, iến ra và iến trạng thái nếu ần ủa đối tƣợng.
- Bướ 2: Chuẩn hóa á iến vào, iến ra về miền giá trị [0,1] hay [-1,1] để sau này ó thể lập trình dễ dàng ằng vi xử l 8051, 68HC11, 68HC12,… .
- Bướ 3: Định nghĩa á tập mờ trên ơ sở đã huẩn hóa ủa á iến, và gán ho mỗi tập mờ 1 giá trị ng n ngữ. Số lƣợng, vị trí và hình dạng ủa á tập mờ tùy thuộ vào từng ứng dụng ụ thể. Một đề nghị là nên ắt đầu ằng 3 tập mờ ó dạng
19
hình tam giá ho mỗi iến và á tập mờ này nên đƣợ ph n hoạ h mờ. Nếu kh ng thỏa mãn yêu ầu thì ó thể tăng số lƣợng tập mờ, thay đổi hình dạng.
- Bướ 4: Gán quan hệ giữa á tập mờ ở ngõ vào và ngõ ra, ướ này x y dựng đượ hệ quy tắ mờ. Bướ này ó thể thự hiện tốt nếu người thiết kế ó kinh nghiệm về á quy tắ mờ th ng dụng, và á phát iểu ng n ngữ m tả đặ tính động ủa đối tƣợng.
- Bướ 5: Mờ hóa tín hiệu vào, thường á tín hiệu vào đượ mờ hóa thành á tập mờ ó dạng singleton.
- Bướ 6: Chọn phương pháp suy diễn. Trong thự tế người ta thường họn phương pháp suy diễn ụ ộ nhằm đơn giản trong việ tính toán và áp dụng ng thứ hợp thành MAX-MIN hay MAX-PROD.
- Bướ 7: Chọn phương pháp giải mờ. Trong điều khiển người ta thường họn phương pháp giải mờ „thỏa hiệp‟ như phương pháp trọng t m, phương pháp trung ình ó trọng số…
2.2.4. hu t toán tối ưu bầ đàn PSO
Thuật toán tối ƣu hóa ầy đàn Parti le Swarm Optimization – PSO) là một thuật toán nhằm giải quyết các bài toán tối ƣu hóa trên một mô hình quần thể thông minh hay bầy đàn th ng minh Swarm Intelligen e – SI). Thuật toán PSO đƣợc giới thiệu lần đầu tiên bởi Kennedy và E erhat vào năm 1995. Cá tá giả đã phát triển các phương pháp đơn giản nhưng hiệu quả trong vấn đề tối ưu hóa á hàm mục tiêu dạng phi tuyến liên tụ và đã áp dụng thành ng để giải nhiều bài toán cực trị hàm số và một số bài toán tối ưu đa mục tiêu khác. Thuật toán được xuất phát từ tưởng quan sát các quần thể sinh học trong tự nhiên, dựa trên các quan hệ, các ứng xử của các cá thể trong bầy đàn, á h thức tổ chức và hoạt động của quần thể từ đó đƣa ra lời giải tối ƣu nhanh nhất. Có thể hình tượng thuật toán PSO mô phỏng phương pháp ủa cả bầy đàn nhƣ đàn him, đàn á đi tìm kiếm thứ ăn trong tự nhiên dựa trên á th ng tin đƣợc xá định từ những th ng tin đã đượ th ng áo trước của các cá thể trong bầy đàn.
PSO là một thuật toán nằm trong lớp các thuật toán tính tiến hóa (Evolution Computation – EC , tuy nhiên PSO ũng ó một vài điểm khác so với các thuật toán khác. Giống nhƣ nhiều kỹ thuật tiến hóa khá , PSO ũng khởi tạo quần thể an đầu bằng phương pháp ph n ố ngẫu nhiên. Tuy nhiên, PSO khác ở chỗ trong quá trình tiến hóa, thuật toán dựa trên việ đánh giá và lựa chọn á phương án ằng các thông tin về kinh nghiệm của từng cá thể và của cả bầy đàn. Việc lựa chọn này sẽ tốt hơn so với việc sử dụng á phương pháp tiến hóa th ng thường phép lai ghép và đột biện trong giải thuật di truyền … ủa GA truyền thống.