البرمجة التربيعية
البرمجة التربيعية ( QP ) هي عملية حل مسائل التحسين الرياضي التي تتضمن دوال تربيعية . وبالتحديد، يسعى المرء إلى تحسين (تقليل أو زيادة) دالة تربيعية متعددة المتغيرات تخضع لقيود خطية على المتغيرات. البرمجة التربيعية هي نوع من أنواع البرمجة غير الخطية .
يشير مصطلح "البرمجة" في هذا السياق إلى إجراء رسمي لحل المسائل الرياضية. يعود هذا الاستخدام إلى أربعينيات القرن العشرين، ولا يرتبط تحديدًا بالمفهوم الأحدث لـ"برمجة الحاسوب". ولتجنب الالتباس، يفضل بعض الممارسين مصطلح "التحسين" - على سبيل المثال، "التحسين التربيعي". [ 1 ]
صياغة المشكلة
يمكن صياغة مسألة البرمجة التربيعية ذات n متغيرًا و m قيدًا على النحو التالي. [ 2 ] المعطيات:
- متجه حقيقي ذو n بُعد c ،
- مصفوفة متناظرة حقيقية ذات أبعاد n × n ، Q ،
- مصفوفة حقيقية A ذات أبعاد m × n ، و
- متجه حقيقي ذو أبعاد m ، b
الهدف من البرمجة التربيعية هو إيجاد متجه x ذي n بُعد ، والذي سيحقق
التقليل رهناً بـ
حيث يشير x T إلى منقول المتجه x ، ويعني الترميز A x ⪯ b أن كل عنصر من عناصر المتجه A x أقل من أو يساوي العنصر المقابل للمتجه b (عدم المساواة على مستوى المكونات).
المربعات الصغرى المقيدة
كحالة خاصة عندما تكون Q متماثلة وموجبة التحديد ، فإن دالة التكلفة تختزل إلى المربعات الصغرى:
التقليل رهناً بـ
حيث Q = R T R ينتج من تحليل Cholesky لـ Q و c = − R T d . وعلى العكس من ذلك، يمكن صياغة أي برنامج للمربعات الصغرى المقيدة بشكل مكافئ كمسألة برمجة تربيعية، حتى بالنسبة لمصفوفة R غير مربعة عامة .
التعميمات
عند تصغير دالة f في جوار نقطة مرجعية x₀ ، تُعيّن Q إلى مصفوفة هيسيان الخاصة بها H ( f ( x₀ ) ) ، وتُعيّن c إلى تدرجها ∇f ( x₀ ) . ويمكن صياغة مسألة برمجة ذات صلة، وهي البرمجة التربيعية المقيدة تربيعيًا ، بإضافة قيود تربيعية على المتغيرات.
طرق الحل
تُستخدم عادةً مجموعة متنوعة من الأساليب لحل المشكلات العامة، بما في ذلك
- نقطة داخلية ،
- المجموعة النشطة ، [ 3 ]
- لاغرانج المعزز ، [ 4 ]
- التدرج المترافق ،
- إسقاط التدرج ،
- امتدادات لخوارزمية سيمبلكس . [ 3 ]
في الحالة التي تكون فيها Q موجبة محددة ، فإن المشكلة هي حالة خاصة من المجال الأكثر عمومية للتحسين المحدب .
قيود المساواة
تُعدّ البرمجة التربيعية بسيطةً للغاية عندما تكون Q موجبة التحديد ولا توجد سوى قيود المساواة؛ أي أن عملية الحل خطية. وباستخدام مُضاعِفات لاغرانج والبحث عن القيمة القصوى لدالة لاغرانج، يُمكن إثبات أن حل المسألة ذات قيود المساواة هو
يُعطى بواسطة النظام الخطي
حيث λ هي مجموعة من معاملات لاغرانج التي تخرج من الحل جنبًا إلى جنب مع x .
أسهل طريقة للتعامل مع هذا النظام هي الحل المباشر (على سبيل المثال، تحليل LU )، وهو عملي للغاية للمسائل الصغيرة. أما بالنسبة للمسائل الكبيرة، فيُطرح النظام بعض الصعوبات غير المعتادة، وأبرزها أن المسألة لا تكون موجبة التحديد أبدًا (حتى لو كانت Q كذلك)، مما يجعل إيجاد طريقة عددية جيدة أمرًا بالغ الصعوبة، وهناك العديد من الطرق المتاحة للاختيار من بينها حسب طبيعة المسألة.
إذا لم تربط القيود المتغيرات ببعضها بإحكام شديد، فإنّ أحد الحلول البسيطة نسبيًا هو تغيير المتغيرات بحيث تُلبّى القيود بشكل مطلق. على سبيل المثال، لنفترض أن d = 0 (التعميم إلى قيمة غير صفرية أمرٌ سهل). بالنظر إلى معادلات القيود:
أدخل متغيرًا جديدًا y معرفًا بواسطة
حيث يكون بُعد y هو x ناقص عدد القيود. ثم
وإذا تم اختيار Z بحيث يكون EZ = 0، فإن معادلة القيد ستتحقق دائمًا. ويتطلب إيجاد Z إيجاد الفضاء الصفري لـ E ، وهو أمر بسيط نسبيًا اعتمادًا على بنية E. وبالتعويض في الصيغة التربيعية، نحصل على مسألة تصغير غير مقيدة.
الحل الذي يُعطى بالصيغة التالية:
في ظل شروط معينة على Q ، ستكون المصفوفة المختزلة Z T QZ موجبة التحديد. من الممكن كتابة صيغة معدلة لطريقة التدرج المترافق تتجنب الحساب الصريح لـ Z. [ 5 ]
الازدواجية اللاغرانجية
إنّ الدالة الثنائية لاغرانجية لمسألة البرمجة التربيعية هي أيضًا مسألة برمجة تربيعية. ولتوضيح ذلك، دعونا نركز على الحالة التي يكون فيها c = 0 و Q موجبة تمامًا. نكتب دالة لاغرانج على النحو التالي:
تعريف الدالة الثنائية (لاغرانجية) g (λ) على النحو التالي، نجد قيمة دنيا لـ L ، باستخدامووضوح Q الإيجابي :
وبالتالي فإن الدالة الثنائية هي
وبالتالي فإنّ الصيغة الثنائية اللاغرانجية لمسألة البرمجة التربيعية هي
إلى جانب نظرية الازدواجية اللاغرانجية، هناك أزواج ازدواجية أخرى (مثل وولف ، إلخ).
تعقيد وقت التشغيل
البرمجة التربيعية المحدبة
بالنسبة لـ Q الموجبة المحددة ، تكون مسألة التصغير محدبة . لذا، يمكن استخدام طريقة القطع الناقص لحل المسألة في وقت متعدد الحدود (ضعيف) . وقد تم إثبات ذلك صراحةً في عام 1979 من قبل كوزلوف وتاراسوف وخاشيان. [ 6 ]
يقدم كل من Ye وTse [ 7 ] خوارزمية ذات زمن متعدد الحدود، وهي امتداد لخوارزمية Karmarkar من البرمجة الخطية إلى البرمجة التربيعية المحدبة. في نظام يحتوي على n متغيرًا و L بتًا للإدخال، تتطلب خوارزميتهم O(L n) تكرارًا، يمكن تنفيذ كل منها باستخدام O(L n 3 ) عملية حسابية، ليصبح إجمالي تعقيد زمن التشغيل O( L 2 n 4 ).
يقدم كابور وفيديا [ 8 ] خوارزمية أخرى تتطلب O( L * log L * n 3.67 * log n ) من العمليات الحسابية.
البرمجة التربيعية غير المحدبة
عندما لا تكون Q موجبة التحديد (أي أن المسألة غير محدبة)، فإن البرمجة التربيعية تُصنف ضمن مسائل NP-صعبة . إحدى طرق إثبات ذلك هي استخدام نظرية موتزكين-ستراوس . [ 9 ] تنص هذه النظرية على أنه لأي رسم بياني غير موجه G ، فإن برنامجًا تربيعيًا معينًا مرتبطًا بـ G له قيمة عظمى تعتمد على عدد الزمر في G. يُعد حساب عدد الزمر في الرسم البياني مسألة NP-صعبة معروفة؛ لذا، فإن حل البرنامج التربيعي يُصنف أيضًا ضمن مسائل NP-صعبة. بعض الحالات الخاصة المهمة تُصنف أيضًا ضمن مسائل NP-صعبة.
- أثبت ساهني [ 10 ] صعوبة NP في حالة كون Q سالبة التحديد (لها n من القيم الذاتية السالبة)؛
- أثبت باردالوس وفافاسيس [ 11 ] صعوبة NP (قوية) عندما يكون للدالة Q قيمة ذاتية سالبة واحدة على الأقل . وقد حققا ذلك من خلال إظهار اختزال من مسألة الزمرة إلى برنامج تربيعي محدد بمتغيرات w ، x₁ ... xₙ ، y₁ ، y₂ ... yₙ ( n-1)، n ، z ودالة هدف z - w² . وأثبتا أن الرسم البياني المدخل يحتوي على زمرة بحجم k، إذا وفقط إذا كان للبرنامج التربيعي المقابل حل بقيمة صفر.
علاوة على ذلك، فإن إيجاد نقطة كاروش-كون-تاكر لبرنامج تربيعي غير محدب هو أمر صعب من نوع CLS. [ 12 ]
البرمجة التربيعية للأعداد الصحيحة المختلطة
توجد بعض الحالات التي تتطلب أن يأخذ عنصر واحد أو أكثر من عناصر المتجه x قيمًا صحيحة . وهذا ما يؤدي إلى صياغة مسألة برمجة تربيعية مختلطة الأعداد الصحيحة (MIQP). [ 13 ] تشمل تطبيقات البرمجة التربيعية المختلطة الأعداد الصحيحة موارد المياه [ 14 ] وبناء صناديق المؤشرات . [ 15 ]
برامج حل المشكلات ولغات البرمجة النصية
| اسم | معلومات موجزة |
|---|---|
| أهداف | نظام برمجي لنمذجة وحل مسائل التحسين والجدولة |
| ALGLIB | مكتبة رقمية مرخصة بترخيص مزدوج (GPL/ملكية خاصة) (C++، .NET). |
| AMPL | لغة نمذجة شائعة لتحسين العمليات الرياضية واسعة النطاق. |
| APMonitor | مجموعة أدوات النمذجة والتحسين لأنظمة LP و QP و NLP و MILP و MINLP و DAE في MATLAB و Python. |
| أرتليس نيترو | حزمة متكاملة للتحسين غير الخطي |
| سي جي إيه إل | حزمة مفتوحة المصدر للهندسة الحسابية تتضمن برنامجًا لحل البرمجة التربيعية. |
| مجمع | برنامج حل مسائل شائع مزود بواجهة برمجة تطبيقات (C، C++، Java، .Net، Python، Matlab، وR). مجاني للأكاديميين. |
| دالة حل المشكلات في برنامج Excel | برنامج لحل المعادلات غير الخطية مُعدّل خصيصًا لجداول البيانات التي تعتمد فيها عمليات تقييم الدوال على إعادة حساب الخلايا. يتوفر الإصدار الأساسي كإضافة قياسية لبرنامج Excel. |
| GAMS | نظام نمذجة عالي المستوى للتحسين الرياضي |
| جنو أوكتاف | لغة برمجة عامة الأغراض وموجهة نحو المصفوفات ، مجانية (رخصتها GPLv 3)، تُستخدم في الحوسبة العددية، وهي مشابهة لبرنامج MATLAB. تتوفر البرمجة التربيعية في GNU Octave عبر الأمر qp الخاص بها. |
| أعلى | برنامج مفتوح المصدر لحل نماذج البرمجة الخطية (LP) والبرمجة الخطية المختلطة (MIP) والبرمجة التربيعية المحدبة (QP) |
| IMSL | مجموعة من الدوال الرياضية والإحصائية التي يمكن للمبرمجين تضمينها في تطبيقاتهم البرمجية. |
| اختبار IPOPT | IPOPT (محسّن النقطة الداخلية) عبارة عن حزمة برامج لتحسين غير خطي واسع النطاق. |
| جوليا | لغة برمجة عالية المستوى تتميز بحزمة حلول بارزة هي JuMP |
| خشب القيقب | لغة برمجة عامة الأغراض للرياضيات. يتم حل المسائل التربيعية في برنامج Maple باستخدام الأمر QPSolve الخاص به . |
| MATLAB | لغة برمجة عامة الأغراض وموجهة نحو المصفوفات للحوسبة العددية. تتطلب البرمجة التربيعية في MATLAB حزمة أدوات التحسين بالإضافة إلى منتج MATLAB الأساسي. |
| ماثيماتيكا | لغة برمجة عامة الأغراض للرياضيات، بما في ذلك القدرات الرمزية والرقمية. |
| موسك | برنامج لحل مسائل التحسين واسعة النطاق مع واجهة برمجة تطبيقات للعديد من اللغات (C++، Java، .Net، Matlab و Python). |
| مكتبة NAG الرقمية | مجموعة من الإجراءات الرياضية والإحصائية التي طورتها مجموعة الخوارزميات العددية (NAG) للغات برمجة متعددة (C، C++، Fortran، Visual Basic، Java، وC#) وحزم برمجية (MATLAB، Excel، R، LabVIEW). يتضمن فصل التحسين في مكتبة NAG إجراءات لحل مسائل البرمجة التربيعية ذات مصفوفات القيود الخطية المتفرقة وغير المتفرقة، بالإضافة إلى إجراءات لتحسين الدوال الخطية وغير الخطية، ومجموع مربعات الدوال الخطية أو غير الخطية ذات القيود غير الخطية، والمحدودة أو بدون قيود. تحتوي مكتبة NAG على إجراءات للتحسين المحلي والعالمي، وللمسائل المستمرة أو الصحيحة. |
| ojAlgo | oj! Algorithms - ojAlgo - هو كود جافا مفتوح المصدر يتعلق بالرياضيات والجبر الخطي والتحسين. |
| بايثون | لغة برمجة عالية المستوى مزودة بروابط لمعظم برامج حل المعادلات التربيعية المتاحة. تتوفر البرمجة التربيعية عبر الدالة solve_qp أو عن طريق استدعاء برنامج حل محدد مباشرةً. |
| R (فورتران) | إطار عمل حسابي إحصائي عالمي متعدد المنصات مرخص بموجب رخصة GPL . |
| SAS /OR | مجموعة من الحلول للتحسين الخطي، والتحسين الصحيح، والتحسين غير الخطي، والتحسين بدون مشتقات، والتحسين الشبكي، والتحسين التوافقي، والتحسين المقيد؛ ولغة النمذجة الجبرية OPTMODEL؛ ومجموعة متنوعة من الحلول الرأسية الموجهة لمشاكل/أسواق محددة، وكلها متكاملة تمامًا مع نظام SAS . |
| سوانشو | مجموعة مفتوحة المصدر من خوارزميات التحسين لحل مسائل البرمجة الخطية ، والبرمجة التربيعية ، والبرمجة التربيعية المتدرجة ، والبرمجة شبه المحددة ، والبرمجة التربيعية المتدرجة في لغة جافا |
| حل TK | نظام برمجيات للنمذجة الرياضية وحل المشكلات يعتمد على لغة تصريحية قائمة على القواعد، تم تسويقه تجارياً بواسطة شركة Universal Technical Systems, Inc. |
| توملاب | يدعم برنامج TOMLAB التحسين العالمي، والبرمجة العددية الصحيحة، وجميع أنواع المربعات الصغرى، والبرمجة الخطية، والبرمجة التربيعية، والبرمجة غير المقيدة في MATLAB . كما يدعم البرنامج أدوات حل المعادلات مثل CPLEX و SNOPT و KNITRO . |
| إكسبريس | برنامج لحل البرامج الخطية واسعة النطاق، والبرامج التربيعية، والبرامج غير الخطية العامة، وبرامج الأعداد الصحيحة المختلطة. يتضمن واجهة برمجة تطبيقات (API) للعديد من لغات البرمجة، بالإضافة إلى لغة نمذجة Mosel، ويعمل مع AMPL و GAMS . مجاني للاستخدام الأكاديمي. |
الإضافات
يُعد التحسين متعدد الحدود [ 16 ] إطارًا أكثر عمومية، حيث يمكن أن تكون القيود دوال متعددة الحدود من أي درجة، وليس فقط الدرجة 2.
انظر أيضاً
مراجع
- ↑ رايت، ستيفن ج. ( 2015)، "التحسين المستمر (البرمجة غير الخطية والخطية)"، في نيكولاس ج. هايام؛ وآخرون (محررون)، دليل برينستون للرياضيات التطبيقية ، مطبعة جامعة برينستون، ص 281-293
- ↑ نوسيدال، خورخي؛ رايت ، ستيفن ج. (2006). التحسين العددي ( الطبعة الثانية). برلين، نيويورك: سبرينغر-فيرلاغ . ص 449. ISBN 978-0-387-30303-1..
- 1 2 مورتي، كاتا ج. (1988). التكامل الخطي، البرمجة الخطية وغير الخطية . سلسلة سيجما في الرياضيات التطبيقية. المجلد 3. برلين: دار نشر هيلدرمان. الصفحات 48+629 صفحة. ISBN 978-3-88538-403-8. MR 0949214 . مؤرشف من الأصل بتاريخ 2010-04-01.
- ↑ ديلبوس، ف.؛ جيلبرت، ج. تش. (2005). "التقارب الخطي العالمي لخوارزمية لاغرانج المعززة لحل مسائل التحسين التربيعي المحدب" (ملف PDF) . مجلة التحليل المحدب . 12 : 45-69 . مؤرشف (ملف PDF) من الأصل بتاريخ 2022-10-09.
- ↑ غولد، نيكولاس آي إم؛ هريبار، ماري إي؛ نوسيدال، خورخي (أبريل 2001). "حول حل مسائل البرمجة التربيعية المقيدة بالمساواة الناشئة في مجال التحسين". مجلة SIAM للحوسبة العلمية 23 (4): 1376-1395 . Bibcode : 2001SJSC...23.1376G . CiteSeerX 10.1.1.129.7555 . doi : 10.1137/S1064827598345667 .
- ^ كوزلوف، عضو الكنيست؛ إس بي تاراسوف؛ ليونيد جي خاشيان (1979). “[قابلية حل كثيرات الحدود للبرمجة التربيعية المحدبة]”. دوكلادي أكاديمي ناوك SSSR . 248 : 1049 – 1051.مترجم في: الرياضيات السوفيتية - دوكلادي . 20 : 1108-1111 .
{{cite journal}}: مفقود أو فارغ|title=( مساعدة ) - ↑ يي، يينيو؛ تسيه، إديسون (1989-05-01). "امتداد لخوارزمية كارماركار الإسقاطية للبرمجة التربيعية المحدبة" . البرمجة الرياضية . 44 (1): 157-179 . doi : 10.1007/BF01587086 . ISSN 1436-4646 . S2CID 35753865 .
- ↑ كابور، س؛ فايديا، ب.م. (1986-11-01). "خوارزميات سريعة للبرمجة التربيعية المحدبة وتدفقات السلع المتعددة" . وقائع الندوة السنوية الثامنة عشرة لجمعية آلات الحوسبة حول نظرية الحوسبة - STOC '86 . نيويورك، نيويورك، الولايات المتحدة الأمريكية: جمعية آلات الحوسبة. الصفحات 147-159 . doi : 10.1145/12130.12145 . ISBN 978-0-89791-193-1. S2CID 18108815 .
- ↑ موتزكين، تي إس؛ ستراوس، إي جي (1965-01-01). "القيم العظمى للرسوم البيانية وبرهان جديد لنظرية توران" . المجلة الكندية للرياضيات . 17 : 533-540 . doi : 10.4153/CJM-1965-053-6 . ISSN 0008-414X .
- ↑ ساهني، س. (1974). "المشكلات المتعلقة بالحساب" (ملف PDF) . مجلة SIAM للحوسبة . 3 (4): 262-279 . CiteSeerX 10.1.1.145.8685 . doi : 10.1137/0203021 .
- ↑ باردالوس، بانوس م.؛ فافاسيس، ستيفن أ. (1991). "البرمجة التربيعية ذات القيمة الذاتية السالبة هي مسألة صعبة (بشكل كبير) من نوع NP". مجلة التحسين العالمي . 1 (1): 15-22 . doi : 10.1007/bf00120662 . S2CID 12602885 .
- ↑ فيرنلي، جون؛ غولدبيرغ، بول دبليو؛ هولندر، ألكسندروس؛ سافاني، راهول (2023). "تعقيد حساب حلول كاروش-كون-تاكر للبرامج التربيعية". arXiv : 2311.13738 [ cs.CC ].
- ↑ لازيمي، رافائيل (1982-12-01). "البرمجة التربيعية للأعداد الصحيحة المختلطة". البرمجة الرياضية . 22 (1): 332-349 . doi : 10.1007/BF01581047 . ISSN 1436-4646 . S2CID 8456219 .
- ↑ بروباتو ماركو؛ أوبر جيمس ج. (2004-07-01). "تصميم نظام معزز باستخدام البرمجة التربيعية المختلطة". مجلة تخطيط وإدارة موارد المياه . 130 (4): 348-352 . doi : 10.1061/(ASCE)0733-9496(2004)130:4(348) .
- ^ كورنويجولس، جيرار. بينيا، خافيير؛ توتونكو، ريها (2018). طرق التحسين في التمويل ( الطبعة الثانية). كامبريدج، المملكة المتحدة: مطبعة جامعة كامبريدج. ص 167 – 168. ISBN 9781107297340.
- ↑ توي، هوانغ (2016)، "تحسين كثيرات الحدود" ، في توي، هوانغ (محرر)، التحليل المحدب والتحسين العالمي ، سلسلة سبرينغر للتحسين وتطبيقاته، المجلد 110، تشام: دار سبرينغر للنشر الدولي، الصفحات 435-452 ، doi : 10.1007/978-3-319-31484-6_12 ، ISBN 978-3-319-31484-6تم الاطلاع عليه بتاريخ 16 ديسمبر 2023
للمزيد من القراءة
- كوتل، ريتشارد دبليو؛ بانغ، جونغ شي؛ ستون، ريتشارد إي. (1992). مشكلة التكامل الخطي . علوم الحاسوب والحوسبة العلمية. بوسطن، ماساتشوستس: أكاديميك برس، إنك. 762 صفحة + 24 صفحة تمهيدية. ISBN 978-0-12-192350-1MR 1150683
- غاري، مايكل ر.؛ جونسون ، ديفيد س. (1979). الحواسيب والاستعصاء: دليل لنظرية اكتمال NP . دبليو إتش فريمان. ISBN 978-0-7167-1045-5.A6: MP2، صفحة 245.
- جولد، نيكولاس آي إم؛ توينت، فيليب إل. (2000). "ببليوغرافيا البرمجة التربيعية" (ملف PDF) . تقرير داخلي لمجموعة التحليل العددي في مختبر رذرفورد أبليتون 2000-1. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 5 يوليو 2017.
روابط خارجية
- صفحة حول البرمجة التربيعية، مؤرشفة بتاريخ 7 يونيو 2011 على موقع Wayback Machine.
- دليل تحسين NEOS: البرمجة التربيعية
- البرمجة التربيعية ( مؤرشفة بتاريخ 8 أبريل 2023 على موقع Wayback Machine)
- البرمجة التكعيبية وما بعدها ، في قسم تبادل المعلومات حول بحوث العمليات
- خوارزميات وأساليب التحسين
