الحل الأساسي الممكن
في نظرية البرمجة الخطية ، يُعرف الحل الأساسي الممكن ( BFS ) بأنه حلٌّ يحتوي على أقل عدد ممكن من المتغيرات غير الصفرية. هندسيًا، يُقابل كل حل أساسي ممكن رأسًا من رؤوس متعدد السطوح للحلول الممكنة. إذا وُجد حلٌّ أمثل، فإنه يوجد حل أساسي ممكن أمثل. لذا، لإيجاد الحل الأمثل، يكفي النظر في الحلول الأساسية الممكنة. تستخدم خوارزمية السمبلكس هذه الحقيقة ، حيث تنتقل أساسًا من حل أساسي ممكن إلى آخر حتى يتم العثور على الحل الأمثل. [ 1 ]
التعريفات
مقدمة: صيغة معادلة ذات صفوف مستقلة خطيًا
بالنسبة للتعريفات الواردة أدناه، سنقدم أولاً البرنامج الخطي في ما يسمى بالصيغة المعادلة :
- أقصى
- رهناً بـو
أين:
- وهي متجهات بحجم n (عدد المتغيرات)؛
- هو متجه بحجم m (عدد القيود)؛
- هي مصفوفة من الرتبة m × n ؛
- هذا يعني أن جميع المتغيرات غير سالبة.
يمكن تحويل أي برنامج خطي إلى شكل معادلة عن طريق إضافة متغيرات الركود .
كخطوة تنظيف أولية، نتحقق مما يلي:
- النظاميوجد حل واحد على الأقل (وإلا فإن البرنامج الخطي بأكمله ليس له حل ولا يوجد شيء آخر يمكن فعله)؛
- جميع صفوف المصفوفة mمستقلة خطيًا ، أي أن رتبتها هي m (وإلا يمكننا ببساطة حذف الصفوف الزائدة دون تغيير البرمجة الخطية).
حل ممكن
الحل الممكن للبرمجة الخطية هو أي متجهبحيثنفترض وجود حل ممكن واحد على الأقل. إذا كان m = n ، فلا يوجد سوى حل ممكن واحد. عادةً ما يكون m < n ، لذا فإن النظامللمسألة حلول عديدة؛ ويسمى كل حل من هذه الحلول حلاً ممكناً للمسألة الخطية.
أساس
أساس البرمجة الخطية هو مصفوفة فرعية غير منفردة من A، تحتوي على جميع الصفوف m و m < n عمود فقط.
أحيانًا، يُستخدم مصطلح الأساس ليس للمصفوفة الفرعية نفسها، بل لمجموعة مؤشرات أعمدتها. ليكن B مجموعة جزئية من m مؤشرًا من المجموعة {1، ...، n }. نرمز بـالمصفوفة المربعة m × m المكونة من m عمودًا منمفهرسة بواسطة B. إذاإذا كانت غير منفردة ، فإن الأعمدة المفهرسة بواسطة B تشكل أساسًا لفضاء الأعمدة لـفي هذه الحالة، نسمي B أساسًا للخط البرمجي.
منذ رتبةإذا كان m ، فإنه يمتلك أساسًا واحدًا على الأقل؛ بما أنإذا كان يحتوي على n عمودًا، فإنه يحتوي على الأكثرالقواعد.
الحل الأساسي الممكن
بفرض وجود أساس B ، نقول إن الحل الممكنيُعتبر حلاً أساسياً ممكناً ذو أساس B إذا كانت جميع متغيراته غير الصفرية مُفهرسة بواسطة B ، أي لجميع.
ملكيات
1. يتم تحديد BFS فقط من خلال قيود البرمجة الخطية (المصفوفة)والمتجه)؛ ولا يعتمد ذلك على هدف التحسين.
2. بحسب التعريف، تحتوي مجموعة البحث في الفضاء العريض (BFS) على m متغيرًا غير صفري على الأكثر ، و n - m متغيرًا صفريًا على الأقل. قد تحتوي مجموعة البحث في الفضاء العريض على أقل من m متغيرًا غير صفري؛ وفي هذه الحالة، يمكن أن يكون لها العديد من القواعد المختلفة، وكلها تحتوي على مؤشرات متغيراتها غير الصفرية.
3. حل قابل للتطبيقهو شرط أساسي إذا وفقط إذا كانت أعمدة المصفوفةمستقلة خطيًا، حيث K هي مجموعة مؤشرات العناصر غير الصفرية لـ[ 1 ] : 45
4. كل أساس يحدد خوارزمية بحث أولي فريدة: لكل أساس B من m مؤشر، يوجد على الأكثر خوارزمية بحث أولي واحدة مع الأساس B. وذلك لأنيجب أن يفي بالشرطوبحسب تعريف الأساس، فإن المصفوفةبما أن المصفوفة غير منفردة، فإن القيد له حل وحيد:
ليس العكس صحيحًا: يمكن أن ينشأ كل بحث في العرض أولًا من قواعد بيانات مختلفة. إذا كان الحل الوحيد لـيفي بشروط عدم السلبية، عندئذٍ يُطلق على B اسم الأساس الممكن .
5. إذا كان للبرنامج الخطي حل أمثل (أي أنه يمتلك حلاً ممكناً، ومجموعة الحلول الممكنة محدودة)، فإنه يمتلك خوارزمية بحث في العرض أولاً (BFS) مثلى. هذه نتيجة لمبدأ باور الأقصى : دالة الهدف في البرنامج الخطي محدبة؛ ومجموعة الحلول الممكنة محدبة (فهي تقاطع فضاءات فائقة)؛ وبالتالي، تبلغ دالة الهدف قيمتها القصوى عند نقطة قصوى في مجموعة الحلول الممكنة.
بما أن عدد عمليات البحث في العرض أولاً محدود ومقيد بـيمكن إيجاد الحل الأمثل لأي برنامج خطي في وقت محدود بمجرد تقييم دالة الهدف في جميع الحالات.البحث في العرض أولاً (BFS). هذه ليست الطريقة الأكثر كفاءة لحل البرمجة الخطية؛ فخوارزمية سيمبلكس تفحص البحث في العرض أولاً بطريقة أكثر كفاءة.
أمثلة
لنفترض برنامجًا خطيًا بالقيود التالية:
المصفوفة A هي:
هنا، m = 2 وهناك 10 مجموعات جزئية من 2 مؤشر، ومع ذلك، ليست جميعها قواعد: المجموعة {3،5} ليست قاعدة لأن العمودين 3 و5 مرتبطان خطيًا.
المجموعة B = {2,4} هي أساس، لأن المصفوفة غير مفرد.
BFS الفريد المقابل لهذا الأساس هو.
التفسير الهندسي

