طريقة Simplex لحل مشاكل البرمجة الخطية: مثال نموذجي وخوارزمية. طريقة Simplex لحل zlp تعريف المتغيرات الأساسية في طريقة simplex

لتمكين التطبيق الصغير للتشغيل على جهاز الكمبيوتر الخاص بك ، قم بما يلي - انقر فوق ابدأ> لوحة التحكم> البرامج> Java. في نافذة Java Control Panel ، حدد علامة التبويب Security ، وانقر فوق الزر Edit Site List ، ثم زر الإضافة والصق المسار إلى هذه الصفحة من شريط عنوان المتصفح في الحقل المجاني. بعد ذلك ، اضغط على زر موافق ، ثم أعد تشغيل الكمبيوتر.

لتشغيل التطبيق الصغير ، انقر فوق الزر "Simplex". إذا كان الزر "Simplex" غير مرئي فوق هذا الخط ، فهذا يعني أن Java غير مثبت على الكمبيوتر.

    بعد النقر على زر "Simplex" ، يتم عرض النافذة الأولى لإدخال عدد المتغيرات وعدد قيود المشكلة على طريقة simplex.

    بعد الضغط على الزر "موافق" ، يتم عرض نافذة لإدخال البيانات المتبقية للمهمة الخاصة بالطريقة البسيطة: وضع العرض (الكسور العشرية أو العادية) ، نوع معيار المهمة كحد أدنى أو أقصى ، إدخال معاملات دالة الهدف ومعاملات نظام القيد بعلامات "" أو "" أو "=" ، ليست هناك حاجة لإدخال قيود على الشكل x i ≥ 0 ، يأخذهم في الاعتبار في الخوارزمية.

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

الرجاء إرسال أية أخطاء وتعليقات حول التطبيق الصغير إلى [البريد الإلكتروني محمي] أو اتصل على 896270077 06 ، وسنكون ممتنين لك.

برنامج M- طريقة

برنامج لحل مشكلة النقل

فيما يلي حل يدوي (وليس صغير) لمشكلتين بطريقة simplex (على غرار حل الصغير) مع تفسيرات مفصلة لفهم خوارزمية حل المشكلة. تحتوي المشكلة الأولى على علامات عدم المساواة فقط "" (مشكلة ذات أساس أولي) ، ويمكن أن تحتوي المشكلة الثانية على علامات "≥" أو "≤" أو "=" (مشكلة ذات أساس اصطناعي) ، يتم حلها بطريقة مختلفة طرق.

طريقة Simplex ، حل مشكلة أساسًا أوليًا

1)طريقة Simplexلمشكلة ذات أساس أولي (جميع علامات عدم المساواة القيد هي "").

دعنا نكتب المشكلة في العنوان الأساسيشكل ، أي نعيد كتابة قيود عدم المساواة في صورة مساواة ، مضيفين ورقة التوازنالمتغيرات:

هذا النظام عبارة عن نظام له أساس (أساس s 1 ، s 2 ، s 3 ، كل منها مدرج في معادلة واحدة فقط من النظام بمعامل 1) ، x 1 و x 2 متغيرات مجانية. يجب أن تحتوي المشاكل التي يتم استخدام طريقة simplex فيها على الخاصيتين التاليتين:
- يجب أن يكون نظام القيود نظام معادلات له أساس ؛
-يجب أن تكون المصطلحات الحرة لجميع المعادلات في النظام غير سالبة.

النظام الناتج هو نظام له أساس وشروطه المجانية غير سلبية ، لذلك يمكن تطبيق طريقة simplex. تجميع أول جدول مفرد (التكرار 0) ، أي جدول معاملات الوظيفة الموضوعية ونظام المعادلات للمتغيرات المقابلة. هنا "BP" تعني عمود المتغيرات الأساسية ، "الحل" - عمود الأجزاء اليمنى من معادلات النظام. الحل ليس هو الأمثل ، لأن هناك معاملات سالبة في الخط z.

التكرار 0

BP

حل سلوك

لتحسين الحل ، ننتقل إلى التكرار التالي ونحصل على الجدول البسيط التالي. لهذا عليك أن تختار تمكين العمود، أي. متغير يدخل الأساس في التكرار التالي. يتم تحديده بواسطة أكبر معامل سلبي في الصف z (في المشكلة القصوى) - في التكرار الأولي ، هذا هو العمود × 2 (المعامل -6).

ثم اختر سلسلة إذن، أي. متغير يترك الأساس في التكرار التالي. يتم تحديده من خلال أصغر نسبة من عمود "القرار" إلى العناصر الإيجابية المقابلة لعمود الحل (عمود "النسبة") - في التكرار الأولي ، هذا هو الصف 3 (المعامل 20).

عنصر متساهليقع عند تقاطع عمود الحل وصف الحل ، يتم تمييز خليته بالألوان ، وهي تساوي 1. لذلك ، في التكرار التالي ، سيحل المتغير x 2 محل s 3 في الأساس. لاحظ أنه لا يتم البحث عن العلاقة في سلسلة z ، يتم وضع شرطة "-" هناك. إذا كانت هناك نسب دنيا متطابقة ، فسيتم اختيار أي منها. إذا كانت جميع المعاملات في عمود الدقة أقل من أو تساوي 0 ، فإن حل المشكلة لا نهائي.

دعونا نملأ الجدول التالي "التكرار 1". سوف نحصل عليه من جدول "التكرار 0". الغرض من عمليات التحويل الإضافية هو تحويل عمود التمكين x2 إلى عمود واحد (مع واحد بدلاً من عنصر التمكين والأصفار بدلاً من بقية العناصر).

1) حساب الصف × 2 من جدول "التكرار 1". أولاً ، نقسم جميع أعضاء صف الحل s 3 من جدول "التكرار 0" على عنصر الحل (يساوي 1 في هذه الحالة) من هذا الجدول ، نحصل على الصف × 2 في جدول "التكرار 1" . لأن عنصر الحل في هذه الحالة يساوي 1 ، ثم سيتطابق الصف s 3 من جدول "التكرار 0" مع الصف × 2 من جدول "التكرار 1". الصف × 2 من جدول "التكرار 1" حصلنا على 0 1 0 0 1 20 ، سيتم الحصول على الصفوف المتبقية من جدول "التكرار 1" من هذا الصف وصفوف جدول "التكرار 0" على النحو التالي:

2) حساب الصف z لجدول "التكرار 1". بدلاً من -6 في الصف الأول (صف- z) في العمود x2 من جدول "التكرار 0" ، يجب أن يكون هناك 0 في الصف الأول من جدول "التكرار 1". للقيام بذلك ، نضرب جميع عناصر الصف × 2 في جدول "التكرار 1" 0 1 0 0 1 20 في 6 ، نحصل على 0 6 0 0 6120 ونضيف هذا الصف مع الصف الأول (z - الصف) من جدول "التكرار 0" -4 -6 0 0 0 0 ، نحصل على -4 0 0 0 6 120. ظهر الصفر 0 في عمود x 2 ، تم تحقيق الهدف. عناصر عمود الإذن × 2 مظللة باللون الأحمر.

3) حساب الصف s 1 من جدول "التكرار 1". بدلاً من 1 في s 1 صف من جدول "التكرار 0" يجب أن يكون 0 في جدول "التكرار 1". للقيام بذلك ، نضرب جميع عناصر الصف × 2 من جدول "التكرار 1" 0 1 0 0 1 20 في -1 ، نحصل على 0-1 0 0 -1-20 ونضيف هذا الصف مع s 1 - صف من جدول "التكرار 0" 2 1 1 0 0 64 ، نحصل على الصف 2 0 1 0 -1 44. يتم الحصول على 0 المطلوب في العمود x 2.

4) حساب الصف s 2 من جدول "التكرار 1". بدلاً من 3 في الصف الثاني من جدول "التكرار 0" ، يجب أن تكون القيمة 0 في جدول "التكرار 1". للقيام بذلك ، نضرب جميع عناصر الصف × 2 من جدول "التكرار 1" 0 1 0 0 1 20 في -3 ، نحصل على 0 -3 0 0 -3 -60 ونضيف هذا الصف مع s 2 - صف من جدول "التكرار 0" 1 3 0 1 0 72 ، نحصل على الصف 1 0 0 1 -3 12. يتم الحصول على 0 المطلوب في العمود × 2. يحتوي العمود × 2 في جدول "التكرار 1" تصبح عازبة ، تحتوي على واحد 1 والباقي 0.

يتم الحصول على صفوف جدول "التكرار 1" وفقًا للقاعدة التالية:

صف جديد = صف قديم - (عامل إذن الصف القديم) * (صف جديد).

على سبيل المثال ، بالنسبة للخط z لدينا:

سلسلة z القديمة (-4 -6 0 0 0 0)
- (- 6) * سلسلة إذن جديدة - (0
-6 0 0 -6 -120)
= صف z جديد
(-4 0 0 0 6 120) .

بالنسبة للجداول التالية ، تتم إعادة حساب عناصر الجدول بطريقة مماثلة ، لذلك نحذفها.

التكرار 1

حل سلوك

العمود المسموح به x 1 ، الصف المسموح s 2 ، s 2 يترك الأساس ، x 1 يدخل الأساس. بالطريقة نفسها تمامًا ، نحصل على الجداول البسيطة المتبقية حتى يتم الحصول على جدول به جميع المعاملات الموجبة في الصف z. هذه علامة على الجدول الأمثل.

التكرار 2

حل سلوك

حل العمود ق 3 ، حل الصف ق 1 ، ق 1 يترك الأساس ، ق 3 يدخل الأساس.

التكرار 3

حل سلوك

في الصف z ، جميع المعاملات غير سالبة ، لذلك يتم الحصول على الحل الأمثل x 1 = 24 ، x 2 = 16 ، z max = 192.

طريقة Simplex ، حل مشكلة على أساس اصطناعي

2) دعنا نحل المشكلة بأساس اصطناعي (علامة واحدة على الأقل لقيود عدم المساواة "≥" أو "=").

نكتب المسألة في شكل أساسي (في شكل نظام معادلات ، والذي يتطلب طريقة simplex) ، ولهذا نقدم متغيرين x 3 ≥ 0 و x 4 0 ، نحصل على:

