1 / 14

كيفية تشكيل نموذج البرمجة الخطية

كيفية تشكيل نموذج البرمجة الخطية. البرمجة الخطية Linear Programming

Download Presentation

كيفية تشكيل نموذج البرمجة الخطية

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. كيفية تشكيل نموذج البرمجة الخطية

  2. البرمجة الخطيةLinear Programming تعتبر البرمجة الخطية من أكبر إنجازات منتصف القرن العشرين ، حيث أن طريقة السمبلكس في حل هـذه المسائل وفرت الملايين من الأموال ومن ساعات العمـل للعديد من الشركات والمنشآت الإنتاجية المستخدمة لهـذا الفرع من فروع بحوث العمليات ، وتعـالج البرمجة الخطية مشاكل توزيع الموارد المحدودة على الأنشطة المتنافسة داخل المنشأة ، وتبرز هذه المشاكل بصورة جلية في شـركات الإنتاج والنقل بأنواعهـا المختلفة. تقدمت وسائل التحليل الرياضي للمشاكل الإدارية والاقتصادية تقدما كبيرا وتعتبر البرمجة الخطية إحدى هذه الوسائل وقد استخدمت كلمة Programming كأداه تهدف إلى استغلال الموارد المتاحة للمنشاة من قوة عاملة ومواد أولية الخ لتحقيق اكبر عائد ممكن. وتهدف البرمجة الخطية إلى الإجابة باسلوب التحليل الرياضي على بعض الأسئلة وحل المشاكل بما يحقق اكبر ربح ممكن أو اقل تكلفة ممكنة في ظل القيود والمحددات القائمة. وعموماُ فان أداء أي عمل بأفضل الوسائل يعني في حد ذاته البحث عن الحدود الدنيا أو القصوى. فعندما تتعلق المشكلة بالتكاليف فان الهدف عادة يكون الوصول إلى الحد الأدنى وإذا تعلق الأمر بالأرباح فان الهدف يكون هو الوصول إلى الحد الأقصى يسمى أي نظام خطي برنامجا ً خطيا ً إذا احتوى على الآتي : دالة هدف خطية في متغيرات القرار x1, x2, …, xn) ) ويراد تعظيم أو تقليل قيمتها (Max) أو Min)) . مجموعة من القيود في متغيرات القرار في صورة دوال أو متراجحات خطية . قيود عدم السالبية على جميع متغيرات القرار.

  3. خواص البرنامج الخطي : التناسب Proportionality) ) مقدار التغير في دالة الهدف عند تغير أي متغير من تغيرات القرار يتناسب مع قيمة هذا المتغير في دالة الهدف . التجميع Additivity)) قيمة دالة الهدف لأي قرار هي مجموع العائد لكل متغير على حده . مقدار الاستهلاك لأي مورد في أي قرار هو مجموع استهلاك كل متغير على حده . الاتصال ( (Continuity جميع متغيرات القرار متغيرات متصلة وليس منها متغيرات متقطعة (صحيحة ) بمعنى يمكن أخذ أجزاء من متغير القرار . الـتأكد ( (Certainty جميع معالم النظام محددة بشكل حتمي وليس في النظام أي عوامل احتمالية أو متغيرات عشوائية .

  4. تمرين على البرمجة الخطية : ينتج أحد مصانع البلاستيك صنفين من الأدوات البلاستيكية يتطلب إنتاج وحدة من الصنف الأول 3 ساعات عمل و 4 كجم من المواد الخام ويتطلب إنتاج وحدة من الصنف الثاني 5 ساعات عمل و 2 كجم من المواد الخام فإذا علمنا أن الأرباح العائدة من الصنف الأول هي 10 ريال لكل وحدة إنتاج وللصنف الثاني 8 ريال لكل وحدة إنتاج وأن إمكانيات المصنع الأسبوعية هي 109 ساعات و 80 كجم من المواد الخام ، فأوجدي الصياغة لهذه المسألة على شكل نموذج برمجة خطية ؟؟!! الحل : نلاحظ أن الهدف هو الحصول على أكبر كمية ممكنة من الأرباح أي تعظيم دالة الهدف x1 الكمية المنتجة من الصنف الأول x2الكمية المنتجة من الصنف الثاني أولا :نضع المشكلة في جدول : Max Z = 10X1 + 8X2 S.T. 3 x1 + 5 x2 ≤ 109 4 x1+ 2 x2≤ 80 x1 , x2 ≥ 0 ثانيا : صياغة دالة الهدف : ثالث :صياغة القيود : قيد عدم السالبية :

  5. نطبق برنامج Solver لحل مشكلة بالبرمجة الخطية وذلك بالإستعانة ببرنامج الإكسيل من القائمة Tools نختار Add-Ins لتظهر لنا النافذة التالية : إذا لم يكن مربع الاختيار Solver Add-in مفعلاً فقم بتفعيلة ثم أضغط Okقم بإختيار القائمة Tools مرة أخرى وستجد الخيار Solver قد أدرج ضمنها

  6. قم باختيار Solver حتى تظهر لك النافذة التالية .. نحدد في الخيار Set Target Cell مرجع الخلية التي تحتوي على دالة الهدف نضع في Equal To: نوع دالة الهدف :Max تعني أن البرنامج يقوم بالبحث عن أعلى قيمة ممكنة لتابع الهدف عند حل النموذج ، وذلك ضمن القيود المفروضة . Min : تعني أن البرنامج يقوم بالبحث عن أصغر قيمة ممكنة لتابع الهدف عند حل النموذج ، وذلك ضمن القيود المفروضة . :Value of تعني أن البرنامج يعمل على حل النموذج عند قيمة محددة لتابع الهدف ، وذلك ضمن القيود المفروضة . في الخيار By Changing Cells نضع مرجع الخلايا التي تحتوي على متغيرات النموذج الخطي ، Guess يقوم بتوقع الخلايا التي تحتوي على متغيرات النموذج في ضوء الخلية التي تحتوي على تابع الهدف نقوم بإدخال القيود في الخانه : Subject to the Constraints الخيار Add لإضافة القيود ، الخيار Change لتعديل القيود المظللة ، الخيار Delete لحذف القيود المظللة .

  7. :نضغط على الخيار Add لتظهر لنا النافذة التالية : له (Constraint) أدخل مرجع الخلية التي تريد تقييد القيمة Cell Reference: في المربع بمعنى آخر أدخل مرجع الخلية التي تحتوي على الطرف الأيسر للقيد (قيد مورد ، قيد متغير) .( <= أو = أو >= أو Int أو Bin ) أنقر فوقالعلاقة في المربع Constraint نضع رقماً أو مرجع الخلية التي تحتوي على ثوابت القيود (الطرف الأيمن للقيود(لقبول القيد وإضافة آخر، انقر فوق Add .لقبول القيد والعودة إلى مربع الحوار Solver Parameters، انقر فوق OK ملاحظات : 1. يمكنك تطبيق العلاقتين Int و Bin في القيود الموجودة على الخلايا التي يمكن تعديلها فقط .2. يمكن لبرنامج Solver أن يقبل عدداً من المتغيرات قد يصل إلى 200 متغير ، كما أنه يمكن أن يتضمن كل متغير على قيود قد تصل إلى 100 قيد ، وذلك بالإضافة إلى الحدود وقيود الأعداد الصحيحة على المتغيرات .الخيار Reset All لإعادة الإعدادات إلى قيمها الأصلية.

  8. الخيار Options يسمح لنا بتصميم الطريقة التي يقوم بها Solver بحل المشكلة وذلك حسب الخيارات التالية : • المربع Max Time يحدد أقصى وقت للحل (عدد الثواني التي تريد السماح بها لوقت الحل) ، حيث يمكن إطالة هذا الزمن حتى 32767 ثانية . • المربع Iterations يحدد العدد الأقصى للتكرارات أو عدد المرات التي يمكن أن يعمل من خلالها البرنامج على حل المشكلة • المربع Precision يحدد درجة الدقة التي يجب أن يحسب بها البرنامج الحل الأمثل للمعادلة وفق القيود المفروضة • المربع Tolerance يحدد الدقة التي يجب أن يعتمدها البرنامج في تأكده من تحقق شروط القيود ، حيث أن نسبة التفاوت المسموح به الافتراضية 5% تعني أنه إذا كانت قيمة العدد تتراوح بين 5% زيادة أو نقصاناً فإن البرنامج يعتبره عدداً صحيحاً ، وهذا الخيار يمكن استخدامه في مسائل البرمجة فقط عندما تكون القيود تستخدم أعداداً صحيحة . • المربع Convergence يحدد النقطة التي يجب أن يتوقف عندها البرنامج عن البحث عن حل أفضل ، حيث يمكننا تحديد هذا الخيار بالقيمة بين 0 و 1 ، فعندما تكون قيمة التغير في المعادلة الهدف أصغر من القيمة المحددة في مربع • Convergence فإن البرنامج يتوقف عن البحث ، وتجدر الملاحظة إلى أنه كلما كانت قيمة التقارب أصغر كلما استغرق البرنامج وقتاً أطول في البحث عن الحل الأفضل .

  9. الزر Save Model يستخدم لحفظ النموذج الحالي ، و الزر Load Model يستخدم لتحميل نموذج تم حفظه مسبقاً . • الخيار Assume Linear Model يستخدم لجعل البرنامج يفترض أن النموذج الذي يتعامل معه هو نموج خطي ، مما يبسط العمليات التي يقوم بها البرنامج الشيء الذي يختصر من زمن الحل . • الخيار Assume Non-Negative يستخدم لجعل البرنامج يقبل النتائج (قيم المتغيرات) الموجبة فقط ، وبواسطة هذا الخيار يمكن الاستغناء عن إدخال القيود التي تمثل شرط عدم السلبية . • - الخيار Use Automatic Scaling يستخدم عندما نتعامل مع متغيرات ونتائج معادلات مختلفة من حيث الحجم ، كأن نقوم بحساب معدل معين باستخدام متغيرات كبيرة نسبياً من حيث المبالغ . • لخيار Show Trial Solution يستخدم لعرض قيم كل محاولة حل (لعرض نتائج كل دورة حل)

  10. وبعد تطبيق برنامج Solver على مثالنا السابق :

  11. نحصل على الحل النهائي بأن : X1= 13 X2= 14 Z= 242

  12. المراجع : http://www.ksau.info/vb/showthread.php?t=8594 http://www.geocities.com/opre_busadm/badmin1.htm http://faculty.ksu.edu.sa/AlJanobi/Documents/book_1/ch8.doc

  13. اشراف الدكتوره : ايمان جوده اعداد الطالبه : ساره الشيحه

More Related