• Nie Znaleziono Wyników

modeling of a liquid bulk terminal

N/A
N/A
Protected

Academic year: 2021

Share "modeling of a liquid bulk terminal"

Copied!
37
0
0

Pełen tekst

(1)

Delft University of Technology

FACULTY MECHANICAL, MARITIME AND MATERIALS ENGINEERING

Department Marine and Transport Technology Mekelweg 2 2628 CD Delft the Netherlands Phone +31 (0)15-2782889 Fax +31 (0)15-2781397 www.mtt.tudelft.nl

This report consists of 36 pages and 1 appendices. It may only be reproduced literally and as a whole. For commercial purposes only with written authorization of Delft University of Technology. Requests for consult are

Specialization: Production Engineering and Logistics Report number: 2013.TEL.7772

Title: Modeling of a liquid bulk terminal

Author: P.F. van der Hammen

Title (in Dutch) Modelleren van een gas/vloeistofterminal

Assignment: Programming Assignment

Confidential: no

Initiator (university): dr.ir. J.A. Ottjes

Supervisor: dr. ir. J.A. Ottjes

(2)

Content  

  CONTENT  ...  1

 

PREFACE  ...  2

 

SUMMARY  ...  2

 

1

 

INTRODUCTION  ...  3

 

1.1

 

ASSIGNMENT  DESCRIPTION  ...  3

 

2

 

SIMULATION  OF  THE  TERMINAL  ...  5

 

2.1

 

THE  TERMINAL  SYSTEM  ...  5

 

2.2

 

THE  SIMULATED  SYSTEM  ...  5

 

2.3

 

OBJECTIVE  OF  THE  SIMULATION  ...  6

 

2.3

 

PROCESS  DESCRIPTION  ...  6

 

2.4

 

ELEMENTS  ...  7

 

2.4.1

 

Jetty  ...  7

 

2.4.2

 

Ship  ...  9

 

2.4.3

 

Ship  Generator  ...  9

 

2.4.4

 

Weather  ...  9

 

2.4.5

 

Product  ...  9

 

2.4.6

 

Animation  ...  11

 

2.5

 

QUEUES  ...  11

 

2.6

 

DISTRIBUTIONS  ...  11

 

2.6.1

 

Exponential  Distribution  ...  11

 

2.6.2

 

Normal  Distribution  ...  11

 

2.6.3

 

Erlang-­‐k  Distribution  ...  11

 

2.6.4

 

Uniform  Distribution  ...  12

 

2.7

 

ASSIGNMENT  METHODS  ...  12

 

2.7.1

 

First  In  First  Out  (FIFO)  ...  12

 

2.7.2

 

Advanced  ...  12

 

2.8

 

PARAMETERS  ...  13

 

2.9

 

ASSUMPTIONS  ...  14

 

3

 

GENERAL  USER  INTERFACE  ...  15

 

3.1

 

INPUT  PARAMETERS  ...  15

 

3.2

 

INPUT  PRODUCTS  ...  16

 

3.3

 

SIMULATION  ...  18

 

4  

 

MODEL  VERIFICATION  ...  20

 

4.1

 

CALCULATIONS  AND  REASONING  ...  20

 

4.2

 

DEMO  RUN  CASE  ...  23

 

4.2.1

 

Parameters  ...  23

 

4.2.2

 

Results  ...  24

 

4.2.3

 

Evaluation  ...  25

 

REFERENCES  ...  26

 

APPENDIX  A:  PROCESS  DESCRIPTION  LANGUAGE  (PDL)  ...  27

 

 

(3)

Preface  

The   report   in   front   of   you   is   a   result   of   my   simulation   assignment   for   the   master   Production   Engineering  and  Logistics  at  the  faculty  Mechanical,  Maritime  and  Materials  Engineering  (3mE)   of  the  Delft  University  of  Technology.    

 

The   assignment   is   a   substitute   for   a   literature   assignment   performed   in   the   2nd   year   of   the  

master  program.  It  seeks  to  present  the  students  with  the  possibility  to  build  some  skills  in  the   field   of   discrete   simulations.   Things   learned   during   this   assignment   can   be   useful   in   future   assignments  such  as  the  MSc  project  or  after  graduation.  

 

As  the  preferred  language  of  the  section  is  the  English  the  report  is  written  in  English.  The  code   for  the  simulation  however  is  written  in  my  native  language:  Dutch.    

 

Finally  I’d  like  to  thank  Dr.  Ir.  J.  Ottjes  for  guiding  me  in  the  process  to  this  final  result.  It  took   some  hard  work  as  I  concurrently  unofficially  started  off  with  my  MSc  project.  As  the  report  is   now  finished  I’m  grateful  for  the  things  I’ve  learned  during  the  development  of  the  simulation.    

Pieter  van  der  Hammen    

Delft,  22  April  2013    

Summary  

In   this   report   a   simulation   program   has   been   developed   to   model   the   berth   and   mooring   processes  of  a  liquid  bulk  terminal.  The  goal  of  the  simulation  was  to  find  a  minimum  for  the   demurrage  of  the  terminal.  The  demurrage  was  minimized  as  a  function  of  the  number  of  jetties,   number  and  type  of  connections  and  the  assignment  method  of  ships  to  jetties.  By  analyzing  the   system,  defining  the  different  elements  and  their  processes,  and  transform  them  into  a  model,   the  simulation  was  build.  As  assignment  methods  First-­‐In-­‐First-­‐Out  and  Shortest  Job  First  were   selected.  In  order  to  verify  the  simulation,  reasoning  and  hand  calculations  were  used.    

 

(4)

1  

Introduction  

The  simulation  program  build  for  this  assignment  represents  the  berth  and  mooring  processes   of  a  liquid  bulk  terminal.    

 

A  liquid  bulk  terminal  is  a  terminal  where  liquids  or  gasses  such  as  LNG,  Gasoline  and  Petroleum   etc.  are  imported,  exported  and  stored.  They  are  a  small  but  vital  chain  in  the  logistic  chain  of   these  liquid  products.    

 

Major  costs  for  terminal  exploiters  are  the  demurrage  costs  of  ships.  When  a  ship  has  to  wait   longer  than  contractually  agreed  before  it  can  be  served  at  a  jetty,  the  terminal  has  to  reimburse   the  costs  made.    

 

The  berth  and  mooring  processes  define  for  a  large  part  the  amount  of  demurrage  of  a  terminal.   Events   that   influence   these   processes,   such   as   arrival   patterns   of   ships,   behave   stochastically   and  therefore  to  optimize  demurrage  costs,  simulation  can  be  used.  With  addition  of  a  planning   algorithm  demurrage  can  be  further  decreased.  

 

The  program  for  the  simulation  that  is  used  is  TOMAS  Delphi.  TOMAS  (Tool  for  Object-­‐Oriented   Modeling  and  Simulation)  is  a  simulation  package  i.a.  used  at  the  Delft  University  of  Technology   to  perform  discrete  simulations.    

 

The  brief  introduction  of  the  report  will  wrap  up  with  a  description  of  the  assignment.  Following   the   assignment   description,   the   simulation   of   the   terminal   is   discussed.   In   chapter   three   the   general  user  interface  of  the  simulation  program  is  discussed.  A  verification  of  the  model  and  a   test  case  are  explained  in  chapter  four.    

1.1   Assignment  Description  

The   modelling   system   involves   the   import   and   export   of   resource   products  and  finished  products  from  a   chemical   plant   in   gaseous   and   liquid   gas  

 

Example   materials:   naphtha,   LPG   by   about   30   derivatives.   This   example   is   arbitrary.   The   model   should   generally   configurable  for  all  similar  systems.    

Global   input   is   the   total   tonnage   of   product   that   is   made   per   year.   This   flow   is   divided   between   the   imported   products  and  the  export  products.  For   example;   10   Mt/year,   4   Mt/year  

naphtha   and   6   Mt/year   LPG,   processed   into   10/Ep   Mt/year   finished   product,   with   Ep   as   the   number  of  finished  products.  

 

All  values  must  be  parameterized  in  the  model  input.    This  i.a.  applies  to:  

 The  resource  products  and  relative  flow,  to  be  referred  to  g1,  f1,  g2,  f2,  etc.    The  end  products  and  relative  flow  to  identify  with  p1,  f1,  p2,  f2  etc.    Number  of  jetties.  

 At  the  jetty  the  products  that  can  be  pumped  +  pump  capacities.  

 Customers  with  demand  for  finished  products  with  characteristic  ship  size  (it  follows  the   average  inter-­‐arrival  time  of  customer  ships).  

(5)

 Inter  Arrival  Distribution  of  ships  per  customer  and  also  the  resource  product  supply.    

Arriving  vessels  and  also  ships  underway  which  is  to  predict  the  arrival  time  should  be  allocated   to  a  jetty.  A  minimum  of  two  algorithms  required  for  this  assignment:  

 Simple,  e.g.  based  on  FIFO.  

 Advanced,   e.g.   with   provisional   allocation   and   recalculated   after   every   relevant   event   (arrival  or  completion  ship,  disruption  (fog,  storm,  etc.))  and  taking  into  account  future   ships.  

 

Application  of  the  model  

The  model  should  be  a  realistic  case  plan,  minimizing  the  demurrage  as  a  function  of:    The  number  of  jetties  (as  little  as  possible    least  costs).  

 The  product  range  per  jetty  (as  small  as  possible    least  costs).  

(6)

2  

Simulation  of  the  Terminal  

 

The  simulation  model  is  a  representation  of  the  unloading  and  loading  of  ships  in  a  liquid  bulk   terminal.  The  simulation  takes  place  in  broader  environment,  thus  to  understand  the  situation  of   the  simulation  a  brief  description  of  the  terminal  system  is  given.  Afterwards  the  system  of  the   simulation   is   described   by   a   description   of   the   processes,   its   elements   and   distributions.   The   assumptions  made  to  create  the  model  and  the  assignment  methods  to  tactically  assign  ships  to   a  jetty  finalize  the  chapter.    

2.1   The  Terminal  System  

A  liquid  bulk  terminal  is  a  system  to  handle  liquids  or  gasses.  The  liquid  arrives  and  leaves  the   terminal  by  water,  rail,  road  or  pipe  and  is  stored  at  the  terminal.  From  the  terminal  storage  area   it  is  further  transported  to  a  factory.  In  the  factory  the  resource  product  is  processed  and  a  final   product  is  created.  The  final  product  goes  back  to  the  storage  area  and  is  retrieved  when  needed.    

The  system  is  illustrated  by  Figure  2    

 

Figure  2:  Representation  of  the  terminal  system  

2.2   The  Simulated  System  

Because   simulating   an   entire   liquid   bulk   terminal   would   be   too   extensive,   the   simulation   is   restricted  to  the  loading  and  unloading  of  ships.    

 

A  terminal  has  a  number  of  jetties,  each  containing  a  range  of  connections  (pipes  to  and  from  the   factory)  for  specific  products.  Per  jetty  only  one  ship  can  be  operated  at  a  time.  

 

Import  of  raw  materials  takes  place  by  pumping  the  product  from  the  ship  into  a  storage  tank.     Each  ship  has  its  specific  pump  capacity.  

 

Export  of  a  product  is  done  in  reverse  order  and  is  pumped  from  a  storage  tank  to  the  ship.  Each   product  has  a  given  pump  capacity  available  at  that  time.  From  a  storage  tank,  several  ships  are   loaded  simultaneously  and  the  capacity  available  per  ship  is  evenly  distributed.  

 

The   circle   in   Figure   3   illustrates   the   focus   area   of   the   simulated   system   within   the   terminal   system.  

(7)

 

Figure  3:  Representation  of  a  terminal  system  with  the  area  of  focus  for  the  simulation  

2.3   Objective  of  the  simulation  

To   determine   an   optimal   design   for   the   terminal   lay   out   a   few   choices   have   to   be   made.  The   decision  of  the  number  of  jetties  and  more  specific  the  number  and  type  of  connections  a  jetty   will   have   is   very   important   in   that   process.   The   decisions   made   are   a   major   influence   on   the   amount   of   demurrage.   To   find   an   optimal   design   for   the   terminal   these   parameters   should   therefore  be  examined  with  their  respect  to  demurrage.  

 

By  performing  multiple  runs  of  the  simulation  with  different  configurations  for  the  amount  and   lay  out  of  the  jetties,  an  optimum  with  respect  to  the  demurrage  can  be  examined.  The  objective   of  the  simulation  is  therefore  to  find  that  optimum.    

 

Furthermore  the  assignment  method  of  assigning  ships  to  a  jetty  can  influence  the  demurrage.   To  examine  the  improvements  that  can  be  made  by  using  a  planning  algorithm,  the  simulation   offers  two  assignment  methods;  First-­‐In-­‐First-­‐Out  (FIFO)  and  an  advanced  assignment  method.    

