1 / 78

الوحدة الثالثة: البرمجة الخطية linear programming

الوحدة الثالثة: البرمجة الخطية linear programming. البرمجة الخطية linear programming.

parley
Download Presentation

الوحدة الثالثة: البرمجة الخطية linear programming

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. الوحدة الثالثة:البرمجة الخطية linear programming

  2. البرمجة الخطيةlinear programming • تعتبر البرمجة الخطية من احدى الاساليب العلمية و الحديثة التي تساعد الادارات على اتخاذ القرارات السليمة والمناسبة. ولقد ساهم الكثير من الاقتصاديين والرياضيين في تطوير هذا الاسلوب الذي ظهر عام 1920 على يد الاقتصادي الشهير (ليو نتيف) لتحليل المدخلات والمخرجات . حيث تطورت بشكل سريع خلال الحرب العالمية الثانية لمواجهة المشكلات التي اعترضت سلاح القوة الجوية الأمريكية ومن هذه المشاكل هي الشراء ،النقل وتخصيص الأعمال ولمواجهة مشكلة الاختيار بين عدد من الامكانيات المتاحة وفي حالات معينة لاختيار الحل الأمثل أو الافضل من بين مجموعة كبيرة من الحلول الممكنة لمشكلة معينة وقد حدث هذا التطور على يد عالمي الرياضيات G.B. Dantzig & Coopmansحين اكتشفا طريقة Simplex Method (الطريقة المبسطة) ومما زاد في تطورها هو تقدم اساليب الرياضيات الحديثة وظهور بحوث العمليات في الخمسينات من القرن الماضي ثم التطور السريع والمذهل للآلات الحاسبة واستخدامها في ادارة ومراقبة العمليات الصناعية.

  3. البرمجة الخطيةlinear programming • بمعنى أخر تعتبر البرمجة الخطيةاحدى الوسائل الرياضية الحديثة التي تستخدم كأداة لإيجاد افضل استخدام للموارد المحدودة المتاحة للمنظمة ، وقد سمي هذا الاسلوب بالبرمجة نظراً لأنه يهتم بالبحث عن البرنامج الذي يحقق الهدف المطلوب بين مجموعة كبيرة من البرامج الممكنة . اما صفة الخطية Linearity فتعني ان جميع العلاقات بين مختلف عناصر النموذج الرياضي mathematical model للمسألة هي علاقة خطية اي أن قيمة المخرجات تتغير تبعا لتغير قيمة المدخلات وبنفس النسبة وفي نفس الاتجاه.

  4. شروط استخدام البرمجة الخطية يستوجب استخدام البرمجة الخطية توفر الشروط الاتية: • تحديد دالة الهدف objective function : اي تحديد هدف المشكلة قيد الدراسة بصورة واضحة ودقيقة. أما الهدف فانه قد يكون: • تعظيم ارباح maximization profit وعندها تكون دالة الهدف من نوع التعظيم ((Max. Z. • أو تدنيه تكاليف(تقليل خسائر) minimization costs(losses) وعندها تكون دالة الهدف من نوع التقليل (Min. Z). • محدودية (Limits) الموارد البشرية والمادية الخاضعة للبرمجة الخطية والتي تستلزم بالضرورة تحقيق الاستخدام الامثل للموارد المتاحة. • توافر استخدامات متنافسة للموارد المادية والبشرية ذات العلاقة.

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

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

  7. مثال (1)- مشكلة تعظيم ارباح Max.Z=10X1+15X2 S.T.:- 6X1+4X2≤30000 ------------(1) 2X1+4X2≤20000 ------------(2) X1 ≤7000 -------------(3) X2≤8000 -------------(4) X1, X2 ≥0

  8. الحــــــــــــــــــــــــــــــــــل:-الحــــــــــــــــــــــــــــــــــل:- نحوَل القيود من الصيغة العامةcanonical form)) الى الصيغة القياسية (standard form) أي نحول القيود من صيغة متباينات الى صيغة معادلات. وكما يلي:- القيد الاول 6 X1 +4X2=30000→6 X1 +4X2 ≤ 30000 القيد الثاني → 2 X1 +4X2=20000 2 X1 +4X2 ≤ 20000 القيد الثالث X1 ≤7000→ X1 =7000 القيد الرابع X2≤8000→X2=8000 ثم نجد قيمة X1 و X2 لكل قيد من القيود الاربعة اعلاه.

  9. لإيجاد قيمتي X1 و X2للقيدين الأول و الثاني أولا سنفترض بان قيمة X1 =0 لإيجاد قيمة X2 ، ثم نفترض ان قيمة X2=0 لإيجاد قيمة X1، وكما يلي :- القيد الأول + 4 X2 =300006 X1 القيد الثاني2 X1 + 4 X2=20000

  10. ملاحظات:- • عندما تكون جميع القيود في المشكلة من نوع اصغر من او يساوي فان منطقة الحل الممكن تكون باتجاه نقطة الاصل (الفراغ الذي لا يمر فيه اي مستقيم). • تقاطع اي مستقيمين حول منطقة الحل الممكن يعطي احد نقاط الحلول الممكنة . • القيود التي تحتوي على متغير واحد فقط ترسم عموديا على محورها ، كما هو الحال للقيدين (3 و 4).

  11. الرسم البياني D C B A

  12. الحلول الممكنةFeasible solutions • من الرسم نجد ان منطقة الحلول الممكنة هي المنطقة المحصورة بين النقاط A,B,C,D • النقطة A تمثل نقطة الاصل اي ان قيمتي X1,X2ستكون (0,0). • النقطة B تقع على المحور السيني وهذا يعني ان قيمة X2=0 اماX1 =5000 اي (5000,0). • النقطة D تقع على المحور الصادي ،لذا فان قيمة X1 =0 ، اما X2=5000 اي (0, 5000). • النقطة C هي نقطة تقاطع القيدين الاول والثاني والذي يمكن ايجاد قيمتها و كما يلي:

  13. يمكن ايجاد قيمة النقطة C بطريقتين: • ويمكن ايجادها من انزال اعمدة على المحورين الافقي والعمودي من النقطة C. • أو من خلال حل معادلتي القيدين الأول و الثاني و وكما يلي : 6 X1 +4X2= 30000 ±2 X1 ±4X2=±20000 ------------------------------- 4 X1 = 10000 X1 =10000/4 =2500 لإيجاد قيمة X2 نعوض في احدى المعادلتين عن قيمة X1 وكما يأتي : 6 X1 +4X2=30000 (6×2500)+4X2=30000 15000+4X2=30000 →4X2=30000-15000 4X2=15000→X2=15000/4=3750 وهذا يعني ان النقطة C ستكون (2500,3750)

  14. بعد ذلك نعوض النقاط اعلاه في معادلة دالة الهدف Max. Z=10 X1 +15X2 وكما يلي : = (10×0)+ (15×0)= 0A (0,0) B (5000,0) = (10×5000)+(15×0)= 50000 C (2500,3750) = (10×2500)+(15×3750)= 81250 D (0,5000) =(10×0)+(15×5000)= 75000 ولما كانت الشركة تهدف الى تعظيم الارباح لذا سيكون البديل الافضل عند النقطة C اي ان على الشركة انتاج 2500 وحدة من X1 و 3750 وحدة من X2 ،لتحقق عائد مقداره81250 دينار.

  15. مثال (2)- مشكلة تدنيه تكاليف(تقليل خسائر) Min.Z=1000X1+800X2 S.T.:- X1≥30--------------(1) X2≥20--------------(2) X1+X2≥60---------(3) X1, X2≥0 المطلوب ايجاد الحل الامثل الذي يقلل التكاليف الى ادنى ما يمكن .

  16. الحل • نحول القيود من الصيغة العامة الى الصيغة القياسية، وكما يأتي : X1=30-----------(1) X2=20-----------(2) X1+X2=60------(3) X1=0→X2=60 (0,60) عندما X2=0→X1=60 (60,0)عندما

  17. الرسم البياني A B

  18. تحديد منطقة الحل الممكن • بما ان جميع القيود كانت من نوع اكبر من او يساوي ،لذا فان اتجاه القيد سيكون بعيدا عن نقطة الاصل ،ومن الرسم يمكن ان نحدد منطقة الحل الممكن وفيها تظهر نقطتين تحددت من تقاطع القيود هما النقطتين A,B واللتين يمكن تحديد احداثييهما اما عن طريق حل معادلتي القيدين المتقاطعين آنيا أو من خلال انزال عمود على المحورين السيني والصادي ، وعندها سنجد بان احداثيي النقطة A=(30,30) أما النقطة B فإنها تساوي(40,20)

  19. عند تعويض النقطتين A,B في معادلة دالة الهدف ،سنحصل على النتائج الاتية: A(30,30)=(1000×30)+(800×30)=54000 B(40,20)=(1000×40)+(800×20)=56000 طالما ان الهدف هو تخفيض التكاليف لذا فان النقطة Aستكون هي الافضل أي =30X1 و=30X2 لتنخفض التكاليف الى 54000 دينار.

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

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

  22. بيان تأثير المعادلة الممهدة على دالة الهدف ويكون عن طريق ضرب المعامل بدالة الهدف تحت العنصر الداخل بعكس الاشارة في المعادلة الممهدة وتجميع النتيجة مع قيم دالة الهدف في الجدول وتوضع في الجدول اللاحق. • بيان التأثير على القيود الاخرى ويكون بأخذ المعامل تحت العنصر الداخل للقيد بعكس اشارته وضرب بالمعادلة الممهدة ومن ثم جمعه مع القيم العائدة له في الجدول وتوضح في الجدول اللحق .وهكذا مع بقية القيود الاخرى . • يتم الوصول للحل الامثل عندما تكون جميع القيم في حقل دالة الهف مساوية للصفر او موجبة .أما اذا لم يتحقق تعاد الخطوات السابقة نفسها بتحديد العنصر الداخل و الخارج والمعادلة الممهدة وتحديد نقطة الارتكاز أي من الخطوة 5 والتي تليها.

  23. مثال -مشكله تعظيم : Max : Z=30X1 +18X2 S.t. • X1 + 2 X2 ≤200 (2) 3 X1 + 2 X2 ≤300 (3) X1 ≤150 شرط عدم السلبية X1 , X2 ≥ 0

  24. الطريقة المبسطةSimplex method- • هي اجراء جبري يعتمد على جبر المصفوفات وهي اسلوب رياضي معقد مقارنة بالطريقة البيانية وكان G.B-Dauntzig من الاوائل الذين اهتموا بهذا الجانب وتطويره لحل المشاكل التي تواجه الادارة ،والنقطة الجوهرية في هذا الاسلوب هو قدرته لحل المشاكل بشكل دقيق من جانب وعلى التعامل مع اكثر من متغيرين من جانب اخر. وتنطوي دالة الهدف في هذا الاسلوب شأنه كبقية اساليب البرمجة الخطية اما على تعظيم الدالة (تعظيم الربح) أو تقليل الدالة (تخفيض التكاليف) .

  25. اجراءات الحل بالطريقة المبسطة في حالة(تعظيم الربح) يتم إيجاد الحل لنماذج البرمجة الخطية ( LP) بموجب طريقة Simplex وفقا إلى ثلاث مراحل أساسية و متسلسلة، و يمكن وصفها على النحو الآتي: • المرحلة الأولى و ذلك بإيجاد الحل الأساسي الممكن (الحل الأولي) (Feasible solution). • المرحلة الثانية و ذلك بتحسين الحل الأولي للحصول على الحل الأفضل (Best solution). • المرحلة الثالثة و ذلك بتحسين الحل الأفضل للحصول على الحل الأمثل (Optimal solution). • وقد يتم ذلك بخطوة واحدة أو عدة خطوات و كما يلي.

  26. خطوات الحل بالطريقة المبسطة في حالة تعظيم الربح والقيود فقط من نوع أصغر من أو يساوي • تحويل نموذج البرمجة الخطية من الصيغة العامة أو القانونية (canonical form) الى الصيغة القياسية (Standard form) و ذلك: • بإضافة متغير راكد (مهمل)(slack variable) الى دالة الهدف (Z) و من ثم تحويل دالة الهدف (Z) الى معادلة صفرية عن طريق تحويل القيم الى الجانب الايسر وجعلها تساوي صفر. • بإضافة متغير راكد الى قيود المشكلة (لا بد أن تكون من نوع اصغر من او يساوي) إلى الطرف الاقل من المعادلة وهو الطرف الايسر. • تحديد عدم السلبية اي ان كافة قيم المتغيرات في المشكلة تكون موجبة أو مساوية للصفر أي أن )≥0xj , si) حيث j عدد المتغيرات و i عدد القيود. • تنظيم جدول الحل الأساسي الممكن (Feasible solution) أو الإيتدائي بالاعتماد على جميع معاملات المتغيرات xj , siفي قيود النموذج و دالة الهدف.

  27. خطوات الحل بالطريقة المبسطة في حالة تعظيم الربح والقيود فقط من نوع أصغر من أو يساوي • تحديد المتغير الداخل( Entering variable) و على أساس أكبر قيمة بإشارة سالبة في صف دالة الهدف (Z) . • العمود الذي يوجد فيه المتغير الداخل يسمى بالعمود المحوري (Pivot column) . • تحديد المتغير الخارج (Leaving variable) عن طريق قسمة القيم الموجودة في الجهة اليمنى في عمود (Right hand side RHS)على ما يقابلها من قيم المعاملات في العمود المحوري (Pivot col.) ، و المتغير الذي يقابل أقل قيمة موجبة (وتهمل القيم غير المعرفة والسالبة) من خوارج القسمة يعد هو المتغير الخارج ، ليحل المتغير الداخل محله في الجدول لاحقا. • الصف الذي يوجد فيه المتغير الخارج يسمى بالصف المحوري (Pivot row). أما العنصر الذي يقع تحت المتغير الداخل ، و أمام المتغير الخارج فيسمى بالعنصر المحوري( Pivot element )أو نقطة الارتكاز وهو العنصر الناتج من نقاطع عمود المتغير الداخل مع صف المتغير الخارج . • يمكن الحصول على المعادلة المحورية أو الممهدة (Pivot equation) من خلال قسمة القيم في صف المتغير الخارج على العنصر المحوري (Pivot element) وهي تمثل قيم المتغير الداخل الجديدة

  28. معامل المتغير الداخل في صفsi معامل المتغير الداخل في صف دالة الهدف - - x x معاملات (si ) القديمة معاملات (z ) القديمة المعادلة المحورية المعادلة المحورية معاملات (si ) الجديدة = معاملات (z) الجديدة = 9. لغرض تحسين الحل الممكن أي بناء جدول آخر • يتم وضع المعادلة المحورية أو الممهدة في الجدول الجديد للحل في الموقع نفسه حيث يخرج منه المتغير الخارج ليحل محله المتغير الداخل. • يتم إيجاد معاملات دالة الهدف الجديدة (New z) و كالآتي : بمعنى ضرب العنصر المقابل لدالة الهدف في عمود المحور( تحت العنصر الداخل) في المعادلة المحورية وطرح النتيجة مع قيم دالة الهدف في الجدولالقديم لتوضع في الجدول الجديد. • يتم إيجاد معاملات القيود الجديدة للمتغيرات si و كالآتي: بمعنى أخذ المعامل تحت المتغير الداخل للقيد بعكس اشارته وضربه بالمعادلة الممهدة ومن ثم جمعه مع القيم العائدة له في الجدول وتوضح في الجدول الجديد. وهكذا مع بقية القيود الاخرى .

  29. يتم الوصول للحل الامثلOptimal solution عندما تكون جميع معاملات دالة الهدف الجديدة في جدول الحل أكبر أو تساوي صفر.أما اذا كانت قيمة واحدة على الأقل في دالة الهدف سالبة فهذا يعني عدم التوصل الى الحل الأمثل. • يعاد إجراء الخطوات السابقة نفسها بدءا من تحديد العنصر الداخل و الخارج والمعادلة المحورية حتى تصبح جميع معاملات دالة الهدف أكبر أو تساوي صفر.

  30. مثال: • مشكله تعظيم Max : Z=30X1 +18X2 S.t. X1 + 2X2 ≤200 (1) (2)3X1+ 2X2 ≤300 (3) X1 ≤150 شرط عدم السلبية X1 , X2 ≥ 0

  31. الحل: • الخطوة (1) نحول قيود المشكلة من الصيغة العامة الى الصيغة القياسية، ولان القيود جميعها من نوع اصغر من او يساوي ،لذا فان عملية التحويل تتطلب اضافة متغير راكد (مهمل slack) والذي سيرمز له بـ (Si) وكما يأتي:- X1 +2X2 +S1 =200 (1) 3X1+ 2X2 +S2 =300 (2) X1 +S3 =150 (3) X1,X2,S1,S2,S3≥0 شرط عدم السلبية • الخطوة(2) تضاف المتغيرات الراكدة (المهملة)الى معادلة دالة الهدف بمعاملات صفرية وكما يأتي:- Max : Z=30X1 +18X2+0S1+0S2+0S3

  32. الخطوة(3) نحول دالة الهدف الى دالة صفرية عن طريق نقل كافة المتغيرات من الطرف الايمن الى الطرف الايسر من المعادلة ،لتصبح كما يأتي:- Max : Z-30X1-18X2-0S1-0S2-0S3=0 • الخطوة(4) نقوم بإعداد جدول الحل الابتدائي والذي سيضم المتغيرات الاساسية وغير الاساسية في معادلة دالة الهدف. • ملاحظات عن اعداد الجدول : • المتغير الاساسي هو المتغير الذي يكون معامله صفر في معادلة دالة الهدف اي (S1,S2,S3) • ان وضع Z في عمود المتغيرات الاساسية لا يعني انها متغير اساسي انها فقط تساعد في تحديد المتغير الداخل ولتحديد ما اذا كنا قد وصلنا للحل الامثل. • ان القيم الموجودة في جدول الحل الابتدائي تمثل معاملات المتغيرات في معادلة دالة الهدف والقيود. • القيم التي تقابل المتغير S1 هي معاملات المتغيرات في القيد (1) . أما القيم التي تقابل المتغير S2 هي معاملات المتغيرات في القيد (2).و القيم التي تقابل المتغير S3 هي معاملات المتغيرات في القيد (3).

  33. اعداد جدول الحل الابتدائي

  34. الخطوة (5) اختيار المتغير الداخل وهو المتغير الذي يمثل اكبر قيمة بإشارة سالبة في صف Z ومن الجدول اعلاه يكون X1 هو المتغير الداخل لان قيمته( -30 ) ويطلق على العمود الذي يضم المتغير الداخل (عمود المحور Pivot column). اختيار المتغير الخارج وهو المتغير الذي يمثل اقل قيمة موجبة من حاصل قسمة قيم R.H.S على قيم عمود المحور ،وتهمل اية قيمة سالبة او صفرية او غير محددة (∞).ويطلق على الصف الذي يضم المتغير الخارج (صف المحور Pivot row). أما حاصل قسمة قيم R.H.S على قيم عمود المحور فهي كالآتي : 200/1=200 300/3=100 150/1=150 اذن المتغير S2هو المتغير الخارج لأنه يمثل اقل قيمة موجبة (100)

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

  36. ايجاد القيم الجديدة لمعاملات المتغيرات • ايجاد قيم المتغير الداخل X1وذلك عن طريق قسمة كل قيمة في صف المحور على العنصر المحوري. • العنصر المحوري Pivot variable)) هو نقطة تقاطع عمود المحور مع صف المحور،وهو(3). • اذن قيم المتغير الداخل X1 هي : X1= ( 0/3, 3/3, 2/3, 0/3,1/3, 0/3, 300/3) X1= (0 , 1 , 2/3 , 0 ,1/3 , 0 , 100) تكتب القيم الجديدة اعلاه في جدول الحل الجديد

  37. ايجاد قيم بقية المتغيرات في الجدول • لإيجاد قيمة Z الجديدة ،نضرب القيمة المقابلة لـ Z في عمود المحور وهي (-30) × قيم المتغير الداخل الجديدة وكما يأتي: -30 * (0 , 1 , 2/3 , 0 , 1/3 , 0 , 100) = ( 0 , -30 , -20 , 0 , -10 , 0 , -3000) ثم نطرح القيم اعلاه من قيم معاملات Z القديمة في جدول الحل الابتدائي وكما يأتي: (1 , -30 , -18 , 0 , 0 , 0 , 0 ) - (0 , -30 , -20 , 0 ,-10 , 0 , -3000 ) ( 1 , 0 , 2 , 0 , 10 , 0 , 3000) ثمننقل القيم الى جدول الحل الثاني.

  38. ايجاد قيم معاملات المتغيرات الجديدة • لإيجاد قيمة S1الجديدة نقوم بنفس الخطوات اعلاه أي ضرب العنصر المقابل للمتغير S1 في عمود المحور × قيم المتغير الداخل الجديدة وكما يأتي: 1 * (0 , 1 , 2/3 , 0 , 1/3 , 0 , 100) = (0 , 1 , 2/3 , 0 , 1/3 , 0 , 100) ثم نطرح الناتج من قيم المتغير S1 القديمة: (0 , 1 , 2 , 1 , 0 , 0 , 200) - (0 , 1 , 2/3 , 0 , 1/3 , 0 , 100) (0 , 0 , 4/3 , 1 , -1/3 , 0 , 100) ثمننقل القيم الى جدول الحل الثاني.

  39. ايجاد قيم المتغيرات الجديدة • بنفس الطريقة نجد قيم S3 1* (0 , 1 , 2/3 , 0 , 1/3 , 0 , 100) = (0 , 1 , 2/3 , 0 , 1/3 , 0 , 100) نطرح القيم اعلاه من قيم المتغير القديمة: ( 0 , 1 , 0 , 0 , 0 , 1 , 150) - ( 0 , 1 , 2/3 , 0 , 1/3 , 0 , 100) ( 0 , 0 , -2/3 , 0 , -1/3 , 1 , 50) ثم نضيف القيم اعلاه الى جدول الحل الثاني

  40. جدول الحل الثاني

  41. بعد استكمال الجدول يتم التأكد من اذا ما كان الجدول يمثل جدول الحل الامثل وذلك من خلال ملاحظة القيم في صف Z ،ولان دالة الهدف من نوع تعظيم ،نصل للحل الامثل عندما تكون جميع القيم في صف Z موجبة او صفرية. • لذا الجدول الثاني يمثل جدول الحل الامثل لان جميع القيم في صف Z موجبة او صفرية. • هذا يعني ان الحل الامثل هو في انتاج 100 وحدة من النوع الاول (X1=100) لنتمكن من تحقيق ربح مقداره 3000 (Z=3000).

  42. Big-M Method • تستخدم هذه الطريقة في حالة التقليل عندما تكون القيود ”أكبر من أو تساوي“ و في حالة التعظيم ذات القيود المختلطة. • تنطوي فكرة هذه الطريقة عند تحويل النموذج الى الصيغة القياسية على: • طرح متغير راكد (Si) وإضافة متغير اصطناعي (Artificial Variable) الى القيود التي تحمل اشارة ”أكبر من أو تساوي“ و اضافة متغير اصطناعي للقيود التي تحمل اشارة (=)، وأما القيود التي تحمل اشارة ”أصغر من أو تساوي“ فيضاف لها فقط متغيرات راكدة (Si) . • و كذلك اضافة المتغيرات الراكدة الى معادلة دالة الهدف بمعاملات صفرية ، و(+M) للمتغيرات الاصطناعية في حالة التقليل و(-M) في حالة التعظيم .

  43. مثال: حل مشكلة البرمجة الخطية التالية بطريقة Big-M Min. Z=2X1+X2S.T:X1+3X2≥30------(1)4X1+2X2≥40------(2)X1,X2≥0

  44. الخطوة(1): • نحول القيود من الصيغة العامة (Canonical Form) الى الصيغة القياسية (Standard Form). • لان جميع القيود من نوع اكبر من او = ،لذا فان عملية التحويل تتطلب طرح متغير راكد (Si) وإضافة متغير اصطناعي (Artificial Variable) ويرمز له (Ai) ، وكما يأتي: X1+3X2-S1+A1=30 4X1+2X2-S2+A2=40 X1,X2,S1,S2,,A1,A2, ≥0

  45. الخطوة(2)- معالجة قيد دالة الهدف • تتم اضافة المتغيرات الراكدة الى معادلة دالة الهدف ،بمعاملات صفرية و(+M) للمتغيرات الاصطناعية في حالة التقليل و(-M) في حالة التعظيم . وكما يأتي: Min. Z=2X1+X2-0S1-0S2+MA1+MA2 • الخطوة (3) يتم تحويل معادلة دالة الهدف الى معادلة صفرية ،وكما يأتي : Z-2X1-X2+0S1+0S2-MA1-MA2=0

  46. الخطوة (4) اضافة القيود التي تحتوي متغيرات اضافية الى معادلة دالة الهدف • لغرض اعداد جدول الحل الابتدائي يجب اظهار جميع المتغيرات الاضافية التي تمت اضافتها الى معادلة دالة الهدف كمتغيرات اساسية ، ولان معاملاتها ليست صفر ينبغي تحويل معاملاتها الى (صفر) عن طريق اضافة القيود التي تحتوي متغيرات اضافية الى معادلة دالة الهدف بعد ضربها ×+M لمشكلات التقليل و- M لمشكلات التعظيم.

  47. +M × { X1+3X2-S1+A1=30} → MX1+3MX2-MS1+MA1=30M +M × { 4X1+2X2-S2+A2=40} → 4MX1+2MX2-MS2+MA2=40M اضافة القيود اعلاه الى معادلة دالة الهدف Z - 2X1 - X2 +0S1 +0S2- MA1- MA2 =0 MX1+3MX2 - MS1 +MA1 =30M 4MX1+2MX2 - MS2 + MA2 =40M Z+(-2+5M)X1+(-1+5M)X2 –MS1-MS2+0A1+0A2=70M

  48. الخطوة(5) يتم اعداد جدول الحل الابتدائي ،كما في العرض التالي: النسب 10 20

  49. اختيار المتغير الداخل وهو المتغير الذي يمثل اكبر قيمة بإشارة موجبة في صف Z ومن الجدول اعلاه يكون X2 هو المتغير الداخل لان قيمته ( -1+5M) ويطلق على العمود الذي يضم المتغير الداخل (عمود المحور Pivot column). • ايجاد قيم المتغير الداخل X2وذلك عن طريق قسمة كل قيمة في صف المحور على العنصر المحوري. • العنصر المحوري Pivot variable)) هو نقطة تقاطع عمود المحور مع صف المحور،وهو(3). • اذن قيم المتغير الداخل X2 هي : X2= ( 0/3, 1/3,3/3,-1/3,0/3,1/3, 0/3, 30/3) X2=( 0 ,1/3 , 1 ,-1/3 ,0 , 1/3 , 0, 10) • لإيجاد قيمة Z الجديدة ،نطرح حاصل ضرب القيمة المقابلة لـ Z في عمود المحور وهي (-1+5M) × قيم المتغير الداخل الجديدة (المعادلة المحورية) من قيم Zفي جدول الحل الاولي وكما يأتي: تكتب القيم الجديدة اعلاه في جدول الحل الجديد و كما يأتي :

  50. NEW(Z)=(1, -2+5M, -1+5M, -M, -M, 0, 0, 70M) - (-1+5M)x(0,1/3,1,-1/3,0,1/3,0,10) =(1, -5/3+10/3M, 0, -1/3+2/3M, -M, 1/3-5/3M, 0, 10+20M ) • NEW(A2)=(0, 4, 2, 0, -1, 0,1, 40) -2x (0,1/3, 1, -1/3, 0, 1/3 ,0, 10) = (0, 10/3, 0, 2/3, -1, -2/3, 1, 20 ) نقوم بوضع النتائج في جدول الحل ثاني، كالآتي:

More Related