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

Giới thiệu về PSO

Một phần của tài liệu HOẠCH ĐỊNH QUỸ ĐẠO CHO ROBOT DI ĐỘNG DÙNG THUẬT TOÁN PSO (Trang 36 -36 )

PSO là một kỹ thuật tính toán tiến hóa dựa trên sự mô phỏng của đàn cá và đàn chim. Trong PSO, mỗi giải pháp đơn, được gọi là một phần tử (particle). Mỗi phần tử có một giá trị thích nghi (fitness value), được đánh giá bằng hàm đo độ thích nghi (fitness function) và một vận tốc để định hướng bay – cách tìm kiếm – của nó. Các phần tử trong PSO sẽ duyệt không gian bài toán bằng cách theo sau các phần tử có điều kiện tốt nhất hiện thời (độ thích nghi lớn nhất).

Thuật toán PSO được bắt đầu bằng việc khởi tạo bởi một nhóm nhẫu nhiên các phần tử, sau đó tìm kiếm giải pháp tối ưu bằng việc cập nhật vị trí các phần tử trong các thế hệ.

Nguyên lý cơ bản trong thuật toán PSO chỉ là một tập hợp những phần tử (bầy đàn) chuyển động với vận tốc và góc quay khi chúng được ném tự do trong không gian tìm kiếm. Mỗi hạt cónhững đặc tính sau đây [11], [3]:

 Tồn tại một vị trívà vận tốc

 Có hàm mụctiêu để đánh giá vị trí của phần tử.

Chương 2 Cơ sở lý thuyết

30 phần tử

 Lưu lại vị trí hiện tại tốt nhất của hạt.

Chúng ta có thể xem xét rằng "vùng lân cận" của một hạt bao gồm bản thân hạt này. Vùng lân cận theo "vật lý" là khoảng cách trong phép toán. Trong thực tế, những khoảng cách này sẽđược tính toán lại tại mỗi bước thời gian. Nó làm mất thời gian và tốn kém, nhưng một vài kỹ thuật xếp nhóm lạicần thông tin này.

Vùng lân cận theo "xã hội" chỉ mang "những mối quan hệ" trong phép tính. Trong thực tế, cho mỗi hạt, vùng lân cận của nó được định nghĩa như một danh sách của những hạt ở tại chính sự bắt đầu và không thay đổi. Chú ý rằng, khi quá trình hội tụ, một vùng xã hội lân cận trở thành là một vật lý.

Tại mỗi bước thời gian, hoạt động của một hạt đã cho là một thỏa hiệp giữa ba sự lựa chọn (hình 2.16).

 Đi theo đường của chính mình(đường số 3).

 Đi về phía vị trí hiện tại tốt nhất của nó(đường số 1).  Đi về phía vị trí láng giềng tốt nhất(đường số 2).

Chương 2 Cơ sở lý thuyết

31

Hình 2.17. Sự di chuyển c a cá thể trong PSO

Bi u thức cơ b n c a thu t toán PSO

Xét một quần thể của p cá thể trong không gian thiết kế n-chiều. vị trí vectơ i k X của mỗi cá thể i được cập nhật bởi biểu thức sau [21], [ 22].

   

1 1 1 2 2 k k k k k k i i i i g i V Vc rPXc rPX (2.22) 1 1 k k k i i i X X V (2.23) Trong đó: k i X vị trí của cá thể i tại vòng lặp k, 1 k i X vị trí của cá thể i tại vòng lặp k+1, k i V vận tốc của cá thể itại vòng lặp k, 1 k i V vận tốc cá thể i tại vòng lặp k+1, 1

c hệ số kinh nghiệm của cá thể, 2

Chương 2 Cơ sở lý thuyết

32 1

r ,r2 số ngẫu nhiên trong khoảng

 

0,1 ,

k i

P vị trí tốt nhất của cá thể i cho đến vòng lặp k,

k g

P vị trí tốt nhất của quần thể cho đến vòng lặp k, Thuật giải có thể trình bày bằng lời như sau:

1. for all cá thể i do

2. Khởi tạo vị trí ngẫu nhiên k i

X trong không gian tìm kiếm.

3. end for

4. while điểm cuối không được thỏa mãn do

5. for all cá thể i do

6. Đặt vị trí cá thể tốt nhất k i

P là vị trí tốt nhất được tìm thấy bởi cá thể cho đến lúc này

7. Đặt vị trí quần thể tốt nhất k g

P là vị trí tốt nhất được tìm thấy bởi quần thể cho đến lúc này

8. end for 9. for all cá thể i do 10. Cập nhật vận tốc theo

   

