الحل الأساسي الممكن

في نظرية البرمجة الخطية ، يُعرف الحل الأساسي الممكن ( BFS ) بأنه حلٌّ يحتوي على أقل عدد ممكن من المتغيرات غير الصفرية. هندسيًا، يُقابل كل حل أساسي ممكن رأسًا من رؤوس متعدد السطوح للحلول الممكنة. إذا وُجد حلٌّ أمثل، فإنه يوجد حل أساسي ممكن أمثل. لذا، لإيجاد الحل الأمثل، يكفي النظر في الحلول الأساسية الممكنة. تستخدم خوارزمية السمبلكس هذه الحقيقة ، حيث تنتقل أساسًا من حل أساسي ممكن إلى آخر حتى يتم العثور على الحل الأمثل. [ 1 ]

التعريفات

مقدمة: صيغة معادلة ذات صفوف مستقلة خطيًا

بالنسبة للتعريفات الواردة أدناه، سنقدم أولاً البرنامج الخطي في ما يسمى بالصيغة المعادلة :

أقصىجتيx{\textstyle \mathbf {c^{T}} \mathbf {x} }
رهناً بـأx=ب{\displaystyle A\mathbf {x} =\mathbf {b} }وx0{\displaystyle \mathbf {x} \geq 0}

أين:

  • جتي{\displaystyle \mathbf {c^{T}} }وx{\displaystyle \mathbf {x} }هي متجهات بحجم n (عدد المتغيرات)؛
  • ب{\displaystyle \mathbf {b} }هو متجه بحجم m (عدد القيود)؛
  • أ{\displaystyle A}هي مصفوفة من الرتبة m × n ؛
  • x0{\displaystyle \mathbf {x} \geq 0}هذا يعني أن جميع المتغيرات غير سالبة.

يمكن تحويل أي برنامج خطي إلى شكل معادلة عن طريق إضافة متغيرات الركود .

كخطوة تنظيف أولية، نتحقق مما يلي:

  • النظامأx=ب{\displaystyle A\mathbf {x} =\mathbf {b} }يوجد حل واحد على الأقل (وإلا فإن البرنامج الخطي بأكمله ليس له حل ولا يوجد شيء آخر يمكن فعله)؛
  • جميع صفوف المصفوفة mأ{\displaystyle A}مستقلة خطيًا ، أي أن رتبتها هي m (وإلا يمكننا ببساطة حذف الصفوف الزائدة دون تغيير البرمجة الخطية).

حل ممكن

الحل الممكن للبرمجة الخطية هو أي متجهx0{\displaystyle \mathbf {x} \geq 0}بحيثأx=ب{\displaystyle A\mathbf {x} =\mathbf {b} }نفترض وجود حل ممكن واحد على الأقل. إذا كان m = n ، فلا يوجد سوى حل ممكن واحد. عادةً ما يكون m < n ، لذا فإن النظامأx=ب{\displaystyle A\mathbf {x} =\mathbf {b} }للمسألة حلول عديدة؛ ويسمى كل حل من هذه الحلول حلاً ممكناً للمسألة الخطية.

أساس

أساس البرمجة الخطية هو مصفوفة فرعية غير منفردة من A، تحتوي على جميع الصفوف m و m < n عمود فقط.

أحيانًا، يُستخدم مصطلح الأساس ليس للمصفوفة الفرعية نفسها، بل لمجموعة مؤشرات أعمدتها. ليكن B مجموعة جزئية من m مؤشرًا من المجموعة {1، ...، n }. نرمز بـأب{\displaystyle A_{B}}المصفوفة المربعة m × m المكونة من m عمودًا منأ{\displaystyle A}مفهرسة بواسطة B. إذاأب{\displaystyle A_{B}}إذا كانت غير منفردة ، فإن الأعمدة المفهرسة بواسطة B تشكل أساسًا لفضاء الأعمدة لـأ{\displaystyle A}في هذه الحالة، نسمي B أساسًا للخط البرمجي.

منذ رتبةأ{\displaystyle A}إذا كان m ، فإنه يمتلك أساسًا واحدًا على الأقل؛ بما أنأ{\displaystyle A}إذا كان يحتوي على n عمودًا، فإنه يحتوي على الأكثر(نم){\displaystyle {\binom {n}{m}}}القواعد.

الحل الأساسي الممكن

