برنامه ریزی درجه دوم متوالی یک روش تکرار پذیر بسیار مناسب و مفید برای حل عددی مسائل بهینه سازی غیر خطی است. این روش دنباله ای از یک مجموعه مسائل بهینه سازی را حل میکند که هر کدام از آن مسائل یک مدل دو بعدی از موضوع هدف را به یک خطی سازی از شروط بهینه میکنند. اگر مسئله هیچ گونه محدودیت و شرطی نداشت، این روش به روش نیوتن کاهش پیدا میکند. در روش نیوتن نقطه ای پیدا می شود که در آن نقطه گرادیان هدف ناپدید می شود. محدودیت ها به دو نوع برابری و نابرابری (شروط مساوی و نامساوی) تقسیم می شوند. اگر مسئله فقط شروط مساوی داشت، روش SQP معادل استفاده از روش نیوتن برای شرایط بهینگی مرتبه اول مسئله (یا شروط کاروش-کان-تاکر ) است. روش SQP را می توان در متلب اجرا کرد.
مطابق یک مسئله بهینه سازی غیر خطی (NLP) به شکل زیر داریم:
روش SQP یک روش تکرار پذیر است که NLP را برای یک تکرار مشخص x^k که k∈N_0 و با یک سری زیر مسئله برنامه ریزی دو بعدی مدل می کند. زیر مسئله ها را حل میکند و از حل آنها برای ساخت یک تکرار جدید x^(k+1) استفاده میکند. این ساختار پایان می پذیرد به گونه ای که دنباله (x^k )_(k∈N_0 ) به یک x^* مینیمم همگرا می شود. روش حل و بیان تئوری آن به علت پیچیده بودن و نیاز به دانش ریاضی پیشرفته در این نوشته نمی گنجد. توجه شود که توابع هدف و شرط باید توابع غیر خطی صاف (یکنواخت) باشند. یکنواختی بدان معنی است که حداقل قابلیت مشتق پذیری درجه اول را داشته باشند.
برای حل اینگونه مسائل در MATLAB، جعبه ابزاری به نام جعبه ابزار بهینه سازی وجود دارد. یکی از ابزارهای این جعبه برای حل مسائل SQP استفاده می شود:
همچنین در شکل دیگر از این ابزار داریم:
برای اینکه توابع شروط نامساوی و مساوی غیر خطی را هم منظور کرد شکل زیر از تابع را داریم:
پارامترهای ورودی:
(x) : برداری که حدس اولیه از حل مسئله را میدهد. طول آن برای تعیین تعداد متغیر ها (n) استفاده می شود.
(lm) – دلخواه: برداری که حدس اولیه از راه حل دوگانه میدهد که 4 حالت متفاوت دارد.
(lb) - دلخواه: برداری که مرز حداقل x را مشخص میکند که میتواند مقدار بینهایت را هم بگیرد.
(ub) - دلخواه: برداری که مرز حداکثر x را مشخص میکند که میتواند مقدار بینهایت را هم بگیرد.
(options) - دلخواه: ساختار تعریف شده برای حل.
پارامترهای خروجی:
(x) : بردار ابعادی که راه حل ابتدایی محاسبه شده برای x را مشخص میکند.
(lm) : برداری ابعادی که حل محاسبه شده راه حل دوگانه را میدهد.
(info) : ساختاری که اطلاعات را برای حداقل سازی مشخص میکند.