1 1 1 2 2 k k k k k k i i i i g i V Vc rPXc rPX 11. Cập nhật vị trí theo k 1 k k 1 i i i X X V 12. end for 13. end while

Chương 2 Cơ sở lý thuyết

33 Vận tốc của các cá thể được giữ ở mức [vmin, vmax] nhằm giảm không gian tìm kiếm của cá thể. Nếu không gian tìm kiếm được xác định bởi các giới hạn [Xmin, Xmax] rồi vị trí cập nhật của một cá thể sẽ được giữ ở giới hạn này. Điều này là cần thiết như tìm thấy giải pháp phải có tính khả thi. Lấytrường hợp của việc tìm kiếmvận tốctối ưu cho một robot di động để thực hiện một nhiệm vụ cụ thể, những vận tốc tìm thấy trong phạm vi hoạt động củathiết bị truyềnđộng của robot.

Công thức (2.22) được sử dụng để tính vận tốc mới của cá thể thứ i dựa vào 3 số hạng: Vận tốc trước của cá thể, khoảng cách giữa vị trí tốt nhất trước đó của cá thể và vị trí hiện hành, cuối cùng là khoảng cách giữa kinh nghiệm tốt nhất của quần thể (vị trí của cá thể tốt nhất trong quần thể) và vị trí hiện hành của cá thể thứ i. Tiếp đó cá thể bay về vị trí mới theo công thức (2.23). Một cách tổng quát, hành động của mỗi cá thể được cân nhấc bởi hàm mục tiêu được xác định trước, phụ thuộc vào vấnđề phải giải quyết. Hai hệ số c1, c2 khởi tạo bằng 1.8.

Thuật toán PSO có thể dùng để tìm tối ưu toàn cục và vị trí mà tại đó hàm thích nghi đạt giá trị tối ưu, cũng như để xác định hiệu xuất hội tụ nếu đã biết tối ưu toàn cục. Việc đạt ngưỡng của chỉ số hội tụ ở đây phụ thuộc vào mục đích sử dụng của thuật toán. Trong trường hợp thuật toán được dùng để tìm giá trị tối ưu toàn cục, sau một số lần xác định trước, nếu kết quả không được cải thiện xem như chỉ số hội tụ đạt ngưỡng. Còn trong trường hợp đã biết trước kết quả, sau một số vòng lặp chọn trước (thí dụ 100), nếu sự sai khác giữa giá trị hàm thích nghi và giá trị tối ưu nhỏ hơn một ngưỡng được chọn (thí dụ 0,0001), ta xem lần thực thi đó là hội tụ, ngược lại là không hội tụ.

Với những gì đã trình bày ở trên, rõ ràng là PSO rất giống với tính toán tiến hóa. Tuy nhiên trong PSO, thay vì sử dụng các toán tử di truyền mỗi cá thể cập nhật vị trí của mình không chỉ dựa vào kinh nghiệm tìm kiếm của bản thân mà còn tận dụng kinh nghiệm và sự khám phá của bạn bè khác. Việc đưa thêm khái niệm vận tốc vào vị trí hiện hành để sản sinh vị trí kế tiếp giống với toán tử đột biến trong thuật giải di truyền. Chỉ khác là trong PSO toán tử đột biến được trợ giúp bởi kinh nghiệm

Chương 2 Cơ sở lý thuyết

34 “bay” không chỉ của bản thân mà còn của đồng loại trong khi đột biến của di truyền là ngẫu nhiên. Vì thế PSO có tính tất định cao hơn thuật giải di truyền.

2.5.2. Các cải tiến c a PSO

Tối ưu toàn cục nhằm mục đích tìm ra lời giải tốt nhất cho hàm mục tiêu. Bài toán này trở nên khó khăn khi hàm mục tiêu phức tạp và có nhiều lời giải tối ưu cục bộ. Các tính toán tiến hóa có thể được sử dụng để khắc phục khó khăn này. Tuy nhiên một khó khăn khác được nảy sinh khi sử dụng kỹ thuật tiến hóa giải bài toán tối ưu là tính không tất định của các thuật toán tiến hóa. Giải pháp được sử dụng để chuyển từ không tất định sang tất định là cố định số bước lặp tiến hóa. Tuy nhiên tính tất định giả tạo như vậy chỉ có thể được sử dụng với những bài toán không đòi hỏi về thời gian xử lý. Trong bài toán ấy, lời giải tối ưu toàn cục có thể đạt đến khi cho số bước lặp cao. Trong thực tiễn, những bài toán như thế không nhiều vì thế, số bước lặp thường không cao khiến cho lời giải toàn cục khó đạt đến hoàn toàn.