2.3   Process  Description  

Different  elements  and  their  processes  can  describe  a  system.  An  overview  of  the  interrelations   and  interactions  between  these  elements  for  the  simulated  system  are  represented  in  Figure  4.    

 

Figure  4:  Process  model  of  a  liquid  bulk  terminal  

The  most  important  element  with  a  process  in  the  simulation  is  the  jetty.  Within  the  figure  the   physical  process  is  described  by  the  (un)loading  square.  A  ship  that  carries  a  product  enters  the   system  and  the  jetty  handles  the  product  by  (un)loading  it  from  the  ship  to  or  from  the  storage  

(8)

area.  Before  the  jetty  can  perform  its  physical  process  it  first  have  to  make  a  decision  which  ship   to  serve.  Therefore  it  first  goes  idle  and  waits  until  there  is  a  ship  available.  After  that  it  checks  if   the   product   carried   by   the   ship   suits   his   product   assortment,   if   so   the   ship   is   assigned   to   the   jetty.    

 

The   processes   for   the   different   elements   are   further   described   in   the   ‘Elements’   part   of   the   chapter.    

2.4   Elements  

As  described  earlier,  the  model  is  built  on  elements  and  their  interactions  and  interrelations.  To   create  the  simulation  these  elements  are  defined  in  element  classes.  An  overview  of  the  different   element  classes:    Jetty    Ship    Ship  Generator    Weather    Product    Animation    

The  Jetty,  Ship  Generator,  Weather  and  Animation  are  element  classes  with  a  process  and  the   Product  and  Ship  element  classes  are  not.  A  ship  is  still  an  element  class  because  it  is  an  order  to   a  jetty  to  unload  or  load  the  ship.  The  product  is  an  element  because  it  has  certain  attributes  and   is   handled   by   the   other   elements   through   the   system.   Also,   products   are   assigned   to   a   jetty’s   assortment.  

 

In  the  rest  of  the  chapter  the  element  classes  are  described  in  more  detail.  

2.4.1   Jetty  

The  first  element  with  a  process  is  the  jetty.  Unloading  and  loading  of  the  ships  are  the  processes   that  take  place  at  the  jetty.  Its  number  and  type  of  connections  give  the  constraints  of  the  jetty.   Keep  in  mind  that  a  connection  is  dedicated  to  a  certain  product.  In  a  way  not  connections,  but   products  are  assigned  to  the  jetties.  As  the  product  elements  define  a  connection,  the  assortment   queue  with  products  represents  the  constraints.      

 

The  assignment  of  connections  to  the  jetty  can  be  done  manually  or  automatically.  Manually  the   user  himself  chooses  which  connections  apply  to  which  jetty.  Automatically  the  connections  are   divided  over  the  jetties  in  a  way  that  the  total  flow  per  jetty  is  as  evenly  as  possible  distributed.   When  this  is  the  case  the  availability  of  the  jetties  should  be  the  highest,  resulting  in  the  lowest   demurrage.  The  fair  distribution  over  the  jetties  can  be  done  by  sorting  the  connections  by  flow   and  adding  the  connection  with  the  highest  flow  left,  to  the  jetty  with  the  lowest  total  flow.    

The  time  it  takes  for  a  jetty  to  serve  a  ship  is  defined  by  the  size  of  the  ship  and  the  available   pump  capacity.    When  a  product  is  imported  the  pump  capacity  is  defined  by  the  ship,  when  a   product  is  exported  the  pump  capacity  is  defined  the  connection  and  the  number  of  connections   used  for  that  specific  product  at  that  moment.  The  handling  time  in  hours  is  the  volume  in  dead   weight  tonnage  (DWT)  divided  by  the  pump  capacity  in  tonnage/hour.    

 

(9)

AssortimentQueue  van  Jetty  vullen  vanuit  ProductQueue             D:=  1e6,  i:=  0,  j:=  0  

          SetLength(Index,  AantalJetties)   //  de  index  array  houdt  de  totale  flow  van  de   jetty  bij.  

           

Eerst  worden  alle  jetties  afgegaan  en  worden  de  eerste  producten  van  hoog  naar  laag   toegevoegd.     Repeat                 newConnection  :=  ProductQueue.Element(i)                 Aansluitingen  :=  newConnection.Aansluitingen                 nrAansluiting:=  1                 repeat                     JettyQueueElement:=  JettyQueue.Element(j)                     newConnection.EnterQueue(JettyQueueElement.AssortimentQueue)                     Index[j]  :=  (newConnection.Flow  /  newConnection.Aansluitingen)                     inc(j)  

                  inc(nrAansluiting)  

            until  (nrAansluiting  >  Aansluitingen)  or  (j  >  (AantalJetties  –  1))    

Bepalen  of  er  nog  aansluitingen  van  het  product  te  verdelen  zijn  

if  (nrAansluiting  >  Aansluitingen)  then  inc(i)                   else  begin  

                  n:=  j  –  2    

Anders  in  reverse  order  de  aansluitingen  aan  jetties  toevoegen  

                  repeat  

                  JettyQueueElement:=  JettyQueue.Element(n)  

                  newConnection.EnterQueue(JettyQueueElement.AssortimentQueue)                   Index[n]  :=  Index[n]  +  (newConnection.Flow  /  newConnection.Aansluitingen)                     dec(n)  

                  inc(nrAansluiting)  

                  until  (nrAansluiting  >  Aansluitingen)                     inc(i)  

                      until  j  >  (AantalJetties  –  1)    

Bepalen  of  er  nog  producten  zijn  die  aan  jetties  toegevoegd  moeten  worden    

 

          if  TotaalAantalAansluitingen  >  AantalJetties  then  begin                 repeat  

                  newConnection  :=  ProductQueue.Element(i)                     Aansluitingen  :=  newConnection.Aansluitingen                     l:=  1  

 

Shell  Sort  JettyQueue  zo  dat  de  jetty  met  kleinste  flow  vooraan  in  de  rij  komt  te  staan.  Het   product  met  de  grootste  flow  kan  dan  aan  het  eerste  element  van  de  rij  (de  jetty  met  de   kleinste  totale  flow)  toegevoegd  worden.  

 

  Sort  JettyQueue.  (Shell  Sort)    

Voorste  element  van  de  JettyQueue  selecteren  

                      JettyQueueElement:=  JettyQueue.Element(0)  

                      Aansluiting:=  JettyQueueElement.AssortimentQueue.Length    

