350 likes | 505 Views
תכנון וניהול משימות עבור מטוס כיבוי. סטודנטים: רועי כהן אדווה לוי מנחה: אלירן אבוטבול אביב תשע"ב 05.2013. תוכן עניינים. תזכורת מההצגה הקודמת תיאור הבעיה מטרת הפרויקט חוקי תעדוף ופונקצית המחיר הפתרון הנבחר התאמת הבעיה לאלגוריתם הנבחר בניית התכניות מטריצת המרחקים מטריצת האילוצים
E N D
תכנון וניהול משימות עבור מטוס כיבוי סטודנטים: רועי כהן אדווה לוי מנחה: אלירן אבוטבול אביב תשע"ב05.2013
תוכן עניינים • תזכורת מההצגה הקודמת • תיאור הבעיה • מטרת הפרויקט • חוקי תעדוף ופונקצית המחיר • הפתרון הנבחר • התאמת הבעיה לאלגוריתם הנבחר • בניית התכניות • מטריצת המרחקים • מטריצת האילוצים • בניית עץ החיפוש • היוריסטיקות בפתרון הבעיה • דוגמאות וסימולציה • אפשרויות עתידיות להרחבה • Q&A
תיאור הבעיה • נתון כלי טיס בלתי –מאויש (כטב"מ), בעל יכולת תמרון, טווח טיסה, מהירות ומיקום התחלתי. • תפקיד כלי הטיס הוא לכבות מספר שריפות בו זמנית בגזרה מסוימת ובתאי שטח נתונים. • לכלי הטיס מוגדרים מספר תאי שטח בהם הוא אמור לטפל.
דרישות- מטרת הפרויקט • מטרתנו היא למצוא את סדר הביקורים ומשכם של כלי הטיס בשטחים הנתונים. • המשימה שהמטוס מקבל כוללת: • אינדקס של תא השטח. • זמן הגעה לתא השטח. • זמן העזיבה של תא השטח. • בחירה זו תתבצע על סמך פונקצית מחיר שהוגדרה מראש ותתחשב בכל אילוצי הבעיה שיוגדרו בהמשך.
חוקי התעדוף • קיימים שלושה גורמים המשפיעים על החלטת השיבוץ: • גודל תא השטח AreaSize • חומרת האש FireSeverity • עדיפות א-פריורית שניתנה לשטח a-priori priority
פונקצית המחיר • שלושת הפרמטרים שהוזכרו ישפיעו על פונקצית המחיר ויתנו עדיפות לאלגוריתם באיזה תא שטח לטפל קודם. • המחיר של כל משימה הינו: • המחיר הכולל של כל המשימות הינו:
CBJ-FC • האלגוריתם שנבחר הינו CBJ-FC Conflict BackJumping and Forward Checking • אלגוריתם זה הינו שילוב של שני האלגוריתמים שכבר ראינו, כל עוד אין רשימת קונפליקטים מתבצע FC בלבד ובשלב שתיווצר רשימת קונפליקטים יתבצע גם CBJ.
תהליך בניית התכניות • עבור כל אזור בו מתחוללת שריפה נבנה רשימת פעולות. • כל פעולה תוגדר ע"י: • זמן התחלה StartTime • זמן סיום EndTime • מספר אזור AreaNumber • אורך הפעולה ActionTime • מחיר הפעולה Cost
תהליך בניית התכניות- המשך • נעבור בסדר כרונולוגי על האזורים, אורך הפעולה יוגדר ע"י הקפת המעגל החסום בשטח הנתון: הקפת חצי מעגל, ¾ מעגל ומעגל שלם לכל אזור ואזור. • את הפעולות השונות נסדר על ציר זמן כך שכל פעולה מוזזת על ציר הזמן ובעלת זמן התחלה וזמן סיום המאפיינים אותה.
תהליך בניית התכניות- הדגמה Area 1 Action #5 Action #2 Action #1 Action #4 Action #7 Action #3 Action #8 Action #9 Action #10 Action #11 Action #6 Area 2 Actions Area 3 Time
טיפול בפעולה הראשונה • מאחר והאלגוריתם זקוק לתנאי התחלה ניצור פעולה פיקטיבית בעלת הפרמטרים: • StartTime=0 • EndTime=0 • AreaNumber=0 • Cost=1 • פעולה זו אינה מתנגשת עם הפעולות האחרות ומאחר והיא בעלת מחיר מכסימלי האלגוריתם יתעדף אותה כפעולה הראשונה שתתבצע.
מטריצת המרחקים • מטריצת המרחקים הינה מטריצה סימטרית. • מכילה את זמני הטיסה בין האזורים בהם מתחוללת השריפה כולל האזור המדומה (אזור 0).
מטריצת האילוצים • מטריצת האילוצים הינה מטריצה בינארית (מכילה ערכי true ו false בלבד). • נסמן ב N את מספר הפעולות הכולל בכל האזורים יחדיו, גודל המטריצה אם כן יהיה NXN. • תא aij במטריצת האילוצים מייצג את היחס בין פעולה i לפעולה j, התא יקבל את הערך TRUE אם פעולה i מסתדרת עם פעולה j ואת הערך FALSE אחרת.
מטריצת האילוצים-המשך • נאמר כי פעולה i מסתדרת עם פעולה j אם: • המטריצה הנ"ל לא סימטרית, מאחר ולא ייתכן שפעולה i מסתדרת עם פעולה j וגם להיפך. • נבצע פעולת OR לוגי בין כל תא במטריצה לבין התא המתאים לו במטריצה המשוחלפת ונקבל מטריצה סימטרית. • ובצורה מתמטית: • תאים המייצגים פעולות השייכות לאותו אזור מקבלים אוטומטית ערך FALSE.
מטריצת האילוצים- דוגמא Fly time from area 1 to area 2 Action #1 Action #6 Action #9 Actions Fly time from area 2 to area 3 Time
מטריצת האילוצים- דוגמא Fly time from area 1 to area 2 Action #1 Action #5 Action #6 Action #8 Fly time from area 2 to area 3 Actions Time
היוריסטיקות בפתרון הבעיה • על מנת למצוא את הפתרון האופטימאלי בזמן הטוב ביותר עלינו ליצור תנאי התחלה נוחים יותר לפני החיפוש. • נשתמש בשני מיונים עיקריים לפני הרצת החיפוש: • מיון לפי סוף זמן בעירה MaxTime- האזורים בעלי זמן סיום המוקדם ביותר יהיו ברמות העליונות יותר בעץ. • מיון הסתברותי- בכל רמה בעץ נמיין בסדר יורד (משמאל לימין) את ערכי פונקציות המחיר של כל פעולה ופעולה.
הדגמת היוריסטיקות Start point MaxTime=0 Cost=1 Area 0 Action 7 MaxTime=3 Cost=0.9 Action 6 MaxTime=3 Cost=0.6 Action 4 MaxTime=3 Cost=0.3 Action 5 MaxTime=3 Cost=0.1 Area 2 Action 3 MaxTime=7 Cost=0.7 Action 2 MaxTime=7 Cost=0.5 Action 1 MaxTime=7 Cost=0.2 Area 1
מסך משני להזנת נתונים נוספים עבור כל תא שטח שהוגדר
סימולציה מספר 1- ארבעה אזורי שריפה, מוגדרים ע"י שלושה קודקודים (מפת שטח)
סימולציה מספר 1- תוצאות הרצת האלגוריתם
סימולציה מספר 2- חמישה אזורי שריפה, מוגדרים ע"י ארבעה קודקודים (מפת לווין)
סימולציה מספר 2- תוצאות הרצת האלגוריתם
אפשרויות עתידיות להרחבה • בעיה זהה עם מספר כלי טיס אל מול מספר תאי שטח. • בחינה של פונקציות מחיר שונות. • למידה של המקדמים בפונקצית המחיר. • מידול הבעיה בצורה שונה (לא CSP). • תכנות ליניארי (LP) • תכנון בשלמים (IP)
References 1.Kolaitis, Phokion G.; Vardi, Moshe Y. (2000). "Conjunctive-Query Containment and Constraint Satisfaction". Journal of Computer and System Sciences61 (2): 302–332.doi:10.1006/jcss.2000.1713. 2.Cai, Jin-Yi; Chen, Xi (2012). "Complexity of counting CSP with complex weights". Proceedings of the 44th symposium on Theory of Computing - STOC '12. pp. 909–920.arXiv:1111.2384. doi:10.1145/2213977.2214059. ISBN978-1-4503-1245- 3. Dechter, Rina (2003). Constraint Processing. Morgan Kaufmann. ISBN1-55860-890-7. 4. Prosser, Patrick (1993). Hybrid Algorithms for the Constraint Satisfaction Problem. Computational Intelligence 9(3). 5. Ouyang, Ming (1998). "How Good Are Branching Rules in DPLL?". Discrete Applied Mathematics89 (1–3): 281–286. doi:10.1016/S0166-218X(98)00045-6.