next up previous contents
Next: Remarks about the program Up: INTRODUCTION Previous: Standard Statistics

Example 2. Port with Three Types of Piers

This is the simulation of a port that has three types of piers to receive different types of ships:

  1. ships with general charge,
  2. ships that bring charge to be discharged in bulk to silos, and
  3. ships that come to be repaired.

The port has an entry channel in which only a ship at a time is allowed to pass. The same channel is used to enter to the piers and to exit, once the operation in the port is finished.

   Model of a Port.                               (C. Domingo 2/23/96)
   Ships arrive at a port with interval times with exponential
   distribution with mean Tbarr.
   There are 3 types of ships. The type is selected from an empirical
   random distribution by means of a function FTyp.
   According to the type they go to the piers 1, 2 or 3.
   The ships are queued before the entry channel. A ship is allowed to
   pass only if the channel is free and the ship has a place in the pier
   of its type.
   The time spent in passing the channel is a fixed value TChannel.
   In the pier the ship remains a time taken from a Gamma distribution
   The mean TPier depends on the type. The deviation is 10\% of the mean.
   Each ship uses only one position in the pier.
   To the served ships the type 4 is assigned and they are sent to the
   channel to exit the system.
   Make a frequency table of the mean time in the system.
   Experiment with different serving times in the piers.

   NETWORK

    Entrance (I) :: IT := EXPO(Tbarr); ShiTyp := FTyp;

    Control(G)  :: IF (F_Pier[ShiTyp] > 0) and (F_Channel > 0)
                          THEN SENDTO(Channel);

    Channel (R) Pier[ShiTyp], Departure ::
                RELEASE   IF ShiTyp = 4 THEN SENDTO(Exit)
                                    ELSE SENDTO(Pier[ShiTyp]);
                STAY := TChannel;

    Pier (R) [1..3] Channel ::
                STAY := GAMMA(TPier[ShiTyp], 0.1 * TPier[ShiTyp]);
                USE := 1; ShiTyp := 4;

    Departure (E) :: TinSys := TIME - GT; TAB(TinSys, TabTSys);

    INIT
     TSIM := 1200; ACT(Entrance, 0);
     Tbarr := 4;                       (*Mean time between arrivals       *)
     TChannel := 0.2;                  (*Time to pass the channel         *)
     FTyp := 1, 50 / 2, 40 / 3, 10;    (*Values of frequency of types     *)
     ASSI Pier[1..3] := (4, 2, 1);     (*Capacities of the piers          *)
     ASSI TPier[1..3] := (20, 12, 28); (*Mean time spent in the piers     *)
     TabTSys := 0, 15, 5;              (*Parameters of the frequency table*)
     TITLE := 'Port. Basic experiment';
     INTI TPier: 7: 2: Time in the Pier ;

    DECL
     VAR Tbarr, TinSys, TChannel: REAL;
         TPier: ARRAY[1..3] OF REAL;
         MESSAGES Entrance(ShiTyp: INTEGER);  (*structure of the messages   *)
         TABLES TinSys: TabTSys;        (*table of frequencies for TinSys   *)
         GFUNCTIONS  FTyp FREQ (INTEGER): REAL: 3;  (*frequency function    *)
         STATISTICS ALLNODES;
 END.




Marta Sananes-Domingo
Fri Mar 17 10:05:26 PST 2000