ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
בקרה אופטימלית – ויקיפדיה

בקרה אופטימלית

מתוך ויקיפדיה, האנציקלופדיה החופשית

בקרה אופטימלית היא ענף בתורת הבקרה, המבקש למצוא חוקי בקרה, שביצועיהם מביאים למקסימום או מינימום אינדקס ביצועים כלשהו.

תוכן עניינים

[עריכה] הגדרת הבעיה

נתונה מערכת דינמית מאחד מהסוגים הבאים:

\ \dot{x}=f(x,u),\ x(t_0)=x_0 או:
\ \dot{x}=Ax+Bu,\ x(t_0)=x_0

כאשר במערכת הזאת:

  • x - וקטור המצב של המערכת.
  • u - וקטור הבקרה, המנסה להביא את אינדקס הביצועים למקסימום או מינימום. וקטור הבקרה מקיים \ u \in U

וקטור המצב של המערכת תחום במרחב מצב, המושפע מתנאי ההתחלה של המערכת ומהמרחב המותר למאמץ הבקרה u.
אינדקס הביצועים הוא פונקציונל, כלומר מיפוי של פונקציות אל הציר הממשי:
\ J:(U,X(U)) \rightarrow R^1

הבעיה הבסיסית, לפיכך, היא למצוא את חוק הבקרה האופטימלי: \ u^*[t_0,t_f] \in U,\ u*=arg min(J)
הצמד \ u^*[t_0,t_f],\ x^*[t_0,t_f] נקרא מסלול אופטימלי.

ברוב המקרים, לבעיה יש סט של אילוצים, היכולים להיות מהסוגים הבאים:

  • מצב סופי קבוע נדרש: \ x(t_f)=x_f
  • מניפה סופית: \ x(t_f)^Tx(t_f)=r_f^2
  • אילוצים קשיחים על המצב. למשל, חסימה של וקטור המצב שלא יברח מחוץ לגבול מסוים.
  • מצב התחלתי חופשי.
  • מניפה התחלתית: \ x(t_0)^Tx(t_0)=r^2_0
  • זמן סופי חופשי.

[עריכה] פתרון בעיות אופטימיזציה

[עריכה] תנאי לנקודת קיצון

שינוי אינפיניטסימלי ב-x, שיסומן ב- \ \delta x יגרום לשינוי קטן בערך הפונקציה f, שיסומן ב-\ \delta f. כדי להגיע לנקודת קיצון, אנחנו רוצים ש- \ \delta f=0. תנאי זה מתקיים, במקרים בהם מוגדר אילוץ מהסוג \ g(x)=0 אם ורק אם:

  • g(x)=0 בנקודה כלשהי x0.
  • \ f_x=-\lambda g_x בנקודה x0. תנאי זה מחייב קולינאריות של הגרדיאנט של f והקו המשיק לאילוץ בנקודה x0.

דרך אחרת להשתמש בכלל זה הוא השימוש בכופלי לגראנז', כלומר להגדיר לגראנז'יאן: \ L(x,\lambda)=f(x)+\lambda g(x) ואז לדרוש שהוא יהיה סטציונרי בנקודה x0 ביחס ל-x וביחס לכופלי הלגראנז'. אם יש מספר אילוצים, משתמשים בוקטור של כופלי לגראנז'.

[עריכה] תנאי הניצבות

משתמשים בחשבון וריאציות בשביל לבחון את הבעיה הבאה: \ \min_{x \in X}=\int ^{t_f}_{t_0} \Phi (x,\dot{x},t)dt
ניתן להוכיח שישנם שני תנאים המבטיחים את השגת המינימום:

  • תנאי אוילר-לגראנז': \ \Phi_x=\frac{d}{dt}\Phi^T_{\dot{x}}
  • תנאי הניצבות: \ [\Phi^T_{\dot{x}}\delta x]^{t_f}_{t_0}=0

[עריכה] ניסוח ההמילטוניאן

נגדיר את הבעיה הבאה: מעוניינים למזער את הערך של אינדקס הביצועים הבא: \ min J=\int ^{t_f}_{t_0} \phi(x,u,t)dt + \Theta[x(t_f),t_f] תחת האילוצים של משוואת המצב: \ \dot{x}=f(x,u,t)
מגדירים לגראנז'יאן כזה: \ L=J + \int ^{t_f}_{t_0} \lambda^T(t)(f-\dot{x})dt
כמו כן מגדירים המילטוניאן כך: \ H=\Phi+\lambda ^T f
וניתן להוכיח שהמשוואות הבאות פותרות את בעית האופטימיזציה שתוארה קודם לכן:
\ H_x=-\dot{\lambda}
\ H_{\lambda}=\dot{x}
\ H_u=0 יחד עם תנאי הקצה:

  • \ \lambda ^T(t_0)\delta x(t_0) - תנאי התחלה.
  • \ [\Theta _x-\lambda(t_f)]^T\delta x(t_f) - תנאי הסיום.
  • \ [H+\Theta_{t_f}]_{t_f}\delta t_f - במקרים בהם יש זמן חופשי.

[עריכה] שימושים בבקרה אופטימלית

בקרה אופטימלית משמשת במגוון רחב של יישומים. להלן כמה יישומים אפשריים:

[עריכה] חסרונות בקרה אופטימלית ובעיות LQR

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

לעתים ניתן לקבל פתרונות שהם כן פתרונות בחוג סגור, בעיקר בבעיות ייחודיות המוגדרות כבעיות רגולטור לינארי ריבועי (Linear Quadratic Regulator, LQR). בבעיות אלה ההגדרה היא כזו: \ J=\frac{1}{2} \int ^{t_f}_{t_0}(x^TQx+u^TRu)dt+\frac{1}{2}x^T(t_f)Sx(t_f)
\ \dot{x}=Ax+Bu
\ x(t_0)=x_0

\ S\geq 0
\ Q\geq 0
\ R>0
הפתרון לבעיה זו נתון על ידי חוק הבקרה הבא: \ u^*=-R^{-1}B^TPx
כאשר: P הוא פתרון משוואת ריקאטי הדיפרנציאלית:
\ -\dot{P}=PA+A^TP-PBR^{-1}B^TP+Q
\ P(t_f)=S

[עריכה] שיטות חישוביות

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

[עריכה] שיטת Steepest Descent

אפשר לתאר את אינדקס הביצועים כמשטח רב-ממדי, בו מטרת הבקרה האופטימלית היא למצוא את הערך הנמוך ביותר של אינדקס זה. כלומר, תאורטית, אם מתקדמים "כלפי מטה", כמו מים במורד הזרימה, מגיעים למקום או לערך הנמוך ביותר של משטח זה. שיטת Steepest Descent כשמה כן היא: פועלת בכיוון של הגרדיאנט המרבי ובכך מקרבת אותנו בכל פעם לפתרון. האלגוריתם לפיכך הוא:

  • בחר נקודה x0.
  • חשב את הגרדיאנט של פונקציית המחיר f בנקודה זו.
  • חשב את הנקודה הבאה \ x_{n+1}=x_n-f_x(x_n)*s, כאשר s הוא גודל הצעד, שאותו בוחרים.
  • תנאי העצירה: כאשר ההפרש בין הערכים של הפונקציה בעקבות הצעד קטנים התכנסנו לנקודת המינימום.

[עריכה] תכנות דינמי דיסקרטי

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

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

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

שפות אחרות


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -