برنامهنویسی پویای دیفرانسیلی (DDP)، یک الگوریتم کنترلی بهینه از رده بهینه سازی مسیر است. این الگوریتم در سال (۱۹۹۶) توسط ماینی Mayne[۱] معرفی شد و بعدها در کتاب جاکوبسون (Jacobson )و ماینی مورد تحلیل قرارگرفت[۲]. این الگوریتم از مدلهای با مرتبه دوی توابع هزینه و حرکت بهره می برد و همگرایی از نوع درجه دومquadratic convergence را به نمایش می گذارد. این رویکرد خیلی نزدیک به روش نیوتون(Newton) قدم به قدم که متعلق به پانتوجا(Pantoja) هست میباشد [۳][۴].
این فرمول تغییرات را به صورت تابعی از متغیرکنترلی از زمان تا نشان میدهد. هزینه کل یعنی مجموع هزینههای اجرا و هزینه نهایی است که وقتی محقق میشود که با شروع از وضعیت و اعمال دنباله کنترلی به کران مورد نظر برسیم:
در اینجا است و برای از معادله Eq. 1 بدست می آید. راه حل مسئله کنترل بهینه، مینیمم کردن دنباله کنترلی است. بهینه سازی مسیر یعنی پیدا کردنبرای یک خاص به جای تمامی وضعیتهای اولیهٔ ممکن.
فرض کنید کهیک دنباله کنترل جزئی باشد : و هزینه رفتن به به صورت مجموع جزئی هزینه هااز به تعریف شود:
هزینه بهینهٔ رفتن یا تابع ارزش در زمان ، هزینه رفتنی است که دنباله کنترلی مینیمم را میدهد:
با قراردادن ، اصل برنامه نویسی پویاdynamic programming principle، مینیمم سازی را به جای انجام آن در کل دنباله کنترل¬ها به دنباله¬ای از مینیمم سازی ها روی تنها یک کنترل محدود می کند، که روند پیشرفت آن نسبت به زمان، روبه عقب است:
DDP، از طریق انجام تکراری یک پاس روبه عقب روی مسیری جزئی انجام میشود تا دنباله کنترلی جدید تولید کند و سپس یک پاس رو به جلو برای محاسبه و ارزیابی یک مسیر جزئی جدید انجام میشود. ما با پاس رو به عقب شروع می کنیم. اگر
آرگومانی از عملگر در معادله Eq. 2باشد، را تغییرات این کمیت درمحدوده امین جفت در نظر می گیریم:
زیرنویس در اینجا نوع دیگر از زیرنویسی موریموتو(Morimoto) است که زیرنویسها تفاوت در چیدمان مشتق را نشان می دهند.
[۵] با رها کردن اندیس جهت خوانایی، علامت پرایم گام زمانی بعدی را نشان میدهد ، ضرایب بسط داده شده به صورت زیر هستند:
جملات آخر در سه معادله آخر ادغانم یک بردار را با یک تانسور نشان می دهند. با کمینه کردن تخمین درجه دوم (3) برحسب داریم:
با دادن جمله حلقه باز و جمله بازخورد و قرار دادن نتیجه در (3) اکنون ما مدل درجه دوم ارزش در زمان را داریم:
با محاسبه بازگشتی مدلهای درجه دوم محلی از و اصلاحات کنترلی ، از تا گذر رو به عقب را تشکیل میشود. همانند بالا، ارزش با مقداردهی اولیه میشود. هر وقت گذر روبه عقب کامل شد، گذر روبه جلو یک مسیر جدیدی را محاسبه می نماید:
پاسهای روبه عقب و جلو آنقدر تکرار میشوند تا در نهایت همگرا شوند.
برنامهنویسی پویای دیفرانسیلی الگویتم مرتبه دویی شبیه به روش نیوتون است. بنابراین این روش از گامهای بزرگی در راستای مینیم کردن بهره می برد و اغلب نیاز به قاعده سازیregularization و/یا جستجوی خطی line-search برای رسیدن همگرایی دارد.
[۶]
.[۷] قاعده سازی در زمینه DDP، یعنی اطمینان پیدا کردن از اینکه ماتریس در معادله Eq. 4 همیشه مثبت positive definite است. جستجوی خطی در DDP یعنی تغییر مقیاس دادن کنترل حلقه باز از طریق ضریب آلفا که به نحوی که برقرار باشد.
↑Mayne, D. Q. (1966). "A second-order gradient method of optimizing non-linear discrete time systems". Int J Control. 3: 85–95. doi:10.1080/00207176608921369.
↑de O. Pantoja, J. F. A. (1988). "Differential dynamic programming and Newton's method". International Journal of Control. 47 (5): 1539–1553. doi:10.1080/00207178808906114. ISSN0020-7179.
↑Morimoto, J.; G. Zeglin; C.G. Atkeson (2003). "Minimax differential dynamic programming: Application to a biped walking robot". Intelligent Robots and Systems, 2003.(IROS 2003). Proceedings. 2003 IEEE/RSJ International Conference on. Vol. 2. pp. 1927–1932.
↑
Liao, L. Z; C. A Shoemaker (1991). "Convergence in unconstrained discrete-time differential dynamic programming". IEEE Transactions on Automatic Control. 36 (6): 692. doi:10.1109/9.86943.