Jump to content

Tom van Es

Members
  • Posts

    7
  • Joined

  • Last visited

Everything posted by Tom van Es

  1. Hi Nico, Glad to hear you solved it in the meantime. It seems like your solution better represents what happens in reality, glad you sorted it out, and thanks for sharing! Kind regards, Tom
  2. Hi Nico, I haven't tried this out, so I can't guarantee this to work, but you could specify a Timer that goes off every 7.2 seconds. Additionally, you'd create a process that runs on the triggering event with the name of that Timer. This process Assigns a new value of 1 to Schranke1...Schranke6.CurrentCapacity. I'm unsure whether a delay is required for the entities to move through the system, but I'd try adding a Delay of Math.Epsilon after this Assign step, to ensure they do. Then, with a new Assign step, change the CurrentCapacity of Schranke 1 through 6 back to 0. You may have to change the Initial capacity of all your gates to 0 in the Facility window. Also, make sure you change the Off Shift Rule to finish work that has already started, on all your gates. Hope this works. Tom
  3. Hi, I have a global model state that reacts on that same timer and increments the current timeslot, that should work too, I assume? I feel that I've modelled the timeslots accurately. However, I've now run into my next hurdle: in order for the entities to make an intelligent choice on what time slots to request, first, I must be able to know what servers to visit at all. Currently, this is defined by a set of sequence tables. I have not found a way to store the sequence of destination nodes (or objects) in a (set of) states. Does anyone know how to access the sequence up front, in states or properties or lists? I'd like to store the sequence 'on' the entity, and not in the upper level model, where it has been defined. Kind regards, Tom
  4. Hi Jeff and Gocken, Thanks for both of your replies. @Jeff, Thanks. This has helped me a bit. I hadn't used a vector yet, and your example has helped me along. Thanks for that. I'll try converting it into a matrix, so I can save more information on each row. @Gocken, I did exactly as you suggested, but it is always good to get some confirmation that you're on the right track . I'll update this thread when I (inevitably..) run into new issues. Kind regards, Tom
  5. Hi, Perhaps my first question was a bit too complex. Maybe someone has experience with a much more limited part of my issue; timeslots. Has anyone modelled timeslots before? I'm thinking of creating a list of timeslots when i initialize my run, based on the "Run.EndingTime" and my model property: "TimeSlotLength". However, is there some built-in function I can use to recreate something similar to the following pseudocode? For i in 1 to (Run.EndingTime / TimeSlotLength): list(i) = i*TimeSlotLength; Perhaps there is a much easier way to create these timeslots? Kind regards, Tom
  6. Hello and thanks for reading, I'm building a model that should replicate how vessels are handled within a port area. Within this area, there are multiple Terminals (servers) and ships (entities) that have to visit any number of terminals. Their processing times at each server vary. With their sequences predefined, I have managed to model this accurately, based on a first come first serve or another dispatching rule. I'd like to implement a dynamic sequence. 1) How can I model a certain degree of freedom in their sequences - e.g. a vessel is free to choose between sequence XABZ or XBAZ, depending on the queue size at A or B at the time of leaving X? However, in reality, these vessels enter the system, draft a sequence that is suitable for their loading plan, and then try to reserve serving times at the various terminals. I have tried wrapping my head around ways to model this, but can't seem to think of a way how. I could create a large amount of state variables for each server, that denotes whether or not a certain slot has been reserved, but that is not suitable for running long simulations. I read on this forum post that I could perhaps use a storage element, and store the reservations in there. How would I go about saving reservation-related information? Should I store that on the barge entity or in the terminal's reservation storage? How should I go about modelling timeslots in itself? 2) How can I model 'future' reservations of entities at the various servers? Finally, if this functions properly, and entities can request reservations at the various servers, I would like to have the servers compare all the requests at a certain cutoff time, and for all the doubly requested slots have it allocate the reservation based on the entities' characteristics. 3) Would I have to store the reservation data on both the entity and the server side for them to both make calculations with them, or is it enough to have them all on the server side, and denote whether they have been accepted with e.g. a boolean property? My apologies for the long post. Do not hesitate to ask for more information. Kind regards, Tom
×
×
  • Create New...