يوفر نظام القيد متغيرًا أساسيًا واحدًا صالحًا × 4 ، فقط يتم تضمينه في معادلة واحدة فقط في المعادلة الثالثة بمعامل 1 ، لذلك نضيف المتغيرات الاصطناعية R 1 0 و R 2 ≥ 0 إلى المعادلتين الأولى والثانية لذلك أنه يمكن تطبيق طريقة simplex ، يجب أن تكون معادلات قيود النظام نظامًا له أساس ، أي في كل معادلة يجب أن يكون هناك متغير بمعامل 1 ، والذي يتم تضمينه في معادلة واحدة فقط من النظام ، في حالتنا هو R 1 و R 2 و x 4. حصلنا على ما يسمى مشكلة M:

هذا النظام عبارة عن نظام له أساس تكون فيه R 1 و R 2 و x 4 متغيرات أساسية ، و x 1 و x 2 و x 3 متغيرات حرة ، والمصطلحات الحرة لجميع المعادلات غير سالبة. لذلك ، يمكن تطبيق طريقة simplex لحل المشكلة. لنكتب الجدول البسيط الأولي:

التكرار 0

حل سلوك
-16

تمت إضافة سطر "التقييم" إلى الجدول للمشكلات ذات الأساس الاصطناعي. يتم الحصول عليها عن طريق جمع المعاملات المقابلة للصفوف ذات المتغيرات الاصطناعية (R) مع الإشارة المعاكسة. سيكون موجودًا في الجدول طالما أن أحد المتغيرات الاصطناعية على الأقل موجود في الأساس. من خلال القيمة المطلقة للمعامل السلبي لصف "التصنيف" ، يتم تحديد عمود الدقة أثناء وجوده في الجدول. عندما يغادر صف "الدرجة" الجدول (لا توجد متغيرات اصطناعية في الأساس) ، سيتم تحديد عمود الحل بواسطة الصف z ، كما في المشكلة مع الأساس الأولي. في هذا الجدول ، يكون عمود الحل × 2 ، ويتم تحديده وفقًا لأكبر تقدير سلبي (-7).يتم اختيار صف الحل R 2 وفقًا لأصغر نسبة في عمود "الحل" إلى العناصر الإيجابية المقابلة لعمود الحل ، كما هو الحال في المشكلة بدون المتغيرات الاصطناعية. هذا يعني أنه في التكرار التالي ، سينتقل المتغير x 2 من المجاني إلى الأساسي ، والمتغير R 2 من الأساسي إلى المجاني. نكتب الجدول البسيط التالي:

حل العمود x 1 ، حل الصف R 1 ، R 1 يترك الأساس ، x 1 يدخل الأساس. بعد ذلك ، لا توجد متغيرات اصطناعية متبقية في الأساس ، لذلك لا يوجد صف "نتيجة" في الجدول التالي:

التكرار 2

حل سلوك

بعد ذلك ، يتم تحديد عمود الدقة بواسطة صف z. في الصف z ، تكون جميع المعاملات غير سالبة باستثناء المعامل على المتغير الاصطناعي R 1 ، والذي لا يؤثر على الأمثل عندما تكون المتغيرات الاصطناعية خارج الأساس. لذلك ، يتم الحصول على الحل الأمثل × 1 = 6/5 ؛ × 2 \ u003d 3/5 ؛ zmax = 72/5.

حالات خاصة لتطبيق طريقة simplex

1) عندما يكون الخط (إذا تم الأخذ في الاعتبار مشكلة البرمجة الخطية ثنائية الأبعاد ، وفي الحالة العامة المستوى الفائق) الذي يمثل الدالة الموضوعية يكون موازٍ للخط (المستوى الفائق) المقابل لإحدى متباينات القيد (والتي تتحقق عند النقطة المثلى كمساواة دقيقة) ، تأخذ الوظيفة الموضوعية واحدة وهي أيضًا قيمة مثالية في بعض مجموعة النقاط على حدود منطقة الحلول الممكنة. تسمى هذه الحلول الحلول المثلى البديلة. يمكن تحديد وجود حلول بديلة من الجدول البسيط الأمثل. إذا كانت هناك معاملات صفرية للمتغيرات غير الأساسية في الصف z من الجدول الأمثل ، فهناك حلول بديلة.

2) إذا كانت جميع المعاملات في عمود الحل في الجدول البسيط أقل من أو تساوي الصفر ، فمن المستحيل اختيار صف الحل ، وفي هذه الحالة يكون الحل غير محدود.

3) إذا كانت قيود مشكلة البرمجة الخطية غير متسقة (أي أنه لا يمكن تنفيذها في وقت واحد) ، فلن يكون للمشكلة حلول مجدية. مثل هذا الموقف لا يمكن أن ينشأ إذا كانت جميع التفاوتات التي تشكل نظام القيود من النوع "" مع جوانب غير سلبية على الجانب الأيمن ، لأن في هذه الحالة ، قد تشكل المتغيرات الإضافية حلاً ممكنًا. بالنسبة لأنواع القيود الأخرى ، يتم استخدام المتغيرات الاصطناعية. إذا كان للمشكلة حل ، فلا توجد متغيرات مصطنعة (R i) في الجدول الأمثل في الأساس. إذا كانوا هناك ، فلا حل للمشكلة.

طريقة Simplex- هذه عملية تكرارية للحل الموجه لنظام المعادلات في خطوات ، والتي تبدأ بحل مرجعي ، وبحثًا عن الخيار الأفضل ، تتحرك على طول نقاط الزاوية لمنطقة الحل المجدي التي تعمل على تحسين قيمة دالة الهدف حتى تصل وظيفة الهدف إلى القيمة المثلى.

مهمة الخدمة. هذه الخدمة مخصصة لحل مشاكل البرمجة الخطية (LPP) عبر الإنترنت باستخدام طريقة simplex في نماذج الترميز التالية:

  • على شكل جدول بسيط (طريقة تحولات الأردن) ؛ الشكل الأساسي للسجل
  • طريقة بسيطة معدلة ؛ في شكل عمود في شكل سطر.

تعليمات. حدد عدد المتغيرات وعدد الصفوف (عدد القيود). يتم حفظ الحل الناتج في ملف Word و Excel. في الوقت نفسه ، لا تأخذ في الاعتبار قيود النوع x i ≥0. إذا لم تكن هناك قيود في المهمة لبعض x i ، فيجب تقليل LLP إلى KZLP ، أو استخدام هذه الخدمة. الحل يحدد تلقائيا الاستخدام طريقة M.(طريقة بسيطة مع أساس اصطناعي) و طريقة بسيطة من مرحلتين.

يتم استخدام ما يلي أيضًا مع هذه الآلة الحاسبة:
طريقة رسومية لحل LLP
حل مشكلة النقل
حل لعبة ماتريكس
باستخدام الخدمة عبر الإنترنت ، يمكنك تحديد سعر لعبة المصفوفة (الحدود الدنيا والعليا) ، والتحقق من نقطة السرج ، والعثور على حل لاستراتيجية مختلطة باستخدام الطرق التالية: minimax ، طريقة simplex ، طريقة رسومية (هندسية) ، طريقة براون.
إكستريموم لدالة من متغيرين
مشاكل البرمجة الديناميكية
توزيع 5 دفعات متجانسة من البضائع بين ثلاثة أسواق للحصول على أقصى دخل من بيعها. يعتمد الدخل من البيع في كل سوق G (X) على عدد الدُفعات المباعة من البضائع X ويتم تقديمه في الجدول.

حجم المنتج X (على دفعات)الدخل G (X)
1 2 3
0 0 0 0
1 28 30 32
2 41 42 45
3 50 55 48
4 62 64 60
5 76 76 72

خوارزمية طريقة Simplexيتضمن الخطوات التالية:

  1. رسم أول خطة أساسية. الانتقال إلى الشكل الأساسي لمشكلة البرمجة الخطية عن طريق إدخال متغيرات توازن إضافية غير سالبة.
  2. التحقق من خطة الأمثل. إذا كان هناك معامل صف مؤشر واحد على الأقل أقل من الصفر ، فإن الخطة ليست مثالية وتحتاج إلى تحسين.
  3. تعريف الأعمدة والصفوف البادئة. من بين المعاملات السالبة لخط الفهرس ، يتم تحديد أكبر قيمة مطلقة. ثم يقسم عناصر عمود الأعضاء الأحرار في الجدول البسيط إلى عناصر من نفس علامة العمود الأول.
  4. بناء خط أساس جديد. يتم تنفيذ الانتقال إلى خطة جديدة نتيجة لإعادة حساب الجدول البسيط بطريقة جوردان-غاوس.

إذا كان من الضروري إيجاد الحد الأقصى للدالة الموضوعية ، فإننا نتحدث عن إيجاد القيمة الدنيا (F (x) → min ، انظر مثال حل تصغير الوظيفة) والقيمة القصوى (F (x) → max ، راجع مثال حل تعظيم الوظيفة)

يتم الوصول إلى حل أقصى على حدود منطقة الحلول الممكنة عند أحد رؤوس نقاط أركان المضلع ، أو على القطعة الواقعة بين نقطتي ركن متجاورتين.

النظرية الأساسية للبرمجة الخطية. إذا وصلت دالة الهدف LLP إلى قيمة قصوى في نقطة ما في منطقة الحلول الممكنة ، فإنها تأخذ هذه القيمة عند نقطة الزاوية. إذا وصلت دالة الهدف LLP إلى قيمة قصوى عند أكثر من نقطة زاوية واحدة ، فإنها تأخذ نفس القيمة في أي من التركيبات الخطية المحدبة لهذه النقاط.

جوهر الطريقة البسيطة. تتم الحركة إلى النقطة المثلى عن طريق الانتقال من نقطة زاوية إلى النقطة التالية ، مما يجعل أقرب وأسرع إلى X opt. مثل هذا المخطط لتعداد النقاط ، تسمى طريقة البسيط، مقترح من قبل R. Danzig.
تتميز نقاط الزاوية بالمتغيرات الأساسية m ، لذلك يمكن الانتقال من نقطة ركن واحدة إلى أخرى مجاورة عن طريق تغيير متغير أساسي واحد فقط في الأساس إلى متغير من غير الأساس.
تنفيذ طريقة simplex ، بسبب الميزات والصيغ المختلفة لمشاكل LP ، له تعديلات مختلفة.

يستمر بناء الجداول البسيطة حتى يتم الحصول على الحل الأمثل.

كيفية استخدام الجدول البسيط لتحديد أن حل مشكلة البرمجة الخطية هو الحل الأمثل؟
إذا كان الصف الأخير (قيم الوظيفة الموضوعية) لا يحتوي على عناصر سالبة ، فسيجد الخطة المثلى.

