Jump to content

Search the Community

Showing results for 'buffer transfer node'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Simio Public Forums
    • Welcome and How To Become a Simio Insider
    • Simio News and Announcements
    • Simio Product Details
    • Simio-Related Positions Desired or Positions Available
    • Help Getting Started with Simio
  • Forums for Simio Insiders Only (See Public Forums Welcome topic to sign up)
    • SI General Discussions
    • SI Sprint Releases
    • SI Shared Items
    • SI Ideas and Suggestions
    • SI Known Issues and Workarounds
    • SI Performance Tips
    • SI Non-US Cultures
    • SI Student Competition
    • SI Educational
    • SI Libraries and Objects
    • SI Animation and Visualization
    • SI Distributions, Functions, and Expressions
    • SI Simio Tabs
    • SI Experimentation and Optimization
    • SI Functional Approaches
    • SI Industries / Domains
    • SI Types of Simulation
    • SI Emulation
    • SI API

Calendars

  • Simio Calendar

Categories

  • Files
    • Academic Information
    • Product Information
    • Case Studies

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


First Name


Last Name


Company/University Name


OCCUPATION


ICQ


WEBSITE


YAHOO


AOL


LOCATION


FACEBOOK


GOOGLEPLUS


SKYPE


TWITTER


YOUTUBE

  1. Hi all! I am simulating a facility with nearly 40 servers, each one starting with some entities in the input node at initialization and having a different capacity. Each server has a 0 input buffer capacity. My entity creation is currently set to having an interarrival time to be 4.33 weeks (1 month) with a random number of entities created. Currently, it runs 24/7 and does not care about the time, but I want to incorporate that. How can I make it so that the entities arrive once a month, let's say the first Monday, at 8am? How can I make it so the servers are only processing between 8am and 4pm Monday - Friday? The work schedule doesn't seem to work for me, but I could be doing it wrong, since I have a 0 input buffer, which I can't change as it's part of my routing logic for overflow. I would be happy with using timers or a process logic if someone can explain it to me. Ideally, the entities only arrive when it's during the working time, and the entities remaining after 4pm are just put on hold until 8am the next day. Thanks in advance!
  2. Thank you for the quick and detailed response! I see the error I was making with work schedule and have tested it on one server, it seems to work as intended. Since each of my servers have a different capacity, would I need to create a unique work week and unique day type for them all? Or is there a quicker work around? The manual inputs for the date time are a great work around, I'm only modeling for a few years so I don't mind inputting a few dates. What I mean by there being no buffers is that no server can have a queue. I used a list for selecting the destination on the output node of each source (total of 8 ) where it's a hierarchy. It can go to a select number of servers and if all of them are full it goes to a dummy server of infinite capacity that exits the items to an overflow sink.
  3. You want to make the servers have a Capacity Type of Schedule and follow the default Standard Week. If you don't want to give them a lunch break, just change the definition of the Standard Day. Leave the default Off Shift Rule of Suspend Processing. The easiest approach for arrivals is to have a Source with an Interarrival time of 4.33 weeks (or 4 weeks) and an integer random distribution for the Entities Per Arrival. Doing a "first Monday" is possible, but a bit complicated because Simio time does not have the concept of Month because months are of varying size. You could probably specify the initial Time Offset to be early in a month, then maybe make the interarrival time be something like DateTime.DaysInMonth(DateTime.Month(Timenow),DateTime.Year(TimeNow)) which would make the next arrival be exactly one month later (same day of the month). When you say you have no buffers, what do you mean? If an entity arrives when all servers are busy, should it be balked (possibly disposed) or should it wait somewhere like on the server input node, on a path or in the Source output node? If the above arrival approach isn't exact enough, you can put exact arrivals in a data table. The arrival time could be specified at any exact datetime you desire and still have the Entities Per Arrival be a distribution.
  4. Hello everybody, I'm trying to make this work but I cant Type/Conteiner BinBig BinMed BinSmall Product1 1 1 - Product2 - 1 1 Product3 1 - 1 Product4 1 1 1 I want to make a node where these entities (Products and Bins) are convined in one batch, I try to use a process based in decitions and search.. the file is attached if you wanna take a look on it.. (the product have to be the parent) OptimoContenedores2.spfx
  5. Hi, there is a simple approach you can use. Use Connectors between the queue server and the desks. At Buffer Logic of the Desks, change the Input Buffer Capacity to 0. Create a List with the Input nodes of the seven Desks. On the Output of the queue server change Entity Destination Type to Select From List and the goal to Smallest Value. Keep the default expression. It should work fine.
  6. Hello all I am relatively new to Simio and DES. I am trying to model a pallet conveyor. It is a closed loop conveyor. I use the "vehicle" as the pallet that loops around the conveyor. At the source the part (default entity) is loaded on the pallet. At the sink the part is unloaded. The problem that I am encountering is that the vehicles from time to time pile up at the sink, then after a certain amount of time they continue back to the starting point "Source1". This happens more the more I increas the "initialnumber in system" of vehicles The transfer-in Time for the sink is set at 0. At the model trace I read this for the "Input@Sink1" : "the in Token waiting at VisitNode step for '1' other processes to complete." I would apreciate any advice. Many thanks! Vehicle_stuck_at_sink.spfx
  7. In addition - Based on error message, the destination selection step seems to be trying to use a reference table, (used at source output node), despite the particular node list being specified in the routing logic for the node in question, (i.e. Output@QC2 - see below). Thanks again.
  8. Hi there, I'm very much a novice, but currently leveraging the logic in VisitAllServersInAnyOrder simbit to ensure an entity visits an entity is never reworked more than once. I've updated the model entity with required state variables and created a "MyServer" to create the "HasEntityVisited" etc etc. I'm using the "Candidate.MyServer.HasEntityVisited==False" logic for the selection condition in the output node routing logic. However, whenever I run the model I get the error message "Referenced definition type "MyServer" does not match executing type "BasicNode". I've gone over and over the various elements and compared to the working simbit, but can't identify the issue. Any help would be greatly appreciated. Thanks in advance. Garrett
  9. Hi All,

    In my model, I have a transfer node and the entity could go to either of the next 2 serves as in the picture.

    I have assigned product number(1,2,3...) to entities …., if product “1” moves from transfer node to S1 and the next product is also “1”, it should also move to S1 and if the product number changes its should change the server to S2. So the entire batch gets processed on one server.

    After processing from S1 and S2 the entity should flow in batch so that at S3 I have batch production

    Right now the entities go based on “By Link Weight” and randomly goes to the server which affects S1,S2,S3 servers setup time

    Any thoughts how can that be achieved, I do not want to setup a sequence table.

    SImioForumPicture.PNG

  10. A basic photo eye object that can be used with conveyor belts. Photo eye is based on a transfer node object. It collects statistics on time in blocked state, cleared state and throughput. Transfer nodes on entered and on exited add on processes can be used as on blocking and on clearing add on processes. Photo eye has properties to define the delays for on blocked and on cleared. Photo eye will wait to complete on blocked delay to execute on blocked add on process. Similarly, photo eye will wait to complete on cleared delay to execute on cleared add on process. PE_Library.spfx
  11. Hello River, I downloaded your files. The Gate512 was missing. I removed the information in the "30 Departure.xlxs" file that I can run the model ;-). Generally I understood how it works. Answer to your first question: I think you mean these two ways, right? From the left and from the right. In this case I saw that you used the "Routing Logic" in like all Transfernodes. The Outbound Link Rule is "Shortest Path" and you set the "Node Name" to "Input@Takeoff" Simio is using everytime the shortest link path now. Like in the screenshot below: In my opinion it would be better to set the destination once after the Entity got created in the Source for example :-). There are different ways to do that. In your model I removed all Routing Logic in the Transfernodes and used the Routing Logic only in the Output-TransferNodes of the Sources. In Simio you need only to use one time a SetNode-Step or a Routing-Logic to set the destination of an Entitiy and Simio will follow the paths or travel in the FreeSpace. You can use for example a NodeList with 2 different destinations and this Routing-Logic: With the "Selection Goal" Random Simio will randomly choose the destination from the NodeList. I uploaded you your model with the changes as an example: Problem on the taxiway version 17A.zip What did I changed? 1) I removed the Routing Logic in all TransferNodes. 2) I added new Routing Logic to the TransferNodes of the Output-Node of the Sources. 3) I added a NodeList with 2 new Nodes. 4) In the two new Nodes I used a Nodes-Entered-Process and a Transfer-Step to transfer the Entity to the Input of the Sink. Answer to your second question: You can change the destination of an Entity any time. In the Path (Link) you have a function called "NumberTravelors" for example to get the number of travelors currently on this path. So you can use a Expression like "Path123.NumberTravelors < 2". This can be used to decide if a way is full allready that the other way get selected. Or you can use a Integer-State and count up and down. I would use a Node-Entered-Process in the last possible node with a Decide-Step and two SetNode-Step in this case :-). I hope my answer will help you. When you have any other question, you are welcome! Best regards Pascal
  12. I am trying to make a routing decision based on the Candidate node's routerequestqueue's summation of the entities user-defined property. If there are different types of entities with ex. different priority levels. I would like the routing process to choose the transfernode which has the smallest total sum of it's entities priority level. the transfernode that needs to be chosen also has a routing group attached to its entity destination type rule where its final machine has 0 buffer and due to a blocked destination rule, there will be a queue build up at the transfernode that needs to be chosen. I have thought about using a state variable for each node and using add-on process each time a unit enters and leaves a node but because the main model has many multiple nodes the node's entity priority sum has to be able to be accessed through the candidate.transfernode._________________. For example during the routing step in the process section, I have candidate.transfernode.destinationroutinggroupname.routerequestqueue which gives me the node's number of units waiting, but i need to be able to access the candidate nodes summed queued property. Is there either a way to directly access this information, have looked at the expressions and having a hard time finding something. failed attempt: candidate.transfernode.destinationroutinggroupname.routerequestqueue.population.defaultentity.priority.summation or is there a way to use the add-on process where i am adding/subtracting the priority levels, but somehow attach it to the candidate.transfernode's property Hopefully this makes sense. If you look at the file, please ignore the upper half and focus on the transfer nodes maintransfer, transfernode1 and transfernode1_1. maintransfer has an entered add-onprocess which is the subject of this question. the route process and it's selection expression is what I'm trying to adjust but find a way to express the candidate transfernodes of transfernode1 and transfernode1_1 (which are part of the XferRouting group). I'd like to choose and compare the total summed priority level of each node's queue. Simple_Routing.spfx
  13. Hello everyone, I have a simple production line of 15 servers, some combiners, nothing too complicated. I need to somehow setup the input buffer at each server to have 1 entity at the start of the simulation and then run it. Or having filled servers with 1 entity at each server. Could anyone please help me and show me how to set it up? I need to start counting the stats once all the workstations are filled, but warmup period does not seem to work for that case, because it destroys the enitities at the servers and starts over. The filled-input-buffer-way looked to me like the easiest solution. But if there is another way, please let me know. Thank you!
  14. My simulation is looking at maintaining inventory levels at multiple servers across a road network. Inventory is delivered via transports and is processed at each station at a rate of 1 item per hour (constant). What I am trying to do is to run some experiments to determine effects of different parameters on delivery system performance (ability to maintain inventory at (between 0-12) at each server location for the duration (72 hours is the current short test case). I have my responses set up to report Input@Server1.AssociatedStationLoad however the numbers are being listed between 0 and 1 instead of 0 and 12. Additionally, in the experiment output I get a 1 or 0 per server per scenario iteration. What I need to see is if any (and what) server hits 0 at any given time by having an output give an inventory level at current time for the duration of each run. Any advice?
  15. How can I set a safety distance between with other entity . e.g. Transfer Node 79 entity is will impact with others, how can I set a safety distance on every entity?
  16. Hi I've got a model where the situation is like this: 1. 3 Worker: W1 W2 W3 2. 3 Server: S1 S2 S3 On Monday (work schedule), W1 will work in S1 in the morning and work in S2 in the afternoon. W2 will work on S2 in the morning and S1 in the afternoon. But on Tuesday, W1 will work in S2 in the morning and S3 in the afternoon. W2 will work in S3 in the morning and S2 in the afternoon. The server properties in the secondary resource are "select from the node list." But since the node list for S1 and S2 contain both W1 and W2, and they both have the same hour of working (4+4), when the S1 server seized the resource on Tuesday morning, instead of W1, W2 got allocated instead( W2 should be in S3). I have tried: 1. Using server selection goal to " smallest distance," but it didn't work since the worker will keep swapping the room every day 2. Giving each worker a new initial value and setting the selection goal to "smallest value," but they still have the issue. 3. Try setting idle action for the worker to stay at the node, but sometimes the worker will go to the wrong destination from the first entity, hence no one working in the other room. (2 worker stay together) Is there any method to realize this idea? Thanks in advance
  17. This helped in some applications, especially use cases where multiple servers are in series and I need the operator to focus on the start or end of the process. Thanks! However, when servers are in parallel the operator tends to run back and forth between them. If I were to assign a higher priority to one line, the worker would focus on that line only. i.e. if he empties the que of parts in the input buffer of Server 1, he goes down to work on only 1 part at Server2 before going right back to Server1. Rather, I'd like for the operator to clear all parts in the que at Server1 before walking down to Server2 and vice-versa. I've tried doing this through process logic however I get stuck trying to evaluate which server the worker is supporting.
  18. Thank you for the quick answer! Yes I know the ABC Costing Calculation in Simio, but I forgot to add, that I want to divide the total transport costs among the individual components that are transported at the same time. I think it would work with the calculation: TransportCostRate / TransportQty * TransportTime , so I just have to track the transport quantity for example with MyVehicle.RideStation.Contents. And my small model is just a example. My goal is to set up a cost analysis tool with calculation of transport costs, bufffer costs, processing costs, ... for finished production models. And for example the buffer costs, i want to use more specific cost rates (footprint dependence for example, ...) The disadvantage of my custom way is that so far I can determine the costs only at certain points (for example pick up and drop off) in time and not "continuously" as it is now with the automatic calculation. Or do you know if there is a way to adjust these "custom" times so that they are also calculated continuously?
  19. Hi! I don't think you need to save those times stamps on MyVehicle. I would suggest you to use processes that triggers when the entity leaves the Output Buffer of the source and enters the Input Buffer of the server. To do that, create two process with the corresponding Triggering Event Name: Source1.OutputBuffer.Exited or Server1.InputBuffer.Entered, saving time stamps directly on the MyModelEntity.
  20. ConveyorLibrary.spfx Simple conveyor library with a merge controller, slug conveyor, Slug Node and a Photo Eye. Library has two example models. A MergeControllerModel and a PE_ExampleModel. Merge controller,Slug Conveyor and Slug Node are used together to develop a slug merge. ConveyorLibrary.spfx On the slug conveyor you can specify the size of the slug. Slug node controls when the next slug is to be released. As soon as last entity in slug crosses the slug node it will send a signal to merge controller to release the next slug. Ending node of the slug conveyor has to be a slug node. Conveyors before and after slug conveyor are regular conveyors. These objects have not be extensively tested. These can be used to develop other conveyor related objects.
  21. Updated version where slug conveyor can be used as a standalone slug build conveyor. Set the Merge property on the conveyor to False to use as standalone conveyor. Ending node for slug section should be a slug node. Make sure that the initial traveler capacity of the slug node should be 0. ConveyorLibrary _V2.spfx
  22. Hi All I would like help to build a custom (subclassed) node that, OnInitialized, would populate a lists of inbound and outbound path in each node. Ideally, it would also determine and store each path's length or travel time, and whether the path is available or not (this would probably require a subclassed path as well). I want this done dynamically (automatically) because I will likely have hundreds of nodes in my model and populating (and re-populating) these lists would be very time consuming and not very conducive to an efficient design process where paths and nodes would be added/subtracted throughout the design process. First, I guess, actually...is dynamic list population possible? Any thoughts? Thanks
  23. Hi all, I am building a simulation of a system with multiple separators which MemberOutput nodes two different routing policies can occur: 1. Standard Policy In the 'Standard Policy', each separator has its dedicated transporter assigned to it and entities arriving at the MemberOutputNode can only select the defined transporter. To this end, a DataTable has been constructed. 2. Power Hour policy In the 'Power Hour Policy', operations are shifted into a higher gear. We select a maximum number of three nearest transporters whose ride request is 0 and include them in the DataTable which specifies the Transporter Selection. Entities arriving at the MemberOutputNode can now request rides from any transporter in the DataTable. I tried to reference to a DataTable called 'TransporterSelection.EPT' in the Transport Logic of each MemberOutput Node. Each value in the EPT column is cross-referencing to a DataTable in which I try to assign the MemberInput Nodes as a Node Reference State Variable of the Transporter (EPT). Is there any way to dynamically assign more (or less for that matter) Transporters to a TransferNode? Hope that anyone knows how to do this! Cheers, Toon
  24. I have a multiple combiners into which a single worker provides entities. While the worker is at a specific combiner, I want to check if that combiner's output buffer is full. I'd prefer not to create a separate process for each combiner as I have dozens. How do I code the process so that it is generic and that 1 process can work for any combiner? I'm hoping this is an easy question. Sorry if it's obvious. Thanks for your help.
  25. Hi @jzhou, how would this work if I want to refer to the MemberOutput Node of a separator in an expression? I get lost at the following expression: Entity.Location.Parent.Node.AssociatedObject.Separator.Output.[what comes next?]
×
×
  • Create New...