**برنامه مخروط دوگان** (**SOCP**) یکی از مسائل بهینه‌سازی محدب می‌باشد؛ و به این صورت است:

{\displaystyle \ f^{T}x\ } را کمینه کنید
اگر داشته باشیم
{\displaystyle \lVert A\_{i}x+b\_{i}\rVert \_{2}\leq c\_{i}^{T}x+d\_{i},\quad i=1,\dots ,m}
{\displaystyle Fx=g\ }
با پارامترهای {\displaystyle f\in \mathbb {R} ^{n},\ A\_{i}\in \mathbb {R} ^{{ni}\times n},\ b\_{i}\in \mathbb {R} ^{n\_{i}},\ c\_{i}\in \mathbb {R} ^{n},\ d\_{i}\in \mathbb {R} ,\ F\in \mathbb {R} ^{p\times n}}، و {\displaystyle g\in \mathbb {R} ^{p}}. در اینجا {\displaystyle x\in \mathbb {R} ^{n}} متغیر بهینه‌سازی ما است.
اگر{\displaystyle A\_{i}=0} برای {\displaystyle i=1,\dots ,m}، برنامه SOCP ما به یک مسئلهٔ برنامه‌سازی خطی کاهش می‌یابد. اگر {\displaystyle c\_{i}=0} برای {\displaystyle i=1,\dots ,m}، برنامه SOCP ما معادل یک مسئله برنامه‌سازی خطی کوژ-درجه‌دوم محدود شده می‌شود. برنامه‌سازی درجه‌دوم درجه‌دوم محدود شده را نیز می‌توان به صورت حالت خاصی از SOCP نوشت.
بهی

مثال: محدودیت درجه‌دوم
----------------------

یک درجه‌دو محدود شده به صورت زیر را در نظر بگیرید

{\displaystyle x^{T}A^{T}Ax+b^{T}x+c\leq 0.}
این معادل است با SOC محدود شده

{\displaystyle \left\|{\begin{matrix}(1+b^{T}x+c)/2\\Ax\end{matrix}}\right\|\_{2}\leq (1-b^{T}x-c)/2.}

مثال: برنامه‌سازی خطی تصادفی
----------------------------

یک برنامه خطی تصادفی به صورت زیر را در نظر بگیرید

{\displaystyle \ c^{T}x\ } را کمینه کنید
اگر داشته باشیم
{\displaystyle P(a\_{i}^{T}x\leq b\_{i})\geq p,\quad i=1,\dots ,m}
که در آن پارامترهای {\displaystyle a\_{i}\ } بردارهای مستقل تصادفی گوسی هستند با میانگین {\displaystyle {\bar {a}}\_{i}} و کوواریانس {\displaystyle \Sigma \_{i}\ } و {\displaystyle p\geq 0.5}.
این معادل است با SOC به صورت زیر

{\displaystyle \ c^{T}x\ } را کمینه کنید
اگر داشته باشیم
{\displaystyle {\bar {a}}\_{i}^{T}x+\Phi ^{-1}(p)\lVert \Sigma \_{i}^{1/2}x\rVert \_{2}\leq b\_{i},\quad i=1,\dots ,m}
که در آن {\displaystyle \Phi ^{-1}\ } معکوس تابع توزیع تجمعی طبیعی.

مثال: برنامه‌سازی مخروط دوگان تصادفی
------------------------------------

ما با نام بردن از برنامه‌های مخروط دوگان به برنامه‌های مخروط دوگان قطعی اطلاق می‌کردیم. چون داده‌های تعریف کننده آن‌ها همگی قطعی هستند. برنامه‌های مخروط دوگان تصادفی یک کلاس از مسائل بهینه‌سازی است که مسئولیت رسیدگی به عدم قطعیت در داده‌هایی که قطعی تعریف شده‌اند را دارد

حل کننده و زبان‌های برنامه‌نویسی
--------------------------------

