2' 'ư>HELPA\NhNN:lLPCONTINUE n((OEXIT&%p=lHALTމPlLPOdSTEP 1f4߉lg STOP߉X^F%EFSTOP ,,OFFg^w@߉U T߉W O#gp߉.Od#Eg|߉#E|ŻOdg#EModelsSupermrk.gpsLFeCFEOpjLpjrjE(((((((((({\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fmodern Courier New;}} {\colortbl\red0\green0\blue0;} \deflang1033\pard\tx1200\tx2400\tx4450\plain\f2\fs20 ; GPSS World Sample File - SUPERMRK.GPS, by Gerard F. Cummings \par *********************************************************************** \par * * \par * Supermarket Simulation Model * \par * Time Unit = 1/10 Of a Second * \par *********************************************************************** \par RMULT 1187 \par First EQU 2 \par Last EQU 18 \par Qty VARIABLE (RN1@96+5) \par Finance VARIABLE (RN1@3+1)#50+200 \par Transit TABLE M1,10000,10000,7 ;Time in system \par Items TABLE P$Quantity,10,10,10 ;No. of items bought \par Shoppers TABLE X$Customers,100,50,12 ;No. of shoppers \par Baskt STORAGE 70 \par Cart STORAGE 650 \par Park STORAGE 650 \par Checkout VARIABLE (P$Quantity)#20+P$Payment \par Tshop VARIABLE P$Quantity#100 \par INITIAL X$Customers,0 \par *********************************************************************** \par Beg TRANSFER Both,,Lost ;Tries to park or leaves \par ENTER Park ;Park in parking lot \par ADVANCE 600 ;Time to walk from car \par SAVEVALUE Customers+,1 ;One more customer \par ASSIGN Quantity,V$Qty ;Param quantity = No. \par ; items bought \par ASSIGN Payment,V$Finance ;Param payment = Method \par ; payment \par TEST LE P$Quantity,10,Qcart ;Items >10 Get cart \par GATE SNF Baskt,Qcart ;Check basket available \par QUEUE Basket ;Queue for a basket \par ENTER Baskt ;Get a basket \par DEPART Basket ;Leave queue \par ASSIGN Carrier,Baskt ;Param carrier \par ; assigned baskt \par TRANSFER ,Shop ;Proceed to shop \par *********************************************************************** \par Qcart QUEUE Carts ;Queue for a cart \par ENTER Cart ;Get a cart \par DEPART Carts ;Depart carts queue \par ASSIGN Carrier,Cart ;Param carrier assigned cart \par Shop ADVANCE V$Tshop ;Shopping time elapses \par TEST LE P$Quantity,10,Norm ;Items < 10 go to express \par COUNT L Where,First,Last,1,Q ;Any empty checkouts? \par TEST E P$Where,0,Norm ;Some empty checkouts? \par QUEUE Xpress ;Queue at express \par SEIZE Xpres ;Get express checkout \par DEPART Xpress ;Depart express queue \par ADVANCE V$Checkout ;Checkout time \par RELEASE Xpres ;Free express checkout \par LEAVE P$Carrier ;Leave the basket \par TRANSFER ,Fin \par *********************************************************************** \par Norm SELECT MIN Minque,First,Last,,Q ;Find minimum queue \par QUEUE P$Minque ;Join the min queue \par SEIZE P$Minque ;Get the checkout \par DEPART P$Minque ;Depart the queue \par ADVANCE V$Checkout ;Checkout time \par RELEASE P$Minque ;Free the checkout \par LEAVE P$Carrier ;Leave the cart \par Fin TABULATE Transit ;Record transit time \par TABULATE Items ;Record items bought \par SAVEVALUE Customers-,1 ;One customer leaves \par ADVANCE 600 ;Walk to the car \par LEAVE Park ;Leave the car park \par TERMINATE \par Lost TERMINATE ;One customer lost \par *********************************************************************** \par * Arrivals for 0 - 30 min. \par GENERATE (Exponential(1,0,60)),,,300 ;A Customer \par ; arrives \par TRANSFER ,Beg \par * Arrivals for 30 - 90 min. \par GENERATE (Exponential(1,0,40)),,18000,900 ;Arrival rate \par ; after .5 hours \par TRANSFER ,Beg \par * Arrivals for 90 - 150 min. \par GENERATE (Exponential(1,0,80)),,54000,450 ;Arrival rate \par ; after 1.5 hrs \par TRANSFER ,Beg \par * Arrivals for 150 min + \par GENERATE (Exponential(1,0,120)),,90000 ;Arrival after \par ; 2.5 hours \par TRANSFER ,Beg \par *********************************************************************** \par GENERATE 600 ;Xact each minute \par TABULATE Shoppers ;Record number of customers \par TERMINATE 1 \par *********************************************************************** \par \par \par }