Bepalen  of  het  aantal  aansluitingen  niet  het  mazimum  overschrijdt  en  zo  niet,  aansluiting   toevoegen  aan  assortiment  queue.  

                      if    Aansluiting  <  MaxAansluitingenJetty  then  begin  

(10)

 

2.4.2   Ship  

The  ships  that  arrive  and  leave  the  terminal  have  characteristics,  but  not  a  process  in  itself.  As   earlier   described   it   is   an   element   class   because   it   gives   the   order   to   a   jetty   to   start   a   load   or   unload  process.  The  characteristics  given  to  a  ship  that  is  created  by  a  ship  generator  are:  

 Product.   The   product   is   drawn   from   the   product   assortment   of   the   terminal.   The   possibility   of   a   certain   product   drawn   is   defined   by   its   flow   relatively   to   the   total   terminal  flow.  

 Capacity.  The  ship  capacity  is  determined  by  the  distribution  of  the  different  ship  types   and  their  specific  capacities.    

 Sailing  time.  The  time  it  takes  to  sail  to  the  jetty.  

 Docking  and  Undocking  time.  The  time  it  takes  to  dock  or  undock  a  ship.  

2.4.3   Ship  Generator  

To  generate  ships  with  an  inter  arrival  time  according  to  a  given  distribution  a  ship  generator   element   has   to   be   created.   It   creates   ships   with   all   its   attributes   discussed   earlier.   For   the   simulation  two  separate  generators  for  the  raw  materials  and  finished  products  are  used.    This  is   done  because  they  represent  two  different  ship  type  distributions.    

2.4.4   Weather  

The   terminal   is   influenced   by   weather   conditions.   In   order   to   simulate   this   effect   an   element   class   with   a   process   is   build.   As   weather   conditions   above   a   certain   threshold   result   in   an   interruption  of  all  the  jetty  processes,  the  process  of  the  weather  element  is  to  pause  and  restart   the  jetty  element  class  process.    

 

To  determine  when  and  how  long  the  jetty  process  has  to  be  interrupted  the  weather  element   makes  use  of  normal  distributions.  The  means  of  the  distributions  are  given  as  input  parameters.  

2.4.5   Product  

Another  element  that  has  no  process  is  the  product.  The  product  is  carried  by  a  ship  and  handled   by  a  jetty  with  a  suitable  connection.  Characteristics  of  the  product  are:  

 Type.  Defines  what  product  needs  to  be  handled.  

 Resource  product  or  a  finished  product.  Defines  if  the  product  is  imported  (resource)  or   exported  (finished).  

 Flow.  The  total  flow  of  a  product  in  Mt/year  

 Number  of  connections.  Defines  the  number  of  jetties  at  which  the  product  is  available.    Pump  capacity.   This   is   the   total   pump   capacity   of   the   product   that   is   divided   over   his  

connections.  This  pump  capacity  only  counts  when  a  product  is  loaded  onto  a  ship,  when   De  flow  aan  de  totale  flow  van  de  jetty  toevoegen  en  er  een  groot  getal  D  aan  toevoegen  

zodat  de  jetty  achteraan  de  rij  wordt  gesorteerd  en  niet  twee  keer  hetzelfde  product  krijt   toegewezen.  

  Index[0]  :=  Index[0]  +  (newConnection.Flow  /  newConnection.Aansluitingen)  +  D     inc(l)  

  else  begin  

  Index[0]  :=  Index[0]  +  D     until  l  >  Aansluitingen    

Het  getal  D  weer  van  de  flow  aftrekken  zodat  de  daadwerkelijke  flow  overblijft.     for  y  :=  0  to  AantalJetties  -­‐  1  do  begin  

  if  Index[y]  >  D  then  begin     Index[y]  :=  Index[y]  –  D       inc(i)  

(11)

a  ship  is  being  unloaded  the  pump  capacity  is  defined  by  the  ships  pump  capacity.  It  is   therefore  independent  of  the  number  of  connections  working  at  that  time.    

 

For  the  batch  simulation,  the  user  does  not  define  the  amount  of  connections.  This  is  because  the   parameter  is  varied  during  the  simulation.  By  assigning  the  spare  connection  to  the  product  with   the   highest   flow   per   connection,   the   assignment   of   the   number   of   connections   per   product   is   done.  If  the  connections  are  divided  over  the  jetties  in  the  way  earlier  explained,  this  will  result   in  the  lowest  yearly  flow  per  jetty  with  that  number  of  connections.    

 

Process  Description  Language  for  the  assignment  of  a  connection  to  a  product:  

 

 

Proces  voor  toewijzen  aantal  connecties  per  product  in  batch  process        

Elk  product  moet  ten  minste  1  aansluiting  krijgen.      

AantalProducten:=  ProductQueue.Length         for  i  :=  0  to  (AantalProducten  -­‐  1)  do  begin             myProduct:=  ProductQueue.Element(i)             myProduct.Aansluitingen:=  1  

     

Als  het  aantal  jetties  groter  dan  1  is,  dan  moeten  de  extra  aansluitingen  verdeeld  worden   anders  maakt  het  niet  uit  en  blijft  het  bij  1  aansluiting  per  product.  Een  tweede  aansluiting   kan  namelijk  toch  niet  aan  een  andere  jetty  teogevoegd  worden.  

 

      if  AantalJetties  >  1  then  begin         Aansl:=  0  

      RestAansluitingen:=  AantalAansluitingen  -­‐  AantalProducten    

Bij  een  enkele  overgebleven  aansluiting  wordt  deze  altijd  aan  het  product  met  de  grootste   flow  toegevoegd.  

      if  RestAansluitingen  =  1  then  begin             myProduct:=  ProductQueue.Element(0)             myProduct.Aansluitingen:=  2  

        inc(Aansl)    

Bij  meer  dan  1  overgebleven  aansluitingen  moeten  deze  verdeeld  worden  over  de  producten   met  de  grootste  flow  per  aansluiting  

      if  RestAansluitingen  >  1  then  begin             i:=  0  

          Repeat    

ProductQueue  wordt  gesorteerd  op  flow  per  aansluiting  van  hoog  naar  laag.  Zo  wordt  er  aan   het  product  met  de  hoogste  flow  een  extra  aansluiting  toegevoegd  en  gaat  zijn  flow  per   aansluiting  omlaag.  

              ProductQueue  Sorteren  (Shell  Sort)                 myProduct:=  ProductQueue.Element(i)  

              if  myProduct.Aansluitingen  <  AantalJetties  then  begin                     myProduct.Aansluitingen:=  myProduct.Aansluitingen  +  1                     inc(Aansl)  

                  i:=  0                 else  i:=  i  +  1  

