6- محاكاة نظام تخزين بنقطة طلب:
عرض
المشكلة:
نظام تخزين تتحكم به نقطة طلب order point ، وضعت عند 600
وحدة، وكمية طلب إقتصادية economic
order quantity  من 500
 وحدة. كمية المخزون
الأولية 700 وحدة. الطلب اليومي في المجال 40
إلى 63 وحدة موزعة بالتساوي. زمن التقدم lead time  من الطلب حتي توصيل البضائع 5  أيام.
حاكي نظام التخزين لمدة 100
يوم
عين توزيع المخزون والمبيعات
اليومية الفعلية
عرض
البرنامج:
;
GPSS World Sample File - ORDERPNT.GPS, by Gerard F. Cummings
*********************************************************************        
*                                                                  
*     
*           
Order Point Inventory System                          
*
*                                                                  
*
*********************************************************************
* 
Initialize and define
          INITIAL    X$EOQ,500        
;Economic order qty.
          INITIAL    X$Point,600       ;Order point
          INITIAL    X$Stock,700       ;Set initial
stock=700
Inventory TABLE      X$Stock,0,50,20   ;Table of stock levels
Sales     TABLE      P$Demand,38,2,20  ;Table of sales levels
Var2      VARIABLE   RN1@24+40
*********************************************************************
         
GENERATE   ,,,1
Again 
   TEST L     X$Stock,X$Point   ;Order placed on successful test
          ADVANCE    5                
;Lead time = 1 week
         
SAVEVALUE  Stock+,X$EOQ      ;Economic order
         
TRANSFER   ,Again           
;Cycle transaction again
*********************************************************************        
         
GENERATE   1                
;Daily demand xact
          ASSIGN     Demand,V$Var2     ;Assign daily demand
         
TABULATE  
Inventory         ;Record inventory
          TEST GE    X$Stock,P$Demand  ;Make sure order can be filled
         
SAVEVALUE 
Stock-,P$Demand  
;Remove demand from stock
         
SAVEVALUE 
Sold,P$Demand    
;X$Sold=Daily demand
         
TABULATE   Sales            
;Record daily sales
          TERMINATE  1                
;Daily timer
*********************************************************************
 
النموذج مرتب في عدة
أجزاء. قالب GENERATE الأول يولد متعامل مفرد والذي يقوم بإعادة الطلب. هذا المتعامل
يمضي معظم وقته بإنتظار الدخول في حالة قالب إختبار رفض refuse mode TEST مرمز Again . قالب الإختبار هذا يشعر بحالة مستوى
المخزون عنما تكون تحت نقطة الطلب. عنما يكون مستوى المخزون تحت نقطة الطلب فإن
المتعامل المنتظر يمر إلى قالب ADVANCE وينتظر 5 أيام ويضيف الطلب إلى المخزون ثم
ينتظر للوقت التالي عنما يكون مستوى المخزون أقل من نقطة الطلب.
قالب GENERATE الثاني يولد المتعاملين اليومية والتي تمثل طلبات الزبائن. إذا
لم  يكن ممكنا تحقيق طلب يمنع دخوله
إلى قالب TEST . يمكنك إحاطة كل قالب إختبار رفض بقوالب QUEUE و DEPART إذا
اردت تقريرا عن التأخر هناك.
 
إجراء المحاكاة:
 لكي نجري المحاكاة ونولد تقريرا معياري
نختار  File / Openوفي صندوق الحوار نختار  ORDERPNTثم   Openقبل ان نبدأ المحاكاة
لنجهز رسم نشاهد من خلاله متغيرين في النموذج. لكن قبل هذا يجب خلق المحاكاة حتي
نستطيع الوصول إلى نافذة الرسم، نختار 
 Command / Create Simulation  ثم نختار 
Window / Simulation Window
/ Plot Window
وفي نافذة تحرير الرسومات أدخل
المعلومات كما هو مبين في الشكل التالي:

سوف نرسم الطلب اليومي ومستوي
المخزون علي نفس الرسم. ( ملاحظة: أدخل المعلومات بدون أن تضغط علي مفتاح Enter ) إضغط على  Plot ثم   Memorize ثم أدخل مجموعة القيم
الثانية التي نريد رسمها، في خانة الرمز بدل القيمة الموجودة بـ    Inventory Level وفي خانة
التعبير بدل القيمة الموجودة بـ  X$Stock ثم إضغط على   Plot و على  Memorize ثم   OK حرك نافذة
الرسم بشكل يجعلها سهلة المشاهدة اثناء المحاكاة ثم إختار  Command / START وفي صندوق
الحوار إستبدل 1 بـ 100 ثم  OK
تنتهي المحاكاة بعد مرور 100
يوم ويكتب التقرير المعياري إلى الملف Orderpnt.1.1 كما يعرض في نافذة
التقارير.  نافذة الرسم ستبدوا أثناء
المحاكاة كالتالي: 
 

