בקרה אופטימלית – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
E kiv (שיחה | תרומות)
אין תקציר עריכה
 
E kiv (שיחה | תרומות)
אין תקציר עריכה
שורה 78:
<math>-\dot{P}=PA+A^TP-PBR^{-1}B^TP+Q</math><br />
<math>P(t_f)=S</math>
 
== שיטות חישוביות ==
בבעיות שונות לא ניתן או קשה מאד לבצע אופטימיזציה בשיטות אנליטיות. בבעיות אלה משתמשים במספר שיטות חישוביות בכדי לבצע אופטימיזציה באמצעים חישוביים, תוך הסתמכות על כוחו של המחשב. סעיף זה יפרט את השיטות המקובלות בעולם:
=== שיטת Steepest Descent ===
אם נתאר את אינדקס הביצועים כמשטח רב-מימדי, הרי שמטרת הבקרה האופטימלית היא למצוא את הערך הנמוך ביותר של אינדקס זה. כלומר, תיאורטית, אם נתקדם "כלפי מטה", כמו מים במורד הזרימה, נגיע למקום או לערך הנמוך ביותר של משטח זה. שיטת Steepest Descent כשמה כן היא: פועלת בכיוון של ה[[גרדיאנט]] המירבי ובכך מקרבת אותנו בכל פעם לפתרון. האלגוריתם לפיכך הוא:
* בחר נקודה x0.
* חשב את הגרדיאנט של פונקצית המחיר f בנקודה זו.
* חשב את הנקודה הבאה <math>x_{n+1}=x_n-f_x(x_n)*s</math>, כאשר s הוא גודל הצעד, שאותו בוחרים.
* תנאי העצירה: כאשר ההפרש בין הערכים של הפונקציה בעקבות הצעד קטנים התכנסנו לנקודת המינימום.
 
=== תכנות דינמי דיסקרטי ===
העיקרון בתכנות דינמי דיסקרטי הוא הליכה מתנאי הסיום של הבעיה אל תנאי ההתחלה, תוך התחשבות באילוצי הבעיה. אלגוריתם הפתרון הוא כזה:
* חלק את מרחב הבעיה הרציף בד"כ לנקודות דיסקרטיות במרחקים קטנים כרצונך(כמובן שככל שהרזולוציה משתפרת גדל העומס החישובי של הבעיה).
* צא מתנאי הסיום ועבור אל הנקודות שניתן להגיע אליהן לפי האילוצים וחשב את המחיר להגיע לנקודות אלה (דרך להגדיר אילוץ היא מחיר אינסופי) על פי המחיר לנקודה הקודמת + המחיר מהנקודה הקודמת לנקודה הנוכחית.
* בחר את הערך הנמוך ביותר להגיע אל כל נקודה ושמור את המסלול הזה כמסלול האופטימלי.
* חזור על הפעולות הקודמות עד שתגיע לתנאי ההתחלה של הבעיה.
 
כתוצאה מהאלגוריתם מתקבל באופן מיידי הערך המינימלי של המסלול והמסלול עצמו. המסלול מגדיר את מאמצי הבקרה הנדרשים לביצוע המסלול.