Thuật toán PSO đã trình bày ở trên là một kỹ thuật tiến hóa nên cũng gặp vấn đề về tính tất định như các thuật toán tiến hóa khác khi áp dụng giải bài toán tối ưu toàn cục. Vì thế, từ khi thuật toán PSO chuẩn được giới thiệu bởi Eberhat và Kennedy năm 1995, đã có nhiều nghiên cứu thực nghiệm nhằm nâng cao hiệu quả sử dụng của PSO. Các nghiên cứu tập trung vào hai hướng chính: thực nghiệm trên các tham số hoặc thực nghiệm trên các hàm mục tiêu [21], [22].

Các cải tiến với tham số lực quán tính

Shi và Eberhat cải tiến thuật toán PSO bằng cách đưa vào tham số lực quán tính để cân đối việc tìm kiếm toàn cục và cục bộ của quần thể. Lực quán tính w dùng trong việc cập nhật vận tốc theo công thức (2.22)

   

1 1 1 2 2 k k k k k k i i i i g i V  w Vc rPXc rPX (2.24)

Lực quán tính được tận dụng để kiểm tra sự tác động của vận tốc trước lên vận tốc hiện hành. Bằng cách này, tham số w được điều chỉnh một cách thỏa hiệp giữa sự khảo sát toàn cục (phạm vi rộng khắp) và cục bộ (phạm vi gần) của quần thể và sự

Chương 2 Cơ sở lý thuyết

35 ảnh hưởng đến khả năng hội tụ của PSO. Lực quán tính lớn thuận lợi cho việc khảo sát toàn cục (tìm vùng lãnh thổ mới) trong khi lực quán tính nhỏ hướng tới sự thuận tiện cho việc khảo sát cục bộ. Giá trị phù hợp của lực quán tính w thường đường được cân bằng giữa sự khảo sát toàn cục và cục bộ có thể và do đó làm giảm số lần lặp quy định để tìm lời giải tối ưu. Tốt nhất là khởi tạo w với giá trị lớn để có thể khảo sát toàn cục trong không gian tìm kiếm tốt hơn và điều chỉnh giảm dần để được lời giải tinh tế hơn. Shi và Eberhat đề nghị khởi tạo w = 0.9 và giảm dần tuyến tính đến 0.4 trong quá trình tìm kiếm.

Các cải tiến với hàm mục tiêu

PSO giống như nhiều phương pháp tiến hóa và tối ưu (cực tiểu) hóa cổ điển khác, cũng gặp phải vấn đề là thỉnh thoảng xảy ra hội tụ địa phương, nhất là trong tình huống nhiều trạng thái. K.E.Parsopoulos và M.N.Vrahatis đề xuất một vài cách sửa đổi PSO bằng cách sử dụng các kỹ thuật làm lệch (Deflection Technique) gọi là DPSO và kỹ thuật kéo dãn (Stretching Technique) gọi là SPSO để làm dịu đi vấn đề cực tiểu địa phương, trong khi vẫn duy trì cực tiểu toàn cục. Các thực nghiệm của tác giả cho thấy PSO có trang bị các kỹ thuật này bộc lộ phẩm chất hiệu suất tốt và kết quả tìm thấy cực tiểu toàn cục đáng tin cậy và có thể đoán trước.

2.5.3. ng dụng c a PSO trong tìm đ ờng cho robot di động

Ngoài các ứng dụng trong điều khiển để xác định các thông số tối ưu, trong viễn thông dùng để tối ưu hóa các nút mạng, trong ngành vận tải dùng để phân luồng giảm ùng tắc và trong ngành hàng không ứng dụng phân luồng nhằm tiết kiệm chi phí, giảm giá thành … PSO còn ứng dụng trong việc tìm đường cho robot di động, các công việc liên quan cụ thể như sau:

D n đư ng cho một robot đơn

Quin et al đã ứng dụng PSO với toán tử đột biến để tối ưu đường dẫn cho robot di động [13], đầu tiên việc tìm kiếm con đường thu được bằng cách sử dụng phương pháp tìm kiếm tối ưu Dijkstra trong một đồ thị MAKLINK. Kế đến con đường được tìm thấy bởi thuật toán Dijkstra được điều chỉnh bởi thuật toán PSO để có một con

Chương 2 Cơ sở lý thuyết

36 đường ngắn hơn. Mặc dù phương pháp cho kết quả đường đitốt hơn nhưng rất nhạy cảm với các thông số. Zhao và Yan ứng dụng PSO để có được những con đường ngắn nhấtkhông va chạm vật cản trong một môi trường hai chiều[10]. Phương pháp này làm tăng cường khả năng tìm kiếm cục bộ, do đó mang lại con đường mịn hơn và ngắn hơn. Tuy nhiên phương pháp này làm tăng số đoạn thẳngtừ điểm khởi đầu và điểm mục tiêu.

