Professional Documents
Culture Documents
مرحلة ثالثة جودة
مرحلة ثالثة جودة
تطبيقات حاسبة
المرحلة الثالثة
2019/2020
1
Computer Application MSc. Baydda Flaah
Chapter One
Linear Programming
البرمجة الخطية
1.1المقدمة
ان البرمجة الخطية هي اداة بيانية ورياضية وتعتبر اساليب البرمجة الخطية احد اساليب
البرمجة الرياضية التي تهتم ببناء النماذج الرياضية لمشكلة من المشاكل لحلها وتلعب
دورا هاما في الوصول الى التوزيع االمثل للموارد المتاحة على االنشطة المختلفة وفقا
للهدف المطلوب.
ويمكن تعريف البرمجة الخطية بانها " اسلوب رياضي لتوزيع مجموعة من الموارد
واالمكانيات المحدودة على عدد من االشياء المتنافسة على هذه الموارد ضمن مجموعة
من القيود والعوامل الثابتة بحيث يحقق هذا التوزيع افضل نتيجة ممكنة اي ان يكون
وتعتبر نماذج البرمجة الخطية من ابسط واسهل النماذج الرياضية توزيعها مثاليا"
والتي يمكن انشاوها لمعالجة معضالت البرمجة الصناعية والحكومية الكبرى.
سيتم التعرف في هذا الفصل على كيفية بناء نماذج البرمجة الخطية باسلوب مبسط
وحسب الهدف المحدد سواء كانت المشكلة تعظيم ارباح او تقليل تكاليف ثم استخدام
الطريقة المالئمة للمشكلة لغرض ايجاد الحل لها بعد التعرف على الطرق المختلفة للحل
والتي سيتم توضيحا بصورة مفصلة مع االمثلة.
2
Computer Application MSc. Baydda Flaah
ان اهمية اسلوب البرمجة الخطية يعود الى اهمية المشاكل التي يمكن حلها بصفة عامة
ولكن ليس كل مشكلة يمكن حلها باسلوب البرمجة الخطية حيث يتطلب حل المشكلة
باسلوب البرمجة الخطية ان تتوافر فيها الشروط االتية -:
مثال ( :-)1احدى الشركات الصناعية تقوم بانتاج ثالثة انواع من المنتجات 3,2 ,1
وترغب في تحديد عدد الوحدات التي يجب انتاجها يوميا من كل منتج بحيث تحصل
على اكبر ربح ممكن يتطلب انتاج الوحدة الواحدة من كل منتج المرور على ثالثة
عمليات انتاجية A,B,Cوالجدول االتي يبين الزمن بالدقائق المطلوب للوحدة الواحدة
لكل منتج من العمليات المختلفة وكذلك الربح المتحقق من الوحدة الواحدة والزمن الكلي
المتاح للعمليات الثالثة.
والمطلوب صياغة نموذج البرمجة الخطية الذي يحقق اعلى ربح ممكن .
ربح الوحدة
5 4 7
الواحدة
الحل:
من المعلومات في الجدول اعاله يمكن صياغة النموذج الرياضي المطلوب على الشكل االتي-:
4
Computer Application MSc. Baydda Flaah
اوال -:المتغيرات القرارية -:يتطلب االمر انتاج عدد من المنتجات من االنواع الثالثة
خالل الوقت المتاح للعمليات ( االولى والثانية والثالثة ) من اجل ان نحصل على اقصى
ربح .
ان عدد الوحدات X1,X2,X3من الممكن ان تكون سالبة وهذا اليجوز منطقيا حيث ان
عدد الوحدات التي سيتم انتاجها اما ان تنتج باي مقدار وبلتالي تكون ذات قيمة موجبة او
ان التنتج نهائيا فتكون قيمتها صفر لذلك يوضع شرط عدم السالبية وهو :
ان اقصى زمن متاح للعملية االولى 420دقيقة .1القيد االول (قيد العملية االولى )
يوميا (ليس بلضرورة استغالل كامل الزمن المتاح).
وحيث ان الوحدة الواحدة من المنتج االول يحتاج تصنيعها في العملية االولى 2دقيقة
بينما الوحدة الواحدة من المنتج الثاني يحتاج 2دقيقة والوحدة الواحدة من المنتج الثالث
يحتاج الى 3دقائق وبلتالي يمكن صياغة القيد االول كما يلي :
2X1+2X2+3X3≤ 420
5
Computer Application MSc. Baydda Flaah
ان اقصى زمن متاح للعملية الثانية 440دقيقة .2القيد الثاني (قيد العملية الثانية )
يوميا (ليس بلضرورة استغالل كامل الزمن المتاح).
وحيث ان الوحدة الواحدة من المنتج االول يحتاج تصنيعها في العملية الثانية 5دقيقة
بينما الوحدة الواحدة من المنتج الثاني اليتطلب العملية االنتاجية الثانية اما الوحدة
الواحدة من المنتج الثالث يحتاج الى 4دقائق وبلتالي يمكن صياغة القيد الثاني كما يلي :
5X1+4X3 ≤ 440
ان اقصى زمن متاح للعملية الثالثة 465دقيقة .3القيد الثالث (قيد العملية الثالثة )
يوميا (ليس بلضرورة استغالل كامل الزمن المتاح).
وحيث ان الوحدة الواحدة من المنتج االول يحتاج تصنيعها في العملية الثالثة 3دقيقة
بينما الوحدة الواحدة من المنتج الثاني يحتاج تصنيعها في العملية الثالثة 6دقيقة اما
الوحدة الواحدة من المنتج الثالث اليتطلب العملية االنتاجية الثالثة وبلتالي يمكن
صياغة القيد الثالث كما يلي :
3X1+6X2 ≤ 465
ثالثا -:دالة الهدف -:هدف صاحب القرار في هذه المشكلة هو تحقيق اكبر ربح ممكن
اذن الهدف Maximum Profitوتاخذ دالة الهدف الشكل االتي :
يتضح ان النموذج الرياضي للمشكلة يحقق جميع شروط نموذج البرمجة الخطية وياخذ
الشكل االتي:
6
Computer Application MSc. Baydda Flaah
S.to
2X1+2X2+3X3≤ 420
مثال ()2
مزرعة تقوم بتسمين الدواجن لتسويقها بعد 8اسابيع من تاريخ التسمين ولديها 20000
دجاجة ويرغب صاحب القرار في المزرعة تحديد الكميات المطلوبة من المواد الغذائية
المختلفة لتسمين في 8اسابيع بحيث تكون تكلفة التغذية اقل ما يمكن .من الخبرة يتضح
ان متوسط استهالك الدجاجة يصل الى 455غرام تقريبا من خليط من المواد الغذائية
وسوف نعتبر 455غرام كوحدة عبوة للمواد الغذائية .ولكي تصل الدجاجة الى الوزن
المحدد لها في 8اسابيع فان التغذية يجب ان تتضمن العناصر (كالسيوم وبروتين
والياف ) .الجدول االتي يعطي كمية العناصر من المواد الغذائية المحددة وتكلفة العبوة
من كل مادة.
7
Computer Application MSc. Baydda Flaah
المواد الغذائية كمية العناصر في وحدة العبوة من تكلفة وحدة من
المواد الغذائية العبوة
النوع البروتين الكالسيوم االلياف
الحل-:
اوال :المتغيرات القرارية -:نفرض عدد العبوات المطلوبة من الحجر الجيري X1وعدد
العبوات المطلوبة من الحبوب X2ومن فول الصويا X3
ثانيا :القيود -:بما ان الدجاجة تحتاج الى عبوة واحدة ف فان الكمية المطلوبة من
المواد الغذائية يجب ان تحقق القيد
X1+ X2 + X3 ≥ 20000
8
Computer Application MSc. Baydda Flaah
وبلنسبة للبروتين
وبلنسبة لاللياف
ثالثا -:دالة الهدف :بما ان صانع القرار في المزرعة يرغب في تحقيق اقل تكلفة فان
دالة الهدف تاخذ الشكل االتي -:
9
Computer Application MSc. Baydda Flaah
يعتبرررر النمررروذج القياسررري مرررن النمررراذج المهمرررة حيرررث اليمكرررن تطبيرررق الطريقرررة المبسرررطة
( Simplex Methodالتي سيتم شرحها سابقا) اال بعد تحويل نموذج البرمجة الخطيرة
الى شكل النموذج القياسي .يتميز النموذج القياسي بلصفات االساسية االتية -:
بعد ان تم صياغة نماذج البرمجة الخطية سواء كانت مشكلة تعظيم ارباح او تقليل
تكاليف سيتم التعرف على كيفية حل هذه النماذج وماهي قيم المتغيرات التي تحدد اعلى
ربح او اقل تكلفة .
10
Computer Application MSc. Baydda Flaah
تعتبر طريقة الرسم البياني وسيلة اولية لحل مشاكل البرمجة الخطية .وتستخدم هذه
الطريقة اذا كان النموذج يحتوي على متغيرين فقط اذ يتعذر رسم النموذذج في حالة
احتواءه اكثر من متغيرين .تقوم هذه الطريقة على فكرة تمثيل القيود بمعادلة خط مستقيم
ومن ثم تحديد منطقة الحلول الممكنة ولحل نموذج البرمجة الخطية بهذه الطريقة نتبع
االتي -:
11
Computer Application MSc. Baydda Flaah
مثال (:)3
يقوم مصنع بانتاج سلعتين يمر انتاج كل سلعة على مرحلتين وهي الطهي
والتعبئة.والجدول االتي يبين متوسط الزمن بلساعة الذي يستغرقة انتاج الوحدة في
مراحل االنتاج وكذلك الربح الذي تحققة الوحدة الواحدة والساعات المتاحة لكل مرحلة .
المطلوب تحديد الكميات المثلى لالنتاج لكل من السلعتين بحيث تحقق اكبر ربح ممكن
باستخدام الطريقة البيانية .
الحل-:
نفرض ان X1تمثل عدد الوحدات المنتجة من السلعة االولى وان X2تمثل عدد
الوحدات المنتجة من السلعة الثانية .
وعليه فان نموذج البرمجة الخطية الذي يمثل المشكلة ياخذ الشكل االتي -:
12
Computer Application MSc. Baydda Flaah
Maximize Z = 40 X1 + 50 X2
S.to
3X1 + X2 ≤ 15
X1 + 2X2 ≤ 12
X1, X2 ≥ 0
1) 3X1 + X2 = 15
Let X1 = 0
X2= 15/ 1 = 15 ⁘ (0, 15)
OR
Let X2 = 0
X1 = 15/3 = 5 ⁘ (5, 0)
2) X1 + 2X2 = 12
Let X1 =0
X2= 12/2= 6 ⁘ (0, 6)
13
Computer Application MSc. Baydda Flaah
Let X2=0
X1= 12/1= 12 )⁘ (12, 0
يتم تحديد نقاط التقاطع للمعادالت ( (1) ) 2على المحورين ثم نصل بينهما بخط مستقيم
وكما هو مبين بلشكل االتي-:
14
Computer Application MSc. Baydda Flaah
ان النقاط داخل المنطقة المضللة تمثل منطقة الحل الممكن وهي منطقة تقاطع الحل
والتي تقع ضمنها جميع النقاط التي تحقق القيدين في ان واحد .ا ما منطقة التقاطع بين
المستقيمين ( )3. 6, 4.2تم الحصول عليها بحل المستقيمين انيا .
يتم تحديد الحل االمثل وذلك بتعويض كل من الحلول الثالثة في دالة الهدف لتعظيم الربح
وكاالتي -:
من الجدول نجد ان النقطة ) )3.6, 4.2هي تحقق لدالة الهدف والتي قيمتها العظمى
تساوي .354
مثال ()4
اوجد الحل االمثل لنموذج البرمجة الخطية االتية بطريقة Graphical Method
Min Z = X1 + X2
S.to
2X1 + X2 ≥ 12
5X1+8X2 ≥ 74
15
Computer Application MSc. Baydda Flaah
X1, X2 ≥ 0
يتم تطبيق الخطوات السابقة وكما في المثال السابق يتم يتحويل القيود الى معادالت
وكاالتي -:
Let X1 = 0
16
Computer Application MSc. Baydda Flaah
Let X2 =0
X1 =74/5 =14.8 ⁘ (14.8, 0)
3) X1 + 6X2 = 24
Let X1 = 0
X2 = 24 /6 =4 ⁘ (0, 4)
OR
X2 = 0
X1 = 24/1 =24 ⁘ (24, 0)
X1 X2
0 12
6 0
0 9.25
14.8 0
0 4
24 0
17
Computer Application MSc. Baydda Flaah
وبعد ايجاد نقاط تقاطع المستقيمات يتم رسم الشكل وكما في ادناه-:
وبعد ذلك نقوم بحل المعادلتين االولى والثانية انيا ليتم الحصول على النقطة (.)2,8
وبحل المعادلتين الثانية والثالثة انيا يتم الحصول على النقطة (.)11.46, 2.09
يتم تحديد الحل االمثل وذلك بتعويض كل من الحلول االربعة في دالة الهدف لتحقيق
قيمة صغرى لدالة الهدف وكاالتي -:
18
Computer Application MSc. Baydda Flaah
تبين ان النقطة ( ) 2,8هي النقطة التي انتجت قيمة صغرى لدالة الهدف وهنا يقال
للمشكلة حل امثل واحد.
ان مشكالت البرمجة الخطية بصورة عامة يمكن تطبيقها في مجاالت واسعة وبنجاح اال
ان هناك حاالت خاصة يجب مراعاتها ومن هذه الحاالت هي تعدد الحدود المثلى :وهي
احتمال وجود اكثر من حل امثل للمشكلة وكما هو موضح في الشكل التالي-:
مثال ()5
ينتج مصنع سلعتين يدخل في انتاجهما مادتين من المواد الخام ,الكمية المتاحة من مواد
الخام ونسب مكونات كل وحدة سلعة من المواد الخام وربح الوحدة موضحة في الجدول
االتي -:
19
Computer Application MSc. Baydda Flaah
المطلوب تحديد الكميات التي تنتج من السلعتين بحيث تحقق اكبر ربح ممكن وال تتجاوز
الكميات المتاحة من المواد الخام وذلك باستخدام الطريقة البيانية.
وعلية فان نموذج البرمجة الخطية الذي يمثل المشكلة ياخذ الشكل االتي -:
S.to
20
Computer Application MSc. Baydda Flaah
X1, X2 ≥ 0
ولتمثيل المشكلة بيانيا يتم تحويل القيود الى معادالت وكاالتي -:
X1 X2
0 20
40 0
0 15
45 0
يتم تحديد نقاط التقاطع للمعادالت ( (2,1ثم نصل بينهما بخط مستقيم وكما هو مبين
بلشكل االتي -:
21
Computer Application MSc. Baydda Flaah
ان جميع النقاط داخل المنطقة المضللة تمثل منطقة الحل الممكن وهي منطقة تقاطع
مناطق الحل والتي تقع ضمنها جميع النقاط التي تحقق القيدين في ان واحد.
وبعد ذلك يتم اخذ المعادلتين انيا ليتم ايجاد النقطة ( . )30,5ويتم تحديد الحل االمثل
وذلك بتعويض كل من الحلول الثالثة في دالة الهدف لتعظيم الربح وكاالتي -:
22
Computer Application MSc. Baydda Flaah
من الجدول نجد ان النقطتين ) ( 40,0) , )30,5تحقق دالة الهدف قيمة عظمى مساوية
الى . 200يتضح من ذلك ان المشكلة اكثر من حل واحد مثلى.
في هذه الحالة تكون منطقة الحل مفتوحة وليست مغلقة .الحظ ذلك في المثال االتي -:
مثال ()6
Max Z = 10 X1 + 20 X2
S.to
X2 ≤ 12
X1, X2 ≥ 0
ولتمثيل المشكلة بيانيا يتم تحويل القيود الى معادالت وكاالتي -:
)X2 = 12 ………….(2
23
Computer Application MSc. Baydda Flaah
X1 X2
0 15
25 0
0 12
يتم تحديد نقاط التقاطع للمعادالت ( (2,1ثم نصل بينهما بخط مستقيم وكما هو مبين
بلشكل االتي -:
من الشكل نالحظ ان قيمة X2ثابتة وتساوي 12لجميع قيم . X1فاذا كانت X1 =25
فان قيمة دالة الهدف Z= 10*25+20*12=490وبما ان دالة الهدف هي دالة تعظيم
فكلما زادت قيمة X1زادت قيمة دالة الهدف .فاذا زادت قيمة X1بمقدار 10مثال
زادت قيمة دالة الهدف بمقدار . 250وبناء على ذلك نجد ان الحل غير محدود.
24
Computer Application MSc. Baydda Flaah
1.4.4الحلول متعاكسة-:
في هذه الحالة تكون منطقة الحل للقيود متعاكسة اي ان القيود ال تتقاطع في منطقة حل
واحدة .ونالحظ هذا في المثال االتي -:
مثال ()7
S.to
5X1 + 10 X2 ≥ 25
X1 , X2 ≥0
ولتمثيل المشكلة بيانيا يتم تحويل القيود الى معادالت وكاالتي -:
25
Computer Application MSc. Baydda Flaah
يتم تحديد نقاط التقاطع للمعادالت ( (2,1ثم نصل بينهما بخط مستقيم وكما هو مبين
بلشكل االتي -:
من الشكل نالحظ ان القيدين متعاكسان واليتقاطعان نهائيا وبذلك ال نستطيع الحصول
على حل مقبول لهذه المشكلة .
1.4.5االنحالل-:
في هذ ه الحالة يظهر احد القيود كقيد فائض ال حاجة له وليس له اي تاثير على الحل
ويتوضح ذلك في المثال االتي -:
مثال (-:)8
26
Computer Application MSc. Baydda Flaah
S.to
X1, X2 ≥ 0
ولتمثيل المشكلة بيانيا يتم تحويل القيود الى معادالت وكاالتي -:
X1 X2
0 200
450 0
0 200
133 0
يتم تحديد نقاط التقاطع للمعادالت ( (2,1ثم نصل بينهما بخط مستقيم وكما هو مبين
بلشكل االتي -:
27
Computer Application MSc. Baydda Flaah
ان الطريقة المبسطة Simplex Methodهي وسيلة رياضية ذات كفاءة عالية في
استخراج الحلول المثلى لمشكالت البرمجة الخطية بصورة عامة .وبسبب امكانية
برمجة المعلومات لمشكالت البرمجة الخطية على الحاسبة االلكترونية بهذه الطريقة ادى
ذلك الى انتشار استخدام هذه الطريقة على مدى واسع وبصورة كبيرة.
ولغرض شرح خطوات هذه الطريقة ,سيتم االستعانة بلمثال االتي -:
28
Computer Application MSc. Baydda Flaah
مثال ()9
اوجد الحل االمثل لمشكلة البرمجة الخطية االتية باستخدام الطريقة المبسطة Simplex
Method.
Max Z = X1 + 3X2
S.to
X1 ≤ 5
X1+2X2 ≤ 10
X2 ≤ 4
X1, X2 ≥ 0
.1تحويل نموذج البرمجة الخطية الى النموذج القياسي -:اي تحويل المتباينات الى
معادالت وكاالتي -:
X1 +S1 =5
X1 + 2X2 + S2 = 10
X2 + S3 = 4
X1, X2, S1, S2, S3 ≥ 0
كذلك تحويل دالة الهدف الى الشكل االتي :
Max Z- X1 -3X2 = 0
29
Computer Application MSc. Baydda Flaah
.2تكوين الجدول االساسي (االولي) -:يتم تكوين الجدول االساسي وترتب البيانات
حيث يمثل المتغيرات المكملة متغيرات اساسية والمتغيرات القرارية متغيرات غير
اساسية وكما في الجدول رقم ( )1وكاالتي -:
.3تحديد المتغير الداخل -:لغرض تحديد المتغير الداخل ومادامت المشكلة هي تعظيم فاننا
نبحث عن اصغر قيمة بلسالب (في حالة كون دالة الهدف تقليل فاننا نبحث عن اكبر قيمة
بلموجب ) في صف دالة الهدف ونالحظ ان اصغر قيمة بلسالب هي )(-3والتي تمثل
معامل , X2لذلك فان X2سيكون المتغير الداخل .
.4تحديد المتغير الخارج -:يتم تحديد المتغير الخارج بعد قسمة عناصر عمود ( )Solعلى
العناصر المناظرة له في العمود الداخل ( X2مع اهمال المتغيرات ذات القيم السالبة
والصفرية ) عدا دالة الهدف وكاالتي :
10/2, 4/1
ان اقل نسبة هي 4لذلك فان الصف S3هو المتغير الخارج وان العنصر ( )1في الصف
S3هو العنصر المحوري ( .العنصر المحوري هو المعامل الذي يتقاطع عنده عمود
المتغير الداخل مع صف المتغير الخارج ).
30
Computer Application MSc. Baydda Flaah
.5ايجاد قيم الصف المحوري :ولغرض ايجاد قيم الصف المحوري يتم تقسيم قيم الصف
للمتغير الخارج على العنصر المحوري وذلك للحصول على الصف المحوري وفي
مثالنا نقسم الصف للمتغير الخارج S3على العنصر المحوري ( )1وذلك للحصول
على الصف المحوري X2والصف المحوري في هذه الحالة هو -:
)X2 = ( 0 1 00 14
.6ايجاد بقية صفوف الجدول :اليجاد بقية الصفوف جدول الحل الجديد نستخدم الصيغة
االتية :
عناصر الصف الجديد = عناصر الصف القديم – ( عناصر الصف القديم في عمود
المتغير الداخل ) * عناصر الصف المحوري
نالحظ ان قيم المتغير S1بقيت على حالها وكما هو واضح في الجدول رقم ( )2وذلك
الن عنصر الصف الواقع في عمود المتغير الداخل مساويا الى صفر .اما عناصر بقية
الصف للمتغير S2فيتم ايجادها وذلك بضرب عنصر الصف S2والواقع في عمود
المتغير الداخل في عناصر الصف المحوري ثم طرحها من عناصر الصف S2القديم.
31
Computer Application MSc. Baydda Flaah
(-3) * 0 1 0 0 1 4
-1 -3 0 0 0 0
وبما ان قيم دالة الهدف التزال تحتوي على قيمة سالبة فاننا لم نصل الى الحل االمثل
وبذلك نستمر بلحل بتكرار الخطوات السابقة حتى نصل الى الحل االمثل .وعلية ومن
الجدول رقم ( )2نجد ان المتغير الداخل هو X1ولتحديد المتغير الخارج نقسم عناصر
عمود ( )Solعلى العناصر المناظره له في العمود الداخل X1وكاالتي :
32
Computer Application MSc. Baydda Flaah
5/1 , 2/1,
نجد ان اقل قيمة هي 2لذلك فان المتغير الخارج هو ( )S2وان العنصر ( )1هو
العنصر المحوري اذن نقسم قيم المتغير الخارج على العنصر المحوري وذلك للحصول
على قيم الصف المحوري X1وهو كاالتي -:
)X1 = (1 0 0 1 -2 2
نالحظ ان قيم المتغير S1بقيت على حالها وكما هو واضح في الجدول رقم ( )3وذلك
الن عنصر الصف الواقع في عمود المتغير الداخل مساويا الى صفر .اما عناصر بقية
الصف للمتغير S1فيتم ايجادها وذلك بضرب عنصر الصف S1والواقع في عمود
المتغير الداخل في عناصر الصف المحوري ثم طرحها من عناصر الصف S1القديم.
1 0 0 1 -2 2
Z -1 0 0 0 3 12
-1 0 0 -1 2 -2
0 0 0 1 1 14
33
Computer Application MSc. Baydda Flaah
نالحرظ ان جميررع قريم الصررف Zاصربحت موجبررة واصرفار وكمررا هرو موضررج فرري
الجدول رقم ( )3وبذلك نكون قد توصلنا الى الحل االمثل.
S1 = 3
S2 = 0
S3 = 0
Z = 14
X1 = 2
X2 = 4
34