ملاحظة 1. إذا كان أحد المتغيرات الأساسية يساوي صفرًا ، فإن النقطة القصوى المقابلة لمثل هذا الحل الأساسي تتدهور. يحدث الانحطاط عندما يكون هناك غموض في اختيار الصف الأول. قد لا تلاحظ انحطاط المشكلة على الإطلاق إذا اخترت سطرًا آخر كدليل. في حالة الغموض ، يجب اختيار الصف ذي المؤشر الأدنى لتجنب التكرار.

ملاحظة 2. دع في بعض النقاط القصوى تكون جميع الاختلافات البسيطة غير سالبة D k ³ 0 (k = 1..n + m) ، أي يتم الحصول على الحل الأمثل ويوجد مثل هذا - k - ناقل غير أساسي ، حيث D k = 0. ثم يتم الوصول إلى الحد الأقصى عند نقطتين على الأقل ، أي هناك بديل أمثل. إذا أدخلنا هذا المتغير x k في الأساس ، فلن تتغير قيمة دالة الهدف.

ملاحظة 3. حل المشكلة المزدوجة هو في آخر لوحة بسيطة. تعتبر مكونات m الأخيرة لمتجه الفروق البسيطة (في أعمدة متغيرات التوازن) هي الحل الأمثل للمشكلة المزدوجة. قيمة الوظائف الموضوعية للمشكلات المباشرة والمزدوجة في النقاط المثلى هي نفسها.

ملاحظة 4. عند حل مشكلة التصغير ، يتم إدخال متجه مع أكبر فرق بسيط موجب في الأساس. علاوة على ذلك ، يتم تطبيق نفس الخوارزمية بالنسبة لمشكلة التعظيم.

إذا تم تعيين الشرط "من الضروري أن يتم استهلاك المواد الخام من النوع الثالث بالكامل" ، فإن الشرط المقابل هو المساواة.

مقدمة تحليلية لطريقة البسيط

طريقة simplex هي طريقة برمجة خطية عالمية.

لذلك ، إذا قمنا بحل LLP في الشكل الكنسي ، فإن نظام القيد هو النظام المعتاد للمعادلات الخطية. عند حل مسائل LP ، يتم الحصول على أنظمة المعادلات الخطية ، والتي ، كقاعدة عامة ، لها عدد لا نهائي من الحلول.

على سبيل المثال ، نظرا لنظام

هنا عدد المعادلات هو 2 ، وعدد المجهول 3 ، وهناك عدد أقل من المعادلات. عبر عن x 1 و x 2 بدلالة x 3:

هذا هو الحل العام للنظام. إذا تم إعطاء المتغير x 3 قيمًا رقمية عشوائية ، فسنجد حلولًا خاصة للنظام. على سبيل المثال، x 3 =1 → x 1 =1 → x 2 = 6. لدينا (1 ، 6 ، 1) - حل خاص. يترك x 3 =2 → x 1 =-3, x 2 = 1 ، (-3 ، 1 ، 2) هو حل آخر خاص. هناك عدد لا حصر له من مثل هذه الحلول الخاصة.

المتغيرات x 1 و x 2 تسمى الأساسية، والمتغير x 3 - غير أساسي ، مجاني.

مجموعة من المتغيرات x 1 و x 2 تشكل الأساس: ب (x 1 , x 2). لو x 3 = 0 ، ثم الحل المعين الناتج (5 ، 11 ، 0) يسمى الحل الأساسي المقابل للأساس ب (x 1 , x 2).

الحل الأساسي هو حل يقابل القيم الصفرية للمتغيرات الحرة.
يمكن اعتبار المتغيرات الأخرى متغيرات أساسية: ( x 1 , x 3) أو ( x 2 , x 3).
كيف تنتقل من قاعدة واحدة ب(x 1 , x 2) إلى أساس آخر ب(x 1 , x 3)?
لهذا تحتاج إلى متغير x 3 للتحويل إلى الأساسي ، و x 2 - في غير الأساسية ، أي في المعادلات لازم x 3 صريح عبر x 2 واستبداله في الأول:

ب(x 1 , × 3) ، هو: (-19/5 ؛ 0 ؛ 11/5).

إذا الآن من الأساس ب(x 1 , x 3) نريد أن نذهب إلى الأساس ب(x 2 , x 3) ، إذن

الحل الأساسي المقابل للأساس ب (x 2 , x 3): (0;19/4; 7/8).
من الحلول الأساسية الثلاثة التي تم العثور عليها ، الحل المطابق للأساس ب (x 1 , x 3) - سلبي x 1 < 0, нас в ЗЛП интересуют только неотрицательные решения.

إذا كان لمشكلة LP حل ، فسيتم تحقيقها على مجموعة الحلول الأساسية غير السلبية لنظام القيد القانوني.

لذلك ، فإن فكرة طريقة simplex تتكون من انتقال تسلسلي من أساس إلى آخر ، وهو الأفضل من حيث قيمة الوظيفة الهدف.

مثال. حل مشكلة LP.

وظيفة F= x 2 - xيجب تصغير 1 → min لنظام معين من القيود:
-2x 1 + x 2 + x 3 = 2
x 1 + x 2 + x 5 = 5
x 1 - 2x 2 + x 4 = 12
xأنا ≥ 0 ، أنا = 1, 5

يمكن اعتبار هذه القيود مشتقة من عدم المساواة والمتغيرات x 3 , x 5 , x 4 - كإضافي.
نكتب القيود عن طريق اختيار أساس من المتغيرات ب{ x 3 , x 4 , x 5 }:

هذا الأساس يتوافق مع الحل الأساسي غير السلبي
x 1 = 0, x 2 = 0, x 3 = 2, x 4 = 2, x 5 = 5 أو (0 ، 0 ، 2 ، 2 ، 5).
الآن نحن بحاجة للتعبير Fمن خلال المتغيرات غير الأساسية ، في حالتنا هذا تم بالفعل: F= x 2 - x 1 .
تحقق مما إذا كانت الوظيفة قد وصلت Fقيمته الدنيا. لهذا الحل الأساسي F= 0 - 0 = 0 - قيمة الوظيفة هي 0. ولكن يمكن اختزالها إذا x 1 سيزداد ، لأن المعامل في الدالة عند x 1 سلبي. ومع ذلك ، مع زيادة x 1 قيم متغيرة x 4 , x 5 انخفاض (انظر المساواة الثانية والثالثة من نظام القيد). عامل xلا يمكن زيادة الرقم 1 إلى أكثر من 2 ، وإلا x 4 ستصبح سالبة (بسبب المساواة 2) ، ولا تزيد عن 5 ، وإلا x 5 - سلبي. لذلك ، من تحليل المساواة يتبع ذلك المتغير xيمكن زيادة 1 إلى 2 ، وفي هذه الحالة ستنخفض قيمة الوظيفة.
دعنا ننتقل إلى أساس جديد B 2 عن طريق إدخال متغير x 1 إلى الأساس بدلاً من ذلك x 4 .
ب 2 {x 1 , x 3 , x 5 }.
دعونا نعبر عن هذه المتغيرات الأساسية من حيث المتغيرات غير الأساسية. للقيام بذلك ، نعبر أولاً x 1 من المعادلة الثانية واستبدله في الباقي ، بما في ذلك الوظيفة.

الحل الأساسي المقابل للأساس ب 3 {X 1 , X 2 , X 3) ، مكتوب (4 ، 1 ، 9 ، 0 ، 0) ، وتأخذ الوظيفة القيمة F= -3. لاحظ أن القيمة Fانخفض ، أي تحسن مقارنة بالأساس السابق.
النظر إلى شكل الوظيفة الموضوعية ، لاحظ أنه لتحسين ، أي تقليل القيمة Fليس ممكنا وفقط x 4 = 0, x 5 = 0 قيمة F= -3. في أقرب وقت x 4 , x 5 تصبح إيجابية ، قيمة Fسيزداد فقط ، لأن المعاملات عند x 4 , x 5 إيجابية. لذا فإن الوظيفة Fوصلت إلى الحد الأمثل F* = -3. حتى أصغر قيمة F، يساوي -3 ، في x 1 * = 4, x 2 * = 1, x 3 * = 9, x 4 * = 0, x 5 * = 0.

يوضح هذا المثال فكرة الطريقة بوضوح شديد: الانتقال تدريجيًا من الأساس إلى الأساس ، مع الانتباه دائمًا إلى قيم الوظيفة الموضوعية التي يجب أن تتحسن ، نصل إلى الأساس الذي تكون فيه قيمة الوظيفة الموضوعية لا يمكن تحسينه ، فهو الأمثل. لاحظ أن هناك عددًا محدودًا من القواعد ، لذا فإن عدد الخطوات التي نتخذها للوصول إلى هذا الأساس المطلوب محدود.

إذا كانت هناك قيود مع العلامة ≥ في حالة المشكلة ، فيمكن عندئذ اختزالها إلى الصيغة ∑a ji b j بضرب كلا جزأي المتباينة في -1. نقدم متغيرات إضافية m x n + j ≥0 (j = 1، m) ونحول القيود إلى شكل المساواة

(2)

لنفترض أن جميع المتغيرات الأولية للمسألة x 1 ، x 2 ، ... ، x n هي غير أساسية. بعد ذلك ، ستكون المتغيرات الإضافية أساسية ، ويكون الحل الخاص لنظام القيود بالشكل

x 1 = x 2 = ... = x n = 0، x n + j = b j، j = 1، m. (3)

نظرًا لأن قيمة دالة الهدف F 0 = 0 في هذه الحالة ، يمكننا تمثيل F (x) على النحو التالي:

F (x) = ∑c i x i + F 0 = 0 (4)

يتم تجميع الجدول البسيط الأولي (الجدول البسيط 1) بناءً على المعادلتين (2) و (4). إذا كانت المتغيرات الإضافية x n + j مسبوقة بعلامة "+" ، كما في (2) ، يتم إدخال جميع المعاملات قبل المتغيرات x i والمصطلح المجاني b j في الجدول البسيط بدون تغيير. يتم إدخال معاملات دالة الهدف أثناء تعظيمها في المحصلة النهائية للجدول البسيط بإشارات معاكسة. يحدد الأعضاء الأحرار في الجدول البسيط حل المشكلة.

خوارزمية حل المشكلة هي كما يلي:

