Jump to content

Dynamic destination based on multiple conditions


craigw
 Share

Recommended Posts

Hi,

I have a series of shipping containers that are fed by a single conveyor, and I want all the containers to fill to a specific capacity whilst minimising the total time to fill. That means that if a container downstream is busy transfering-in an entity, then subsequent entities should stop at an upstream container to mitigate any queing, whilst respecting the capacity limits.

At the moment I have the containers represented by sinks, but this doesn't allow me to set capacity limits. I'm using a TransferNode to set each entity's destination with a sequence table, but this doesn't reflect that an entity's destination might change enroute if it's desitation becomes busy or full as it transits.

Can anyone please offer some advice or point me towards a SimBit that does something similar?

Thanks,
Craig

Link to comment
Share on other sites

As an update to this, I think I have (at least so far) found something which provides the desired behaviour and will detail below for others.

I used the SimBit 'SelectServerWithShortestLine' as a reference.

  1. I created a Node list with the inputs nodes at each Sink listed.
  2. I created an integer Property to hold the variable which represents the maximum number entities that can go to a sink (e.g. MaxContainerCapacity).
  3. On the feeding TransferNode I changed the 'Entity Destination Type' to 'Select from List' and selected the list created in Step 1.
  4. Change 'Selection Goal' to 'Smallest Value' and set the 'Selection Expression' to Candidate.Node.AssociatedStationLoad, which accounts for everything en route, in the queue and processing at a node. Therefore, the select goal is to minimise this station load.
  5. I set the selection condition to (Candidate.Node.AssociatedStationLoad + Candidate.Sink.InputBuffer.NumberExited) < MaxContainerCapacity. Which is saying only select the Node found in Step 4 if the sum of the station load and the number of entities that have 'exited' the Sink are less than the MaxContainerCapacity.
Link to comment
Share on other sites

×
×
  • Create New...