Professional Documents
Culture Documents
Linear Programming
الدكتور المهندس
محمود عباس محمود
أستاذ مساعد
2018
Linear Programming 2018 د .محمود عباس محمود
هناك عدة طرق لحل نماذج البرمجة الخطية ومنها طريقتان أساسيتان هما الطريقة البيانية
Graphical Methodوالطريقة المبسطة Simplex Methodوفيما يلي تفصيل لكل من الطريقتين
المذكورتين.
-1الطريقة البيانية Graphical Method
تستخدم هذه الطريقة في حالة وجود عدد محدود من المتغيرات حيث يكون الحل بهذه الطريقة ممكنا
إذا كان هناك متغيرين فقط ويكون صعبا ً إذا كان عدد المتغيرات ثالثة ويكون الحل بها مستحيالً إذا
كان عدد المتغيرات أكثر من ثالثة .وبشكل عام فان معظم مسائل البرمجة الخطية تتضمن أكثر من
ثالثة متغيرات.
تتضمن هذه الطريقة الخطوات التالية:
-1نحول كل قيد من قيود النموذج الى معادلة.
-2نرسم المحورين األفقي والعمودي حيث األفقي يمثل المتغير األول ( )X1والعمودي يمثل
المتغير الثاني (.)X2
-3نرسم معادلة كل قيد ويتم تمثيلها على شكل خط مستقيم.
-4نحدد إتجاه كل قيد وكقاعدة عامة إن كل قيد ممثل بمتباينة من نوع أصغر أو يساوي (≤) يكون
إتجاهه نحو اليسار والى األسفل بينما كل قيد ممثل بمتباينة من نوع أكبر أو يساوي (≥) يكون
إتجاهه نحو اليمين والى األعلى.
-5نحدد المنطقة المشتركة بين هذه القيود والتي تسمى فضاء (منطقة) الحلول المقبولة
( )Feasible Solutions Spaceأو (.)Feasible Region
-6نحدد النقاط المتطرفة ( )Extreme Pointsلمنطقة الحلول المقبولة وهي نقاط زوايا تلك
المنطقة.
-7نعوض قيم إحداثيات تلك النقاط في دالة الهدف ونختار النقطة التي تحقق أعلى قيمة كتمثيل
للحل األمثل إذا كانت دالة الهدف من نوع ( )Maximizationوالنقطة التي تحقق أدنى قيمة
كتمثيل للحل األمثل إذا كانت دالة الهدف من نوع (.)Minimization
مالحظات:
أ -إذا كان قيد عدم السالبية يتضمن ( )X1, X2 ≥ 0فان منطقة الحلول المقبولة تنحصر في الربع
األول حتى وإن إمتد رسم القيود الى خارجه.
ب -يمكن إيجاد الحل األمثل بشكل تقريبي برسم دالة الهدف على شكل خط مستقيم بأعطاء قيمة
إفتراضية للحل األمثل وثم تحريك ذلك الخط برسم عدة خطوط بشكل موازي (يحدد األتجاه
حسب دالة الهدف Max.أو )Min.لحين خروج ذلك الخط من اخر نقطة بمنطقة الحلول
المقبولة وتكون إحداثيات تلك النقطة هي الحل األمثل.
1
Linear Programming 2018 د .محمود عباس محمود
ولتوضيح تلك الخطوات سنأخذ الحالة الخاصة بشركة ()XYZ Electronics Company
المذكورة في مثال سابق حيث بينا بأن الشركة تنتج نوعين من المنتجات هما ( )Aو ( )Bوتوصلنا
الى إن صيغة الموديل الرياضي للبرمجة الخطية لمشكلة تلك الشركة هي كاألتي:
نالحظ إن هدف الشركة يتمثل بتعظيم الربح في ظل القيود المذكورة المفروضة عليها .ولحل هذه
المسألة بيانيا ً نتبع الخطوات التالية:
نالحظ إن لدينا متغيرين في المسألة هما ( )X1و ( )X2وبناءا ً عليه نرسم أحداثيين أحدهما أفقي يمثل
قيم ( )X1والثاني رأسي يمثل قيم ( )X2ونالحظ أيضا ً انهما موجبين ( )X1, X2 ≥ 0وبذلك
تنحصرمنطقة الحلول المقبولة للمشكلة ( )Feasible Regionباألتجاه الموجب لإلحداثيين فقط (الربع
األول) وكما يلي:
األن نبداء برسم المتباينات التي تمثل القيدين وألجل ذلك نحولهما الى معادالت ونحدد النقاط التي تقطع
فيها كل معادلة منهما االحداثيين ( )X1و ( )X2وكما يلي:
ويمثل هذا القيد برسم خط تمثله النقطة ) (0, 80والنقطة ) (60, 0وتنحصر منطقة الحل هنا بين
الخط المستقيم المرسوم واألحداثيين بأتجاه نقطة األصل ألن المتباينة هنا من نوع أصغر أو يساوي.
2X1 + X2 = 100 )قيد قسم التجميع(
Let X1 = 0, then X2 = 100 )1st Point is (0, 100
Let X2 = 0, then X1 = 50 )2nd Point is (50, 0
ويمثل هذا القيد برسم خط تمثله النقطة ) (0, 100والنقطة ) (50, 0وتنحصر منطقة الحل هنا بين
الخط المستقيم المرسوم واألحداثيين بأتجاه نقطة األصل ألن المتباينة هنا من نوع أصغر أو يساوي.
والشكل أدناه يبين رسم كال المستقيمين السابقين.
وكذلك يمكن تحديد منطقة الحلول المقبولة ( )Feasible Regionوهي المنطقة المحصورة بين القيود
واألحداثيين ونقوم بتحديد النقاط المتطرفة لتلك المنطقة وكما في الشكل أدناه:
3
Linear Programming 2018 د .محمود عباس محمود
نالحظ من الشكل السابق إن لدينا أربعة نقاط ،منها ثالثة معروفة األحداثيات وهي النقطة ( )Aوهي
نقطة األصل والنقطتين ( )Bو( )Dتم إيجادهما سابقا ً ،أما النقطة الرابعة ( )Cفاحداثياتها غير معروفة
ولكن هذه النقطة متولدة من تقاطع المستقيمين في الشكل وبما إن معادلة كل من المستقيمين معروفة
لدينا فبإمكاننا أن نجد إحداثياتها بحل تلك المعادلتين أنيا وكما يلي:
نضرب المعادلة الخاصة بقيد قسم التجميع بـ ()- 2
2X1 + X2 = 100 )× (- 2
نجمع المعادلة الناتجة مع معادلة قسم األليكترونيك كاألتي:
+ 4X1 + 3X2 = 240
- 4X1 - 2X2 = - 200
X2 = 40
بذلك حصلنا على قيمة ( )X2للنقطة ( )Cوبتعويض الناتج في أي من المعادلتين نحصل على قيمة
( )X1لتلك النقطة وتكون ( )30وبهذا فان إحداثيات النقطة ( )Cستكون ).(30, 40
األن وصلنا الى الخطوة األخيرة وهي إيجاد الحل األمثل وبما ان الحل األمثل يكون محصورا ً دائما
في النقاط المتطرفة لمنطقة الحلول المقبولة فاننا نعوض قيم ( )X1و ( )X2لجميع تلك النقاط في معادلة
دالة الهدف ونختار النقطة التي تحقق أعلى قيمة كتمثيل للحل األمثل ألن دالة الهدف هنا من نوع
( )Maximizeوكما في الجدول التالي:
Optimal
Point X1 X2 Max. Z = 7X1 + 5X2
Solution
A 0 0 7(0) + 5(0) = $0
B 0 80 7(0) + 5(80) = $400
C 30 40 7(30) + 5(40) = $410 Yes
D 50 0 7(50) + 5(0) = $350
) (X1 = 30أي إنتاج 30وحدة من المنتج ( )Aو ) (X2 = 40أي إنتاج 40وحدة من المنتج ()B
وبذلك يكون الربح الكلي األقصى هو )($410
وفيما يلي الحل لنفس الحالة أعاله باللغة األنكليزية وبعدها نستمر بحل مجموعة
تمارين باللغة األنكليزية أيضا ً
4
Linear Programming 2018 محمود عباس محمود.د
Case Study: Use graphical method to find the optimal solution for the
problem which given in the previous Example (Product-Mix problem of
XYZ Electronics Company).
Solution
The Linear Programming model of XYZ Electronics Company is:
The constraints are plotted as equations. To plot any one of them as a line
we need to find the points at which this line intersects the X1 and X2 axes.
Electronic department constraint
4X1 + 3X2 = 240
Let X1 = 0, then X2 = 80 1st Point is (0, 80)
Let X2 = 0, then X1 = 60 2nd Point is (60, 0)
The line of this equation runs from the point (0, 80) to the point (60, 0).
5
Linear Programming 2018 محمود عباس محمود.د
6
Linear Programming 2018 محمود عباس محمود.د
7
Linear Programming 2018 محمود عباس محمود.د
SOLVED EXAMPLES
EXAMPLE- 1:
Find the optimal solution for the following linear programming problem by
using graphical method:
Maximize Z = 2X1 + 6X2
Subject to:
2X1 + 4X2 ≥ 4
X1 + X2 ≤ 6
X1, X2 ≥ 0
Solution
8
Linear Programming 2018 محمود عباس محمود.د
Optimal
Point X1 X2 Max. Z = 2X1 + 6X2
Solution
A 0 1 2(0) + 6(1) = 6
B 0 6 2(0) + 6(6) = 36 Yes
C 6 0 2(6) + 6(0) = 12
D 2 0 2(2) + 6(0) = 4
EXAMPLE- 2:
Find the optimal solution for the following linear programming problem by
using graphical method:
Maximize Z = 8X1 + 6X2
Subject to:
X1 + X2 ≤ 5
X1 ≤ 4
X1, X2 ≥ 0
Solution
9
Linear Programming 2018 محمود عباس محمود.د
To find the coordinates of the intersection point (C) we will substitute the
value of X1 = 4 in the first equation. Thus we get X2 = 1
Therefore, coordinates of the intersection point will be (4, 1)
Optimal
Point X1 X2 Max. Z = 8X1 + 6X2
Solution
A 0 0 8(0) + 6(0) = 0
B 0 5 8(0) + 6(5) = 30
C 4 1 8(4) + 6(1) = 38 Yes
D 4 0 8(4) + 6(0) = 32
EXAMPLE- 3:
Find the optimal solution for the following linear programming problem by
using graphical method:
Maximize Z = 6X1 + 2X2
Subject to:
2X1 + 3X2 ≤ 18
4X1 + 2X2 ≤ 16
X2 ≥ 1
X1 ≤ 2
X1, X2 ≥ 0
Solution
10
Linear Programming 2018 محمود عباس محمود.د
Optimal
Point X1 X2 Max. Z = 6X1 + 2X2
Solution
A 0 1 6(0) + 2(1) = 2
B 0 6 6(0) + 2(6) = 12
C 1.5 5 6(1.5) + 2(5) = 19
D 2 4 6(2) + 2(4) = 20 Yes
E 2 1 6(2) + 2(1) = 14
11
Linear Programming 2018 محمود عباس محمود.د
EXAMPLE- 4:
Solve the following linear programming problem graphically:
12
Linear Programming 2018 محمود عباس محمود.د
EXERCISES
X1 + 2X2 ≤ 12
3X1 + X2 ≤ 15
X1, X2 ≥ 0
13
Linear Programming 2018 محمود عباس محمود.د
EXERCISE 6: Determine the optimal values of (X1 and X2) that minimize the
value of Z using graphical method:
Minimize Z = 3000X1 + 5000X2
Subject to:
X1 + X2 ≤ 6
2X1 + 3X2 ≤ 9
2X1 ≥ 6
X1, X2 ≥ 0
14
Linear Programming 2018 محمود عباس محمود.د
Notes
………………………………………………………………………………
………………………………………………………………………………
………….……………………………………………………………………
……………….………………………………………………………………
…………………….…………………………………………………………
………………………….……………………………………………………
……………………………….………………………………………………
………………………………………………………………………………
………………………………………….……………………………………
……………………………………………….………………………………
…………………………………………………….…………………………
………………………………………………………………………………
………………………………………………………………………………
………….……………………………………………………………………
……………….………………………………………………………………
…………………….…………………………………………………………
………………………….……………………………………………………
……………………………….………………………………………………
………………………………………………………………………………
………………………………………….……………………………………
……………………………………………….………………………………
…………………………………………………….…………………………
………………………………………………………………………………
15
Linear Programming 2018 د .محمود عباس محمود
كما ذكرنا سابقا ً فان هناك عدة طرق لحل نماذج البرمجة الخطية ومنها طريقتان أساسيتان هما الطريقة
البيانية Graphical Methodوالطريقة المبسطة Simplex Methodوشرحنا الطريقة البيانية
وفيما يلي تفصيل للطريقة المبسطة .Simplex Method
تستخدم هذه الطريقة في حالة وجود أي عدد من المتغيرات حيث يكون الحل بهذه الطريقة ممكنا وليس
كما كانت عليه الطريقة البيانية والتي يكون الحل بها ممكنا ً إذا كان هناك متغيرين فقط ويكون صعبا ً
إذا كان عدد المتغيرات ثالثة ويكون الحل بها مستحيالً إذا كان عدد المتغيرات أكثر من ثالثة .تتضمن
فكرة الطريقة المبسطة توليد حلول مقبولة أساسية متعاقبة بحيث يؤدي كل حل جديد الى تحسين دالة
الهدف لحين الحصول على الحل األمثل المطلوب .ويتكون الحل بهذه الطريقة الخطوات التالية:
تحويل النموذج الرياضي الى الصيغة القياسية Standard Formالتي شرحناها سابقاً. -1
بناء جدول السمبلكس األبتدائي Initial Simplex Tableويمثل الحل األبتدائي األساسي -2
المقبول .Initial Basic Feasible Solution
البحث عن حل أساسي مقبول جديد بحيث يحسن دالة الهدف بإدخال متغير غير أساسي -3
( )Entering Variableتكون قيمته في صف (( )Zمعامالت دالة الهدف) هي األكثر سالبية
إذا كانت دالة الهدف من نوع Maximizationوالقيمة االكثر موجبة إذا كانت دالة الهدف
من نوع .Minimizationويكون عمود هذا المتغير هو عمود المحور (.)Pivot Column
يتم تحديد المتغير الخارج ( )Leaving Variableوصف المحور( )Pivot Rowباعتباره -4
يقابل النسبة األقل من حاصل قسمة قيم الجانب األيمن للمعادالت ( )R.H.Sوالمدرجة في
عمود الحل ( )Solutionعلى القيم الموجبة فقط المناظرة لها في عمود المحور( Pivot
.)Columnويسمى العنصر الذي يلتقي عنده صف المحور مع عمود المحور بعنصر المحور
(.)Pivot Element
تقسم كافة األرقام في صف المحور (صف المتغير الخارج) على عنصر المحور ويستبدل -5
بالمتغير الداخل ويتم توليد صف جديد بديل ( )New Pivot Rowبموجب المعادلة التالية:
-6إلنشاء جدول جديد تجرى التحويالت لكل الصفوف المتبقية في الجدول لتوليد صفوف جديدة
بأستخدام المعادلة التالية لكل منها:
])New Row = Old Row – [(Its Entering Column Coefficient) × (New Pivot Row
16
Linear Programming 2018 د .محمود عباس محمود
-7تكرر الخطوات السابقة على كل جدول جديد حتى تصبح جميع قيم صف ( )Zغير سالبة
(موجبة أو أصفار) إذا كانت دالة الهدف من نوع Maximizationوغير موجبة (سالبة أو
أصفار) إذا كانت دالة الهدف من نوع .Minimizationبمعنى إننا نتوقف حينما نصل الى
الحالة التي اليمكن تحسين قيمة دالة الهدف بعدها ويكون ماحصلنا عليه هو الحل األمثل
المطلوب.
قد تبدو الطريقة صعبة ومعقدة عند شرحها ولكنها في الحقيقة بسيطة عند التطبيق .وألجل ذلك سنقوم
بتوضيح تلك الطريقة من خالل تطبيقها لحل مثال لحالة عملية .وسنأخذ الحالة الخاصة بشركه ( XYZ
)Electronics Companyالمذكورة في مثال سابق حيث أن الشركة تنتج نوعين من المنتجات
هما ( )Aو ( )Bوتوصلنا الى إن صيغة الموديل الرياضي للبرمجة الخطية لمشكلة تلك الشركة هي
كاألتي:
نالحظ إن هدف الشركة يتمثل بتعظيم الربح في ظل القيود المذكورة المفروضة عليها وقمنا بحل هذه
الحالة باستخدام الطريقة البيانية .ولحل هذه المسألة بالطريقة المبسطة Simplex Methodنتبع
الخطوات التالية:
-1نعيد كتابة دالة الهدف لتصبح معادلة كل معامالتها بالجانب األيسر منها فتصبح كما يلي:
نحول المتباينة في القيد الثاني الى معادلة بأضافة متغير وهمي (راكد) Slack Variableالى
الجانب األيسر لكون المتباينة من نوع أصغر أو يساوي ونعطي هذا المتغير رمز ( )S2وبذلك
نحصل على المعادلة التالية:
2X1 + X2 + S2 = 100
17
Linear Programming 2018 د .محمود عباس محمود
الحظ اننا في هذا الجدول نضع تحت صف متغيرات دالة الهدف معامالت تلك المتغيرات في
تلك الدالة .وكذلك وضعنا معامالت تلك المتغيرات تحتها في صفوف القيود.
-5االن نبداء بالخطوة التالية حيث نحدد عمود المتغيرالداخل وبما ان دالة الهدف هنا من نوع
Maximizationفانه سيكون هو عمود الرقم األكثر سالبية في صف ( .)Zوهنا سيكون
العمود تحت ( )-7ويكون المتغير الداخل هو ( .)X1كما مبين في الجدول الالحق.
-6يتم تحديد المتغير الخارج Leaving Variableبأعتباره يقابل النسبة األقل من حاصل قسمة
عمود معامالت الجانب األيمن ( )R.H.Sالموجودة في صف الحل ( )Solutionعلى القيم
الموجبة فقط المناظرة لها من عمود المتغير الداخل .Entering Variableوعليه هنا سيكون
( )S2هو المتغير الخارج الن حاصل القسمة المذكورة كان ( )50بينما حاصل تلك القسمة
للمتغير ( )S1كان ( .)60واالن نوجد عنصر المحور ( )Pivot Elementوهو موجود عند
تقاطع العمود مع الصف وهنا سيكون ( .)2و الجدول الالحق يبين ذلك.
Entering Variable
المتغير الداخل
عنصر المحور Pivot Element
Leaving Variable
المتغير الخارج عمود المحور Pivot Column
18
Linear Programming 2018 د .محمود عباس محمود
-7يحل المتغير الداخل ( )X1محل المتغير الخارج وهو ( )S2ويتم توليد صف جديد بديل عن
صف ( )S2الخارج بقسمة كافة عناصر ذلك الصف على ( )2وهي قيمة عنصر المحور
وبموجب المعادلة التالية:
New Pivot Row = Old Pivot Row ÷ Pivot Element
= {2 1 0 1 100} ÷ 2
وعليه سيكون الصف الجديد كما في الجدول التالي:
-8نبدء االن بتوليد صفوف جديدة لجدول السمبلكس الجديد ويكون حساب القيم الجديدة لعناصر
تلك الصفوف بموجب العالقة التالية:
])New Row = Old Row – [(Its Entering Column Coefficient) × (New Pivot Row
= }- {(- 7) New Pivot Row 7 7/2 0 7/2 350
= New (Z) Row 0 - 3/2 0 7/2 350
19
Linear Programming 2018 د .محمود عباس محمود
X2 Units from Product B X1 Units from Product A Total Profit
-11األن نجد بان جميع قيم صف ( )Zغير سالبة (موجبة أو أصفار) وبما ان دالة الهدف من نوع
Maximizationفاننا نكون قد وصلنا للحل المثالي وعليه فان النتائج تكون كالتالي:
) (X1 = 30أي إنتاج 30وحدة من المنتج ()A
) (X2 = 40أي إنتاج 40وحدة من المنتج ()B
ويكون الربح الكلي األقصى هو )($ 410
Notes
………………………………………………………………………………
………………………………………………………………………………
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
………………………………………………………………………………
……………………………………………………………………………….
……………………………………………………………………………….
……………………………………………………………………………….
20
Linear Programming 2018 محمود عباس محمود.د
SOLVED EXAMPLES
Maximization Examples
EXAMPLE- 1:
Solve the following problem by simplex method:
Solution
Convert the problem to standard form:
Max. Z - 8X1 - 6X2 = 0
S. t.
4X1 + 2X2 + S1 = 60
2X1 + 4X2 + S2 = 48
X1, X2, S1, S2 ≥ 0
Initial Simplex Table
B.V. X1 X2 S1 S2 Solution Ratio
Z -8 -6 0 0 0 ------
S1 4 2 1 0 60
S2 2 4 0 1 48
First Iteration
B.V. X1 X2 S1 S2 Solution Ratio
Z -8 -6 0 0 0 ------
S1 4 2 1 0 60 60/4 = 15
S2 2 4 0 1 48 48/2 = 24
22
Linear Programming 2018 محمود عباس محمود.د
The objective function is Maximization and all values in (Z) row are
nonnegative. Therefore, we reach to the optimal solution:
X1 = 12
X2 = 6
Z = 132
EXAMPLE- 2:
Solve the following problem by simplex method:
Solution
23
Linear Programming 2018 محمود عباس محمود.د
First Iteration
B.V. X1 X2 S1 S2 S3 S4 Solution Ratio
Z -3 -2 0 0 0 0 0 ------
S1 1 2 1 0 0 0 6 6/1= 6
S2 2 1 0 1 0 0 8 8/2= 4
S3 -1 1 0 0 1 0 1 -----
S4 0 1 0 0 0 1 2 -----
Negative
Zero
24
Linear Programming 2018 محمود عباس محمود.د
The objective function is Maximization and all values in (Z) row are
nonnegative. Therefore, we reach to the optimal solution:
X1 = 10/3, X2 = 4/3 and the value of Z = 1223
25
Linear Programming 2018 محمود عباس محمود.د
EXAMPLE- 3:
Use Simplex Method to solve the following linear programming problem:
Max. Z = 13X1 + 11X2
Subject to
4X1 + 5X2 ≤ 1500
5X1 + 3X2 ≤ 1575
X1 + 2X2 ≤ 420
X1, X2 ≥ 0
Solution
Convert the problem to standard form:
Max. Z - 13X1 - 11X2 = 0
S. t.
4X1 + 5X2 + S1 = 1500
5X1 + 3X2 + S2 = 1575
X1 + 2X2 + S3 ≤ 420
The objective function is Maximization and all values in (Z) row are
nonnegative. Therefore, we reach to the optimal solution:
X1 = 270, X2 = 75 and the value of Z = 4335
Notes
………………………………………………………………………………
………………………………………………………………………………
………….……………………………………………………………………
……………….………………………………………………………………
…………………….…………………………………………………………
………………………….……………………………………………………
……………………………….………………………………………………
………………………………………………………………………………
………………………………………….……………………………………
……………………………………………….………………………………
…………………………………………………….…………………………
……………………………………………….………………………………
…………………………………………………….…………………………
……………………………………………….………………………………
27
Linear Programming 2018 محمود عباس محمود.د
Minimization Example
EXAMPLE- 4:
Solve the following problem by simplex method:
Solution
Convert the problem to standard form:
Min. Z - X1 + 2X2 + 3X3 = 0
S. t.
5X1 + 6X2 + S1 ≤ 15
7X1 + 3X2 + S2 ≤ 14
3X1 + 2X3 + S3 ≤ 12
X1, X2, X3, S1, S2, S3 ≥ 0
28
Linear Programming 2018 محمود عباس محمود.د
First Iteration
B.V. X1 X2 X3 S1 S2 S3 Solution Ratio
Z -1 2 3 0 0 0 0 ------
S1 5 6 0 1 0 0 15 ------
S2 7 3 0 0 1 0 14 ------
S3 3 0 2 0 0 1 12 12/2 = 6
The objective function is Minimization and all values in (Z) row are Not
positive (Zeros or negative). Therefore, we reach to the optimal solution:
X1 = 0, X2 = 15/6, X3 = 6 and the value of Z = -23
Note:
To Check the Final Solution
Z = X1 - 2X2 - 3X3
– 23 = 0 – 2(15/6) – 3(6)
– 23 = – 23
29
Linear Programming 2018 محمود عباس محمود.د
EXERCISES
Notes
………………………………………………………………………………
………………………………………………………………………………
………….……………………………………………………………………
……………….………………………………………………………………
…………………….…………………………………………………………
………………………….……………………………………………………
……………………………….………………………………………………
………………………………………………………………………………
………………………………………….……………………………………
……………………………………………….………………………………
…………………………………………………….…………………………
……………………………………………….………………………………
…………………………………………………….…………………………
……………………………………………….………………………………
……………………………………………………………………………….
31