عرض المشكلة:
قسم التصنيع في شركة إلكترونات يقوم بصناعة
ساعات رقمية. في قسم التوزيع تعبأ الساعات بشكل تلقائي بواسطة آلة تعبئة في علب
جاهزة للعرض بالكميات التي يطلبها الموزعون. حجم الطلب يعطى بالدالة التالية:
Order Size      6    12
   18    24    30    36    48
Frequency   .10   .25   .30   .15   .12   .05   .03
متوسط الزمن بين وصول الطلبات 15
دقيقة موزع أسيا. زمن التعبئة لكل طلب 120 ثانية بالإضافة إلى 10
ثوان لكل ساعة رقمية تعبأ في الطلب. قسم التصنيع ينتج الساعات الرقمية في مجموعات
بحجم 60 وحدة في 455 دقيقة.
حاكي 5 أيام من نشاط الشركة
لكي تعطي المعلومات التالية:
1-   
متوسط عدد
الطلبات المنتظرة في قسم التعبئة
2-   
كمية الساعات
الرقمية الموزعة كل يوم
3-   
توزيع
الأوقات الإنتقالية transit times
للطلبات 
عرض البرنامج:
; GPSS World Sample File -
MANUFACT.GPS, by Gerard F. Cummings
*********************************************************************
*            
Manufacturing Company                                  
*
**********************************************************************
*      Time Unit is one hour                                         
* 
Sizeorder
FUNCTION   RN1,D7                 
;Order size
.10,6/.35,12/.65,18/.80,24/.92,30/.97,36/1.0,48
Transit   TABLE      M1,.015,.015,20        
;Transit time
Number    TABLE      X1,100,100,20           ;No.
packed each day
Ptime     VARIABLE   .0028#P1+0.0334        
;Packing time
Amount    EQU       
1000                   
;Initial stock amount
Stock     STORAGE    4000                   
;Warehouse holds 
                       
                     ;  4000 units
**********************************************************************
         
GENERATE  
(Exponential(1,0,0.25)) ;Order arrives
          ASSIGN     1,1,Sizeorder          
;P1=order size
          TEST GE    S$Stock,P1,Stockout     ;Is stock sufficient?
          LEAVE      Stock,P1               
;Remove P1 from stock
          QUEUE      Packing
          SEIZE      Machine                
;Get a machine
          DEPART     Packing
          ADVANCE    V$Ptime                 ;Packing
time
          RELEASE    Machine                
;Free the machine
         
SAVEVALUE  1+,P1                  
;Accumulate no. packed
         
TABULATE   Transit                
;Record transit time
          TERMINATE
Stockout  TERMINATE
**********************************************************************
         
GENERATE  
0.75,0.08334,1          ;Xact every
40+/-5 mins
          ENTER      Stock,60               
;Make 60, Stock
*                                              
increased by 60
Stockad   TERMINATE
**********************************************************************
         
GENERATE   8                      
;Xact every day  
         
TABULATE   Number
         
SAVEVALUE  1,0
         
TERMINATE  1
**********************************************************************
         
GENERATE   ,,,1,10                
;Initial stock xact
          ENTER     
Stock,Amount           
;Set initial stock
          TERMINATE
**********************************************************************
 
النموذج منظم في عدة
أجزاء. بعد تعريف الكائنات  function و  variableو  Storage توجد أربع أجزاء من النموذج.
المتعاملين قي الجزء الأعلى من النموذج يمثلوا الطلبات، والمتعاملين في الجزء
التالي يضيفوا مجموعات من 60 ساعة رقمية إلى المخزون، المتعاملين في الجزء التالي يجدولوا
المبيعات اليومية ويوقتوا زمن المحكاة الكلي بالأيام، والمتعامل في الجزء الأخير
من النموذج يستهل مستوى المخزون إلى 1000 وحدة.
تقاس وحدات الزمن
بالساعات. مستوى المخزون مثل بالمتغير S$Stock ، وهو المحتوى
الحالي في كائن المخزون Stock و لهذا نستخدم LEAVE لكي
نأخذ من المخزون و ENTER لكى نضيف إليه. الطلبات غير الملباة هي
مخزون منتهي stockouts . مساحة تخزين البضائع المتاحة تكفي لـ 4000 وحدة. مستوى المخزون الممثل بـ S$Stock
يستهل بـ 1000
وحدة عند بداية المحاكاة بواسطة متعامل ذا افضلية عليا في الجزء الأخير من
النموذج. هذا المتعامل سيكون أول من يتحرك في المحاكاة.
إجراء المحاكاة:
لكي نجري المحاكاة ونولد تقرير معياري نختار
 File / Open وفي صندوق الحوار نختار MANUFACT ثم نضغط  Open ثم نخلق المحاكاة بالأمر  Command / Create Simulationثم نختار  Command / STARTونكتب 5 بدلا من قيمة 1