الخطوة الأولى. يتم البحث عن عناصر عمود الأعضاء الأحرار. إذا كانت جميعها إيجابية ، فقد تم العثور على حل أساسي مقبول ويجب على المرء أن ينتقل إلى الخطوة 5 من الخوارزمية ، والتي تتوافق مع إيجاد الحل الأمثل. إذا كانت هناك مصطلحات مجانية سلبية في لوحة المفرد الأولية ، فهذا يعني أن الحل غير صالح ويجب عليك الانتقال إلى الخطوة 2.

الخطوة الثانية. لإيجاد حل ممكن ، يتم تنفيذه ، في حين أنه من الضروري تحديد أي من المتغيرات غير الأساسية يجب تضمينها في الأساس وأي متغير يتم سحبه من الأساس.

الجدول 1.

x ن
متغيرات الأساس أعضاء أحرار في قيود المتغيرات غير الأساسية
× 1 x2 ... س ل ...
xn + 1 ب 1 أ 11 أ 12 ... 1 لتر ... أ 1n
xn + 2 ب 2 أ 21 أ 22 ... 2 لتر ... أ 2n
. . . . . . . .
. . . . . . . .
. . . . . . . .
xn + r ب 2 أ r1 أ r2 ... ل rl ... أ رن
. . . . . . . .
. . . . . . . .
. . . . . . . .
xn + م بي ام م 1 أ م 2 ... مل ... آمين
F (x) كحد أقصى F0 -ج 1 -ج 2 ... -ج 1 ... -ج ن

