Jump to content

Search the Community

Showing results for 'entities server capacity'.

  • 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

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. 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.
  3. Hello there, this is my first post here and I hope someone can help me with my problem. I´m quite new to Simio and working on my first project. I have some "return entities" that are considered "bad" at the end of the production. So they will get collected in a server which is used as a storage and get returned to the factory every 24 hours, to get reworked, if there is capacity left. Now, I want to check if there is capacity left in the destinated server and in best case, reserve the needed capacity before, before I route these entities towards it. After the entity arrived in the server, the reserved capacity should get released again. I couldn´t find a good example here in the forum or via google search, as in the SimBits, how to solve this the correct way. Maybe someone here can give me a tip, how to. Thanks in advance. Aljonator
  4. Hi Nicolas, I would investigate the Server property called Initial Capacity. This sets how many units of capacity are going to be available for the Server. You could also change this during the run by Assigning the Server's CurrentCapacity State Variable. I suggest checking out the SimBit titled "Worker Uses Work Schedule". You can access the SimBits in the Support ribbon in Simio. In this SimBit, I recommend changing the Initial Capacity for the Servers. You could set them to '6' or any value. When you run, you will see that the entities only move into the Process Station when they have successfully Seized the Secondary Resource. So even though there is 6 units available only 1 will be use when the Worker is able to process the entity. You can also experiment with giving the Worker a different Initial Number In System value so there can be more Workers. You will still see the same behavior; the number of entities that move into the Server for processing will be the number of Workers that were available to be seized. Happy Modeling! Liz
  5. Well, first thing, you don't need your entities to be bouncing between the output and the input of your server like that. If you want to use it as sort of storage, set both the processing time and the capacity to infinity. After that, at the moment that the parent entity enters the combiner "Parent Entered" you could search the queue of your storage using a search step with something like "Server1.Processing.Contents", with the condition of "Candidate.ModelEntity.State == ModelEntity.State", release the server and transfer what have been found to the output. You need to take some care on some situations, like what if the parent entity arrives first at the combiner then the member at the storage? And some care with batching quantities aswell. But I think you can handle it.
  6. Hello, I'm working on a problem where at some point a worker will transport a specific amount of pallets. Whereafter these pallets are processed by a server and a server wil process them. Once processed, a different worker (or the same worker) will move the pallets to the next server. How do I save these entities as a batch and let workers know how much pallets they can process? At the moment I have two approaches. One where I create a 'batch' as an entity and assign to it the amount of pallets. The 'problem' in that case is that I do need to count the amount of pallets at a server, since it has a certain capacity. And sometimes an initial batch whitch comes from a truck needs to be split to fit the capacity of workers. But once this would be fixed, the worker will always transport the right amount of pallets. A second approach that I have tried is to create the pallet entities normally, and assign a 'PalletHistory' in the modelEntity properties, but I find that after processing I can't find this palletHistory for the workers to get a sign of how many pallets to transport. Do any of you guys have an idea how I can approach this? Greetings
  7. My model assigns capacity of 8 to a server. Two types of Entities arrive...A and C. Before each entity is processed, I am assigning the server's process time using two different random distributions, one for A types and another for C types. My question is whether or not the processing times for any 8 entities in the server at a given time will process to different process times? Or, will the process time of the last entering entity reset the process time for the others that are already in the server?
  8. I have 2 transports delivering entities to 3 servers. What should be happening is that Transport 1 loads entities to capacity (12) then moves to Server 1 and delivers all of the entities (12). Transport 2 should load 12 entities and deliver all 12 to Server 2. Transport 1 returns to Home Node and loads 12 more entities for delivery to Server 3... and so on. However, what is happening is that both Transports are loading 12 entities then moving to Server 1 and delivering 4 entities each, then on to Server 2 and repeat and so on. I have removed and added servers to confirm that for some reason the Transports are delivering 1/#ofServers of their total capacity, conducting all of their deliveries and then returning to home once empty. I have limited the timepath to each Server to only allow 1 Transport at a time, but then Transport 2 just waits at the Home Node until Transport 1 is on its way to Server 2. Then it moves to Server 1 and just ends up one node behind Transport 1 at all times. The dispatch logic: (Server1.InputBuffer.Contents.NumberWaiting <= 12)||(Server2.InputBuffer.Contents.NumberWaiting <= 12)||(Server3.InputBuffer.Contents.NumberWaiting <= 12); set at Smallest Value for Selection Goal; Selects from a List of all Server Nodes.
  9. Is there a way to keep them in the loop until the transport arrives, there will never be a point where they are done with the loop until the transport gets there. Right now if they are in the loop I can assign them a modelentity state variable (boolean), then when a vehicle arrives it initiates a process that has a search step with the search condition modelentity.BooleanStateVariable==1 with a return limit of the capacity of the vehicle. the found entities must either interrupt the task or process they are currently doing depending on where they are in the loop and be moved by a worker to the evac node. If that seams like a plausible solution, I just need a process step that can completely cancel a task sequence because the interrupt and suspend steps do not seem to apply to tasks. Once the task sequence is suspended the modelentities should flow to the destination node no problem after leaving the server.
  10. You can create a customized server, where you can store the entities in the processing station, with processing time as zero and at the output node of the server make the ride on capacity as true. Also in add on process trigger for transport request you can choose the waiting for vehicle by stacking number. Stacking_RideRequest.spfx
  11. I have a model where I need to set a server had a maximum of 15 entities from 7 A.M to 10 A.M. I Use the WorkSchedule but I don't know how to limit the number of entities. Can someone help me? *This server it is parallel with other servers.
  12. I have recreated a system to see theoretical capacities and it has multiple sources (1 parent and 2 different members that I combine). I have turned off balking because that interferes with my unit mix. I have also changed all buffers to a finite number and crossing logic capacities to 1. Even with all of this, I still hit the 2500 max entities and an error pops up. This system should only be able to hold a couple hundred, so I know I don't need to adjust my capacity size. I made the units stop at the 1st server so I could isolate the issue and it appears to be upon creation or in the combiner. My question is, how can I have unit production pause (not stop) when the buffers and capacities are full? I have attached the file for reference. APS Design 2.spfx
  13. Do entities choose the server randomly? In this case you could set the Outbound Link Rule to By Link Weight. Then set the connectors weight to its respective cashier current capacity. So when the cashier's capacity equals zero, the entity has a 0% chance of choosing that cashier.
  14. Hello, I want to simulate an evacuation network problem. When a hurricane is imminent, all people want to evacuate the hazard area to safe areas. Therefore, we have a traffic jam (congestion) on the road. So, The speed of vehicles changes based on traffic. I have a couple of questions: 1) Is there any module in the Simio to consider traffic on the road instead of considering waiting time for server or transfer node. I mean that congestion embedded on the road by decreasing the speed of entities. 2) Are there any options to consider congestion such as considering a segment of a road is decomposed into cells based on the free flow velocity and length of discrete time step. By this division, vehicles can move only to adjacent cells in unit time. The connectors between cells are dummy arcs indicating the direction of flow between cells. For example, if 5 hour takes time to drive from the beginning of the road to the end, we put transfer node after each one unite of time (server---> after 1 hour--> transfer node ---> after 1 hour--> transfer node ---> after 1 hour--> transfer node ---> after 1 hour--> transfer node ---> server ). In the path, vehicles drive with fixed speed and path has a fixed capacity. Therefore, we can consider congestion if a vehicle wait to enter the path. I would be really happy if you could let me know how to consider congestion on the road. Thanks, Nadere
  15. Hello, I am simulating a restaurant queue with two servers. The queue is lineal and the entity order is FIFO. The 85% of the entities goes to Server 1 and 15% to Server 2. But I need that all the entities do the same path. So, those entities that have to go to Server 2, wait till Server 1 (capacity==2) is empty, and then go to Server 2 (capacity==2) without processing in S1, and those entities that go to Server 1, then, wait till Server 2 is empty, to move on without process in Server 2. The real example is a lineal queue where you have to choose between two foods, but independently which one you choose, you do the same line, taking the food in the server you choose and waiting for the people that is in the other server to finish in order to move on and pay. How can I do it? Thank you so much.
  16. I have created two real states for each entity and depending on the probability based, assigned to each entity a different processing time. I guess that this should work, but now I realized that I have another problem. Before the two servers that I mentioned in the post, I have another server with a lower processing time. It is supposed that Server 2 and Server 1, that have a larger processing time, should create a bottleneck, and I want that all the queue stays in the input buffer of that Server (let's say Server 0). The problem is that the entities that finishes at Server 0, go directly to the server 1, although I specified that the output buffer of the Server 0 is 0, the path capacity is 1, and the input buffer of Server 1 is 0. I even can appreciate how some entities that arrive to the Server 0, if this server is busy, skips that server and pass directly to the next one. How it is possible? I want to create the queue in the Server 0, and then move to the other ones when they are empty, always following a FIFO rule. Thank you so much.
  17. Hi, I have different type of entities queue up at an server output content waiting for a worker comes to pick them up for further process. After picking up, each entity will be sent to the corresponding location for further process. Ex: Product A goes to Server A, Product B goes to Server B ...etc. Can I pick up the entity based on the condition of capacity remaininig of the destination? Ex: Suppose we have 4 products A, B, A, C queue up. When the worker comes to pick up the first product A, he will check the capacity remainig of the destination Server A. If there is still capacity in the Server A, then go. If there is no capacity in the Server A, the worker go check the second product B and see if there is capacity in the Server B... etc. Can someone give me some idea how I can do this? Thanks for the help!
  18. Hi All, It's been a while since I have last used Simio and I have an issue that I think should be simple. I have two entities running on a production line, one gets processed by a server and the second entity type moves through the same server almost like a conveyor with no processing. I can work around this by adding another conveyor around the server, but in real life the product does flow through this server and eats at it's capacity. Is there anyway to set up different processing times for multiple entity types on a server? Thanks, Brendan
  19. I have a model where three conveyors merge from individual sources. All three sources release entities at an inter-arrival rate of 4.5 s. At the merge there is a server which has a processing time of 1 s and a 0 buffer capacity. In the image below I have two models with the exact same properties, the only difference is the conveyor speed. The top model has a conveyor speed of 0.5 m/s and a queue forms reaching a length of infinity as time passes. The bottom model has a conveyor speed of 2 m/s and a queue never forms. Why is it that a queue forms in the top model? Can someone please explain? It does not make sense to me why such a long queue forms. Please explain using queuing theory or mathematics, or Simio logic if necessary.
  20. Hi, I made a simple warehouse-retailer model with a source(warehouse), two servers(retailers), and a sink, where the entities(products) are carried from the source to the servers using a single vehicle. The current capacities(demand value at the retailer) of the servers changes after a specific time interval(12-hours and simulation run time of100 days). The Input and Output buffer capacities of both the servers are set to zero. The vehicle leaving the source (Home node) returns back only after serving the respective current capacities of the servers one after the other. As each entity enters the server, its capacity is reduced by 1 unit ultimately reaching zero-current capacity when the full capacity is served. The problem I encounter is that sometimes after my vehicle leaves the source, the current capacity value of the server changes and the new value might be smaller than the previous current capacity value. So my vehicle stays at the input node of the server with the extra entities carried until a new current capacity value is assigned, instead of moving to the next server with whatever entities are left in the vehicle. I don't intend to change the vehicle speed or time interval for capacity changes to rectify this issue. For example, the current capacity values of the servers at time period 1 are Server 1 = 10 & Server 2 = 12. So the vehicle carries 10+12=22 entities from the source to the server 1. Now while the vehicle is moving towards Server 1, if the current capacity changes to Server 1 = 8 & Server 2 = 12, the vehicle stays at server 1 after serving the 8 units and the remaining 14 units stays within the vehicle instead of moving to the next server to serve its capacity. Screenshot of the model is attached. Could anyone help me with this issue? I would really appreciate your support as I have been trying to fix this issue for a while.
  21. So I see what you are trying to achieve, and your approach can be moddelled yet you will need to really know what you are doing if you want to start transferring entities in and out of queue's, as well as adjusting capacity of vehicles to circumvent default routing logic. Alternatively, I would set the Retailer capacities back to one and treat an entity as a shipment from the warehouse to a retailer. I would also look at add a material element to the transporter and each server and utilize Simio's produce and consume functionality to drive variation in supply and demand. This will allow you to utilize the base functionality of the transporters, without dabbling in capacitative resource allocation, unless you fully understand the intricacies of the inner workings of a transporter. Task Sequences embedded within the servers should allow you to easily accomplish your objective (basis production and consumption of material), without needing to utilize process logic and corresponding Produce and Consume Blocks. Hope this Helps.
  22. Hello! Probably it's a easy problem to solve, but I'm struggling with it! I'm going to describe my little system (please see the attached image): At lunch time (12h PM), the students enter the restaurant through the ticket gate (1) and chose the self-service food buffet (servers A, B or C) with the lowest queue. My question is: when it is 1h PM the "C" buffet closes, for this action I've put on the first "C" server a "Work Period Exception" that makes the server to have a new capacity = 0, but its queue (with more than 30 people) continues on "C" inputbuffer, thus I would like the students (entities) to go from C inputbuffer to A or B servers (that are open) when It's 1h PM and "C" is already "closed" (capacity = 0). Thanks in advance! Gabriel
  23. Hello Simio team. My group and I are currently working on solutions reguarding queue related issues. We are working on a case where we can implement a loop system similar to the Sim Bit called "Add and remove server capacity", altough we would like relate the opening and closing of capacity based on the maximum queue time (5 minutes = Open another server) and (3 minutes = Closer a server) in the TransferRode instead of the numbers entities in the TransferNodes. We have tried to follow the pdf step by step in the Sim Bit, but we have not been able to get it to work. I hope you guys can help us resolve this issue. -Mlars11 Pharmacy.spfx
  24. Hello all and thanks for letting me be a part of Simio Insiders I am closing in on having done my first source, server, sink simulation. It is done as a part of a University study and is due next week. Feel free to download my attempt and have a look at it. The process I want to simulate is as follows: 1. Chef recieves an order of 1-6 beef patties 2. The chef puts the patties in a grill, that has capacity of 12 patties, and a base cooking time/process time of 1 minute total (that increases with order size) 2a. If more orders come in, while the grill is preparing an existing order, they have to be put in queue, as the grill should not be interrupted. When the grill/server is free again, it will take all - or up to 12 - from the queue, depending on how many orders are in queue 3. The patties go to the sink I am using a Time Varying Arrival Rate table from real life data, on the course of 2.5 hours. The trouble I am having is as follows, and please, feel free to only answer some of them, if you don't have answers for all: _____________________________ a) Order size We want to have orders vary from 1 to 6 patties, per order, in a way that resembles this distribution: 1 (min order size) patty ; was ordered 2 times 2 patties ; was ordered 18 times 3 patties ; 9 ... 4 ; 7 5 ; 3 6 (max order size) ; 1 I have not been able to imitate this behavior. Right now, I use Entities per Arrival to be Random.Possion(2), as this looks a bit like this distribution above, but the flaw with Poisson is (I believe), is that an order-size of 0 patties is a possibility, which doesn't make sense. I have also been playing around with a lookup table, without a real clue on if that's the right thing to do. What should I do to resemble this? _____________________________ b) Server (grill) behavior The problem right now is, that the grill (server) can keep taking in patties, even if it's already processing. That doesn't make sense, if you think about it, since you can't put patties into a closed grill. I want it to start preparing an order, as soon as it gets it, and just let the queue of patties build up until the grill is free again. Then, take up to 12 patties into the grill. _____________________________ c) Process times For the grill, I want the process times to follow the amount of patties in the grill. The grill takes 60 seconds to prepare a patty, and we assume each patty takes 2 seconds to load. Therefore, we choose to simplify that: 1 patty takes 62 seconds to make 2 patties take 64 seconds 3 ; 66 sec 4 ; 68 sec 5 ; 70 sec 6 ; 72 sec 7 ; 74 sec 8 ; 76 sec 9 ; 78 sec 10 ; 80 sec 11 ; 82 sec 12 (max grill capacity) patties ; 84 sec Which is basically y = 2x + 60 In the simulation I uploaded, each patty, no matter the order size, just takes 60 seconds, which is incorrect. How do I get the grill to behave like this? _____________________________ d) Batching After getting the server behavior to work, I want to work with the utilization of the grill. My idea is, that if the server (grill) is told NOT to start preparing patties right at the moment, it receives the order, e.g. if the quantity is small, but instead waits a certain amount of seconds, to see if more orders should come in, maybe the total wait can become less. There shouldn't grow any large queues with the current arrival rates, but if we double it, it might become relevant, so customers shouldn't wait for too long. Another option would be, that it waits till a certain amount of patties are in queue, such as a minimum of 6. _____________________________ Thanks again, and I sure hope you will take a look at this! You are more than welcome to edit the file, but it is also fine, if you just type in here. Best regards, Johan Grill.spfx
  25. Hello, One approach you could use is have an initial capacity of 0 at the Enfriado servers to hold the entities in the input buffer queues. During the entered event of the input nodes of the Enfriado servers, you could insert the tokens into a storage element. And a "controlling" server could then use process logic triggered by a scan step that determines if the number of entities in the input buffer queues are greater than 1, that would perform a search of those Storage.queue for the Entity with the longest processing time. To determine the processing time, one has to track it. The real state variable on the ModelEntity, ModelEntity.RealStateVariable, would be created and TimeNow would be assigned before processing. Then that is assigned TimeNow - ModelEntity.RealStateVariable after it processes at the previous servers. Once the entity is found from the storage queue, a transfer step would take that entity and pass it to the Cortador server's input node. The search step could look for Candidate.ModelEntity.RealState1 using a Backward search type and a limit of 1. Once the entity is transferred, the entity can be removed from the storage element. Judy
×
×
  • Create New...