مجموعة جميع الحلول الممكنة هي تقاطع فضاءات فائقة . لذا، فهي متعدد السطوح محدب . إذا كانت محدودة، فهي متعدد سطوح محدب . كل حل ممكن في الفضاءات الفائقة يُقابل رأسًا من رؤوس هذا المتعدد السطوح. [ 1 ] : 53-56
الحلول الأساسية الممكنة للمسألة الثنائية
كما ذكرنا سابقًا، يحدد كل أساس B حلاً أساسيًا فريدًا ممكنًاوبالمثل، تحدد كل قاعدة حلاً للبرنامج الخطي المزدوج :
- تقليل
- رهناً بـ.
الحل هو.
إيجاد حل أمثل للبحث في العرض أولاً
هناك عدة طرق لإيجاد حل BFS يكون مثالياً أيضاً.
باستخدام خوارزمية سيمبلكس
عمليًا، أسهل طريقة لإيجاد حل أمثل للبحث في العرض أولًا (BFS) هي استخدام خوارزمية سيمبلكس . تحتفظ هذه الخوارزمية، في كل مرحلة من مراحل تنفيذها، بـ "أساس حالي" B (مجموعة فرعية من m من أصل n متغيرًا)، و"حل أمثل حالي للبحث في العرض أولًا"، و"جدول حالي". الجدول هو تمثيل للبرنامج الخطي حيث تُعبَّر المتغيرات الأساسية بدلالة المتغيرات غير الأساسية: [ 1 ] : 65أينهو متجه المتغيرات الأساسية m ،هو متجه من n متغير غير أساسي، وهو هدف التعظيم. بما أن المتغيرات غير الأساسية تساوي صفرًا، فإن البحث في العرض أولاً الحالي هووالهدف الحالي لتحقيق أقصى قيمة هو.
إذا كانت جميع المعاملات فيإذا كانت النتائج سلبية، فـيُعد هذا حلاً أمثل، حيث يجب أن تكون جميع المتغيرات (بما في ذلك جميع المتغيرات غير الأساسية) على الأقل صفرًا، لذا فإن السطر الثاني يعني.
إذا كانت بعض المعاملات فيإذا كانت القيم موجبة، فقد يكون من الممكن زيادة هدف التعظيم. على سبيل المثال، إذاغير أساسي ومعامله في إذا كانت القيمة موجبة، فإن زيادتها فوق الصفر قد تجعلأكبر. إذا كان من الممكن القيام بذلك دون انتهاك قيود أخرى، فإن المتغير المتزايد يصبح أساسيًا (يدخل الأساس)، بينما يتم تقليل بعض المتغيرات الأساسية إلى 0 للحفاظ على قيود المساواة وبالتالي يصبح غير أساسي (يخرج من الأساس).
إذا تمت هذه العملية بعناية، فمن الممكن ضمان ذلك.يزداد حتى يصل إلى أفضل قيمة BFS.
تحويل أي حل أمثل إلى حل عرضي أولي أمثل
في أسوأ الأحوال، قد تتطلب خوارزمية السمبلكس عددًا هائلاً من الخطوات لإتمامها. توجد خوارزميات لحل مسائل البرمجة الخطية في زمن متعدد الحدود ضعيف ، مثل طريقة القطع الناقص ؛ إلا أنها عادةً ما تُعيد حلولًا مثلى غير أساسية.
مع ذلك، فإنه من السهل إيجاد حل أمثل ممكن لأي برنامج خطي، ويكون في الوقت نفسه أساسيًا ، وذلك عند وجود أي حل أمثل . [ 2 ] : انظر أيضًا "الروابط الخارجية" أدناه.
إيجاد أساس يكون مثاليًا من حيث المبدأ وثنائيًا من حيث الحل الأمثل
يُطلق على الأساس B للبرمجة الخطية اسم الأساس الأمثل المزدوج إذا كان الحل يمثل حلاً أمثل للبرنامج الخطي المزدوج، أي أنه يقلل منبشكل عام، الأساس الأمثل الأولي ليس بالضرورة الأمثل الثنائي، والأساس الأمثل الثنائي ليس بالضرورة الأمثل الأولي (في الواقع، قد يكون حل الأساس الأمثل الأولي غير ممكن بالنسبة للثنائي، والعكس صحيح).
إذا كان كلاهماهي حل أمثل للبحث في العرض أولاً للمسألة الخطية الأولية، وإذا كان البحث في العرض أولاً (BFS) هو الحل الأمثل للبرمجة الخطية الثنائية، فإن الأساس B يُسمى أساس PD الأمثل . كل برنامج خطي له حل أمثل يمتلك أساس PD الأمثل، ويتم إيجاده بواسطة خوارزمية سيمبلكس . مع ذلك، فإن وقت تشغيلها أُسّي في أسوأ الحالات. أثبت نمرود مجدو النظريات التالية: [ 2 ]
- توجد خوارزمية ذات وقت متعدد الحدود بشكل قوي تقوم بإدخال حل أمثل للبرمجة الخطية الأولية وحل أمثل للبرمجة الخطية الثنائية، وتعيد أساسًا أمثلًا.
- إذا كان هناك خوارزمية ذات وقت متعدد الحدود قوي تقوم بإدخال حل أمثل فقط للبرمجة الخطية الأولية (أو البرمجة الخطية الثنائية فقط) وتعيد أساسًا أمثل، فإنه يوجد خوارزمية ذات وقت متعدد الحدود قوي لحل أي برنامج خطي (وهذه الأخيرة مشكلة مفتوحة مشهورة ).
يمكن تنفيذ خوارزميات ميغيدو باستخدام جدول، تمامًا مثل خوارزمية سيمبلكس. كما اقترح ميغيدو، بالتعاون مع بيلينغ، خوارزمية سريعة تستخدم خوارزميات ضرب المصفوفات السريعة . [ 3 ]
روابط خارجية
- كيفية الانتقال من حل أمثل ممكن إلى حل أساسي أمثل ممكن . بول روبن، موقع "أوبريشنز ريسيرش ستاك إكستشينج".
مراجع
- 1 2 3 4 جارتنر، بيرند؛ ماتوسيك، جيري (2006). فهم واستخدام البرمجة الخطية . برلين: سبرينغر. رقم ISBN 3-540-30697-8.: 44–48
- 1 2 مجيدو، نمرود (1991-02-01). "حول إيجاد القواعد المثلى الأولية والثنائية" . مجلة ORSA للحوسبة . 3 (1): 63-65 . CiteSeerX 10.1.1.11.427 . doi : 10.1287/ijoc.3.1.63 . ISSN 0899-1499 .
- ↑ بيلينغ، بيتر أ.؛ ميغيدو، ن. (1998). "استخدام ضرب المصفوفات السريع لإيجاد الحلول الأساسية". علوم الحاسوب النظرية . 205 ( 1-2 ): 307-316 . doi : 10.1016/S0304-3975(98)00003-6 .
- البرمجة الخطية