للقيام بذلك ، اختر أيًا من العناصر السلبية لعمود الأعضاء الأحرار (فليكن b 2 في المقدمة ، أو السماح. إذا لم تكن هناك عناصر سلبية في الصف الذي يحتوي على عضو حر سلبي ، فإن نظام القيود غير متسق و المشكلة ليس لها حل.

في الوقت نفسه ، يتم استبعاد المتغير الذي يعد أول علامة يتغير مع زيادة في NP x l المحدد من BP. سيكون هذا x n + r ، الذي يتم تحديد مؤشره r من الحالة

أولئك. المتغير الذي يتوافق مع أصغر نسبة للمصطلح المجاني لعنصر العمود الأول المحدد. هذه العلاقة تسمى علاقة بسيطة. يجب النظر فقط في العلاقات البسيطة الإيجابية.

تسمى السلسلة المقابلة للمتغير x n + r يقود أو يسمح. يُطلق على عنصر الجدول البسيط a rl ، الموجود عند تقاطع الصف الأول والعمود الأول ، عنصر المسافة البادئة أو عنصر الحل.يؤدي العثور على العنصر الرئيسي إلى إنهاء العمل مع كل لوحة مبسطة تالية.

الخطوة الثالثة. يتم حساب جدول بسيط جديد ، يتم إعادة حساب عناصره من عناصر الجدول البسيط للخطوة السابقة ويتم تمييزها برقم أولي ، أي ب "j، a" ji، c "i، F" 0. يتم إعادة حساب العناصر وفقًا للصيغ التالية:

أولاً ، سيتم ملء الصف والعمود اللذين كانا يؤديان في الجدول البسيط السابق في الجدول البسيط الجديد. يعني التعبير (5) أن العنصر a "rl الذي يحل محل العنصر البادئ يساوي مقلوب عنصر الجدول البسيط السابق. يتم تقسيم عناصر الصف a r على العنصر البادئ ، وعناصر العمود a jl مقسوم أيضًا على العنصر البادئ ، ولكن يتم أخذ الإشارة المعاكسة له ، ويحسب العنصران b "r و c" l وفقًا لنفس المبدأ.

يمكن كتابة باقي الصيغ بسهولة باستخدام.

تم بناء المستطيل وفقًا للجدول البسيط القديم بحيث يتكون أحد أقطاره من العناصر المعاد حسابها (a ji) والعناصر الرائدة (a rl) (الشكل 1). يتم تحديد القطر الثاني بشكل فريد. للعثور على عنصر جديد ، يتم طرح "ji ، ناتج عناصر القطر المقابل ، مقسومًا على العنصر الرئيسي ، من العنصر a ji (يشار إلى ذلك بعلامة" - "في الخلية). وبالمثل ، العناصر b" يتم إعادة حساب j و (j ≠ r) و c "i ، (i ≠ l).

الخطوة الرابعة. يبدأ تحليل الجدول البسيط الجديد من الخطوة الأولى للخوارزمية. يستمر الإجراء حتى يتم العثور على حل أساسي ممكن ، أي يجب أن تكون جميع عناصر عمود الأعضاء الأحرار موجبة.

الخطوة الخامسة. نعتقد أنه تم العثور على حل أساسي مقبول. ننظر إلى معاملات خط دالة الهدف F (x). علامة على أمثلية الجدول البسيط هي عدم سلبية معاملات المتغيرات غير الأساسية في الصف F.

أرز. 1. حكم المستطيل

إذا كانت هناك معاملات سالبة من بين معاملات الصف F (باستثناء المصطلح المجاني) ، فأنت بحاجة إلى الانتقال إلى حل أساسي آخر. عند تعظيم دالة الهدف ، يشتمل الأساس على المتغيرات غير الأساسية (على سبيل المثال ، x l) ، التي يتوافق عمودها مع القيمة المطلقة القصوى للمعامل السلبي c l في الصف السفلي من الجدول البسيط. يتيح لك هذا تحديد المتغير الذي تؤدي زيادته إلى تحسين وظيفة الهدف. العمود المقابل للمتغير x l يسمى العمود الأول. في الوقت نفسه ، يتم استبعاد هذا المتغير x n + r من الأساس ، ويتم تحديد مؤشر r من خلال الحد الأدنى من نسبة الإرسال البسيط:

يُطلق على الصف المقابل لـ x n + r الصف الأول ، ويسمى عنصر الجدول البسيط a rl الموجود عند تقاطع الصف الأول والعمود الأول العنصر الرائد.

الخطوة السادسة. وفقًا للقواعد المنصوص عليها في الخطوة الثالثة. يستمر الإجراء حتى يتم العثور على الحل الأمثل أو استنتاج أنه غير موجود.

إذا كانت جميع العناصر غير إيجابية في عملية تحسين الحل في العمود البادئة ، فلا يمكن تحديد الصف الأول. في هذه الحالة ، لا يتم تقييد الوظيفة في مجال الحلول المقبولة للمشكلة من الأعلى و F max -> & ∞.

إذا أصبح أحد المتغيرات الأساسية في الخطوة التالية من البحث عن حد أقصى يساوي صفرًا ، فإن الحل الأساسي المقابل يسمى متدهور. في هذه الحالة ، يحدث ما يسمى التكرار الحلقي ، والذي يتميز بحقيقة أن نفس مجموعة BP تبدأ في التكرار بتردد معين (يتم الاحتفاظ بقيمة الوظيفة F في هذه الحالة) ومن المستحيل التبديل إلى حل أساسي جديد مقبول. التكرار الحلقي هو أحد العوائق الرئيسية لطريقة simplex ، ولكنه نادر نسبيًا. من الناحية العملية ، في مثل هذه الحالات ، عادة ما يرفض المرء الدخول في أساس المتغير الذي يتوافق عموده مع القيمة المطلقة القصوى للمعامل السلبي في دالة الهدف ، ويتم إجراء اختيار عشوائي لحل أساسي جديد.

مثال 1. حل مشكلة

الحد الأقصى (F (x) = -2x 1 + 5x 2 | 2x 1 + x 2 ≤7 ؛ x 1 + 4x 2 ≥8 ؛ x 2 ≤4 ؛ x 1.2 ≥0)

طريقة Simplex وتعطي تفسيرًا هندسيًا لعملية الحل.

يظهر التفسير الرسومي لحل المشكلة في الشكل. 2. يتم الوصول إلى الحد الأقصى لقيمة دالة الهدف في الجزء العلوي من ODZP بالإحداثيات. لنحل المشكلة باستخدام الجداول البسيطة. نضرب القيد الثاني في (-1) ونقدم متغيرات إضافية لإحضار المتباينات إلى شكل المساواة ، ثم

تعتبر المتغيرات الأولية x 1 و x 2 غير أساسية ، وتعتبر المتغيرات الإضافية x 3 و x 4 و x 5 أساسية ونقوم بتجميع جدول بسيط (جدول بسيط 2). الحل المطابق للجدول البسيط. 2 ، غير صحيح ؛ تم تحديد العنصر الرئيسي وتحديده وفقًا للخطوة 2 من الخوارزمية أعلاه. علامة التبويب البسيط التالية. 3 يحدد حلاً أساسيًا مقبولاً ؛ 2 تم تحديد العنصر الرئيسي واختياره وفقًا للخطوة الخامسة من الخوارزمية لحل المشكلة. فاتورة غير مدفوعة. 4 يتوافق مع الحل الأمثل للمشكلة ، لذلك: x 1 = x 5 = 0 ؛ × 2 \ u003d 4 ؛ × 3 \ u003d 3 ؛ × 4 = 8 ؛ F ماكس = 20.

أرز. 2. الحل الرسومي للمشكلة

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

عند حل مشكلة بسيطة ، تُجرى الحسابات عادةً (للاكتناز والوضوح) في جداول (طريقة جدولة بسيطة) ، ويحتوي الجدول الأخير الذي يحتوي على الحل الأمثل على معلومات إضافية مهمة: حل المشكلة المزدوجة ، والموارد المتبقية ، والمعلومات حول الموارد النادرة ، وما إلى ذلك ، مما يسمح لك بإجراء تحليل اقتصادي لمشكلة البرمجة الخطية (انظر المثال 3 أدناه).

يتم نشر أمثلة على حل المشكلات باستخدام طريقة simplex مجانًا من أجل راحتك - الدراسة والبحث عن مشكلات مماثلة وحلها. إذا كنت بحاجة إلى مساعدة في هذا النوع من المهام ، فانتقل إلى: Custom Linear Programming Solution.

حل المشكلات باستخدام طريقة simplex: أمثلة عبر الإنترنت

مهمة 1.تنتج الشركة أرفف الحمامات بمقاسين ، A و B. ويقدر وكلاء المبيعات أنه يمكن بيع ما يصل إلى 550 رفًا في السوق كل أسبوع. يتطلب كل رف من النوع A 2 م 2 من المواد ، ويتطلب الرف من النوع B 3 م 2 من المواد. يمكن أن تستقبل الشركة ما يصل إلى 1200 متر مربع من المواد أسبوعياً. لتصنيع رف واحد من النوع A ، يلزم 12 دقيقة من وقت الماكينة ، وتصنيع رف واحد من النوع B - 30 دقيقة ؛ يمكن استخدام الماكينة 160 ساعة اسبوعيا. إذا كان الربح من بيع أرفف من النوع أ 3 وحدات نقدية ومن أرفف من النوع ب - 4 دن. عدد الوحدات ، كم عدد الرفوف من كل نوع يجب إنتاجها في الأسبوع؟

رسم نموذج رياضي وحل LLP بطريقة simplex (pdf، 33 Kb)

المهمة 2.حل مشكلة البرمجة الخطية باستخدام طريقة simplex.

حل بطريقة simplex بأساس اصطناعي (pdf، 45 كيلوبايت)

المهمة 3.تنتج الشركة 3 أنواع من المنتجات: A1 ، A2 ، A3 ، باستخدام نوعين من المواد الخام. تُعرف تكاليف المواد الخام من كل نوع لكل وحدة إنتاج ، ومخزون المواد الخام للفترة المخططة ، فضلاً عن الربح لكل وحدة إنتاج لكل نوع.

  1. كم عدد المنتجات التي يجب إنتاجها من كل نوع لتحقيق أقصى قدر من الربح؟
  2. تحديد حالة كل نوع من المواد الخام وقيمته الخاصة.
  3. تحديد الحد الأقصى للفترة الزمنية لتغيير مخزون كل نوع من المواد الخام ، والتي ضمنها هيكل الخطة المثلى ، أي لن تتغير تسمية الإفراج.
  4. تحديد كمية الإنتاج والربح من الناتج عندما يتم زيادة مخزون أحد الأنواع النادرة من المواد الخام إلى أقصى قيمة ممكنة (ضمن التسمية المحددة للإنتاج).
  5. حدد فترات التغيير في الربح من وحدة إنتاج من كل نوع ، والتي لن تتغير فيها الخطة المثلى الناتجة.

حل مشكلة البرمجة الخطية بالتحليل الاقتصادي (pdf، 163 Kb)

المهمة 4.حل مشكلة البرمجة الخطية باستخدام طريقة simplex:

حل بطريقة جدولة بسيطة مع البحث عن خطة مرجعية (pdf، 44 Kb)

المهمة 5.حل مشكلة البرمجة الخطية باستخدام طريقة simplex:

الحل بطريقة جدولة بسيطة (pdf، 47 Kb)

المهمة 6.حل المشكلة باستخدام طريقة simplex ، مع الأخذ في الاعتبار الخطة المرجعية الأولية للخطة الواردة في الشرط:

حل بطريقة بسيطة يدوية (pdf، 60 Kb)

المهمة 7.حل المشكلة بطريقة simplex المعدلة.
لإنتاج نوعين من المنتجات A و B ، يتم استخدام ثلاثة أنواع من المعدات التكنولوجية. لإنتاج وحدة من المنتج أ ، المعدات من النوع الأول تستخدم a1 = 4 ساعات ، والمعدات من النوع الثاني a2 = 8 ساعات ، والمعدات من النوع الثالث a3 = 9 ساعات. لإنتاج وحدة من المنتج B ، يتم استخدام المعدات من النوع الأول b1 = 7 ساعات ، والمعدات من النوع الثاني b2 = 3 ساعات ، والمعدات من النوع الثالث b3 = 5 ساعات.
لتصنيع هذه المنتجات ، لا يمكن أن تعمل المعدات من النوع الأول أكثر من t1 = 49 ساعة ، والمعدات من النوع الثاني لا تزيد عن t2 = 51 ساعة ، والمعدات من النوع الثالث لا تزيد عن t3 = 45 ساعة.
الربح من بيع وحدة من المنتج النهائي A هو ALPHA = 6 روبل ، والمنتج B - BETTA = 5 روبل.
ارسم خطة لإنتاج المنتجين (أ) و (ب) ، مع توفير أقصى ربح من بيعهما.

حل بطريقة simplex المعدلة (pdf، 67 Kb)

المهمة 8.ابحث عن الحل الأمثل بطريقة الإرسال المزدوج البسيط

الحل بطريقة الطباعة المزدوجة البسيط (pdf، 43 كيلوبايت)

أمثلة على حلول المشاكل في البرمجة الخطية

طرق حل مشكلة البرمجة الخطية

دعم الحلول لمشكلة البرمجة الخطية

دع مشكلة البرمجة الخطية تُعطى في الترميز الأساسي

بشروط

سنشير إلى مجموعة حلول النظام (2) - (3). لنفترض أن مرتبة المصفوفة هي عدد المعادلات في النظام (2).

من نظام متجهات العمود في المصفوفة ، نختار نظامًا فرعيًا مستقلًا خطيًا للمتجهات. إنه موجود بسبب. هذا النظام يشكل أساسًا في. للدلالة به ، . لنتصل مجموعة من القيم الأساسية فِهرِس ، - مصفوفة فرعية أساسية المصفوفات. سوف نسمي إحداثيات المتجه أساسي ، لو غير أساسي خلاف ذلك.

نكتب النظام (2) باسم. دعونا نقسم المصطلحات الموجودة على الجانب الأيسر إلى مصطلحات أساسية وغير أساسية ، أي

نحدد حلاً معينًا لهذا النظام على النحو التالي. دعونا نحدد (4) جميع المتغيرات غير الأساسية التي تساوي الصفر. ثم يأخذ النظام (4) الشكل

لنتصل (5) النظام الفرعي الأساسي نظم المعادلات (2). دلالة بواسطة المتجه المكون من الإحداثيات الأساسية للمتجه. ثم يمكن إعادة كتابة النظام (2) في شكل مصفوفة متجهة

نظرًا لأن المصفوفة الفرعية أساسية ، فهي

غير منحط. لذلك فإن النظام (6) له حل فريد. سيتم استدعاء الحل الخاص للنظام (2) الذي تم الحصول عليه بهذه الطريقة حل مرجعي مشكلة البرمجة الخطية المباشرة المقابلة للأساس. (في بعض الأحيان يسمى الحل المرجعي أيضًا أساسي ). كما ترى ، الأساس يتوافق مع حل مرجعي فريد. من الواضح أن عدد حلول الدعم محدود.

لهذا الأساس ، نحدد أيضًا حلًا مرجعيًا لمشكلة البرمجة الخطية المزدوجة. تذكر أن المشكلة المزدوجة مع المشكلة الأساسية لها الشكل

بشروط

نكتب النظام (8) باسم

تذكر أن مجموعة حلول النظام (8) يُرمز إليها بالرمز.

دعونا نحدد متجه المتغيرات المزدوجة من شرط الوفاء بالقيود الأساسية في النظام (9) على أنها مساواة. نحصل على نظام المعادلات الخطية التالي:

دلالة بواسطة متجه مكون من ba-

إحداثيات المتجه. ثم يمكن إعادة كتابة النظام (10) في شكل مصفوفة متجهة

يحتوي النظام (11) أيضًا على حل فريد.

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

لذا ، فإن أي أساس يتوافق مع متجهين - حلان مرجعيان ومشاكل مباشرة ومزدوجة للبرمجة الخطية ، على التوالي.

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

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

مُسَمًّى الزائفة مهمة مباشرة.

من أجل المقبولية المزدوجة للأساس ، يكفي أن تبقى فقط التفاوتات غير الأساسية. لاحظ أن خط الأساس هو ناقل مقبول لمشكلة البرمجة الخطية المزدوجة ().

سيتم الإشارة إلى الفروق بين الجزأين الأيمن والأيسر من عدم المساواة (9) بواسطة ،. ثم يمكن إثبات المقبولية المزدوجة للأساس عن طريق التحقق من عدم سلبية الجميع. لاحظ أنه ، كما يلي مباشرة من التعريف ، جميع القيم المتبقية الأساسية تساوي صفرًا ().

مثال على حل المشكلات المباشرة والمزدوجة بطريقة simplex

لذلك ، يكفي التحقق من أن التفاوتات تنطبق على الجميع.

نظرية 1.يتركوهي حلول مرجعية لمشكلة البرمجة الخطية المقابلة لبعض الأسسثم المساواة .

دليل . من تعريفات حلول الدعم ، من السهل الحصول على المساواة

ومن هنا تأتي صحة النظرية.

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

دليل. صحة هذا البيان تأتي من نظرية الازدواجية في البرمجة الخطية والنظرية 1.

نظرية 3.الحل المجدي للمشكلة (1) - (3) هو الخطة الأساسية للمسألة إذا وفقط إذا كانت رأس مجموعة محدبة متعددة السطوح.

دليل. يترك - خطة المهام الأساسية (1) - (3). دعنا نثبت ذلك - قمة المجموعة . بحكم التعريف ، خط الأساس حل مرجعي مقبول يتوافق مع بعض الأساس ، أي حل نظام المعادلات الخطية فيما يتعلق بالمتغيرات

من السهل أن ترى أن هذا النظام لديه حل فريد. ومن ثم ، المستوى الحامل للوجه الذي يحتوي على النقطة , البعد 0. لذلك ، - قمة المجموعة .

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

أين . لذلك ، يبقى إثبات أن نظام المتجهات مستقل خطيًا. لنفترض العكس. ثم هناك أرقام لا تساوي جميعها صفرًا ، هكذا. لهذا

هذا يعني أن النظام (12) لديه حل مختلف عن الذي يتعارض مع تفرد حلها. وبالتالي ، هو الأساس والمتجه هي الخطة الأساسية المقابلة للمشكلة (1) - (3). وهو ما كان المطلوب.

لاحظ أن الحل المقبول للمشكلة (7) ، (8) (للمشكلة المزدوجة (1) - (3)) هو أيضًا خطة دعم إذا وفقط إذا كان رأس المجموعة المقبولة.

تاريخ النشر: 2010-01-10 قراءة: 695 | انتهاك حقوق النشر الصفحة

Studopedia.org - Studopedia.Org - 2014-2018. (0.005 ثانية) ...

من أجل التحديد ، نفترض أن مشكلة إيجاد الحد الأدنى يتم حلها.

1. اختصر مشكلة البرمجة الخطية إلى شكل متعارف عليه.

بعد إدخال المتغيرات الإضافية ، تتم كتابة نظام المعادلات والدالة الخطية في شكل يسمى النظام الموسع:

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

2. تحديد المتغيرات الأساسية والحرة.

3. ندخل النظام الموسع الأصلي في الجدول البسيط الأول. يسمى السطر الأخير من الجدول ، الذي يحتوي على معادلة دالة الهدف الخطية توصية. يحدد معاملات دالة الهدف. في العمود الأيسر من الجدول ، نكتب المتغيرات الرئيسية (الأساس) ، في المتغيرات اللاحقة - معاملات المتغيرات المجانية. في العمود قبل الأخير - الأعضاء الأحرار في النظام الموسع. تم إعداد العمود الأخير للنسب المقدرة اللازمة لتحديد المتغير الأساسي بناءً على العلاقة (6.29).

4. حدد إمكانية حل المشكلة بالقيم وفقًا للنظريات 6.7 ، ... ، 6.9.

5. حدد عنصر الحل (المرجع).

حل مشكلة الإنتاج بطريقة الجدول البسيط

إذا لم يتم استيفاء معيار الأمثلية (شروط النظرية 6.7 أو 6.8 غير مستوفاة) ، فإن المعامل السلبي بأكبر قيمة مطلقة في الصف الأخير يحدد عمود الحل (المرجع) .

نقوم بتكوين النسب المقدرة لكل صف وفقًا للقواعد التالية:

1 0) إذا كانت جميعها ولها علامات مختلفة ؛