| نام | مجوز | اطلاعات مختصر |
| --- | --- | --- |
| ورک | تجاری | جبری زبان |
| CPLEX | تجاری |
| Gurobi | تجاری |  |
| MOSEK | تجاری |

  

**برنامه ریزی مخروط مرتبه دوم** بسط برنامه‌ریزی مربعی و برنامه‌ریزی خطی است که در آن ترکیب افاین متغیرها به صورت قید داخل یک مخروط مرتبه دوم تعریف می‌شوند. این نوع برنامه‌ریزی در حل مسائل هندسی کاربرد دارد و همچنین در برنامه ریزیهای خطی که داده‌ها با خطا همراه هستند و به‌طور دقیق مشخص نیستند کاربرد دارد.

مخروط مرتبه دوم
---------------

به مجموعه زیر، مخروط نرم مرتبط با نرم {\displaystyle \left\|.\right\|} گفته می‌شود،

{\displaystyle C=\left\{{\left({x,t}\right)\left|{\left\|x\right\|\leq t}\right.}\right\}\subseteq {\mathbb {R} ^{n+1}}.}

مخروط نرم مرتبه دوم، به ازای نرم اقلیدسی تعریف می‌شود که به‌طور مثال در {\displaystyle {\mathbb {R} ^{3}}} به صورت زیر خواهد بود،

{\displaystyle \left\{{\left({{x1},{x\_{2}},t}\right)\left|{{{\left({x\_{1}^{2}+x\_{2}^{2}}\right)}^{1/2}}\leqslant t}\right.}\right\}}

این مخروط به علت شکلی که دارد (به‌طور مثال در {\displaystyle {\mathbb {R} ^{3}}} مانند قیف بستنی است) با عنوان مخروط بستنی هم شناخته می‌شود.

نمایش فرمولی برنامه ریزی مخروط مرتبه دوم
----------------------------------------

برنامه ریزی مخروط مرتبه دوم با در نظر گرفتن تابع هدف خطی و قیود نامساوی که به فرم مخروط مرتبه دوم هستند و قیود تساوی افاین به شکل زیر نوشته می‌شود:

{\displaystyle {\begin{array}{l}{\rm {minimize}}\;\;{f^{T}}x\\{\rm {{subject}\;\;{\rm {to}}}}\left\|{{Ai}x+{b\_{i}}}\right\|\leq c\_{i}^{T}x+{d\_{i}}\;\;\;\;\;i=1,...m\\\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;Fx=g\end{array}}}

که {\displaystyle x\in {\mathbb {R} ^{n}}} متغیر بهینه‌سازی است، {\displaystyle {A\_{i}}\in {\mathbb {R} ^{{ni}\times n}}}، و {\displaystyle F\in {\mathbb {R} ^{p\times n}}} می‌باشند.

در حالتی که {\displaystyle {c\_{i}}=0} باشد، مسئله برنامه‌ریزی مخروط مرتبه دوم به برنامه‌ریزی مربعی با قیود مربعی (QCQP) تبدیل می‌شود. همچنین در حالت دیگر اگر {\displaystyle {A\_{i}}=0} باشد این مسئله به یک مسئله برنامه‌ریزی خطی تبدیل می‌شود.

مثال: برنامه ریزی خطی آماری
---------------------------

برنامه ریزی خطی آماری با قیود نامساوی را به شکل زیر در نظر بگیرید:

{\displaystyle {\begin{array}{l}{\rm {minimize}}\;\;{c^{T}}x\\{\rm {{subject}\;\;{\rm {to}}}}\;\;{P(a\_{i}^{T}x+{b\_{i}}})\geq p,\;\;\;\;\;i=1,...m\\\end{array}}}

که a\_{i} متغیر گوسی مستقل با متوسط {\displaystyle {\bar {a}}\_{i}} و کوواریانس {\displaystyle \Sigma \_{i}\ } هستند و {\displaystyle p\geq 0.5}، این مسئله را می‌توان به فرم یک مسئله مخروط مرتبه دوم به شکل زیر نوشت:

