computational methods in o.r. - abarry.wsabarry.ws/lindolingo.pdf · a. barry, professor of...
TRANSCRIPT
A. Barry, Professor of Statistics & O.R./M.S
طرق الحسابات في بحوث العمليات Computational Methods in O.R.
بإستخدام Using
LINDO and LINGO
A. Barry, Professor of Statistics & O.R./M.S
مقدمة إلى برنامج األمثلية
LINDO
A. Barry, Professor of Statistics & O.R./M.S
:مقدمة
في اآلالف من الشرآات والجامعات LINDO يستخدم
والمصالح الحكومية في جميع أنحاء العالم آأداة بارعة لحل مشاآل البرمجة الخطية والعددية والتربيعية وجميع مشاآل
.األمثلية . آالعادة سوف نستعرض مقدرات هذا البرنامج بأمثلة
A. Barry, Professor of Statistics & O.R./M.S
: حل البرمجة الخطية التالية: مثال على البرمجة الخطية:1مثال
1 2
1 2
1 2
1 2
1 2
1 2
8 52 10003 4 2400
700350
, 0
Max X XST X X
X XX XX X
X X
++ ≤+ ≤+ ≤− ≤
≥
A. Barry, Professor of Statistics & O.R./M.S
ثم أضغط على ملف و جديد فتظهر النافذة LINDO شغل :الحل
A. Barry, Professor of Statistics & O.R./M.S
: اآلن أدخل النموذج آاآلتي
A. Barry, Professor of Statistics & O.R./M.S
لحل النموذج نضغط على ايقونة الحل آالتالي
A. Barry, Professor of Statistics & O.R./M.S
سية تظهر نافذة الحالة للحل ونافذة تسأل إذا آنا نريد إجراء تحليل حسا
A. Barry, Professor of Statistics & O.R./M.S
فيظهر التقرير مع
تحليل الحساسية
A. Barry, Professor of Statistics & O.R./M.S
: حل التالي: مثال آخر على البرمجة الخطية : 2مثال
1 2
1 2
1 2
1 2
1 2
0.6 0.520 50 10025 25 10050 10 100
, 0
Minimize X XST X X
X XX X
X X
++ ≥+ ≥+ ≥
≥
A. Barry, Professor of Statistics & O.R./M.S
ادخل النموذج في صفحة جديدة آالتالي : الحل
A. Barry, Professor of Statistics & O.R./M.S
اضغط على
فينتج الحل
A. Barry, Professor of Statistics & O.R./M.S
: حل التاليInteger Programming البرمجة الصحيحة : 3مثال
1 2
1 2
2
1 2
1 2
. 12000 20000. 2 6 27
23 19, 0 and integers
Max X XSt X X
XX X
X X
++ ≤
≥+ ≤≥
A. Barry, Professor of Statistics & O.R./M.S
: الحل
A. Barry, Professor of Statistics & O.R./M.S
A. Barry, Professor of Statistics & O.R./M.S
: حل مشكلة النقل للشبكة التالية: مثال على الشبكات والنقل: 4مثال
P1
P2
P3
W1
W2
W3
W4
35
30
32
37
40
42
25
40
15
20
28
Plant
Warehoise
S1=1200
S2=1000
S3=800
D1=1100
D2=400
D3=750
D4=750
40
A. Barry, Professor of Statistics & O.R./M.S
والتي نشكلها على شكل البرمجة الخطية التالية
( )Total Shipping Cost:
Amount shipped from each source Supply at that sourceAmount received at each destination = Demand at that destinationNo negative shipments
MinSt
≤
A. Barry, Professor of Statistics & O.R./M.S
ى المخزن إذا رمزنا بـ لعدد الوحدات التي تشحن من المصنع إل : فتكتب المشكلة على الشكل
ijX1, 2,3i =1, 2,3, 4j =
11 12 13 14 21 22 23 24 31 32 33 34
11 12 13 14
35 20 40 32 37 40 42 25 40 15 20 28
Min X X X X X X X X X X X XSt X X X X
+ + + + + + + + + + ++ + +
21 22 23 24
1200 1000
X X X X≤
+ + + ≤
31 32 33 34
11 21
800 +
X X X XX X
+ + + ≤+ 31
12 22 32
=1100 + +
XX X X
13 23 33
=400 + + =750
X X X
14 24 34 + + 750
X X X =0,ijX for all i and j≥
A. Barry, Professor of Statistics & O.R./M.S
:الحل
A. Barry, Professor of Statistics & O.R./M.S
A. Barry, Professor of Statistics & O.R./M.S
A. Barry, Professor of Statistics & O.R./M.S
:Assignment Problem مسئلة تخصيص : 5مثال ع الجدول التالي يمثل زمن النقل من خطوط التجميع إلى مناطق الفحص لقط
:إلكترونية
19201711195
17171316144
1514128133
14977112
121064101
EDCBAAssemblyLine
Inspection Area
A. Barry, Professor of Statistics & O.R./M.S
والمخطط التالي يعطي
:نفس المعلومات
1
2
3
4
A
B
C
D
10
4
610
117
7
9
138
1412
141613
17
5 E
12
14
15
17
19
17
20
11
S1= 1
S2= 1
S3= 1
S4= 1
S5= 1
DA= 1
DB= 1
DC= 1
DD= 1
DE= 119
Assembly Line Inspection Area
A. Barry, Professor of Statistics & O.R./M.S
مناطق الفحص المطلوب هو تحديد الكيفية التي تنقل بها القطع من خطوط اإلنتاج إلى . في أقل زمن ممكن مع مالحظة أن يخصص خط تجميع واحد لمنطقة فحص واحدة
:نضع المشكلة في شكل برمجة خطية آالتالي
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
1 1 1 1 1
2 2 2 2
10 4 6 10 1211 7 7 9 1413 8 12 14 1514 16 13 17 1719 11 17 20 19
+ =1 +
A B C D E
A B C D E
A B C D E
A B C D E
A B C D E
A B C D E
A B C D
Min X X X X XX X X X XX X X X XX X X X XX X X X X
St X X X X XX X X X
+ + + + +
+ + + + ++ + + + ++ + + + ++ + + +
+ + ++ + + 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
1 2 3 4 5
1 2 3 4 5
=1 1 1 1 + + + =1 + + + =1
E
A B C D E
A B C D E
A B C D E
A A A A A
B B B B B
XX X X X XX X X X XX X X X XX X X X XX X X X X
+ + + + =+ + + + =
+ + + + =++
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
+ + + =1 + + + =1 + + + =1 0,
C C C C C
D D D D D
E E E E E
ij
X X X X XX X X X XX X X X X
X for all i and j
+
++
≥
A. Barry, Professor of Statistics & O.R./M.S
LINDOأدخل التالي في صفحة في
A. Barry, Professor of Statistics & O.R./M.S
:وينتج التقرير التالي
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
: 6مثال الشبكة التالية تمثل خطوط : Shortest Path Problemمشكلة أقصر طريق
والمراد ) عقدة النهاية ( 12إلى العقدة ) عقدة البداية (1سير ممكنة للسفر من العقدة
.تعيين أقصر مسافة لخط السير
1 2
3 4
5
6
78
9
10
11
12
599
180
497
432
345
420
440
691
893
280
500
290
577
116
403
314
432 621
554
A. Barry, Professor of Statistics & O.R./M.S
نضع الشبكة على شكل :برمجة خطية آالتالي
1,2 1,3 1,4 2,5 2,6
3,4 3,7 4,6 5,6 5,9
6,8 6,9 7,8 7,10 8,9
8,10 9,12 10,11 10,12 11,12
1,2 1,3 1,4
2,5 2,6
599 180 497 691 420432 893 345 440 554432 621 280 500 577290 268 116 403 314
1
Min x x x x xx x x x xx x x x xx x x x x
ST x x xx x x
+ + + + +
+ + + + +
+ + + + +
+ + + +
+ + =
+ − 1,2
3,4 3,7 1,3
4,6 1,4 3,4
5,6 5,9 2,5
6,8 6,9 2,6 4,6 5,6
7,8 7,10 3,7
8,9 8,10 6,8 7,8
9,12 9,5 6,9 8,9
10,11 10,12 7,10 8,10
11,12 10,11
9,12 10,12 11,
0000
00
00
00
x x xx x xx x xx x x x xx x xx x x xx x x xx x x xx x
x x x
=
+ − =
− − =
+ − =
+ − − − =
+ − =
+ − − =
− − − =
+ − − =
− =
− − − 12
,
0' 0 1i jAll x s or
=
=
A. Barry, Professor of Statistics & O.R./M.S
LINDOيدخل النموذج في صفحة من
A. Barry, Professor of Statistics & O.R./M.S
وينتج التقرير
A. Barry, Professor of Statistics & O.R./M.S
الشبكة التالية تمثل : Maximal Flow Problem مشكلة التدفق األعظم : 7مثال تمديدات ألنابيب ماء في شبكة تمد خزان بالمياه
1
23
45
6
7
1010
1 1
4
4
12
2
2
6 8
7
3
3
2
8
12
Source
Tank
A. Barry, Professor of Statistics & O.R./M.S
)دقيقة/ جالون1000(الجدول التالي يعطي سعة األنابيب
7
6 4 3 2 2
5 2 8
4 3 7
3 1 12 4
2 1 8 6
1 10 10
FROM
1 2 3 4 5 6 7
TO
A. Barry, Professor of Statistics & O.R./M.S
بوضع المشكلة على شكل برمجة خطية . المطلوب تحديد مسار أقصى تدفق للخزان
1,2 1,3
2,3 2,4 2,6 1,2 3,2
3,2 3,5 3,6 1,3 2,3 6,3
4,6 4,7 2,4 6,4
5,6 5,7 3,5 6,5
6,3 6,4 6,5 6,7 2,6 3,6 4,6 5,6
1,2
1,3
2,3
2,4
2,6
00
00
01010186
Max x xSt
x x x x xx x x x x xx x x xx x x xx x x x x x x xxxxxx
+
+ + − − =
+ + − − − =
+ − − =
+ − − =
+ + + − − − − =
≤
≤
≤
≤
≤
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
3,2
3,5
3,6
4,6
4,7
5,6
5,7
6,3
6,4
6,5
6,7
,
112437284322
' 0i j
xxxxxxxxxxx
All x s
≤
≤
≤
≤
≤
≤
≤
≤
≤
≤
≤
≥
A. Barry, Professor of Statistics & O.R./M.S
وبإدخال هذه العالقات
LINDOفي صفحة في
A. Barry, Professor of Statistics & O.R./M.S
: الحل والتقرير
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
مقدمة إلى لغة البرمجة الرياضية لألمثلية LINGO
A. Barry, Professor of Statistics & O.R./M.S
مقدمة
سوف نستعرض قوة هذه اللغة بالمثال التالي الذي يستخدم : األمثلية في حل مشكلة نقل
مشترين بقطع 8 مخازن تمد 6 تمتلك شرآة القطع االسلكية اليستطيع ) إستيعابية (لكل مخزن قدرة إمدادية . الغيار
.تجاوزها آما ان آل زبون له طلب البد أن يتحقق تريد الشرآة تحديد عدد القطع التي تشحن من آل مخزن لكل
. زبون بحيث تكون تكلفة الشحن أقل مايمكن
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
: الشكل التالي يمثل المشكلة
WH1 WH3WH2 WH4 WH5 WH8
V1 V2 V3 V4 V5 V6 V7 V8
A. Barry, Professor of Statistics & O.R./M.S
آما نالحظ ان آل مخزن يستطيع الشحن ألي زبون وهذا
سوف نحتاج متغير لكل واحد . مسارشحن أو قوس48يؤدي إلى . من هذه األقواس لتمثيل مقدار الشحنة المرسلة خالله
: البيانات : لدينا البيانات التالية
: بيانات عن المقدرة اإلستيعابية -1Warehouse Widgets On Hand
1 602 553 514 435 416 52
A. Barry, Professor of Statistics & O.R./M.S
: بيانات طلب الزبائن-2 Vendor Widget Demand
1 35 2 37 3 22 4 32 5 41 6 32 7 43 8 38
A. Barry, Professor of Statistics & O.R./M.S
: تكاليف الشحن للقطعة - 3 V1 V2 V3 V4 V5 V6 V7 V8WH1 6 2 6 7 4 2 5 9WH2 4 9 5 3 8 5 8 2WH3 5 2 1 9 7 4 3 3WH4 7 6 7 3 9 2 7 1WH5 2 3 9 5 7 2 6 5WH6 5 5 2 2 8 1 4 3
A. Barry, Professor of Statistics & O.R./M.S
:The Objective Functionدالة الهدف المطلوب تقليل . لتشكيل النموذج سوف نبدأ ببناء دالة الهدف
تكلفة الشحن ولهذا سنستخدم المتغير لكي يمثل عدد ولهذا فإن دالة j إلى الزبون iالقطع التي تشحن من الخزن
: الهدف تكتب علي الشكل
( ),x i j
A. Barry, Professor of Statistics & O.R./M.S
Minimize( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( )
6 1,1 2 1,2 6 1,3 7 1, 4 4 1,5 2 1,6 5 1,7 9 1,8
4 2,1 9 2, 2 5 2,3 3 2, 4 8 2,5 5 2,6 8 2,7 2 2,8
5 3,1 2 3,2 3,3 9 3,4 7 3,5 4 3,6 3 3,7 3 3,8
7 4,1 6 4, 2 7 4,3 3 4,4 9 4,5 2 4,6 7 4,7 4,8
2 5,1 3 5,
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x
+ + + + + + + +
+ + + + + + + +
+ + + + + + + +
+ + + + + + + +
+ ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
2 9 5,3 5 5,4 7 5,5 2 5,6 6 5,7 5 5,8
5 6,1 5 6, 2 2 6,3 2 6,4 8 6,5 6,6 4 6,7 3 6,8
x x x x x x
x x x x x x x x
+ + + + + + +
+ + + + + + +
A. Barry, Professor of Statistics & O.R./M.S
مخازن 6 آما نشاهد فإن دالة الهدف معقدة جدا وذلك فقط لـ زبائن فكيف سوف تكون لو آان لدينا عشرات بل 8 و
مئات المخازن وآالف من الزبائن؟ آما أن إدخال مثل هذه . الصيغة في برنامج حاسب سيكون بالتأآيد معرضا للخطأ
الصيغة السابقة يمكن وضعها على شكل الصيغة الرياضية : التالية
إلى الزبون i حيث تكلفة شحن القطعة الواحدة من مخزن j.
( )6 8
1 1
,iji j
Mimize c x i j= =∑∑
ijc
A. Barry, Professor of Statistics & O.R./M.S
تسمح بتمثيل دالة الهدف LINGO وبالمثل فإن لغة النمذجة
: بشكل مختصر سهل الكتابة والفهم آالتالي MIN = @SUM(LINKS(I,J): COST(I,J)*VOLUME(I,J));
i يمثل عدد القطع التي تشحن من المخزن VOLUME(I,J)حيث تكلفة شحن القطعة الواحدة من COST(I,J) و jإلى الزبون
و الجمع يكون على آل الروابط j إلى الزبون iمخزن LINKS(I,J) بينهما .
A. Barry, Professor of Statistics & O.R./M.S
LINGOالجدول التالي مقارنة بين الصيغة الرياضية ولغة
VOLUME(I,J)
COST(I,J)
@SUM(LINKS(I,J): )
MIN =
LINGO Syntax Math Notation
Minimize6 8
1 1i j= =∑ ∑
ijc
( ),x i j
A. Barry, Professor of Statistics & O.R./M.S
:Constraintsالقيود بعد صياغتنا لدالة الهدف خطوتنا التالية صياغة القيود
Constraints مجموعة القيود األولى تضمن . للنموذجإستالم آل زبون لعدد القطع التي طلبها وسوف نسمي هذه
Demandالقيود قيود الطلب Constraints مجموعة القيود Capacity Constraintsالتالية والتي نسميها قيود السعة
تضمن عدم شحن قطع من مخزن تزيد عن المقدار الذى بدأ بقيد الطلب للزبون األول فإننا نحتاج إلى جمع آل . يمتلكة
الشحنات من جميع المخازن وجعلها مساوية لطلب الزبون قطعة أي 35األول
( ) ( ) ( ) ( ) ( ) ( )1,1 2,1 3,1 4,1 5,1 6,1 35x x x x x x+ + + + + =
A. Barry, Professor of Statistics & O.R./M.S
وهكذا لبقية الزبائن
( ) ( ) ( ) ( ) ( ) ( )1,2 2,2 3,2 4,2 5,2 6,2 37x x x x x x+ + + + + =
( ) ( ) ( ) ( ) ( ) ( )1,3 2,3 3,3 4,3 5,3 6,3 22x x x x x x+ + + + + =
( ) ( ) ( ) ( ) ( ) ( )1,4 2,4 3,4 4,4 5,4 6,4 32x x x x x x+ + + + + =
( ) ( ) ( ) ( ) ( ) ( )1,5 2,5 3,5 4,5 5,5 6,5 41x x x x x x+ + + + + =
( ) ( ) ( ) ( ) ( ) ( )1,6 2,6 3,6 4,6 5,6 6,6 32x x x x x x+ + + + + =
( ) ( ) ( ) ( ) ( ) ( )1,7 2,7 3,7 4,7 5,7 6,7 43x x x x x x+ + + + + =
( ) ( ) ( ) ( ) ( ) ( )1,8 2,8 3,8 4,8 5,8 6,8 38x x x x x x+ + + + + =
A. Barry, Professor of Statistics & O.R./M.S
. وهنا ينطبق نفس التعليق الذي تبع صياغة دالة الهدف : قيود الطلب تكتب بصيغة رياضية بسيطة آالتالي
.j حيث عدد القطع المطلوبة من الزبون
( )6
1
, , 1, 2,...,8ji
x i j d j=
= =∑
jd
A. Barry, Professor of Statistics & O.R./M.S
تكتب قيود الطلب LINGO وبلغة النمذجة @FOR(VENDORS(J):@SUM(WAREHOUSES(I): VOLUME(I,J)) = DEMAND(J));
تمثل مجموعة القيود السابقة LINGOهذه العبارة بلغة النمذجة بل يمكن أن تمثل مجموعة من آالف الزبائن ومئآت (
العبارة السابقة تدل على انه لكل الزبائن ). المخازن ايضا VENDORS فإن مجموع القطع التي تشحن VOLUME إلى ذلك الزبون يجب أن WAREHOUSESمن آل مخزن الحظ مدى تشابه . ذلك الزبون DEMANDتساوي لطلب
. هذه العبارة مع الصيغة الرياضية
A. Barry, Professor of Statistics & O.R./M.S
: الجدول التالي يعطى مقارنة بينهما
DEMAND(J)
= =
VOLUME(I,J)
@SUM(WAREHOUSES(I): )
@FOR(VENDORS(J): )
LINGO Syntax Math Notation
1, 2,...,8j =6
1i=∑
( ),x i j
jd
A. Barry, Professor of Statistics & O.R./M.S
سوف نصيغ اآلن قيود السعة والتي تكتب بصيغة الرياضيات
الحظ ان هذه الصيغة الرياضية تمثل .( j حيث هي سعة المخزن
تكتب قيود LINGOوبلغة النمذجة ) متراجحات 8مجموعة من السعة
@FOR( WAREHOUSES( I): @SUM( VENDORS( J): VOLUME( I, J)) <= CAPACITY( I));
فإن مجموع القطع المشحونة WAREHOUSESأي لكل مخزن VOLUME للزبائن VENDORS يجب اال تزيد عن سعة
CAPACITYذلك المخزن .
( )8
1
, , 1,2,...,6jj
x i j p i=
≤ =∑jp
A. Barry, Professor of Statistics & O.R./M.S
: آالتالي LINGOاآلن نكتب النموذج آامال بلغة النمذجة
MODEL:MIN = @SUM( LINKS( I, J): COST( I, J) * VOLUME( I, J));@FOR( VENDORS( J):@SUM( WAREHOUSES( I): VOLUME( I, J)) =
DEMAND( J));@FOR( WAREHOUSES( I):@SUM( VENDORS( J): VOLUME( I, J)) <=
CAPACITY( I));END
A. Barry, Professor of Statistics & O.R./M.S
تعريف المجموعات
عند قيامنا بالنمذجة في الحياة العملية فإننا نقابل مجموعة او اآثر من األشياء التي لها عالقة ببعضها البعض مثل الزبائن
في الغالب إذا طبق . ، المصانع ، السيارات ، الموظفين الخ قيد على عضو من المجموعة فإن هذا القيد يطبق بالتمام على
هذا المبدأ هو من أساسيات . األعضاء اآلخرين في المجموعة إذ يعطى المقدرة على تعريف LINGOلغة النمذجة
. مجموعات من األشياء المترابطة في قسم المجموعات
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
التي هي Keyword قسم المجموعات يبدأ بكلمة األساس SETS توضع في سطر منفردة وينتهي القسم بكلمة األساس
ENDSETS بعد تعريف أعضاء . ايضا على سطر منفرد يمتلك مجموعة من دوال الدورة LINGOالمجموعة فإن
Set Looping Functions ) مثلFOR @ ( والتيتطبق بعض العمليات على جميع اعضاء المجموعة بإستخدام
.عبارة واحدة فقط
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
: في حالة نموذجنا فإننا قمنا بتكوين ثالثة مجموعات هي Warehouses المخازن -1 Vendors الزبائن -2 توصيالت او أقواس الشحن من آل مخزن إلى آل زبون - 3
Shipping Arcs : تعرف هذه المجموعات آالتالي LINGO وبلغة النمذجة
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
SETS:WAREHOUSES / WH1 WH2 WH3 WH4 WH5
WH6/: CAPACITY;VENDORS / V1 V2 V3 V4 V5 V6 V7 V8/
: DEMAND;LINKS( WAREHOUSES, VENDORS): COST,
VOLUME;ENDSETS
A. Barry, Professor of Statistics & O.R./M.S
... يتبع WAREHOUSES يقول ان المجموعة SETSالسطر األول بعد آلمة األساس
تسمى Attribute آل منها له صفة WH1, WH2,…,WH6أعضائها هم CAPACITY . السطر التالي يعرف مجموعة الزبائنVENDORS والتي
. DEMAND والتي لكل واحد منها الصفة V1,V2,…,V8أعضائها توصيلة او خط شحن آل توصيلة 48 تمثل LINKSالمجموعة األخيرة المسماة
الحظ اإلختالف في الترآيب . التابعة لهاVOLUME و COSTلها صفات )LINKS بين المجموعة هذة والمجاميع السابقة فبوضع Syntaxاللغوي
WAREHOUSES, VENDORS) فإننا نخبر LINGO أن مجموعة LINKS تستنبط من المجموعتين WAREHOUSES و VENDORS وبالتالي
,WAREHOUSES) من األزواج المرتبة 48 يولد LINGOفإن VENDORS) ويجعلها أعضاء في المجموعةLINKS .
A. Barry, Professor of Statistics & O.R./M.S
إدخال البيانات : تدخل البيانات في قسم البيانات آالتالي
DATA:CAPACITY = 60 55 51 43 41 52;DEMAND = 35 37 22 32 41 32 43 38;COST = 6 2 6 7 4 2 5 9
4 9 5 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3;
ENDDATA
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
على سطر منفرد DATA يبدأ قسم البيانات بكلمة األساس . على سطر منفرد ايضا ENDDATAوينتهي بكلمة األساس
للمجموعة CAPACITYآل من الصفات WAREHOUSES و DEMAND للمجموعة VENDORS
للمجموعة COSTالصفة . اسند لها قيم بشكل مباشر LINKS ثنائية األبعاد يتم قرائتها بواسطة LINGO
بزيادة الدورة الخارجية أسرع من الدورة الداخلية أي يقرأ :القيم على الترتيب التالي
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
COST(WH1,V1),COST(WH1,V2),COST(WH1,V3),…,COST(WH1,V8),COST(WH2,V1),COST(WH2,V2),COST(WH2,V3),…,COST(WH2,V8),
…COST(WH6,V1),COST(WH6,V2 ),COST(WH6,V3),…,COST(WH6,V8)
الحظ اننا هنا أدخلنا البيانات بشكل مباشر ولكن يمكننا قرائتها EXCELمن ملف او إستيرادها من صفحة نشر مثل
. وسوف نتطرق لهذا الحقا
A. Barry, Professor of Statistics & O.R./M.S
النموذج بشكله الكامل MODEL:! A 6 Warehouse 8 Vendor Transportation Problem;SETS:
WAREHOUSES / WH1 WH2 WH3 WH4 WH5 WH6/: CAPACITY;VENDORS / V1 V2 V3 V4 V5 V6 V7 V8/ : DEMAND;LINKS( WAREHOUSES, VENDORS): COST, VOLUME;
ENDSETS! The objective;
MIN = @SUM( LINKS( I, J): COST( I, J) * VOLUME( I, J));
! The demand constraints;@FOR( VENDORS( J): @SUM( WAREHOUSES( I): VOLUME( I, J)) = DEMAND( J));
! The capacity constraints;@FOR( WAREHOUSES( I): @SUM( VENDORS( J): VOLUME( I, J)) <= CAPACITY( I));
! Here is the data;DATA:
CAPACITY = 60 55 51 43 41 52;DEMAND = 35 37 22 32 41 32 43 38;COST = 6 2 6 7 4 2 5 9
4 9 5 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3;
ENDDATAEND
A. Barry, Professor of Statistics & O.R./M.S
أمثلة على لغة األمثلية
LINGO By Example
A. Barry, Professor of Statistics & O.R./M.S
:1مثال
LINGOحل النموذج التالي بإستخدام
1 2
1 2
1 2
1 2
1 2
1 2
8 52 10003 4 2400
700350
, 0
Max x xSt x x
x xx xx xx x
++ ≤+ ≤+ ≤− ≤
≥
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
: نرتب النموذج في جدول آالتالي لتحديد المجموعات والبيانات
58P
350-11R4
70011R3
240043R2
100012R1
SC2C1
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
A. Barry, Professor of Statistics & O.R./M.S
Global optimal solution found at iteration: 3التقرير Objective value: 4360.000
Variable Value Reduced CostS( R1) 1000.000 0.000000S( R2) 2400.000 0.000000S( R3) 700.0000 0.000000S( R4) 350.0000 0.000000P( C1) 8.000000 0.000000P( C2) 5.000000 0.000000
DV( C1) 320.0000 0.000000DV( C2) 360.0000 0.000000
COEF( R1, C1) 2.000000 0.000000COEF( R1, C2) 1.000000 0.000000COEF( R2, C1) 3.000000 0.000000COEF( R2, C2) 4.000000 0.000000COEF( R3, C1) 1.000000 0.000000COEF( R3, C2) 1.000000 0.000000COEF( R4, C1) 1.000000 0.000000COEF( R4, C2) -1.000000 0.000000
Row Slack or Surplus Dual Price1 4360.000 1.0000002 0.000000 3.400003 0.000000 0.40000004 20.00000 0.0000005 390.0000 0.000000
A. Barry, Professor of Statistics & O.R./M.S
:2مثال
: LINGOحل النموذج التالي بإستخدام
1 2
1 2
1 2
1 2
1 2
0.6 0.520 50 10025 25 10050 10 100
, 0
Minimize X XST X X
X XX X
X X
++ ≥+ ≥+ ≥
≥
A. Barry, Professor of Statistics & O.R./M.S
...يتبع : نرتب النموذج في جدول
0.50.6P
1001050R3
1002525R2
1005020R1
SC2C1
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
التقرير Global optimal solution found at iteration: 3Objective value: 2.150000
Variable Value Reduced CostS( R1) 100.0000 0.000000S( R2) 100.0000 0.000000S( R3) 100.0000 0.000000P( C1) 0.6000000 0.000000P( C2) 0.5000000 0.000000DV( C1) 1.500000 0.000000DV( C2) 2.500000 0.000000
COEF( R1, C1) 20.00000 0.000000COEF( R1, C2) 50.00000 0.000000COEF( R2, C1) 25.00000 0.000000COEF( R2, C2) 25.00000 0.000000COEF( R3, C1) 50.00000 0.000000COEF( R3, C2) 10.00000 0.000000
Row Slack or Surplus Dual Price1 2.150000 -1.0000002 55.00000 0.0000003 0.000000 -0.1900000E-014 0.000000 -0.2500000E-02
A. Barry, Professor of Statistics & O.R./M.S
:3 مثال : LINGOحل النموذج التالي بإستخدام
1 2
1 2
2
1 2
1 2
. 12000 20000. 2 6 27
23 19, 0 and integers
Max X XSt X X
XX X
X X
++ ≤
≥+ ≤≥
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
: نرتب النموذج في جدول
2000012000P
210GR1
1913LR2
2462LR1
GSLSC2C1
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
التقرير
Global optimal solution found at iteration: 0Objective value: 108000.0
Variable Value Reduced CostLS( LR1) 27.00000 0.000000LS( LR2) 19.00000 0.000000GS( GR1) 2.000000 0.000000P( C1) 12000.00 0.000000P( C2) 20000.00 0.000000DV( C1) 4.000000 -12000.00DV( C2) 3.000000 -20000.00
CO1( LR1, C1) 2.000000 0.000000CO1( LR1, C2) 6.000000 0.000000CO1( LR2, C1) 3.000000 0.000000CO1( LR2, C2) 1.000000 0.000000CO2( GR1, C1) 0.000000 0.000000CO2( GR1, C2) 1.000000 0.000000
Row Slack or Surplus Dual Price1 108000.0 1.0000002 1.000000 0.0000003 4.000000 0.0000004 1.000000 0.000000
A. Barry, Professor of Statistics & O.R./M.S
:4 مثال : LINGOحل مشكلة النقل التاليه بإستخدام
P1
P2
P3
W1
W2
W3
W4
35
30
32
37
40
42
25
40
15
20
28
Plant
Warehoise
S1=1200
S2=1000
S3=800
D1=1100
D2=400
D3=750
D4=750
40
A. Barry, Professor of Statistics & O.R./M.S
... يتبع LPوالذي سبق أن آتبناه على شكل
11 12 13 14 21 22 23 24 31 32 33 34
11 12 13 14
35 30 40 32 37 40 42 25 40 15 20 28
Min X X X X X X X X X X X XSt X X X X
+ + + + + + + + + + +
+ + +
21 22 23 24
1200 1000
X X X X≤
+ + + ≤
31 32 33 34
11 21
800 +
X X X XX X
+ + + ≤
+ 31
12 22 32
=1100 + +
XX X X
13 23 33
=400 + + =750
X X X
14 24 34 + + 750
X X X =
0,ijX for all i and j≥
A. Barry, Professor of Statistics & O.R./M.S
:ونرتب النموذج في جدول ... يتبع
282015402542403732403035CST
750111DR4
750111DR3
400111DR2
1100111DR1
8001111SR3
10001111SR2
12001111SR1
DMSPLC12C11C10C9C8C7C6C5C4C3C2C1
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
التقرير
. يترك للطالب
A. Barry, Professor of Statistics & O.R./M.S
:5مثال :LINGOحل مشكلة التخصيص التاليه بإستخدام
من الخطوط الى المناطق المطلوب تخصيص منطقة فحص واحدة لكل خط تجميع بحيث نقلل ازمنة النقل :المعطاة في الجدول التالي
19201711195
17171316144
1514128133
14977112
121064101
EDCBAAssemblyLine
Inspection Area
A. Barry, Professor of Statistics & O.R./M.S
1 آالتالي LPوالتي تكتب على شكل ...يتبع 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
1 1 1 1 1
2 2 2 2
10 4 6 10 1211 7 7 9 1413 8 12 14 1514 16 13 17 1719 11 17 20 19
+ =1 +
A B C D E
A B C D E
A B C D E
A B C D E
A B C D E
A B C D E
A B C D
Min X X X X XX X X X XX X X X XX X X X XX X X X X
St X X X X XX X X X
+ + + + +
+ + + + ++ + + + +
+ + + + +
+ + + +
+ + ++ + + 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
1 2 3 4 5
1 2 3 4 5
=1 1 1 1 + + + =1 + + + =1
E
A B C D E
A B C D E
A B C D E
A A A A A
B B B B B
XX X X X XX X X X XX X X X XX X X X XX X X X X
+ + + + =
+ + + + =
+ + + + =+
+
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
+ + + =1 + + + =1 + + + =1 0,
C C C C C
D D D D D
E E E E E
ij
X X X X XX X X X XX X X X X
X for all i and j
+
++
≥
A. Barry, Professor of Statistics & O.R./M.S
نرتب النموذج في جدول
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
A. Barry, Professor of Statistics & O.R./M.S
التقرير
. يترك للطالب • و LINDO و LINGOتمرين قارن بين نتائج •
WinQSB و Excel SOLVER لألمثلة السابقة .
A. Barry, Professor of Statistics & O.R./M.S
:6مثال Shortestمشكلة أقصر طريق
Path Problem : الشبكة التاليةتمثل خطوط سير ممكنة للسفر من
إلى العقدة ) عقدة البداية (1العقدة والمراد تعيين ) عقدة النهاية ( 12
. أقصر مسافة لخط السير
1 2
3 4
5
6
78
9
10
11
12
59918
0
497
432
345
420
440
691
893
280
500
290
577
116
403
314
432 621
554
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
إليجاد مسافة أقصر طريق عبر الشبكة سوف نستخدم التكرار التالي : للبرمجة الديناميكية
D(i,j) إلى العقدة النهائية وi أقل مسافة إنتقال من العقدة F(i) حيث iأي أن أقل مسافة من العقدة . j إلى العقدة iهي المسافة من العقدة
إلى العقدة النهائية هي تلك األقل بين آل العقد التي يمكن الوصول إلى العقدة i لمجموع المسافات من iإليها عبر قوس واحد من
المجاورة مضاف إليها أقل مسافة من العقدة المجاورة إلى العقدة . النهائية
( ) ( ) ( ),j
F i MIN D i j F j= +⎡ ⎤⎣ ⎦
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
A. Barry, Professor of Statistics & O.R./M.S
... يتبع التقرير
Feasible solution found at iteration: 0Variable Value
F( 1) 1731.000F( 2) 1309.000F( 3) 1666.000F( 4) 1234.000F( 5) 822.0000F( 6) 889.0000F( 7) 903.0000F( 8) 693.0000F( 9) 268.0000
F( 10) 403.0000F( 11) 314.0000F( 12) 0.000000
D( 1, 2) 599.0000D( 1, 3) 180.0000D( 1, 4) 497.0000D( 2, 5) 691.0000D( 2, 6) 420.0000D( 3, 4) 432.0000D( 3, 7) 893.0000D( 4, 6) 345.0000D( 5, 6) 440.0000D( 5, 9) 554.0000D( 6, 8) 432.0000D( 6, 9) 621.0000D( 7, 8) 280.0000D( 7, 10) 500.0000D( 8, 9) 577.0000D( 8, 10) 290.0000D( 9, 12) 268.0000
D( 10, 11) 116.0000D( 10, 12) 403.0000D( 11, 12) 314.0000
Row Slack or Surplus1 0.0000002 0.0000003 0.0000004 0.0000005 0.0000006 0.0000007 0.0000008 0.0000009 0.000000
10 0.00000011 0.00000012 0.000000
A. Barry, Professor of Statistics & O.R./M.S
: تمرين
: للشبكة التالية 11إلى القرار 1أوجد أقصر طريق من المصدر
1
2
3
4
5
6
7
8
9
10
116
4
3
5
3
4
6
2
2
5
2
1
4
2
5
3
5
8
4
7
4
2
A. Barry, Professor of Statistics & O.R./M.S
: من ملف خارجي LINGOإدخال وإخراج البيانات في
في التطبيقات العملية يكون حجم البيانات ضخم جدا ويصبح غير LINGOعمليا بل مستحيال إدخال البيانات ضمن البرنامج ولهذا فإن
ldt.*يستطيع إدخال وإخراج البيانات عبر أوساط آثيرة منها ملفات والتي هي ملفات نصية تحوي على جميع البيانات وخاصة بلغة
LINGO آما أنة يدخل ويخرج البيانات عبر Excel وأي برنامج . وغيرهاAccess و Oracleلقواعد المعلومات مثل
: ldt.* سوف نتطرق أوال إلدخال وإخراج البيانات من ملفات WIDGETS2.LDT النموذج التالي يقرأ البيانات من الملف
FILE@ بإستخدام األمر \C:\LINGO7والموجود في الدليل : آالتالي
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
A. Barry, Professor of Statistics & O.R./M.S
: له الشكل التاليWIDGETS2.LDTالملف
!List of warehouses;WH1 WH2 WH3 WH4 WH5 WH6 ~!List of vendors;V1 V2 V3 V4 V5 V6 V7 V8 ~!Warehouse capacities;60 55 51 43 41 52 ~!Vendor requirements;35 37 22 32 41 32 43 38 ~!Unit shipping costs;6 2 6 7 4 2 5 94 9 5 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
والتي تجعل البرنامج يقرأ السطر المناسب ثم ) ~(الحظ مرة FILE@يعود إلى اإلجراء العادي حتى يقابل أمر
اخرى فيعود لقرائة البيان المناسب إبتدا من الموضع الذي . توقف فية سابقا
إلخراج قيم أي متغير إلى ملف نصي نستخدم األمر @TEXT ففي المثال السابق اخرجنا قيم متغير القرار
VOLUME باألمر @TEXT('WIDGET2OUT.TXT')= VOLUME;
A. Barry, Professor of Statistics & O.R./M.S
الملف الناتج هو
0.0000000 19.000000 0.0000000 0.000000041.000000 0.0000000 0.0000000 0.00000001.0000000 0.0000000 0.0000000 32.0000000.0000000 0.0000000 0.0000000 0.00000000.0000000 11.000000 0.0000000 0.00000000.0000000 0.0000000 40.000000 0.00000000.0000000 0.0000000 0.0000000 0.00000000.0000000 5.0000000 0.0000000 38.00000034.000000 7.0000000 0.0000000 0.00000000.0000000 0.0000000 0.0000000 0.00000000.0000000 0.0000000 22.000000 0.00000000.0000000 27.000000 3.0000000 0.0000000
A. Barry, Professor of Statistics & O.R./M.S
: Excel بإستخدام LINGOإدخال وإخراج البيانات في : آالتالي Excel ندخل البيانات في
A. Barry, Professor of Statistics & O.R./M.S
:نختار مجال نريد تسميته آالتالي
A. Barry, Professor of Statistics & O.R./M.S
آما في النافذة التالية Define ثم Name ثم Insertنختار
A. Barry, Professor of Statistics & O.R./M.S
فتظهر النافذة
A. Barry, Professor of Statistics & O.R./M.S
التي تظهر Sheet1!$C$4:$J$9=الحظ ( نعطي إسم للبيانات في هذا المجال
:نسمي بقية مجاالت بنفس الطريقة آالتالي ).ذاتيا
A. Barry, Professor of Statistics & O.R./M.S
\C:\LINGO7 ثم خزنة في الدليل WIDGETSXL.XLSسمي الملف مثال ومن ثم يكتب قيم متغير WIDGETSXL.XLSالبرنامج التالي يقرأ البيانات من
. في المكان المحدد VOLUMEالقرار
A. Barry, Professor of Statistics & O.R./M.S
قبل إجراء البرنامج Excel و LINGOالشكل التالي يبين
A. Barry, Professor of Statistics & O.R./M.S
بعد إجراء البرنامجExcel و LINGOالشكل التالي يبين
A. Barry, Professor of Statistics & O.R./M.S
:1مثال
وأدخل LINGOحل النموذج التالي بإستخدام
. Excelالبيانات بإستخدام
1 2
1 2
1 2
1 2
1 2
1 2
8 52 10003 4 2400
700350
, 0
Max x xSt x x
x xx xx xx x
++ ≤+ ≤+ ≤− ≤
≥
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
... يتبع or433exp01.xlsوسمي الملف Excelأدخل التالي في
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
. أجري البرنامج السابق وقارن الناتج : تمرين
A. Barry, Professor of Statistics & O.R./M.S
LINGO حاالت دراسة على لغة النمذجة
A. Barry, Professor of Statistics & O.R./M.S
Blendigنموذج خلط Model
بصفتك مدير إنتاج في مصنع تصفية بترول فإن مهمتك الحصول على ومساعد على Butaneأقصى األرباح من خلط المواد الخامة بوتين
إلنتاج منتجين Naphthaومذيب Catalytic Reformateاإلحتراق المنتجين النهائيين يجب . Premium وممتاز Regularنهائيين عادي
على االوآتين Quality Requirementsأن يحققا متطلبات نوعية Octane و ضغط البخار Vapor Pressure و التسامي Volatility .
آما . المواد الخامة لها محدودية اإلمداد وسعر الوحدة معروفة ومحددة ان اقل آمية للمنتج النهائي معروفة وآذلك أقصى آمية يمكن تسويقها
.وآذلك مقدار ربحية آل وحدة منتجة
A. Barry, Professor of Statistics & O.R./M.S
النموذج MODEL:TITLE BLEND;SETS:
!Each raw material has an availability and cost/unit;RAWMAT/ BUTANE, CATREF, NAPHTHA/: AVAIL, COST;!Each finished good has a min required,max sellable, selling price,and batch size to be determined;FINGOOD/ REGULAR, PREMIUM/: MINREQ, MAXSELL, PRICE, BATCH;!Here is the set of quality measures;QUALMES/ OCTANE, VAPOR, VOLATILITY/;!For each combo of raw material and quality measure there is a quality level;RXQ( RAWMAT, QUALMES): QLEVEL;!For each combination of quality measure and finished good there are upper and lower limits on quality,and a slack on upper quality to be determined;QXF( QUALMES, FINGOOD): QUP, QLOW, QSLACK;!For each combination of raw material and finished good there is an amount
of raw material used to be solved for;RXF( RAWMAT, FINGOOD): USED;
ENDSETS
A. Barry, Professor of Statistics & O.R./M.S
... يتبع DATA:!Raw material availability;
AVAIL = 1000, 4000, 5000;!Raw material costs;COST = 7.3, 18.2, 12.5;
!Quality parameters of raw materials;QLEVEL = 120, 60, 105,
100, 2.6, 3,74, 4.1, 12;
!Limits on finished goods;MINREQ = 4000, 2000;MAXSELL = 8000, 6000;
!Finished goods prices;PRICE = 18.4, 22;
!Upper and lower limits on quality for each finished good;QUP = 110, 110,
11, 11,25, 25;
QLOW = 90, 95,8, 8,
17, 17;ENDDATA
A. Barry, Professor of Statistics & O.R./M.S
... يتبع !Subject to raw material availability;@FOR(RAWMAT(R):[RMLIM]@SUM (FINGOOD(F):USED(R,F))<= AVAIL(R););
!Batch size computation;@FOR (FINGOOD(F):[BATCOMP]BATCH(F)= @SUM (RAWMAT(R):USED(R,F));!Batch size limits;@BND (MINREQ,BATCH,MAXSELL);
!Quality restrictions for each quality measure;@FOR (QUALMES(Q):[QRESUP]@SUM(RAWMAT(R):QLEVEL(R,Q)*USED(R,F))
+QSLACK(Q,F) = QUP(Q,F)*BATCH(F);[QRESDN] QSLACK(Q,F) <= QUP(Q,F) - QLOW(Q,F))*BATCH(F);););! We want to maximize the profit contribution;
[OBJECTIVE] MAX = @SUM (FINGOOD: PRICE * BATCH) -@SUM (RAWMAT(R):COST(R)* @SUM (FINGOOD(F):USED(R,F)));
END
A. Barry, Professor of Statistics & O.R./M.S
... في المثال السابق :The Setsالمجموعات
Primative لدينا ثالثة مجاميع أولية Sets في النموذج وهي المواد الخامة RAWMAT والمنتج أو البضاعة النهائيةFINGOOD ومقاييس النوعية
QUALMES . Drived من هذه الثالثة المجاميع األولية نكون ثالثة مجاميع مشتقة Sets .
Dense Drived مجموعة مشتقة آثيفة RXQالمجموعة األولى المشتقة Set المجموعة . وهي تهجين من مجموعة المواد الخامة ومجموعة مقاييس النوعية
وهي تهجين من مجموعة مقاييس النوعية ومجموعة QXFالمشتقة الثانية هي س المنتج النهائي وأهمية هذه المجموعة هي في حرصنا على مستويات مقايي
هي تهجين من RXFالمجموعة المشتقة األخيرة . النوعية في المنتج النهائيوالحاجة لهذة المجموعة هي . مجموعة المواد الخامة ومجموعة المنتج النهائي
. تمكيننا من حساب مقدار المواد الخامة المستخدمة في آل منتج نهائي
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
:The Variablesالمتغيرات المتغير األساسي الذي يشكل هذا النموذج هو مقدار آل من
المواد الخامة المستخدمة في آل من المنتجات النهائية والذي أيضا أضفنا متغيرين آخرين لغرض . USEDأعطيناه اإلسم
والذي يستخدم لحساب حجم BATCHالحسابات هما المتغير QSLACKوالمتغير . لكل منتج نهائي Batch Sizeالربطة
والذي يحسب الفائض للنهاية القصوى لكل من المنتجات .النهائية ومقاييس النوعية
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
:The Objectiveالهدف خليط الهدف في هذا النموذج هو تعظيم المشارآة الكلية للربح من مرآبات ال
:المختلفة وهذه تحسب بإستخدام التعبير التالي [OBJECTIVE] MAX = @SUM( FINGOOD: PRICE * BATCH) -@SUM( RAWMAT( R): COST( R) * @SUM( FINGOOD( F): USED( R, F)));
الدخل الكلي هو المجموع على . الربح الكلي يساوي الدخل الكلي ناقصا التكلفة الكلية منتج آل المنتجات النهائية لسعر آل منتج نهائي مضروب في حجم الربطة لكل
LINGOنهائي أو بلغة @SUM( FINGOOD: PRICE * BATCH)
مواد الخامة التكلفة الكلية تحسب بأخذ المجموع على المنتجات النهائية ألسعار ال مضروبة في مقدار آل من المواد الخامة المستخدمة وتحسب بالعبارة
@SUM( RAWMAT( R): COST( R) * @SUM( FINGOOD( F): USED( R, F))
A. Barry, Professor of Statistics & O.R./M.S
... يتبع :The Constraintsالقيود
إثنان منها لغرض . توجد اربع مجاميع من القيود في النموذجالحسابات فقط القيد األول يحسب حجم الربطة لكل من المنتجات
النهائية بالعبارة التالية !Batch size computation;[BATCOMP] BATCH( F) = @SUM( RAWMAT( R): USED( R, F));
هو مجموع آل المواد الخامة F أي ان حجم الربطة لمنتج نهائي .المستخدمة في إنتاجه
لكل القيد الثاني يحسب الفائض للنهاية القصوى للنوعية لكل منتج نهائي مقياس نوعية آالتالي
[QRESUP] @SUM(RAWMAT(R):QLEVEL(R,Q)*USED(R,F))+ QSLACK(Q,F) = QUP(Q,F)*BATCH(F);
أي ان مستوى النوعية الحقيقي مضاف إليه الفائض للنهاية القصوى .للنوعية يساوي المستوى األقصى للنوعية
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
لتي يجب ان تقع القيد األول الحقيقي يطبق على أحجام الربطة للمنتجات النهائية وا آالتاليBND@بين المستويات األدنى واألعلى ولهذا نستخدم الدالة
!Batch size limits;@BND( MINREQ, BATCH, MAXSELL);
كن إستخدام الحظ انه آان بإمكاننا وضع قيود بشكل عادي لنهايات حجم الربطة ول . أآثر فاعلية في وضع قيود بسيطة على المتغيرات BND@الدالة
قياس نوعية لكي القيد األخير يجبر مستوى النوعية لكل من المنتجات النهائية لكل م يكون خاضع للمقاييس وينمذج بالعبارة التالية
[QRESDN]QSLACK(Q,F)<=(QUP(Q,F)- QLOW(Q,F))*BATCH( F);
لو لم يكن . نىأي ان الفائض يجب ان يكون اقل من الفرق بين الحد األعلى والحد األد لفائض هذا صحيحا فإن النوعية ستكون أقل من الحد األدنى آما ان حقيقة ان ا
.اليمكن ان يكون سالبا يضمن اننا لن نتخطى حد النوعية
A. Barry, Professor of Statistics & O.R./M.S
الحل
: تمرين للطالب وأوجد الحل LINGO أدخل البرنامج السابق في صفحة
A. Barry, Professor of Statistics & O.R./M.S
Assembly Lineنموذج موازنة خط إنتاج Balancing Model
لكي تسند ألربعة محطات عمل A…K وظيفة نطلق عليها 11 في مثالنا هذا لدينا : عالقات األسبقية للوظائف هي آالتالي1…4
: ازمنة إآمال آل وظيفة تعطى بالجدول التاليTask: A B C D E F G H I J KMinutes: 45 11 9 50 15 12 12 12 12 8 9
. إلنتاجالمراد هو إسناد وظائف لمحطات العمل بحيث نقلل من زمن الدورة لخط ا
A. Barry, Professor of Statistics & O.R./M.S
: النموذج MODEL:
! Assembly line balancing model;! This model involves assigning tasks to stations in an assembly line so bottlenecks are avoided. Ideally, each station would be assigned an
equal amount of work.;SETS:! The set of tasks to be assigned are A through K, and each task has a time to complete, T;TASK/ A B C D E F G H I J K/: T;! Some predecessor,successor pairings must be observed(e.g. A must be done before B, B before C, etc.);PRED( TASK, TASK)/ A,B B,C C,F C,G F,J G,J J,K D,E E,H E,I H,J I,J /;! There are 4 workstations;STATION/1..4/; TXS( TASK, STATION): X;! X is the attribute from the derived set TXS that represents the assignment. X(I,K) = 1 if task I is assigned to station K;
ENDSETSDATA:! Data taken from Chase and Aquilano, POM; ! There is an estimated time required for each task:
A B C D E F G H I J K;T = 45 11 9 50 15 12 12 12 12 8 9;
ENDDATA! The model; ! *Warning* may be slow for more than 15 tasks; ! For each task, there must be one assigned station;@FOR( TASK( I): @SUM( STATION( K): X( I, K)) = 1);! Precedence constraints; ! For each precedence pair, the predecessor task I cannot be assigned to a later station than its successor task J;@FOR( PRED( I, J): @SUM( STATION( K): K * X( J, K) - K * X( I, K)) >= 0);! For each station, the total time for the assigned tasks must be less than the maximum cycle time, CYCTIME;@FOR( STATION( K): @SUM( TXS( I, K): T( I) * X( I, K)) <= CYCTIME);! Minimize the maximum cycle time;MIN = CYCTIME;! The X(I,J) assignment variables are binary integers;@FOR( TXS: @BIN( X));
END
A. Barry, Professor of Statistics & O.R./M.S
...يتبع : المجموعات
TASKS لدينا مجموعتين أوليتين في هذا النموذج مجموعة الوظائف من هذه المجموعات األولية . STATIONومجموعة محطات العمل
مجموعة PREDالمجموعة المشتقة األولى . نوجد مجموعتين مشتقة TASKS وتتكون من تهجين بين مجموعه Sparseمشتقة متناثرة
ونفسها عناصر هذه المجموعة هم عالقات األسبقية بين الوظائف مبينا ان (A,B)فمثال العنصر األول في هذه المجموعة هو الزوج
. B يجب أن تسبق الوظيفة Aالوظيفة مجموعة آثيفة مشتقة من تهجين TXS المجموعة المشتقة الثانية
ونحتاج لهذه STATION مع المجموعة TASKSالمجموعة . المجموعة لكي نحدد أي وظيفة اسندت ألي محطة عمل
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
: المتغيرات والتي تعرف X متغيرات القرار في هذا النموذج هم عناصر الصفة
يأخذ Binary متغير ثنائي X(T,S)العنصر . TXSعلى المجموعة وقد . غير ذلك0 وS لمحطة العمل T إذا اسندت الوظيفة 1القيمة
لكي تكون ثنائية بالتعبير Xأجبرت ! The X(I,J) assignment variables are binary integers;
@FOR( TXS: @BIN( X)); ليمثل زمن CYCTIME بإسم Scalarهنا ايضا وضعنا متغير عددي
الدورة لخط التجميع بكامله ويحسب بأخذ أقصى دورة زمنية لجميع . محطات العمل
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
: الهدف الهدف في هذا النموذج هو ببساطة تقليل زمن الدورة الكلي
لخط التجميع ويعطى بالعبارة ! Minimize the maximum cycle time;
MIN = CYCTIME;
A. Barry, Professor of Statistics & O.R./M.S
:القيود : لدينا ثالثة أنواع من القيود في هذا النموذج
. آل وظيفة البد وأن تسند لمحطة واحدة -1. عالقات األسبقية بين الوظائف يجب ان تؤخذ في اإلعتبار -2 .CYCTIME حساب متغير زمن دورة خط التجميع -3
. 1التعبير التالي يجمع متغير اإلسناد لكل وظيفة ويساويه بـ .وهذا يجبر إسناد آل وظيفة لمحطة واحدة فقط
! For each task, there must be one assigned station;@FOR( TASK( I): @SUM( STATION( K): X( I, K)) = 1);
A. Barry, Professor of Statistics & O.R./M.S
... يتبع ونستخدم العبارة التالية إلجبار عالقات األسبقية بين الوظائف
! Precedence constraints;! For each precedence pair, the predecessor task I cannot be
assigned to a later station than itssuccessor task J;
@FOR( PRED( I, J):@SUM( STATION(K):K*X(J,K) - K * X(I,K)) >= 0);
عن طريق الخطأ إلى محطة I فإذا أسندنا J تسبق الوظيفة I لنفترض أن الوظيفة سوف يزيد عن مجموع الحدود K*X(I,K) فإن مجموع الحدود Jبعد الوظيفة K*X(J,K)وبالتالي فإن هذا القيد سيجبر على المحافظة . وهذا سيخالف القيد
. على عالقات األسبقية : نقيد زمن الدورة بالقيد التالي
! For each station, the total time for the assigned tasks must be less than the maximum cycle time, CYCTIME;@FOR( STATION( K):@SUM( TXS( I, K): T( I) * X( I, K)) <= CYCTIME);
A. Barry, Professor of Statistics & O.R./M.S
... يتبع : الكمية
@SUM(TXS(I,K): T(I) * X(I,K))
لكي FOR@نستخدم العبارة . K في هذا القيد تحسب زمن الدورة للمحطة . أآبر من أو يساوي ألزمنة الدورة لكل المحطات CYCTIMEنجعل المتغير
في دالة الهدف فإن CYCTIMEفإذا أضفنا إلى هذا حقيقة أننا نقلل CYCTIME يجبر( سوف يضغط (Squeezed لكي يصبح مساويا تماما
للقيمة CYCTIMEبضغط . ألقصى قيمة من أزمنة الدورة لكل محطة عمل MAX@ فلو أستخدمنا الدالة MAX@الصحيحة فإننا نتجنب إستخدام الدالة
Nonlinear Solver سيلجأ إلى إستخدام الحالة غير الخطية LINGOفإن وهذا . Piecewise Linear @MAXلكي يعالج الدالة الخطية المجزئة
.يجنبنا النمذجة غير الخطية
A. Barry, Professor of Statistics & O.R./M.S
الحل
: تمرين للطالب وأوجد الحل LINGO أدخل البرنامج السابق في صفحة
A. Barry, Professor of Statistics & O.R./M.S
Capacitated Plantنموذج تحديد موقع مصنع Location Model
:عرض المشكلة . على شرآتك اإلختيار بين ثالثة مواقع إلقامة مصنع إنتاج
زبائن جاهزين بطلبات معروفة 4يوجد لدي الشرآة آل موقع من هذه المواقع له تكلفة تشغيل شهرية . لمنتجاتك
وطرق شحن للمدن التي يقطن فيها الزبائن آما أن لهاتكاليف لكل مصنع إمكانية شحن اليجب أن . تتغير مع الزمن
المطلوب هو تحديد اي مصنع أو مصانع يتم . يتجاوزها فتحها وآم من المنتج يرسل من آل مصنع مفتوح إلى آل .زبون بحيث تقلل من تكلفة الشحن وتكلفة تشغيل المصانع
A. Barry, Professor of Statistics & O.R./M.S
: النموذج
A. Barry, Professor of Statistics & O.R./M.S
... يتبع
A. Barry, Professor of Statistics & O.R./M.S
: المجموعات PLANTS لدينا مجموعتين أولية في هذا النموذج المصانع
من هذه المجموعتين نشتق . CUSTOMERSوالزبائن وهي تهجين بين المجموعتين ARCSمجموعة آثيفة تسمى
نستخدم هذه المجموعة لتمثيل طرق الشحن بين . السابقتين .المصانع والزبائن
A. Barry, Professor of Statistics & O.R./M.S
: المتغيرات الصفة . لدينا مجموعتين من متغيرات القرار في هذا النموذج
VOL والمعرفة على المجموعة ARCS تمثل حجم الشحنة الصفة ). قوس ( من المصانع للزبائن على آل طريق شحن
OPEN والمعرفة على المجموعة PLANTS تمثل إذا آان 1 تكون OPEN(P)وبالتحديد . المصنع المفتوح
OPENعناصر الصفة . 0 مفتوحا وإال تساوي Pالمصنع تجعل ثنائية بإستخدام التعبير
! Make OPEN binary(0/1);@FOR( PLANTS: @BIN( OPEN));
A. Barry, Professor of Statistics & O.R./M.S
: الهدف هو تقليل التكلفة الكلية والتي هي مجموع تكاليف الشحن
وتكاليف تشغيل المصانع والتي تحسب بالتعبير ! The objective;
[TTL_COST] MIN = @SUM( ARCS: COST * VOL) +@SUM( PLANTS: FCOST * OPEN);
تكاليف الشحن في دالة الهدف تحسب من @SUM( ARCS: COST * VOL)
وتكاليف تشغيل المصانع تحسب من @SUM( PLANTS: FCOST * OPEN)
A. Barry, Professor of Statistics & O.R./M.S
:القيود : توجد بالنموذج مجموعتين من القيود
. آل زبون يجب ان يرسل إلية آمية آافية من المنتج تحقق طلبه -1 . آل مصنع اليمكنه إمداد آمية اآبر من طاقته اإلستيعابية -2
مطلوبة التعبير التالي يضمن أن آل زبون يتحصل على الكمية من المنتج ال! The demand constraints;
@FOR( CUSTOMERS( J): [DEMAND]@SUM( PLANTS( I): VOL( I, J)) >= DEM( J) );
. لبه لكل زبون نجمع الكمية المشحونة له ونجعلها اآبر من أو تساوي لط : لتقييد آمية الشحنة المرسلة من آل مصنع لسعة ذلك المصنع نستخدم
! The supply constraints;@FOR( PLANTS( I): [SUPPLY]@SUM( CUSTOMERS( J): VOL( I, J)) <= CAP( I) * OPEN( I) );
أقل من أو تساوي الطاقة لكل مصنع نجمع آمية الشحنات المرسلة منه لكل الزبائن ونجعلها الحظ انه لكي يمكن ألي مصنع . OPEN للمؤشر 1 أو0اإلستيعابية لذلك المصنع مضروبة في
. بهذه القيود1 يجبر لكي يساوي OPENأن يشحن أي آمية من المنتج فإن المتغير الثنائي
A. Barry, Professor of Statistics & O.R./M.S
حل مسألة إختبار سابق
:مشكلة خلط األصناف األربعة تعرف . أصناف من المكسرات المشكلة4شرآة تصنيع حلويات تسوق
آل صنف يحتوي على نسبة . King و Bishop و Knight و Pawnبأألسماء التجارية الجدول التالي يعطي عدد االونسات من . Cashewsو الكاشو Peanutsمحددة من اللوز
: اللوز والكاشو في آل رطل من األصناف األربعة وسعربيع الرطل لكل صنف
رطل من الكاشو يوميا 250 رطل من اللوز و 750أبرمت الشرآة عقد مع جهة لتموينها مشكلة الشرآة هي تحديد عدد األرطال التي تنتجها آل يوم من آل صنف . ألغراض اإلنتاج
.كاشوبحيث تحقق أقصى دخل بدون تجاوز الكميات الموردة يوميا من اللوز وال
A. Barry, Professor of Statistics & O.R./M.S
The Formulation:التشكيل
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
A. Barry, Professor of Statistics & O.R./M.S
...يتبع
A. Barry, Professor of Statistics & O.R./M.S
: النموذج الكامل
A. Barry, Professor of Statistics & O.R./M.S
: الحل: تقرير مختصر للحل
A. Barry, Professor of Statistics & O.R./M.S
... يتبع