2 0) إذا كان الكل و ؛

3 0) إذا ؛

4 0) 0 إذا و ؛

5 0) إذا كان لديك نفس العلامات.

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

6 0) اذهب إلى الجدول التالي حسب القواعد:

أ) في العمود الأيسر نكتب أساسًا جديدًا: بدلاً من المتغير الرئيسي - متغير ، أي تبديل المتغيرات و ؛

ب) وضع 1 مكان العنصر المرجعي ؛

ج) ترك عناصر الجدول الأصلي في باقي الصف المرجعي في الجدول الجديد ؛

د) ضع العناصر المقابلة للجدول الأصلي مضروبة في -1 في الأماكن المتبقية في العمود المرجعي ؛

هـ) على الأماكن الخالية المتبقية من العناصر ، في الجدول الجديد ، اكتب الأرقام ، وهي كالتالي:

لتبسيط العمليات الحسابية باستخدام هذه الصيغ ، يمكن صياغتها على شكل "قواعد المستطيل"(الشكل 6.8): العناصر الموجودة على أقطار المستطيل برؤوس (أو ، ، ، أو ، ، ،) يتم ضربها (المنتج الذي لا يحتوي على العنصر المحوري يؤخذ بعلامة الطرح) والنواتج الناتجة هي مضاف ؛

و) قسّم جميع العناصر المستلمة من الجدول الجديد إلى عنصر مرجعي.

7 0) بناءً على قيمة العنصر ، حدد ما إذا كان قد تم العثور على القيمة المثلى للدالة الهدف. إذا كانت الإجابة سلبية ، فتابع القرار (ارجع إلى النقطة 6).

أرز. 6.8 قاعدة المستطيل لتعريف الأرقام:

أ - ، ب - ، ج -.

خوارزمية لتحويل الجداول البسيطة للحلول الأساسية المقبولة غير المتدهورة ، أي كان الموقف الموصوف في نظرية 6.9 مقتنعًا. إذا كانت مشكلة البرمجة الخطية الأصلية متدهورة ، فقد تظهر أيضًا الحلول الأساسية المتدهورة أثناء حلها بطريقة simplex. في هذه الحالة ، تكون الخطوات الخاملة للطريقة البسيطة ممكنة ، أي التكرارات حيث F(x)لم يتغير. من الممكن أيضًا التكرار ، أي تسلسل لا نهاية له من خطوات الخمول. لمنع ذلك ، تم تطوير خوارزميات خاصة - anticyclines. ومع ذلك ، في الغالبية العظمى من الحالات ، يتم استبدال الخطوات الخاملة بخطوات ذات وظيفة موضوعية متناقصة ، وتنتهي عملية الحل بعد عدد محدود من التكرارات.

مثال 6.8.حل المشكلة الواردة في المثال 6.7 باستخدام طريقة المفرد.

⇐ السابق 45678910111213 التالي ⇒

تاريخ النشر: 2015-04-23 ؛ قراءة: 174 | انتهاك حقوق النشر الصفحة

Studopedia.org - Studopedia.Org - 2014-2018. (0.002 ثانية) ...

الصفحة الرئيسية >> المثال الثالث. طريقة Simplex. إيجاد أكبر قيمة للدالة (أساس اصطناعي)

طريقة Simplex

× 1 + x2 1
× 1 + 3 x2 15
2 × 1 + x2 4
يسمى المتغير أساسي لمعادلة معينة إذا دخل في المعادلة المحددة بمعامل واحد ولم يتم تضمينه في المعادلات المتبقية (بشرط أن يكون هناك رقم موجب على الجانب الأيمن من المعادلة).

إذا كان لكل معادلة متغير أساس ، يُقال أن النظام له أساس.
المتغيرات غير الأساسية تسمى المتغيرات الحرة. (انظر النظام أدناه)

تتمثل فكرة طريقة simplex في الانتقال من أساس إلى آخر ، والحصول على قيمة دالة لا تقل على الأقل عن القيمة الحالية (كل أساس يتوافق مع قيمة دالة واحدة).
من الواضح أن عدد القواعد المحتملة لأي مشكلة محدود (وليس كبيرًا جدًا).
لذلك ، عاجلاً أم آجلاً ، سيتم تلقي الإجابة.

كيف يتم الانتقال من قاعدة إلى أخرى؟
من الأنسب تسجيل الحل في شكل جداول. كل صف يعادل معادلة النظام. يتكون الخط المحدد من معاملات الوظيفة (قارن نفسك). يتيح لك ذلك عدم إعادة كتابة المتغيرات في كل مرة ، مما يوفر الكثير من الوقت.
في السطر المحدد ، حدد أكبر معامل موجب. هذا ضروري من أجل الحصول على قيمة الوظيفة ، على الأقل لا تقل عن القيمة الحالية.
العمود المحدد.
بالنسبة للمعاملات الموجبة للعمود المحدد ، نحسب النسبة Θ ونختار أصغر قيمة. يعد هذا ضروريًا حتى يظل عمود الأعضاء الأحرار إيجابيًا بعد التحول.
تم تحديد الصف.
لذلك ، يتم تحديد العنصر الذي سيكون الأساس. بعد ذلك ، نحسب.

س 1 = 0 × 2 = 0 ج 1 = 0
ق 2 = 15 ث 3 = 4 ر 1 = 1
=> W = 1
× 1 x2 S1 S2 S3 R1 شارع. عضو Θ
-1 1 -1 0 0 1 1 1: 1 = 1
1 3 0 1 0 0 15 15: 3 = 5
-2 1 0 0 1 0 4 4: 1 = 4
1 -1 1 0 0 0 ث - 1
-1 1 -1 0 0 1 1
4 0 3 1 0 -3 12
-1 0 1 0 1 -1 3
0 0 0 0 0 1 ث - 0
× 1 x2 S1 S2 S3 شارع. عضو Θ
-1 1 -1 0 0 1
4 0 3 1 0 12 12: 4 = 3
-1 0 1 0 1 3
4 0 1 0 0 F-1
-1 1 -1 0 0 1
1 0 3/4 1/4 0 3
-1 0 1 0 1 3
4 0 1 0 0 F-1
0 1 -1/4 1/4 0 4
1 0 3/4 1/4 0 3
0 0 7/4 1/4 1 6
0 0 -2 -1 0 إف 13
S1 = 0 S2 = 0
س 1 = 3 × 2 = 4 ج 3 = 6
=> F - 13 = 0 => F = 13

لا توجد معاملات موجبة بين معاملات الصف المختارة. لذلك وجدت أعلى قيمةوظائف F.

إجابة:

س 1 = 3 × 2 = 4

F ماكس = 13

اذهب إلى حل مشكلتك

© 2010-2018 ، لجميع الأسئلة ، أكتب إلى [البريد الإلكتروني محمي]

المهمة

لتنفيذ ثلاث مجموعات من السلع ، تمتلك المؤسسة التجارية ثلاثة أنواع من الموارد المادية والنقدية المحدودة بمبلغ b 1 = 240 ، b 2 = 200 ، b 3 = 160 وحدة. في نفس الوقت ، لبيع مجموعة واحدة من البضائع مقابل ألف روبل. معدل دوران ، مورد من النوع الأول يتم استهلاكه بمبلغ 11 = 2 وحدة ، مورد من النوع الثاني بمبلغ 21 = 4 وحدات ، مورد من النوع الثالث بمبلغ 31 = 4 الوحدات. لبيع مجموعتين و 3 مجموعات من البضائع مقابل ألف روبل. يتم إنفاق معدل الدوران ، على التوالي ، مورد النوع الأول بمبلغ 12 = 3 ، و 13 = 6 وحدات ، ومورد النوع الثاني بمبلغ 22 = 2 ، و 23 = 4 وحدات ، والمورد من النوع الثالث بمبلغ 32 = 6 ، و 33 = 8 وحدات. الربح من بيع ثلاث مجموعات من البضائع لكل ألف روبل

طريقة Simplex لحل LLP

فرك. معدل الدوران ، على التوالي ، ج 1 \ u003d 4 ، ج 2 \ u003d 5 ، ج 3 \ u003d 4 (ألف روبل). حدد الحجم والهيكل المخطط لهما لدوران التجارة بحيث يتم تعظيم ربح المؤسسة التجارية.

للمشكلة المباشرة لتخطيط تداول السلع ، طريقة بسيطة قابلة للحل، مؤلف موسيقى مشكلة مزدوجةالبرمجة الخطية.
ثَبَّتَ أزواج مترافقة من المتغيراتمشاكل مباشرة ومزدوجة.
وفقًا لأزواج المتغيرات المترافقة ، من حل المشكلة المباشرة ، احصل على حل مشكلة مزدوجة، بحيث تقدير المواردتنفق على بيع البضائع.

حل مشكلة البسيط بالطريقة

دع × 1 ، × 2 ، × 3 - عدد البضائع المباعة ، بالألف روبل ، 1 ، 2 ، 3 - مجموعاتها ، على التوالي. ثم النموذج الرياضي للمشكلة له الشكل:

القوة = 4 × 1 + 5 × 2 + 4 × 3 -> كحد أقصى