بفرض وجود أساس B ، نقول إن الحل الممكنx{\displaystyle \mathbf {x} }يُعتبر حلاً أساسياً ممكناً ذو أساس B إذا كانت جميع متغيراته غير الصفرية مُفهرسة بواسطة B ، أي لجميعجب:  xج=0{\displaystyle j\not \in B:~~x_{j}=0}.

ملكيات

1. يتم تحديد BFS فقط من خلال قيود البرمجة الخطية (المصفوفة)أ{\displaystyle A}والمتجهب{\displaystyle \mathbf {b} })؛ ولا يعتمد ذلك على هدف التحسين.

2. بحسب التعريف، تحتوي مجموعة البحث في الفضاء العريض (BFS) على m متغيرًا غير صفري على الأكثر ، و n - m متغيرًا صفريًا على الأقل. قد تحتوي مجموعة البحث في الفضاء العريض على أقل من m متغيرًا غير صفري؛ وفي هذه الحالة، يمكن أن يكون لها العديد من القواعد المختلفة، وكلها تحتوي على مؤشرات متغيراتها غير الصفرية.

3. حل قابل للتطبيقx{\displaystyle \mathbf {x} }هو شرط أساسي إذا وفقط إذا كانت أعمدة المصفوفةأك{\displaystyle A_{K}}مستقلة خطيًا، حيث K هي مجموعة مؤشرات العناصر غير الصفرية لـx{\displaystyle \mathbf {x} }[ 1 ] : 45

4. كل أساس يحدد خوارزمية بحث أولي فريدة: لكل أساس B من m مؤشر، يوجد على الأكثر خوارزمية بحث أولي واحدة xب{\displaystyle \mathbf {x_{B}} }مع الأساس B. وذلك لأنxب{\displaystyle \mathbf {x_{B}} }يجب أن يفي بالشرطأبxب=ب{\displaystyle A_{B}\mathbf {x_{B}} =b}وبحسب تعريف الأساس، فإن المصفوفةأب{\displaystyle A_{B}}بما أن المصفوفة غير منفردة، فإن القيد له حل وحيد:

xب=أب-1ب{\displaystyle \mathbf {x_{B}} ={A_{B}}^{-1}\cdot b}

ليس العكس صحيحًا: يمكن أن ينشأ كل بحث في العرض أولًا من قواعد بيانات مختلفة. إذا كان الحل الوحيد لـxب=أب-1ب{\displaystyle \mathbf {x_{B}} ={A_{B}}^{-1}\cdot b}يفي بشروط عدم السلبيةxب0{\displaystyle \mathbf {x_{B}} \geq 0}، عندئذٍ يُطلق على B اسم الأساس الممكن .

5. إذا كان للبرنامج الخطي حل أمثل (أي أنه يمتلك حلاً ممكناً، ومجموعة الحلول الممكنة محدودة)، فإنه يمتلك خوارزمية بحث في العرض أولاً (BFS) مثلى. هذه نتيجة لمبدأ باور الأقصى : دالة الهدف في البرنامج الخطي محدبة؛ ومجموعة الحلول الممكنة محدبة (فهي تقاطع فضاءات فائقة)؛ وبالتالي، تبلغ دالة الهدف قيمتها القصوى عند نقطة قصوى في مجموعة الحلول الممكنة.

بما أن عدد عمليات البحث في العرض أولاً محدود ومقيد بـ(نم){\displaystyle {\binom {n}{m}}}يمكن إيجاد الحل الأمثل لأي برنامج خطي في وقت محدود بمجرد تقييم دالة الهدف في جميع الحالات.(نم){\displaystyle {\binom {n}{m}}}البحث في العرض أولاً (BFS). هذه ليست الطريقة الأكثر كفاءة لحل البرمجة الخطية؛ فخوارزمية سيمبلكس تفحص البحث في العرض أولاً بطريقة أكثر كفاءة.

أمثلة

لنفترض برنامجًا خطيًا بالقيود التالية:

x1+5x2+3x3+4x4+6x5=14x2+3x3+5x4+6x5=7أنا{1،...،5}:xأنا0{\displaystyle {\begin{aligned}x_{1}+5x_{2}+3x_{3}+4x_{4}+6x_{5}&=14\\x_{2}+3x_{3}+5x_{4}+6x_{5}&=7\\\forall i\in \{1,\ldots ,5\}:x_{i}&\geq 0\end{aligned}}}

المصفوفة A هي:

