אופטימיזציית הנחיל

אופטימיזציית הנחיל (באנגלית: Particle Swarm Optimization, או בקיצור PSO) היא שיטת אופטימיזציה המבוססת על התנהגות חברתית של נחילים(אנ') ולהקות בטבע תחת ההבחנה שכל פרט בלהקה מבסס את תנועתו על פי מידע או זיכרון שיש ברשותו לגבי נקודות עניין במרחב ועל פי מיקומם של חברים אחרים בלהקה. שיטה זו הוצגה לראשונה על ידי קנדי ואברהרט בשנת 1995 ושוכללה על ידי שיי (Shi) ב-1998. אופטימיזציית הנחיל היא שיטת אופטימיזציה מטה-היוריסטית, דהיינו לא נסמכת על תכונה כלשהי של הבעיה לפתרון אלא מספקת מנגנון כללי למציאת אופטימום לוקאלי של פונקציית שיערוך נתונה .

אלגוריתם בסיסי

עריכה
  1. אתחול אוכלוסיית הנחיל   (מרחב הפתרונות הפוטנציאלים) לערכים אקראיים במרחב החיפוש.
  2. לכל פרט   באוכלוסייה נקבע את   ואת מהירותו ההתחלתית  .
  3. נקבע את   כפתרון בעל הערך הטוב ביותר של פונקציית השיערוך   מתוך  .
  4. כל עוד לא התקבל תנאי עצירה נבצע:
    1. נסיט כל פרט על פי המידע הלוקאלי שלו לגבי הפתרון הטוב ביותר והפתרון הגלובאלי הטוב ביותר:  
    2. נעדכן עבור כל פרט את הפתרון הלוקאלי הטוב ביותר:  
    3. נעדכן את הפתרון הגלובאלי הטוב ביותר שיש בנמצא:  
  5. החזר את  

כאשר: W הוא מקדם השולט ברמת הexploration לעומת exploitation, ככל ש W קרוב ל-1 כך הנחיל נוטה להמשיך לחפש ולא להתכנס לפתרון, וככל ש W קרוב ל0 הנחיל נוטה להיכנס לפתרון ולא לחפש פתרונות טובים יותר - נהוג להגדיר את W בין 0.4 ל-0.9 כאשר אנו מקטינים את W לאורך הזמן וביחס למספר האיטרציות הכולל.

  •   היא פונקציה המחזירה וקטור במימד הפתרון שרכיביו נבחרים בהתפלגות אחידה מהקטע  .
  •   הם קבועים שמווסתים את מידת הנטייה של הפתרונות בין פתרונות עצמיים מיטביים ופתרון גלובאלי מיטבי ברמת הנחיל. לרוב ניתן לקבוע  .

ראו גם

עריכה

קישורים חיצוניים

עריכה