نحن نحل البسيط بالطريقة.

نقدم متغيرات إضافية x 4 ≥ 0 و x 5 0 و x 6 ≥ 0 لتحويل المتباينات إلى مساواة.

كأساس ، نأخذ × 4 = 240 ؛ x5 = 200 ؛ س 6 = 160.

يتم إدخال البيانات في طاولة بسيطة

الجدول البسيط رقم 1

الوظيفة المستهدفة:

0240 + 0200 + 0160 = 0

نحسب الدرجات وفقًا للصيغة:

Δ 1 \ u003d 0 2 + 0 4 + 0 4-4 \ u003d - 4
Δ 2 \ u003d 0 3 + 0 2 + 0 6-5 \ u003d - 5
Δ 3 \ u003d 0 6 + 0 4 + 0 8-4 \ u003d - 4
Δ 4 \ u003d 0 1 + 0 0 + 0 0 - 0 \ u003d 0
Δ 5 \ u003d 0 0 + 0 1 + 0 0 - 0 \ u003d 0
Δ 6 \ u003d 0 0 + 0 0 + 0 1 - 0 \ u003d 0

نظرًا لوجود تقديرات سلبية ، فإن الخطة ليست مثالية. أدنى تصنيف:

نقوم بإدخال المتغير x 2 في الأساس.

نحدد متغيرًا يترك الأساس. للقيام بذلك ، نجد أصغر نسبة غير سالبة للعمود × 2.

= 26.667

أصغر غير سالب: Q 3 = 26.667. نشتق المتغير x 6 من الأساس

قسّم الخط 3 على 6.
من الصف الأول ، اطرح الصف الثالث مضروبًا في 3
من الصف الثاني ، اطرح الصف الثالث مضروبًا في 2

نحسب:

نحصل على طاولة جديدة:

الجدول البسيط رقم 2

الوظيفة المستهدفة:

0160 + 0440/3 + 5 80/3 = 400/3

نحسب الدرجات وفقًا للصيغة:

Δ 1 \ u003d 0 0 + 0 8/3 + 5 2/3 - 4 \ u003d - 2/3
Δ 2 \ u003d 0 0 + 0 0 + 5 1-5 \ u003d 0
Δ 3 \ u003d 0 2 + 0 4/3 + 5 4/3 - 4 \ u003d 8/3
Δ 4 \ u003d 0 1 + 0 0 + 5 0-0 \ u003d 0
Δ 5 \ u003d 0 0 + 0 1 + 5 0-0 \ u003d 0
Δ 6 \ u003d 0 (-1) / 2 + 0 (-1) / 3 + 5 1/6 - 0 \ u003d 5/6

نظرًا لوجود تقدير سلبي Δ 1 = - 2/3 ، فإن الخطة ليست مثالية.

نقوم بإدخال المتغير x 1 في الأساس.

نحدد متغيرًا يترك الأساس. للقيام بذلك ، نجد أصغر نسبة غير سالبة للعمود × 1.

أصغر غير سالب: Q 3 \ u003d 40. نشتق المتغير x 2 من الأساس

قسّم الصف الثالث على 2/3.
من الصف الثاني ، اطرح الصف الثالث مضروبًا في 8/3

نحسب:

نحصل على طاولة جديدة:

الجدول البسيط رقم 3

الوظيفة المستهدفة:

0 160 + 0 40 + 4 40 = 160

نحسب الدرجات وفقًا للصيغة:

Δ 1 \ u003d 0 0 + 0 0 + 4 1-4 \ u003d 0
Δ 2 \ u003d 0 0 + 0 (-4) + 4 3/2 - 5 \ u003d 1
Δ 3 \ u003d 0 2 + 0 (-4) + 4 2-4 \ u003d 4
Δ 4 \ u003d 0 1 + 0 0 + 4 0 - 0 \ u003d 0
Δ 5 \ u003d 0 0 + 0 1 + 4 0 - 0 \ u003d 0
Δ 6 \ u003d 0 (-1) / 2 + 0 (-1) + 4 1/4 - 0 \ u003d 1

نظرًا لعدم وجود تقديرات سلبية ، فإن الخطة هي الأمثل.

حل المشكلة:

إجابة

× 1 = 40 ؛ س 2 = 0 ؛ × 3 \ u003d 0 ؛ × 4 = 160 ؛ x5 = 40 ؛ س 6 = 0 ؛ F ماكس = 160

أي أنه من الضروري بيع البضائع من النوع الأول بمبلغ 40 ألف روبل.

فرك. لا يلزم بيع البضائع من النوعين الثاني والثالث. في هذه الحالة ، سيكون الحد الأقصى للربح هو F max = 160 ألف روبل.

حل المشكلة المزدوجة

تبدو المشكلة المزدوجة كما يلي:

ع = 240 ص 1 + 200 ص 2 + 160 ص 3 -> دقيقة

نقدم متغيرات إضافية y 4 ≥ 0 و y 5 0 و y 6 ≥ 0 لتحويل المتباينات إلى مساواة.

يكون لأزواج المتغيرات المقترنة للمشكلات المباشرة والمزدوجة الشكل:

من الجدول البسيط الأخير رقم 3 للمشكلة المباشرة ، نجد حل المشكلة المزدوجة:

Z min = F max = 160 ؛
ص 1 \ u003d Δ 4 \ u003d 0 ؛ ص 2 \ u003d Δ 5 \ u003d 0 ؛ ص 3 \ u003d Δ 6 \ u003d 1 ؛ ص 4 \ u003d Δ 1 \ u003d 0 ؛ ص 5 \ u003d Δ 2 \ u003d 1 ؛ ص 6 \ u003d Δ 3 \ u003d 4 ؛

إجابة

y1 = 0 ؛ y2 = 0 ؛ ص 3 = 1 ؛ Z دقيقة = 160 ؛

طريقة simplex هي إجراء حسابي يعتمد على مبدأ التحسين المتسلسل للحلول عند الانتقال من نقطة أساسية (حل أساسي) إلى أخرى. في الوقت نفسه ، تتحسن قيمة الوظيفة الهدف.

الحل الأساسي هو أحد الحلول المقبولة الموجودة في رؤوس منطقة القيم المقبولة. التحقق من قمة الأمثل برأس البسيط ، فإنها تصل إلى المستوى الأمثل المطلوب. تعتمد طريقة simplex على هذا المبدأ.

البسيط هو مضلع محدب في فضاء ذي أبعاد n برؤوس n + 1 لا تقع في نفس المستوى الفائق (المستوى الفائق يقسم الفضاء إلى نصفين).

على سبيل المثال ، يقسم بند قيود الميزانية البضائع إلى متوفرة وغير متوفرة.

لقد ثبت أنه في حالة وجود حل أمثل ، فسيتم العثور عليه بعد عدد محدود من التكرارات (الخطوات) ، باستثناء حالات "التكرار".

تتكون خوارزمية طريقة simplex من عدد من الخطوات.

المرحلة الأولى. تم بناء نموذج التحسين الأولي. علاوة على ذلك ، يتم تحويل المصفوفة الأولية للشروط إلى الشكل الكنسي المختزل ، والذي يبرز بين جميع الأشكال الكنسية الأخرى في ذلك:

أ) الأجزاء الصحيحة من الشروط (الشروط المجانية ثنائية) هي كميات غير سالبة ؛

ب) الشروط نفسها هي المساواة ؛

ج) تحتوي مصفوفة الشروط على مصفوفة فرعية كاملة للهوية.

إذا كانت الحدود الحرة سالبة ، يتم ضرب كلا طرفي المتباينة في -1 ، ويتم عكس علامة المتباينة. لتحويل التفاوتات إلى مساواة ، يتم إدخال متغيرات إضافية ، والتي تشير عادةً إلى كمية الموارد غير المستغلة بالكامل. هذا هو معناها الاقتصادي.

أخيرًا ، إذا كانت مصفوفة الشرط لا تحتوي بعد إضافة متغيرات إضافية على مصفوفة هوية فرعية كاملة ، فسيتم تقديم متغيرات مصطنعة ليس لها أي معنى اقتصادي. يتم تقديمها فقط من أجل الحصول على مصفوفة هوية فرعية وبدء عملية حل المشكلة باستخدام طريقة simplex.

في الحل الأمثل للمشكلة ، يجب أن تكون جميع المتغيرات الاصطناعية (IP) مساوية للصفر. للقيام بذلك ، يتم إدخال المتغيرات الاصطناعية في الوظيفة الموضوعية للمشكلة ذات المعاملات السلبية الكبيرة (-M) عند حل المشكلة من أجل الحد الأقصى ، ومع المعاملات الإيجابية الكبيرة (+ M) عندما يتم حل المشكلة لمدة دقيقة. في هذه الحالة ، حتى القيمة الصغيرة غير الصفرية للمتغير الاصطناعي ستنقص (تزيد) بشكل حاد من قيمة الوظيفة الهدف. عادة يجب أن تكون M أكبر 1000 مرة من قيم معاملات المتغيرات الرئيسية.

المرحلة الثانية. تم إنشاء جدول بسيط أولي وإيجاد بعض الحلول الأساسية الأولية. مجموعة المتغيرات التي تشكل مصفوفة الهوية الفرعية تؤخذ على أنها الحل الأساسي الأولي. قيم هذه المتغيرات تساوي الأعضاء الأحرار. جميع المتغيرات غير الأساسية الأخرى تساوي الصفر.

المرحلة الثالثة. يتم التحقق من الحل الأساسي للأمثل باستخدام تقديرات خاصة لمعاملات دالة الهدف. إذا كانت جميع تقديرات معاملات دالة الهدف سالبة أو مساوية للصفر ، فإن الحل الأساسي الحالي هو الأمثل. إذا كان تقدير واحد على الأقل لمعامل الوظيفة الموضوعية أكبر من الصفر ، فإن الحل الأساسي الحالي ليس هو الأمثل ويجب تحسينه.

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

يُطلق على عمود الجدول البسيط الذي يحتوي على هذا الرقم عند التكرار المعطى العمود العام.

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

يسمى عنصر الجدول البسيط الموجود عند تقاطع العمود والصف العام بالعنصر العام.