(12)

2.4.6   Animation  

To  draw  the  animation  during  the  simulation  an  element  class  Animation  is  created.  Its  process   is  to  draw  the  ships  in  the  ship  queue,  jetties  etc.  

2.5   Queues  

There  are  three  general  queues:  

 TerminalWaitingQueue  where  ships  are  waiting  to  be  processed  by  a  jetty.      JettyQueue,  which  contains  the  jetties  

 ProductQueue  that  contains  the  complete  product  assortment  of  the  terminal.    

Furthermore  a  jetty  has  an  assortment  queue  and  a  ship  queue.  The  assortment  queue  is  filled   with   products   and   they   sum   up   the   assortment   of   the   jetty.   When   a   ship   is   in   the   TerminalWaitingQueue  and  the  jetty  has  to  select  a  ship,  the  products  of  the  assortment  queue   are   compared   with   the   product   the   ship   is   carrying.   The   ship   queue   is   the   queue   where   dedicated  ships  for  the  jetty  are  waiting.  This  queue  is  only  used  when  an  advanced  assignment   method  is  chosen.  

2.6   Distributions  

To  describe  the  arrival  patterns  of  the  ships  in  the  system,  three  different  kinds  of  distributions   are  used:  exponential,  normal  and  an  Erlang-­‐k  distribution.  It  is  the  users  choice  what  will  best   fit  his  description  of  the  inter  arrival  times.    Furthermore  normal  and  uniform  distributions  are   used  to  describe  behaviours  as  the  ship  capacities  and  sailing  times  etc.  

2.6.1   Exponential  Distribution  

To  describe  a  random  arrival  process  the  most  common  way  to  do  that  is  with  a  Poisson  process.   A  Poisson  process  is  a  stochastic  process  which  counts  the  number  of  events  and  the  time  that   these  events  occur  in  a  given  time  interval.  The  time  between  each  pair  of  consecutive  events   has   an   exponential   distribution   and   each   of   these   inter-­‐arrival   times   is   assumed   to   be   independent  of  other  inter-­‐arrival  times.    

2.6.2   Normal  Distribution  

The  central  limit  theorem  states  that,  given  certain  conditions,  the  mean  of  a  sufficiently  large   number   of   independent   random   variables,   will   be   approximately   normally   distributed.   The   theorem  implies  that  a  Poisson  distribution  can  be  approximated  by  a  normal  distribution  for  a   large  number  of  variables.  Because  the  simulation  has  a  great  number  of  ships  arriving,  a  normal   distribution  could  be  used  to  describe  the  arrival  times  of  ships  in  the  simulation.  

 

Apart   from   the   usage   in   the   arrival   patterns   the   normal   distribution   is   used   to   describe   the   behaviour  of  the  capacities  of  the  ships.  The  mean  of  the  distributions  is  the  arithmetic  mean  of   the   minimum   and   maximum.   The   minimum   and   maximum   are   chosen   as   the   three-­‐sigma   interval   and   therefore   the   standard   deviation   is   the   difference   between   the   mean   and   the   minimum  or  maximum  ((mean  –  minimum)  /  3)  divided  by  three.  

 

Also  the  weather  process  makes  use  of  a  normal  distribution.  The  user  and  its  information  about   the   weather   characteristic   of   the   terminal   determine   the   mean.   The   standard   deviation   is   determined  by  the  mean  divided  by  three.  This  is  because  it  is  chosen  that  the  minimum  of  zero   is  three  sigma’s  away  from  the  mean.    

2.6.3   Erlang-­‐k  Distribution  

Where   a   Poisson   process   describes   events   that   occur   independently   with   an   average   rate,   an   Erlang-­‐k  distribution  describes  the  time  between  k  events  happening.  When  describing  the  inter   arrival  time  between  two  ships,  an  Erlang-­‐2  distribution  will  suit  the  description.  

(13)

2.6.4   Uniform  Distribution  

The  sailing,  docking  and  undocking  time  use  uniform  distributions  between  a  minimum  and  a   maximum.   The   user   defines   the   minimum   and   maximum   and   the   chance   of   a   time   occurring   within  that  interval  is  all  equally  likely.    

2.7   Assignment  Methods  

When   ships   arrive   they   have   to   be   assigned   to   a   jetty.   The   way   that   is   done   can   have   a   great   influence   on   the   total   demurrage   of   the   terminal.   For   the   simulation   two   type   of   assignment   methods  are  used:  First  In  First  Out  (FIFO)  and  an  advanced  method.  

2.7.1   First  In  First  Out  (FIFO)  

The  FIFO  method  is  easily  described  by  the  fact  that  the  first  ship  that  arrives  will  be  the  first   ship  that  is  available  for  a  jetty.  This  is  a  much  uncontrolled   process   and  could  result  in  high   demurrage  costs.  

2.7.2   Advanced  

Because  FIFO  does  not  take  into  account  parameters  that  influence  the  handling  time  of  a  ship,  a   more  tactical  assignment  approach  can  be  taken  to  improve  the  total  demurrage  of  a  terminal.   The  advanced  assignment  method  chosen  in  the  simulation  is  based  on  fact  that  if  you  do  the   shortest  jobs  in  a  queue  first  the  total  waiting  time  of  the  elements  will  be  the  shortest.    This  is  a   scheduling  technique  analogue  to  the  ‘shortest  job  first’  algorithm  used  in  operating  systems.    

How  it  works:  when  a  ship  enters  the  system  the  advanced  assignment  method  first  measures   the  total  handling  time  of  the  jetties  where  the  ship  could  be  handled.  Then  it  selects  the  jetty   with   the   shortest   handling   time   and   sorts   the   jetty’s   ship   queue   according   to   the   shortest   to   largest  handling  time  of  a  ship.  

 

The  problem  could  arise  that  when  a  lot  of  ships  with  short  handling  times  are  arriving,  a  ship   with  a  long  handling  time  has  to  wait  for  a  long  time,  because  every  time  a  ship  with  a  shorter   handling  time  is  sneaking  in  first.  Solution  of  this  problem  could  be  the  use  of  a  ‘highest  response   ratio   next’   algorithm.   Here   ships   get   a   higher   priority   when   they   are   waiting   longer,   which   prevents  ships  waiting  indefinitely.  The  result  is  that  a  ship  with  a  long  waiting  time  is  able  to   compete  with  a  ship  just  arriving  with  a  short  handling  time.    

 