أ=(1534601356)     ب=(14  7){\displaystyle A={\begin{pmatrix}1&5&3&4&6\\0&1&3&5&6\end{pmatrix}}~~~~~\mathbf {b} =(14~~7)}

هنا، m = 2 وهناك 10 مجموعات جزئية من 2 مؤشر، ومع ذلك، ليست جميعها قواعد: المجموعة {3،5} ليست قاعدة لأن العمودين 3 و5 مرتبطان خطيًا.

المجموعة B = {2,4} هي أساس، لأن المصفوفة أب=(5415){\displaystyle A_{B}={\begin{pmatrix}5&4\\1&5\end{pmatrix}}}غير مفرد.

BFS الفريد المقابل لهذا الأساس هوxب=(0  2  0  1  0){\displaystyle x_{B}=(0~~2~~0~~1~~0)}.

التفسير الهندسي

مجموعة جميع الحلول الممكنة هي تقاطع فضاءات فائقة . لذا، فهي متعدد السطوح محدب . إذا كانت محدودة، فهي متعدد سطوح محدب . كل حل ممكن في الفضاءات الفائقة يُقابل رأسًا من رؤوس هذا المتعدد السطوح. [ 1 ] : 53-56

الحلول الأساسية الممكنة للمسألة الثنائية

كما ذكرنا سابقًا، يحدد كل أساس B حلاً أساسيًا فريدًا ممكنًاxب=أب-1ب{\displaystyle \mathbf {x_{B}} ={A_{B}}^{-1}\cdot b}وبالمثل، تحدد كل قاعدة حلاً للبرنامج الخطي المزدوج :

تقليلبتيy{\textstyle \mathbf {b^{T}} \mathbf {y} }
رهناً بـأتيyج{\displaystyle A^{T}\mathbf {y} \geq \mathbf {c} }.

الحل هوyب=أبتي-1ج{\displaystyle \mathbf {y_{B}} ={A_{B}^{T}}^{-1}\cdot c}.

إيجاد حل أمثل للبحث في العرض أولاً

هناك عدة طرق لإيجاد حل BFS يكون مثالياً أيضاً.

باستخدام خوارزمية سيمبلكس

عمليًا، أسهل طريقة لإيجاد حل أمثل للبحث في العرض أولًا (BFS) هي استخدام خوارزمية سيمبلكس . تحتفظ هذه الخوارزمية، في كل مرحلة من مراحل تنفيذها، بـ "أساس حالي" B (مجموعة فرعية من m من أصل n متغيرًا)، و"حل أمثل حالي للبحث في العرض أولًا"، و"جدول حالي". الجدول هو تمثيل للبرنامج الخطي حيث تُعبَّر المتغيرات الأساسية بدلالة المتغيرات غير الأساسية: [ 1 ] : 65xب=ص+سؤالxشمالz=z0+رتيxشمال{\displaystyle {\begin{aligned}x_{B}&=p+Qx_{N}\\z&=z_{0}+r^{T}x_{N}\end{aligned}}}أينxب{\displaystyle x_{B}}هو متجه المتغيرات الأساسية m ،xشمال{\displaystyle x_{N}}هو متجه من n متغير غير أساسي، وz{\displaystyle z}هو هدف التعظيم. بما أن المتغيرات غير الأساسية تساوي صفرًا، فإن البحث في العرض أولاً الحالي هوص{\displaystyle p}والهدف الحالي لتحقيق أقصى قيمة هوz0{\displaystyle z_{0}}.

إذا كانت جميع المعاملات فير{\displaystyle r}إذا كانت النتائج سلبية، فـz0{\displaystyle z_{0}}يُعد هذا حلاً أمثل، حيث يجب أن تكون جميع المتغيرات (بما في ذلك جميع المتغيرات غير الأساسية) على الأقل صفرًا، لذا فإن السطر الثاني يعنيzz0{\displaystyle z\leq z_{0}}.

إذا كانت بعض المعاملات فير{\displaystyle r}إذا كانت القيم موجبة، فقد يكون من الممكن زيادة هدف التعظيم. على سبيل المثال، إذاx5{\displaystyle x_{5}}غير أساسي ومعامله في ر{\displaystyle r}إذا كانت القيمة موجبة، فإن زيادتها فوق الصفر قد تجعلz{\displaystyle z}أكبر. إذا كان من الممكن القيام بذلك دون انتهاك قيود أخرى، فإن المتغير المتزايد يصبح أساسيًا (يدخل الأساس)، بينما يتم تقليل بعض المتغيرات الأساسية إلى 0 للحفاظ على قيود المساواة وبالتالي يصبح غير أساسي (يخرج من الأساس).

