160 likes | 318 Views
Simulate Annealing (SA). Traveling Salesman Problem (TSP). מהי TSP. בהינתן מספר של הערים שיש לבקר בהם, ובידיעת המרחקים ביניהם, יש למצוא את המסלול האופטימלי, כלומר הקצר ביותר. יש לבקר בכל עיר רק פעם אחת – אסור לחזור לאותה עיר פעמיים. המסלול צריך לעבור בכל הערים הנתונות.
E N D
Simulate Annealing (SA) Traveling Salesman Problem (TSP)
מהי TSP • בהינתן מספר של הערים שיש לבקר בהם, ובידיעת המרחקים ביניהם, יש למצוא את המסלול האופטימלי, כלומר הקצר ביותר. • יש לבקר בכל עיר רק פעם אחת – אסור לחזור לאותה עיר פעמיים. • המסלול צריך לעבור בכל הערים הנתונות. • עיר המוצא היא גם העיר שבה מסתיים המסלול. • מורכבות הבעיה גודלת ככל שמספר הערים גדל.
Optimal route calculation using simulated annealing to solve the Travelling Salesman problem of visiting all the capitals of the EEC
מהו Simulated Annealing ? • מקור ההשראה לאלגוריתם הוא מתהליך החישול של מתכת. • בחישול כרוך חימום וקירור של חומר כדי לשנות את תכונותיו הפיזיקליות כתוצאה מהשינויים הפנימיים במבנה שלו. • כאשר החומר מתקרר המבנה החדש שלו הופך להיות קבוע, וכתוצאה מכך גורם למתכת לשמור על המאפיינים החדשים שלה שהושגו. • ב-SA אנו משתמשים במשתנה טמפרטורה כדי לדמות את תהליך החימום (T) • תחילה אנו מאתחלים אותו כגבוה, ולאחר מכן מאפשרים לו "להתקרר" לאט בזמן שהאלגוריתם רץ. • ככל שהטמפרטורה גבוהה יותר האלגוריתם יורשה לקבל פתרונות פחות טובים מהפתרון הנוכחי. • ככל שהטמפרטורה יורדת כך גם הסיכוי לקבל פתרונות גרועים יותר.
סקירת האלגוריתם תחילה בוחרים טמפרטורה התחלתית , ויוצרים פתרון אקראי ראשוני מתחילים לולאה, כאשר בכל איטרציה בוחרים "מסלול שכן" של הפתרון הנוכחי, אשר נוצר ע"י החלפה של זוג ערים בפתרון הנוכחי. אורכו של ה-"מסלול השכן" מחושב – אם הוא קצר יותר מאורכו של אז אחרת – מגרילים מספר , אם מתקיים אז 5. הלולאה נמשכת עד שמגיעה למספר המקסימלי של האיטרציות. 6. הטמפרטורה מונמכת בקבוע 7. אם הטמפרטורה הגיעה לערכה המינימלי שהוגדר האלגוריתם מסתיים, אחרת הלולאה חוזרת חלילה.
קוד האלגוריתם המקבילי חלק זה מתבצע באופן מקבילי על מספר מעבדים
ביצוע סימולציה • הסימולציה התבצעה על 15 ערים • טמפרטורה התחלתית של • קבוע ההתקררות הוא 0.9999 • מספר איטרציות בכל לולאה הוא • הסימולציה נכתבה בשפת C ו-MPI • שימוש ב 1-8 מעבדים (1,2……8)
תוצאות הסימולציה • גורם האצה • זמן ריצה
המשך תוצאות סימולציה מסלול אופטימלי
המשך תוצאות סימולציה השפעת קצב התכנסות על זמן ריצה
המשך תוצאות סימולציה השפעת קצב ההתכנסות על המסלול האופטימלי
מקורות • Solving Traveling Salesman Problem Using Parallel Genetic Algorithm and Simulated Annealing , Fan Yang, May 18, 2010 • http://www.theprojectspot.com/tutorial-post/simulated-annealing-algorithm-for-beginners/6 • Simulated Annealing - Department of Computer and Information Science (IDA) Linköpingsuniversitethttp://www.ida.liu.se/~petel/ • http://en.wikipedia.org/wiki/Simulated_annealing