{\displaystyle {\begin{array}{l}{\rm {minimize}}\;\;{c^{T}}x\\{\rm {{subject}\;\;{\rm {to}}}}\;\;{\bar {a}}\_{i}^{T}x+\Phi ^{-1}(p)\lVert \Sigma \_{i}^{1/2}x\rVert \_{2}\leq b\_{i},\quad i=1,\dots ,m\\\end{array}}}

که در اینجا {\displaystyle \Phi ^{-1}} معکوس تابع توزیع تجمعی گوسی می‌باشد.

مثال: قید مربعی
---------------

در این مثال دیده می‌شود که قید مربعی زیر:

{\displaystyle x^{T}A^{T}Ax+b^{T}x+c\leq 0.}
را می‌توان به شکل قید SOCP همانند زیر بازنویسی کرد:

{\displaystyle \left\|{\begin{matrix}(1+b^{T}x+c)/2\\Ax\end{matrix}}\right\|\_{2}\leq (1-b^{T}x-c)/2.}

مثال: مربعات خطا مقاوم
----------------------

فرض کنید که مجموعه فرامعینی از معادلات به فرم {\displaystyle Ax\approx b} که {\displaystyle A\in {\mathbb {R} ^{m\times n}}} و {\displaystyle b\in {\mathbb {R} ^{m}}} مجهول هستند اما به صورت {\displaystyle \left\|{\delta A}\right\|\leqslant \rho } و {\displaystyle \left\|{\delta b}\right\|\leqslant \xi } محدود شده‌اند (نرم ماتریسی در اینجا همان نرم طیفی یا حداکثر مقدار تکین است). می‌توان جواب حداقل مربعات مقاوم را معادل با {\displaystyle {\hat {x}}\in {\mathbb {R} ^{n}}} که جواب حداقل سازی بزرگترین باقی‌مانده ممکن است و به صورت زیر تعریف می‌شود، در نظر گرفت:

{\displaystyle {\text{minimize}}\;\;\;\;\;\mathop {\text{max}} \limits \_{\left\|{\delta A}\right\|\leqslant \rho ,\left\|{\delta b}\right\|\leqslant \xi }{\text{ }}\left\|{\left({A+\delta A}\right)x-\left({b+\delta b}\right)}\right\|}

این مسئله، مسئله حداقل مربعات مقاوم است.

در مسئله بالا تابع هدف با پیگیری روند زیر می‌تواند به فرم بسته نوشته شود:

{\displaystyle \mathop {\text{max}} \limits \_{\left\|{\delta A}\right\|\leqslant \rho ,\left\|{\delta b}\right\|\leqslant \xi }{\text{ }}\left\|{\left({A+\delta A}\right)x-\left({b+\delta b}\right)}\right\|=\mathop {\text{max}} \limits \_{\left\|{\delta A}\right\|\leqslant \rho ,\left\|{\delta b}\right\|\leqslant \xi }\mathop {\text{max}} \limits \_{\left\|y\right\|\leqslant 1}{\text{ }}{y^{T}}\left({Ax-b}\right){\text{ + }}{y^{T}}\delta Ax-{y^{T}}\delta b}

{\displaystyle =\mathop {\text{max}} \limits \_{\left\|z\right\|\leqslant \rho }\mathop {\text{max}} \limits \_{\left\|y\right\|\leqslant 1}{\text{ }}{y^{T}}\left({Ax-b}\right){\text{ + }}{z^{T}}x+\xi =\left\|{Ax-b}\right\|+\rho \left\|x\right\|+\xi }

بنابراین مسئله اصلی به صورت زیر تبدیل می‌شود:

{\displaystyle {\text{minimize}}\left\|{Ax-b}\right\|+\rho \left\|x\right\|+\xi }

که مجموع نرمهای اقلیدسی است.