ثم يتم تقسيم جميع عناصر السلسلة العامة (بما في ذلك العضو المجاني) على العنصر العام. نتيجة لهذه العملية ، يصبح العنصر العام مساوياً لواحد. علاوة على ذلك ، من الضروري أن تصبح جميع العناصر الأخرى في العمود العام مساوية للصفر ، أي يجب أن يصبح العمود العام مفردًا. يتم تحويل جميع السلاسل (باستثناء السلسلة العامة) على النحو التالي. يتم ضرب العناصر الناتجة للصف الجديد بالعنصر المقابل للعمود العام ، ويتم طرح المنتج الناتج من عناصر الصف القديم.

سيتم الحصول على قيم المتغيرات الأساسية الجديدة في الخلايا المقابلة لعمود الأعضاء الحرة.

المرحلة الخامسة. يتم فحص الحل الأساسي الذي تم الحصول عليه من أجل الأمثل (انظر المرحلة الثالثة). إذا كان هذا هو الأمثل ، فستتوقف الحسابات. خلاف ذلك ، من الضروري إيجاد حل أساسي جديد (المرحلة الرابعة) ، إلخ.

طريقة Simplex

مثال على حل مشكلات تحسين البرمجة الخطية بطريقة simplex

فليكن من الضروري العثور على الخطة المثلى لإنتاج نوعين من المنتجات (x1 و x2).

البيانات الأولية:

لنقم ببناء نموذج تحسين

- قيود على المورد أ ؛

- حد الموارد ب.

دعونا نختصر المشكلة إلى الشكل الكنسي المصغر. للقيام بذلك ، يكفي إدخال متغيرين إضافيين X3 و X4. نتيجة لذلك ، تتحول اللامساواة إلى مساواة صارمة.

نقوم ببناء اللوحة الأولية البسيطة ونجد الحل الأساسي الأولي. ستكون متغيرات إضافية ، لأنها تتوافق مع مصفوفة الهوية الفرعية.

التكرار الأول. ابحث عن العمود العام والصف العام:

العنصر العام هو 5.

التكرار الثاني. الحل الأساسي الذي تم العثور عليه ليس هو الأمثل ، لأن تحتوي سلسلة التقديرات (Fj-Cj) على عنصر إيجابي واحد. ابحث عن العمود العام والصف العام:

ماكس (0،0.3 ، -1.4،0) = 0.2

الحل الذي تم العثور عليه هو الحل الأمثل ، لأن جميع التقديرات الخاصة للدالة الهدف Fj - Cj تساوي صفرًا أو سالبًا. و (س) = 29 × 1 = 2 ؛ س 2 = 5.

فيما يلي حل يدوي (وليس تطبيق صغير) لمشكلتين باستخدام طريقة simplex (على غرار حل الصغير) مع شرح مفصل لفهم الخوارزمية لحل المشكلات باستخدام طريقة simplex. تحتوي المشكلة الأولى على علامات عدم المساواة فقط "" (مشكلة ذات أساس أولي) ، ويمكن أن تحتوي المشكلة الثانية على علامات "≥" أو "≤" أو "=" (مشكلة ذات أساس اصطناعي) ، يتم حلها بطريقة مختلفة طرق.

طريقة Simplex ، حل مشكلة أساسًا أوليًا

1)طريقة Simplexلمشكلة ذات أساس أولي (جميع علامات عدم المساواة القيد هي "").

دعنا نكتب المشكلة في العنوان الأساسيشكل ، أي نعيد كتابة قيود عدم المساواة في صورة مساواة ، مضيفين ورقة التوازنالمتغيرات:

هذا النظام عبارة عن نظام له أساس (أساس s 1 ، s 2 ، s 3 ، كل منها مدرج في معادلة واحدة فقط من النظام بمعامل 1) ، x 1 و x 2 متغيرات مجانية. يجب أن يكون للمشكلات التي تُستخدم فيها طريقة simplex الخاصيتين التاليتين: - يجب أن يكون نظام القيود عبارة عن نظام معادلات له أساس ؛ -يجب أن تكون المصطلحات الحرة لجميع المعادلات في النظام غير سالبة.

النظام الناتج هو نظام له أساس وشروطه المجانية غير سلبية ، لذا يمكننا التقديم طريقة بسيطة. قم بتجميع أول جدول مفرد (التكرار 0) لحل المشكلة طريقة بسيطة، أي. جدول معاملات الوظيفة الموضوعية ونظام المعادلات للمتغيرات المقابلة. هنا "BP" تعني عمود المتغيرات الأساسية ، "الحل" - عمود الأجزاء اليمنى من معادلات النظام. الحل ليس هو الأمثل ، لأن هناك معاملات سالبة في الخط z.

أسلوب التكرار البسيط 0

سلوك

لتحسين الحل ، دعنا ننتقل إلى التكرار التالي طريقة بسيطة، نحصل على اللوحة البسيطة التالية. لهذا عليك أن تختار تمكين العمود، أي. متغير يدخل الأساس في التكرار التالي لطريقة simplex. يتم اختياره بواسطة أكبر معامل سلبي في الصف z (في المشكلة القصوى) - في التكرار الأولي لطريقة simplex ، هذا هو العمود x 2 (المعامل -6).

ثم اختر سلسلة إذن، أي. متغير يترك الأساس عند التكرار التالي لطريقة simplex. يتم تحديده من خلال أصغر نسبة من عمود "القرار" إلى العناصر الإيجابية المقابلة لعمود الحل (عمود "النسبة") - في التكرار الأولي ، هذا هو الصف 3 (المعامل 20).

عنصر متساهليقع عند تقاطع عمود التمكين وصف التمكين ، ويتم تمييز خليته بالألوان ، وهي تساوي 1. لذلك ، عند التكرار التالي لطريقة simplex ، سيحل المتغير x 2 محل s 1 في الأساس. لاحظ أنه لا يتم البحث عن العلاقة في سلسلة z ، يتم وضع شرطة "-" هناك. إذا كانت هناك نسب دنيا متطابقة ، فسيتم اختيار أي منها. إذا كانت جميع المعاملات في عمود الدقة أقل من أو تساوي 0 ، فإن حل المشكلة لا نهائي.

دعونا نملأ الجدول التالي "التكرار 1". سوف نحصل عليه من جدول "التكرار 0". الغرض من عمليات التحويل الإضافية هو تحويل عمود التمكين x2 إلى عمود واحد (مع واحد بدلاً من عنصر التمكين والأصفار بدلاً من بقية العناصر).

1) حساب الصف × 2 من جدول "التكرار 1". أولاً ، نقسم جميع أعضاء صف الحل s 3 من جدول "التكرار 0" على عنصر الحل (يساوي 1 في هذه الحالة) من هذا الجدول ، نحصل على الصف × 2 في جدول "التكرار 1" . لأن عنصر الحل في هذه الحالة يساوي 1 ، ثم سيتطابق الصف s 3 من جدول "التكرار 0" مع الصف × 2 من جدول "التكرار 1". الصف × 2 من جدول "التكرار 1" حصلنا على 0 1 0 0 1 20 ، سيتم الحصول على الصفوف المتبقية من جدول "التكرار 1" من هذا الصف وصفوف جدول "التكرار 0" على النحو التالي:

2) حساب الصف z لجدول "التكرار 1". بدلاً من -6 في الصف الأول (صف- z) في العمود x2 من جدول "التكرار 0" ، يجب أن يكون هناك 0 في الصف الأول من جدول "التكرار 1". للقيام بذلك ، نضرب جميع عناصر الصف × 2 في جدول "التكرار 1" 0 1 0 0 1 20 في 6 ، نحصل على 0 6 0 0 6120 ونضيف هذا الصف مع الصف الأول (z - الصف) من جدول "التكرار 0" -4 -6 0 0 0 0 ، نحصل على -4 0 0 0 6 120. ظهر الصفر 0 في عمود x 2 ، تم تحقيق الهدف. عناصر عمود الإذن × 2 مظللة باللون الأحمر.

3) حساب الصف s 1 من جدول "التكرار 1". بدلاً من 1 في s 1 صف من جدول "التكرار 0" يجب أن يكون 0 في جدول "التكرار 1". للقيام بذلك ، نضرب جميع عناصر الصف × 2 من جدول "التكرار 1" 0 1 0 0 1 20 في -1 ، نحصل على 0-1 0 0 -1-20 ونضيف هذا الصف مع s 1 - صف من جدول "التكرار 0" 2 1 1 0 0 64 ، نحصل على الصف 2 0 1 0 -1 44. يتم الحصول على 0 المطلوب في العمود x 2.

4) حساب الصف s 2 من جدول "التكرار 1". بدلاً من 3 في الصف الثاني من جدول "التكرار 0" ، يجب أن تكون القيمة 0 في جدول "التكرار 1". للقيام بذلك ، نضرب جميع عناصر الصف × 2 من جدول "التكرار 1" 0 1 0 0 1 20 في -3 ، نحصل على 0 -3 0 0 -3 -60 ونضيف هذا الصف مع s 1 - صف من جدول "التكرار 0" 1 3 0 1 0 72 ، نحصل على الصف 1 0 0 1 -3 12. يتم الحصول على 0 المطلوب في العمود × 2. يحتوي العمود × 2 في جدول "التكرار 1" تصبح عازبة ، تحتوي على واحد 1 والباقي 0.

يتم الحصول على صفوف جدول "التكرار 1" وفقًا للقاعدة التالية:

صف جديد = صف قديم - (عامل إذن الصف القديم) * (صف جديد).

على سبيل المثال ، بالنسبة للخط z لدينا:

سلسلة z قديمة (-4 -6 0 0 0 0) - (- 6) * سلسلة z جديدة - (0 -6 0 0 -6 -120) = سلسلة z جديدة (-4 0 0 0 61 120) .

بالنسبة للجداول التالية ، تتم إعادة حساب عناصر الجدول بطريقة مماثلة ، لذلك نحذفها.

تكرار طريقة بسيطة 1

سلوك

العمود المسموح به x 1 ، الصف المسموح s 2 ، s 2 يترك الأساس ، x 1 يدخل الأساس. بالطريقة نفسها تمامًا ، نحصل على الجداول البسيطة المتبقية حتى يتم الحصول على جدول به جميع المعاملات الموجبة في الصف z. هذه علامة على الجدول الأمثل.

تكرار طريقة بسيطة 2

سلوك

حل العمود ق 3 ، حل الصف ق 1 ، ق 1 يترك الأساس ، ق 3 يدخل الأساس.

تكرار طريقة بسيطة 3

سلوك

في الصف z ، جميع المعاملات غير سالبة ، لذلك يتم الحصول على الحل الأمثل x 1 = 24 ، x 2 = 16 ، z max = 192.