Another   method   is   to   set   a   maximum   waiting   time   and   add   the   ship   that   surpasses   that   threshold  to  the  front  of  the  queue.  The  choice  of  the  maximum  waiting  time  is  very  important   here,  because  if  the  maximum  waiting  time  is  set  too  low  it  will  result  in  more  demurrage,  but   setting  it  to  high  could  result  in  a  single  ship  waiting  for  a  very  long  time.  

 

(14)

 

2.8   Parameters  

The  parameters  that  can  be  altered  by  the  user  to  represent  the  system  are:    Duration  of  the  simulation.  By  default  set  on  a  year.  

 Number  of  jetties.  Will  define  for  a  large  amount  the  demurrage.      

Advanced  (Shortest  Job  First)  Assignment  Method  

Bepalen  of  Advanced  methode  geselecteerd  is  

If  Advanced  then  begin             k  :=  0  

          MinServiceTime:=  1e12    

Jetty  selecteren  waar  schip  aan  ShipQueue  toegevoegd  kan  worden.  Assortiment  queues   worden  vergeleken  met  product  en  de  service  tijd  per  jetty  wordt  bepaald.  

          For  i:=  0  to  (JettyQueue.Length  -­‐  1)  do  begin           JettyElement:=  JettyQueue.Element(i)  

          For  j:=  0  to  (JettyElement.AssortimentQueue.Length  -­‐  1)  do  begin             Assortiment:=  JettyElement.AssortimentQueue.Element(j)             if  newShip.Product  =  Assortiment.Soort  then  begin    

Service  time  bepalen  door  eerst  de  werktijd  die  de  jetty  nog  te  gaan  heeft  toe  te  voegen  en   dan  per  element  in  de  ShipQueue  de  verwachte  handling  time  toe  te  voegen.  

              ServiceTime:=  0  +  JettyElement.WorkTimeLeft  

            for  int  :=  0  to  JettyElement.ShipQueue.Length  -­‐  1  do  begin                   ShipElement:=  JettyElement.ShipQueue.Element(int)  

                  ServiceTime:=    ServiceTime  +  (ShipElement.Inhoud/ShipElement.PumpCapacity)                

Bepalen  jetty  met  kleinste  service  time  

              if  ServiceTime  <  MinServiceTime  then  begin                     k:=  i  

                  MinServiceTime:=  ServiceTime    

Jetty  selecteren  met  de  kleinst  service  time              

              JettyElement:=  JettyQueue.Element(k)  

              newShip.EnterQueue(JettyElement.ShipQueue)    

Sorteren  Jetty.ShipQueue  zodat  de  ‘shortest  job  first’  in  de  rij  komt  te  staan    

Shell  Sort  Jetty.ShipQueue  

              N  :=  JettyElement.ShipQueue.Length                 gap  :=    N  div  2  

              repeat                     repeat  

                      gapDone:=  True  

                      for  int  :=  0  to  ((N-­‐1)  -­‐  gap)  do  begin  