این مجموع می‌تواند به عنوان یک فرم SOCP مد نظر قرار گیرد. با اینحال، در صورت استفاده از تجزیه مقدار تکین A می‌توان به حل ساده‌تری دست پیدا کرد. مسئله SOCP با قیود دیگر مفیدتر خواهد بود به‌طور مثال در نظر گرفتن قیود نامنفی.
می‌توان صورت دیگری برای این مسئله متصور بود. به این صورت که فرض کنید، سطرهای ماتریس A مرتبط با خطاهای مستقل هستند و البته درون یک بیضی‌گون هستند؛ به عبارتی {\displaystyle {a\_{i}}\in {\varepsilon \_{i}}}، که:

{\displaystyle {\varepsilon \_{i}}=\left\{{{{\bar {a}}\_{i}}+{P\_{i}}u\left|{\left\|u\right\|\leqslant 1}\right.}\right\}\;\;\left({{Pi}=P\_{i}^{T}\succ 0}\right)}

حال می‌توان تخمین مربعات خطا مقاوم را با حداقل سازی بدترین باقی‌مانده به فرم زیر بدست آورد:

{\displaystyle {\text{minimize}}\;\;\mathop {\text{max}} \limits {{ai}\in {\varepsilon \_{i}}}{(\sum \limits \_{i=1}^{n}{{(a\_{i}^{T}x-b)}^{2}})^{\frac {1}{2}}}}

با انجام برخی اعمال ریاضی می‌توان رابطه بالا را به صورت زیر بازنویسی کرد:

{\displaystyle {\text{minimize}}{\left({\sum \limits \_{i=1}^{n}{{\left({\left|{{\bar {a}}\_{i}^{T}x-{b\_{i}}}\right|+\left\|{{Pi}x}\right\|}\right)}^{2}}}\right)^{\frac {1}{2}}}}

که به صورت مسئله SOCP زیر قابل بازنویسی خواهد بود:

{\displaystyle {\begin{aligned}&{\underset {}{\operatorname {minimize} }}\;\;\;\;\;\;\;\;s\\&\operatorname {subject\;to} \;\;\;\;\;\;\left\|t\right\|\leqslant s\\&\;\;\;\;\;\;\;\;\;\;\;\;\left|{{\bar {a}}\_{i}^{T}x-{b\_{i}}}\right|+\left\|{{Pi}x}\right\|\leqslant {t\_{i}},i=1,\cdots ,n\end{aligned}}}

کاربردها
--------

### طراحی وزن آرایه‌های آنتن

در بحث آرایه آنتنی، خروجی المانهای آنتن به صورت خطی با یکدیگر ترکیب شده و خروجی نهایی را تشکیل می‌دهند. خروجی آرایه دارای جهتی است که وابسته به وزنهای نسبی المانها ربط دارد و هدف از داشتن آرایه‌ای از آنتنها این است که در جهت دلخواهی که مد نظر است بتوانیم جهت خروجی را تنظیم کنیم.
مسئله را می‌توان به شکل زیر تعریف کرد:

{\displaystyle {\begin{aligned}&{\underset {\left|{\theta -{\theta \_{t}}}\right|>\Delta }{\operatorname {max} }}\;\;\;\;\;\;\;\;\left|{y\left(\theta \right)}\right|\\&\operatorname {subject\;to} \;\;\;\;\;\;\;\;\;y\left({\theta \_{t}}\right)=1\end{aligned}}}
که {\displaystyle {y\left(\theta \right)=\sum \limits \_{i=1}^{n}{{yi}\left(\theta \right)}}} است، {\displaystyle 2\Delta } پهنای بیم است و بازه {\displaystyle {\left|{\theta -{\theta \_{t}}}\right|>\Delta }} که در حداقل سازی مورد نظر است ملزم می‌دارد که امواج رسیده از سایر جهات غیر از جهت هدف ({\displaystyle \theta \_{t}}) حداقل شوند. همچنین {\displaystyle {{yi}\left(\theta \right)}} سیگنال باند پایه متناظر با سیگنال باند میانی {\displaystyle \exp \left({j\left({{xi}\cos \theta +{y\_{i}}\sin \theta -\omega t}\right)}\right)} است. علاوه بر این شرط {\displaystyle y\left({\theta \_{t}}\right)=1} به معنای نرمالیزه بودن است.