إذا تمت هذه العملية بعناية، فمن الممكن ضمان ذلك.z{\displaystyle z}يزداد حتى يصل إلى أفضل قيمة BFS.

تحويل أي حل أمثل إلى حل عرضي أولي أمثل

في أسوأ الأحوال، قد تتطلب خوارزمية السمبلكس عددًا هائلاً من الخطوات لإتمامها. توجد خوارزميات لحل مسائل البرمجة الخطية في زمن متعدد الحدود ضعيف ، مثل طريقة القطع الناقص ؛ إلا أنها عادةً ما تُعيد حلولًا مثلى غير أساسية.

مع ذلك، فإنه من السهل إيجاد حل أمثل ممكن لأي برنامج خطي، ويكون في الوقت نفسه أساسيًا ، وذلك عند وجود أي حل أمثل . [ 2 ] : انظر أيضًا "الروابط الخارجية" أدناه.

إيجاد أساس يكون مثاليًا من حيث المبدأ وثنائيًا من حيث الحل الأمثل

يُطلق على الأساس B للبرمجة الخطية اسم الأساس الأمثل المزدوج إذا كان الحلyب=أبتي-1ج{\displaystyle \mathbf {y_{B}} ={A_{B}^{T}}^{-1}\cdot c} يمثل حلاً أمثل للبرنامج الخطي المزدوج، أي أنه يقلل منبتيy{\textstyle \mathbf {b^{T}} \mathbf {y} }بشكل عام، الأساس الأمثل الأولي ليس بالضرورة الأمثل الثنائي، والأساس الأمثل الثنائي ليس بالضرورة الأمثل الأولي (في الواقع، قد يكون حل الأساس الأمثل الأولي غير ممكن بالنسبة للثنائي، والعكس صحيح).

إذا كان كلاهماxب=أب-1ب{\displaystyle \mathbf {x_{B}} ={A_{B}}^{-1}\cdot b}هي حل أمثل للبحث في العرض أولاً للمسألة الخطية الأولية، وyب=أبتي-1ج{\displaystyle \mathbf {y_{B}} ={A_{B}^{T}}^{-1}\cdot c}إذا كان البحث في العرض أولاً (BFS) هو الحل الأمثل للبرمجة الخطية الثنائية، فإن الأساس B يُسمى أساس PD الأمثل . كل برنامج خطي له حل أمثل يمتلك أساس PD الأمثل، ويتم إيجاده بواسطة خوارزمية سيمبلكس . مع ذلك، فإن وقت تشغيلها أُسّي في أسوأ الحالات. أثبت نمرود مجدو النظريات التالية: [ 2 ]

  • توجد خوارزمية ذات وقت متعدد الحدود بشكل قوي تقوم بإدخال حل أمثل للبرمجة الخطية الأولية وحل أمثل للبرمجة الخطية الثنائية، وتعيد أساسًا أمثلًا.
  • إذا كان هناك خوارزمية ذات وقت متعدد الحدود قوي تقوم بإدخال حل أمثل فقط للبرمجة الخطية الأولية (أو البرمجة الخطية الثنائية فقط) وتعيد أساسًا أمثل، فإنه يوجد خوارزمية ذات وقت متعدد الحدود قوي لحل أي برنامج خطي (وهذه الأخيرة مشكلة مفتوحة مشهورة ).

يمكن تنفيذ خوارزميات ميغيدو باستخدام جدول، تمامًا مثل خوارزمية سيمبلكس. كما اقترح ميغيدو، بالتعاون مع بيلينغ، خوارزمية سريعة تستخدم خوارزميات ضرب المصفوفات السريعة . [ 3 ]

مراجع

  1. 1 2 3 4 جارتنر، بيرند؛ ماتوسيك، جيري (2006). فهم واستخدام البرمجة الخطية . برلين: سبرينغر. رقم ISBN 3-540-30697-8.: 44–48
  2. 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 .  
  3. بيلينغ، بيتر أ.؛ ميغيدو، ن. (1998). "استخدام ضرب المصفوفات السريع لإيجاد الحلول الأساسية". علوم الحاسوب النظرية . 205 ( 1-2 ): 307-316 . doi : 10.1016/S0304-3975(98)00003-6 .