نافذة الرسومات
مناقشة
النتائج:
يبدوا من الرسم أن تصرف نظام
المخزون واضح حيث نشاهد أن مستوى المخزون يتغير. جدول المخزون في التقرير تبين ان
مستوى التخزين لم ينقص عن 300 وحدة.
داخل
المحاكاة:
لنستكشف الآن حالة نهاية
المحاكاة والتي تولد عندها التقرير السابق. لنستخدم الأمر SHOW لننظر متوسط مستوى المخزون  Command / SHOW وفي صندوق الحوار أكتب  TB$Inventory ثم  OK 
هذا سيبين متوسط مستوى
المخزون. وهو مقياس لكمية المال المربوطة في المخزون. عند 612 يبدوا نسبيا مرتفع.
ربما نستطيع توفير بعض المال بتغيير بعض المدخلات في نظام التخزين المحاكى.
لننظر إلى بعض الرسومات. أولا
صغر نافذة الرسوم لأننا سنحتاجها لاحقا. أفتح نافذة جدول المخزون Inventory Table إختار  Window / Simulation
Window / Table Window وبما ان Inventory Table موجودة في صندوق
الحوار إضغط على OK . هذه نافذة جدول Inventory Table هذا الجدول يبين
توزيع مستوى المخزون اليومي. لنراقب نشاط بضعة ايام اخرى، لنختار 
Command
/ START وفي صندوق الحوار أكتب   100,NP ثم  OK اقفل
نافذة الجدول ولنفتح نافذة القوالب  Window / Simulation Window / Blocks Window نلاحظ ان هذا النموذج بسيط جدا. المتعامل في الجزء الأعلى ينتظر شرط إعادة
طلب، والجزء السفلي يخلق متعاملين يمثلوا المبيعات اليومية. إجر المحاكاة مرة اخرى
ولاحظ الإنسياب في نافذة القوالب. إختار  Command / START وفي صندوق
الحوار أكتب   50,NP ثم  OK . لنغير شيئا في النظام لنبدل نقطة الطلب إلى 300 بدلا من 600
والمخزون الأولي إلى 400 بدلا من 700 ، نختار  Command / Customوفي صندوق الحوار أكتب  Clear Off  ثم   OK. الأمر CLEAR يزيل كل
المتعاملين كما انة يصفر كل القيم المحفوظة Savevalue ولكن بإستخدام العامل
Off جعلناة يبقي علي
القيم الحالية للقيم المحفوظة وسوف نغير فقط بعض القيم المختارة للقيم المحفوظة
لنختار   Command / Custom وفي صندوق الحوار أكتب  INITIAL X$Point,300 ثم إضغط Enter
ثم في نفس الصندوق أكتب  INITIAL X$Stock,400 ثم  OK. لم نغير الكمية
المطلوبة إذ ستظل 500 . لننظر الى الرسم ونحن نجري
المحاكاة، أولا اقفل نافذة القوالب. الأمر CLEAR صفر الرسم السابق، كبر نافذة الرسوم وأبدأ المحاكاة  Command / STARTثم اكتب   100,NPثم OK.
نحتاج معرفة إذا ماحدث نفاذ مخزون stockout
وهذا نحصل عليه من كائن الجدول Inventory
إختار   Window / Simulation Window / Table Window ثم  OK
لاحظ ان المخزون لم يعاني اي
فقد او ضياع. هذا واضح لأن فئة التكرار العليا التي قيمتها 0 فارغة. القيم الحدية
للفئات التكرارية تكون مشمولة دائما في العمود الذي إلى يسار القيمة. ايضا نشاهد
ان متوسط مستوى المخزون هو فقط 329.1 . وهذا تحسن جيد عن
النموذج السابق. قبل تقديم تقرير عن هذه النتائج يجب ان نبرهن ان الفرق بين
النموذجين لم يتأتى بالصدفة أي انة عشوائي بحت. كما يجب التخلص من حالة البدء starting conditions من الإحصائات
النهائية وذلك بإستخدام الأمر RESET
والذي سنناقشة لاحقا مع الأمر ANOVA
.