Tránh v t c n

Li và Chen ứng dụng PSO để tìm một quỹ đạo dạng đa thức nămbậc cho robot di động tránh vậtcản [17]. Một PSO cục bộ với một yếu tố nút và topo vòng xác định các mối quan hệ tương tác giữa các hạt đã được sử dụng. Bài báo cho rằng thuật toán có thể được áp dụng cho các trường hợp quy hoạch dạng trực tuyến là cần thiết,mặc dù chi phí thấp.

Min et al đề xuất một kỹ thuật tránh chướng ngại vật cho robot di động trong môi trường động bằng cách sử dụng PSO [19]. Tại mỗi bước thời gian, sự thay đổi vận tốc tịnh tiến và và vận tốc góc được xác định bởi một thuật toán PSO để robot có thể nhận được các mục tiêu mà không có va chạm với vật cản. Kết quả được so sánh với phương pháp trường thế năng và PF kết hợp với GA cho thấy kết quả tốt hơn hai phương pháp này.

Tìm ki m m c tiêu

Doctor và Venayagamoorthy ứngdụng PSO cho tìm kiếm robot đơnmục tiêu và đa mục tiêu đã được trình bày. Mặc dù các kết quả được hội tụ trong thời gian ngắn, nhưng phải điều chỉnh các tham số cho thuật toán PSO để thực hiện tìm kiếm.

Hereford [9] giới thiệu phương pháp cải tiến cho PSO tiêu chuẩn bằng cách tìm kiếm trong số các robot để tìm ra một mục tiêu tốt nhất. Trong bài báo này, mỗi robot tham gia trong quá trình tìm kiếm là một hạt và phải tuân theo các hạn chế vận tốc và chuyển động của nó. Mỗi robot có thể tính toán vị trí mới của mình dựa trên vận tốchiện tại và vị trí hiện tại.

Chương 3 Hoạch định chuyển độngcho robot di động dùng thuật toán PSO

37

Chương 3

HO CH Đ NH CHUY N Đ NG CHO ROBOT DI

Đ NG DÙNG THU T TOÁN PSO

3.1. Gi i thi u

Hoạch định đường đi là bài toán quan trọng trong lĩnh vực robot tự hành. Nhiệm vụ của nó là tìm ra một đường đi tối ưu từ điểm bắt đầu đến điểm kết thúc mà không va chạm với vật cản. Để di chuyển robot theo đường đi đã được hoạch định, có thể dùng phương pháp trường thế năng, phương pháp bản đồ đường, phương pháp GA (Genetic Algorithms), PSO (Particle Swarm Optimization). Phương pháp trường thế năng đơn giản và dễ thực hiện đối với các môi trường có vật cản, hoặc vật cản đơn giản khoảng cách giữa điểm đầu và mục tiêu ngắn, đối với khoảng cách xa, vật cản phức tạp phương pháp này dễ rơi vào bẫy cực tiểu cục bộ. Phương pháp bản đồ đường đòi hỏi việc điều khiển robot phải thực sự chính xác, việc tìm kiếm đường đi tương đối chậm đối với các môi trường rộng lớn có nhiều vật cản. Phương pháp GA phức tạp hơn và nhiều tham số điều chỉnh hơn so với PSO. GA chưa hiệu quả trong một số lĩnh vực như: tối ưu hàm mục tiêu, huấn luyện mạng. PSO là phương pháp hoạch định đường đi cho robot di động trong môi trường toàn cục, PSO gần giống như GA nhưng không có quá trình lai ghép và đột biến nên dễ dàng thơn, mặc khác phương pháp PSO rất hiệu quả trong việc tối ưu hóa hàm mục tiêu.

Gần đây các giải pháp hoạch định đường đi kết hợp giữa thuật toán tìm đường đi ngắn D* với các phương pháp trên cho kết quả tránh được bẫy cực tiểu cục bộ, độ dài đường đi được ngắn hơn. Tuy nhiên đường đi của robot chưa được bằng phẳng. Robot bị dao động nhiều khi gặp các vật cản. Để khắc phục hạn chế này, đề tài đề xuất phương pháp “Hoạch định quỹ đạo cho robot di động dùng thuật toán PSO”

trên cơ sở kế thừa phương pháp D*-PF.

Chương 3 Hoạch định chuyển độngcho robot di động dùng thuật toán PSO

38 Hình 3.1 Mô tả thuật toán hoạch định đường đi cho robot di động từ điểm xuất phát

Một phần của tài liệu HOẠCH ĐỊNH QUỸ ĐẠO CHO ROBOT DI ĐỘNG DÙNG THUẬT TOÁN PSO (Trang 36 -36 )

×