الموجودة ثم  OKستنتهي المحاكاة عند دخول 5
متعاملين قالب  TERMINATE 1 وهذا
يمثل 5 أيام من عمل المصنع. كالمعتاد سيكتب تقرير معياري
إلى الملف Manufact.1.1
كما ان هذا التقرير يعرض ذاتيا في نافذة التقارير.
مناقشة النتائج:
نستطيع الإجابة على الأسئلة المطروحة في عرض
المشكلة من المعلومات الناتجة في التقرير:
·      
متوسط عدد
الطلبات المنتظرة في قسم التعبئة هو فقط 0.12
. وهو من قيمة Ave. Cont.
في التقرير تحت Queue Entity
Packing.
·      
توزيع
الساعات الرقمية الموزعة يوميا معطى في Table Number .
داخل المحاكاة:
لنستعرض الآن حالة نهاية المحاكاة والتي
تولد لديها التقرير. لنستخدم الأمر SHOW
لننظر إلى بعض الصفات العددية للنظام System Numeric Attributes . أولا عدد الطلبات المتلقاه ،
نختار Command / SHOW وفي صندوق الحوار نكتب  N1 ثم  OK. سوف تشاهد النتيجة 169
في سطر الحالة Status Line
في النافذة الرئيسية وفي نافذة الجريدة Journal Window كذلك. سوف نفحص الأن عدد المرات
التي حدث فيها نفاذ المخزون stockout
، نختار   Command / SHOW ثم نكتب في صندوق الحوار  N$Stockout ثم  OK.
لنشاهد بعض النوافذ الرسومية، نختار 
Window
/ Simulation Window / Storages Window
وهي نافذة المخازن Storages Window مستوى المخزون stock level يمثل بالمحتويات
الحالية لكائن المخزون Storage
Entity والتي قيمتها هنا 898 ستجد هذه القيمة تحت
المخزن المستخدم Storage In Use
في نافذة المخازن Storages Window
. مستوى المخزون الحالي مرتفع جدا، إذا لم نتمكن من زيادة المبيعات فيجب علينا
إنقاص مستوى الإنتاج. لنشتكشف نوافذ رسومية أخرى بعد إغلاق نافذة المخازن. نختار  Window / Simulation Window / Facilities
Window . نشاهد
أن فعالية آلات التعبئة منخفضة جدا. لون الآيقونة يبين لنا أن الآلة مشغولة حاليا.
القي نظرة على القيم الأخرى المتاحة لك في الجزء المفصل من النافذة. لننظر الآن
إلي الجدول الإنتقالي Transit
Table لنختار 
 Window / Simulation Window / Table
Window
وفي صندوق الحوار اوجد Transit إضغط على   Transit ثم إختار   OK هذا يبين توزيع الأزمان الإنتقالية للطلبات order transit times . لننظر إلى جدول
الأعداد Number Table
إختار 
Window
/ Simulation Window / Table Window
في صندوق الحوار سنجد ان  الجدول المسمي Number قد إختير فأضغط على  OK ، جدول الأعداد يبين المدرج التكراري للساعات الرقمية
المعبئة كل يوم. 
إقفل نافذة الرسومات. لنقم بالتجربة
التالية: لنخلق طلب عندما يكون المخزون عند أعلى مستوا له. نفتح نافذة القوالب
بإختيار  Window / Simulation Window / Blocks Window بالإستعانة بمؤشر الفارة إختار اول قالب TERMINATE في النموذج ( الذي
يتبع قالب TABULATE
) وأضغط عليه. ستشاهد ان لون القالب يضيء. الآن لنضع شرط توقف Stop Condition على هذا القالب، إضغط
على The Place Icon in the
Debugging Toolbar  ثم اختار  Command / STARTوفي صنوق الحوار أكتب  5,NP ثم  OK عندما تتوقف المحاكاة حرك المتعامل النشط إلى الأعلى
إلى جزء النموذج الخاص بالطلب، إختار  Command / Customوفي صندوق الحوار أكتب  TRANSFER ,2ثم OK ، الآن لاحظ الطلب بإجراء المحاكاة خطوة
خطوة بإستخدام Ctrl+Alt+1
لعدة مرات. لاحظ النتائج ودون ملاحظاتك. 
قم ببعض التجارب على معالم النظام ولاحظ مايحدث ثم دون ملاحظاتك.