if  ((Inhoud(int)  /  PumpCapacity(int))  <  (Inhoud(int  +    gap)  /  PumpCapacity(int  +  gap))   then  begin    

  temp  =  JettyElement.ShipQueue.Element(int)    

JettyElement.ShipQueue.Element(int)    =    JettyElement.ShipQueue.Element(int  +   gap)    

  JettyElement.ShipQueue.Element(int  +  gap)    =  temp     gapDone  :=  False  

  until  gapDone     gap  :=  gap  div  2                 until  gap  =  0  

(15)

 The   maximum   amount   of   connections   per   jetty.   Together   with   the   number   of   jetties   defines  the  maximum  amount  of  products  to  be  handled  within  the  terminal.  

 Number  of  products.  

 Yearly  flow  per  products.  The  total  yearly  throughput  of  a  product  that  is  handled  by  the   terminal.  

 The  amount  of  connections  per  product.  Increases  the  amount  of  jetties  where  a  product   can  be  handled.  

 The  pump  capacity  of  a  connection.  

 The   capacities   of   the   different   type   of   ships.   By   default   the   average   freight   rate   assessment   (AFRA)   standard   is   used.   This   is   an   assessment   that   classifies   tankers   of   different  sizes.  

 The  pump  capacity  of  the  ships.  

 The  distribution  of  the  type  of  ships.  The  percentages  of  a  ship  type.  For  instance  the  user   could  choose  that  50%  of  the  ships  arriving  with  a  resource  product  are  of  Long  Range  1   size.  

 The  weather  characteristics.  Here  the  user  has  to  find  information  on  the  statistic  of  the   local  weather  of  the  terminal.  The  averages  of  the  fog,  lightning  and  storm  days  can  be   entered  as  an  input.  Furthermore  the  user  can  select  if  the  weather  should  be  taken  into   account  in  the  simulation  of  the  system.    

 The  type  of  assignment  method.  FIFO  or  an  advanced  method.  

 The   minimum   and   maximum   sailing,   docking   and   undocking   time.   The   maximum   and   minimum   set   a   boundary   for   the   uniform   distribution.   The   times   specific   times   are   drawn  from  the  distribution.    

 The  types  of  distribution  for  inter  arrival  times.  Exponential,  Normal  or  Erlang-­‐k.    

2.9   Assumptions  

Finally  to  fit  the  model  for  use  a  few  assumptions  are  made.    

In  general:  

 All  transport  takes  place  by  water.  

 There  is  always  enough  storage  capacity  for  resource  products.    There  are  always  enough  finished  products  available.  

 Total  import  equals  the  total  export  in  tons.    A  ship  carries  only  a  single  product.  

 Ships  are  not  loaded  and  unloaded  in  the  same  berth  process.    A  jetty  can  only  handle  one  ship  at  a  time.  

Distributions:  

 The  arrival  process  of  the  ship  is  described  by  a  Poisson  process    The  weather  characteristics  are  described  by  a  normal  distribution  

 Times  for  sailing  to  the  jetty,  to  dock  and  to  undock  are  uniformly  distributed.      

   

(16)

3  

General  User  Interface  

The  general  user  interface  (GUI)  of  the  simulation  represents  the  interface  in  which  the  user  is   able  to  interpret  and  modify  the  simulation.  Two  different  types  of  simulations  can  be  chosen:   single  or  batch.  A  single  run  performs  a  simulation  for  a  single  set  up.  A  batch  run  performs  a  set   of  simulations  in  which  the  amount  of  connections  and  jetties  are  varied.  A  batch  simulation  can   be  used  to  examine  an  optimal  terminal  lay  out  for  a  certain  product  assortment.    

 

For   every   type   the   interface   for   the   input   of   parameters   and   products,   and   the   output   of   the   simulation  are  given.  

3.1   Input  Parameters  

For  the  single  and  batch  run  practically  the  same  parameters  and  interface  is  used.  Because  they   are  similar  only  the  single  run  input  parameter  interface  is  discussed.  The  numbers  correspond   with  the  red  squares  in  Figure  6.  

 

1. The  buttons  here  are  from  left  to  right:  to  go  back  to  the  screen  where  you  can  choose  to   perform  a  single  or  a  batch  run.  Next  to  that  are  the  two  buttons  to  open  or  save  a  list   with  input  parameters.  The  button  on  the  far  right  is  to  close  the  simulation  program.    

2. Here   from   top   to   bottom   the   length   of   the   simulation,   number   of   jetties,   maximum   connections  of  a  jetty,  the  number  of  raw  material  and  finished  product  are  defined.    

3. The  minimum  and  maximum  times  that  it  takes  to  sail  to  the  jetty,  to  dock  and  to  undock   the  ship  can  be  entered  here.  

 

4. The  distributions  of  the  different  ship  types  for  the  raw  materials  can  be  put  in  on  the   left.  The  distribution  for  the  finished  product  can  be  put  in  on  the  right.  By  default  the   distribution  raw  materials  is  50/50  Medium  Range  and  Long  Range  1.  For  the  finished   product  that  is  50/50  General  Purpose  and  Barge.  

 

5. The   capacities   for   the   different   ship   types   are   defined   here.  For   a   standard   the   AFRA-­‐ standard  is  used.  To  adjust  the  capacities  the  checkbox  below  has  to  be  checked.    

 

6. In   the   top   radio   box   the   distribution   for   the   inter   arrival   times   can   be   chosen.   In   the   bottom  radio  box  the  assignment  method  is  chosen.  

 

7. Here  the  characteristics  for  the  weather  are  entered.  First  the  frequency  and  the  average   duration  for  a  storm  are  chosen.  The  number  of  days  per  month  that  fog  or  lightning  is   happening  are  entered  in  the  tow  columns  on  the  right.  Average  duration  of  a  lightning   and  fog  period  are  entered  in  the  last  column  

 

(17)

8. The  user  can  now  perform  a  demo  run,  where  a  pre-­‐defined  product  list  is  used,  or  enter   a  product  list  themselves.  

 

 

Figure  6:  Interface  to  enter  the  system  parameters.  

To  ensure  that  the  simulation  will  not  give  any  errors,  the  inputs  from  the  user  are  checked  for   conversion  errors  etc.  before  going  on  to  the  next  screen.    

 

 

3.2   Input  Products  

If  a  user  has  chosen  to  enter  their  product  list,  a  window  of  Figure  8  pops  up.    

1. Again  there  are  the  options  to  go  back  to  the  previous  screen.  This  enables  the  user  to   modify   the   parameters   without   having   to   restart   the   whole   simulation   program.   Furthermore  the  product  list  can  be  saved,  or  a  saved  list  can  be  opened.    

 

(18)

2. If  the  user  wants  to  enter  the  product  and  assign  the  jetty  connections  manually,  it  can   check   the   checkbox   on   the   top.   A   drop   down   box   will   appear   where   a   jetty   can   be   selected.  The  boxes  below  will  show  the  amount  of  possible  connections  the  jetty  has  left   and  the  type  of  connections  already  assigned  to  the  jetty.  The  button  at  bottom  empties   the  part  of  the  product  list  assigned  to  the  jetty  

 

3. From  top  to  bottom:  first  the  name  of  the  product  can  be  filled  in.  Second  the  yearly  flow   of  the  product  can  be  entered.  Below  the  edit  box  of  the  flow  the  number  of  connections   for  the  product  can  be  entered.    If  the  manually  add  connections  is  checked  the  number   of   connections   is   always   one.   The   box   is   then   grey   and   cannot   be   altered.   When   the   product   is   a   raw   material   the   raw   material   product   is   checked   and   then   no   pump   capacity  has  to  be  filled  in.  If  the  product  is  a  finished  product  the  pump  capacity  in  tons   per  hour  can  be  entered  for  the  product.    

The  boxes  in  the  bottom  show  the  amount  of  raw  materials  and  finished  product  with   their  total  flow  so  far.  If  the  flow  of  the  raw  materials  does  not  equal  the  flow  of  finished   product  yet,  the  text  in  red  will  inform  the  user  of  the  problem.  The  same  will  happen  if   the  total  amount  of  connections  is  smaller  than  the  amount  of  jetties.    

The   left   button   on   the   bottom   adds   the   product   to  the   product   list.   Every   time   a   user   wants  to  add  a  product  to  the  list  the  inputs  are  checked  for  conversion  errors  etc.  to   prevent  errors  during  simulation.      

The   right   button   brings   the   user   to   the   simulation.   To   restrict   the   user   to   start   a   simulation  before  all  conditions  are  met,  the  button  is  only  enabled  when  everything  is   ok.  

 

4. Here   the   product   list   is   listed   in   a   memo   box.   It   gives   the   number   and   parameters   entered   for   the   products,   thus   the   type,   resource   or   not,   flow,   connections,   and   pump   capacity.  The  upper  button  on  the  bottom  removes  the  last  product  added  to  the  list.  The   bottom  button  clears  the  whole  list.    

 

 

(19)

3.3   Simulation  

When  all  products  and  parameters  are  entered  the  user  comes  to  a  screen  where  he  can  start  the   simulation  (Figure  10).    

 

1. On  the  top  left  the  big  button  starts  the  simulation.  The  three  buttons  next  to  that  pause   resume   or   stop   the   simulation.   The   memo   box   below   the   buttons   show   some   input   parameters  and  the  results  from  the  simulation.  

 

The  results  of  the  simulation  represent:    Mean  waiting  time.    

 Max   demurrage.   This   can   be   for   instance   really   high   when   using   an   advanced   assignment  method.  If  so,  some  repercussions  earlier  discussed  have  to  be  taken.        Total  demurrage.  Basic  result  that  has  to  be  minimized.  

 Amount  of  ships  demurrage  over  24  hr.  Gives  an  indication  how  many  ships  have   to  wait  really  long  to  be  served  by  a  jetty.  Maybe  your  total  demurrage  is  low,  but   if  the  amount  of  long  waiting  ships  is  still  high  it  can’t  be  a  good  thing  for  your   terminal  business.  

 Mean  waiting  queue  length.  Can’t  have  too  many  ships  having  to  wait  in  line.      

2. Here  the  graphs  are  shown.  There  are  five  graphs,  which  show  the  average  demurrage,   the  utilization  rate  of  a  jetty,  the  average  waiting  queue  length,  the  demurrage  per  ship   and  the  amount  of  weather  standby  per  day.    

The  average  demurrage  and  the  average  length  of  the  waiting  queue  give  an  indication   on  how  the  demurrage  increases  or  decreases  over  time.    The  utilization  graph  shows   how  busy  a  jetty  is  over  the  amount  of  time.  If  the  flows  are  fairly  distributed  over  the   jetties  their  utilization  should  be  fairly  distributed  as  well.    

To  see  if  there  are  any  extreme  events  with  high  demurrage  the  chart  of  demurrage  per   ship  is  shown.  The  graph  of  the  weather  standby  is  used  to  see  the  influence  of  weather   standby   on   the   demurrage.   When   the   chart   is   used   with   the   demurrage   per   ship   for   instance  the  user  can  examine  how  the  demurrage  is  affected  the  days  after  the  weather   standby  happened.  

With  the  two  checkboxes  on  the  bottom  the  animation  and  graphs  can  be  made  visible  or   invisible.  When  they  are  not  visible  the  speed  of  the  simulation  will  increase.  

 

3. Here  an  animation  is  made  which  shows  ships  waiting  in  the  TerminalWaitingQueue,  the   jetties  when  they  are  working  or  idle.  It  gives  an  indication  if  for  instance  one  jetty  is  idle   all  the  time  or  if  the  ship  queue  is  filling  up  out  of  proportions.  It  is  an  easy  and  simple   way  to  see  if  there  are  any  problems.  

   

During  the  setup  of  a  batch  run  the  user  is,  after  he  entered  the  product  list  for  the  terminal,   transferred   to   the   screen   of   Figure   9.   Here   he   can   choose   to   run   a   batch   simulation   with   the   product  list  he  just  created  or  create  different  batch  files  with  different  product  lists  first.  If  the   user   just   wanted   to   make   a   batch   file   and   not   run   the   simulation   the   user   can   close   the   simulation  by  clicking  on  the  button  on  the  right.  

(20)

   

Figure  10:  Interface  during  simulation  of  a  single  run  

(21)

4     Model  Verification  

To   perform   a   verification   of   the   simulation   model,   results   of   different   simulation   runs   are   compared  to  hand  calculations  and  reasoning.    

 

Where   verification   is   a   check   if   a   simulation   program   works   according   it   specifications,   validation  examines  if  the  simulation  program  describes  the  reality  in  a  proper  manner.  Since   there   is   no   data   from   reality   available   to   validate   the   model   and   the   simulation   is   used   for   educational  purpose  only,  no  validation  of  the  simulation  has  been  performed.    

 

To  check  the  performance  of  the  model  a  demo  batch  run  is  done  and  evaluated.  

4.1   Calculations  and  Reasoning  

To  verify  the  model  with  calculations  a  hand  simulation  is  done  and  compared  to  the  results  of   the  simulation  program.  The  simulation  is  run  with:  

 2  jetties.  

 1  resource  product  and  1  finished  product,  with  both  a  flow  of  10  Mt/year.  

 One  type  of  ship  is  used  for  resource  product.  Capacity  is  50,000  DWT  and  1,500  t/hr.    One  type  of  ship  is  used  for  finished  product.  Capacity  is  2,500  DWT  and  1,500  t/hr.     The  first  50  ships  that  arrive  in  the  system  are  analyzed.  

 No  weather  influence  is  taken  into  account.    

These   constant   parameters   are   used   so   that   the   jetties   performance   of   selecting   a   ship   and   handling  it  can  be  investigated  without  stochastic  influences  of  ship  sizes  etc.  

 

The  results  from  the  simulation  are:    

     

(22)

   

As  you  can  see  the  calculations  by  hand  and  the  simulation  match  perfectly.  Differences  in  ship   numbers   is   because   of   the   fact   that   in   the   results   of   the   simulations,   the   ship   number   that   is   finished  is  used,  and  in  the  hand  calculations  the  ship  numbers  that  arrived.  Because  a  ship  with   a  resource  product  has  a  longer  handling  time,  already  a  few  ships  with  finished  products  are   handled  before  that  ship  is  finished,  hence  the  ships  with  finished  products  show  up  earlier  in   the  simulation  result.      

 

From   reasoning   you   can   say   that   if   in   the   model   an   extra   jetty   is   added,   the   total   demurrage   should   decrease.   When   performed   in   the   model   we   can   indeed   see   that   the   demurrage   time   decreases.   Results   are   shown   in   Figure   14   and   Figure   13:   for   1   jetty   the   total   demurrage   is   489.82  hour  and  for  4  jetties  the  total  demurrage  is  79.89  hour.  

Cytaty

Powiązane dokumenty

If we have a series of such models, for instance as a model for the reaches of a primary canal in an irrigation system then it is interesting to examine the possibilities for

Ostatni wiązał się naturalnie z Kazimierzem Dolnym, którego obraz zaczął wypełniać się treściami nie tylko turystycznymi.. O malarzach tam przebywających

A hybrid structure containing a semiconductor with strong spin-orbit coupling coupled to a superconductor can become topological upon application of a magnetic field stronger than

Stanisław Grabski (zesz.. Władysław

Arsenic removal from geothermal influenced groundwater with low pressure NF pilot plant for drinking water production in Nicaraguan rural communities .... Material and

Arsenic Removal for Drinking Water Production in Rural Nicaraguan Communities Bayardo Jose Gonzalez Rodriguez.. The scale of the arsenic problem in Nicaragua will only become

Arsenic Removal for Drinking Water Production in Rural Nicaraguan Communities Bayardo Jose Gonzalez Rodriguez.. De omvang van het arseenprobleem in Nicaragua zal pas echt

Kolejna koncepcja – „Bezpieczeństwo jako usprawiedliwienie ograniczenia praw człowieka” – opiera się na założeniu, że aby w danym państwie mógł w ogóle funk-