این مسئله، با گسسته سازی زاویه {\displaystyle \theta } (به صورت {\displaystyle {\theta \_{1}},\cdots ,{\theta \_{m}}} به ازای {\displaystyle m\gg n}) می‌تواند به فرم یک مسئله SOCP تقریب زده شود. پاسخ آرایه را به صورت زیر در نظر بگیرید:

{\displaystyle {\tilde {y}}=Aw}

که {\displaystyle {\tilde {y}}\in {\mathbb {C} ^{m}},A\in {\mathbb {C} ^{m\times n}}} و

{\displaystyle {\tilde {y}}=\left[{\begin{array}{\*{20}{c}}{y\left({\theta \_{1}}\right)}\\\vdots \\{y\left({\theta \_{m}}\right)}\end{array}}\right],A=\left[{\begin{array}{\*{20}{c}}{a\left({\theta \_{1}}\right)}\\\vdots \\{a\left({\theta \_{m}}\right)}\end{array}}\right].}

آنگاه مسئله بهینه‌سازی می‌تواند به فرم SOCP زیر تقریب زده شود:

{\displaystyle {\begin{aligned}&{\underset {}{\operatorname {minimize} }}\;\;\;\;\;\;\;\;t\\&\operatorname {subject\;to} \left|{y\left({\theta \_{k}}\right)}\right|\leqslant t\;for\;\;\left|{{\theta \_{i}}-{\theta \_{k}}}\right|>\Delta \;\;\;\;y\left({\theta \_{k}}\right)=1\end{aligned}}}
که زمانیکه به صورت ترمهای از بخش‌های حقیقی و موهومی نوشته شود، فرم SOCP خواهد داشت.

### سایر کاربردها

طراحی فیلتر با پاسخ ضربه متناهی هم نمونه دیگری از کاربرد برنامه‌ریزی SOCP است؛ که در آن هم سعی می‌شود خطای بین پاسخ ضربه دلخواه و پاسخ ضربه تولیدی توسط برخی ضرایب است را حداقل کنند. نشان داده شده‌است که این مسئله را هم به فرم SOCP درآورد.

منابع
-----

1. 1 2  Boyd, Stephen; Vandenberghe, Lieven (2004). *Convex Optimization* (pdf). Cambridge University Press. ISBN 978-0-521-83378-3. Retrieved October 3, 2011.
2. ↑  Alzalg, Baha (2012). "Stochastic second-order cone programming: Application models". *Applied Mathematical Modelling*. **36** (10): 5122–5134. doi:10.1016/j.apm.2011.12.053.
3. ↑  «نسخه آرشیو شده». بایگانی‌شده از اصلی در ۲ ژانویه ۲۰۱۷. دریافت‌شده در ۱۸ ژانویه ۲۰۱۷.
4. 1 2  Boyd, Stephen, and Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.
5. ↑
6. ↑
7. ↑  El Ghaoui, Laurent, and Hervé Lebret. "Robust solutions to least-squares problems with uncertain data." SIAM Journal on Matrix Analysis and Applications 18.4 (1997): 1035-1064.
8. ↑  Chandrasekaran, Shivkumar, et al. "Efficient algorithms for least squares type problems with bounded uncertainties." Recent Advances in Total Least Squares Techniques and Errors-in-Variables Modeling (1997): 171-180.
9. ↑  Chandrasekaran, S. , et al. "Parameter estimation in the presence of bounded data uncertainties." SIAM Journal on Matrix Analysis and Applications 19.1 (1998): 235-252.
10. ↑  Sayed, A. H. , et al. "Exponentiallyweighted iterative solutions for worst-case parameter estimation." Proceedings of the 5th IEEE Med. Conf. Control and Systems, Cyprus. 1997.