Jump to content

Search the Community

Showing results for 'daily arrival'.

  • 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. I have a problem with the source arrival mode.For the source "Arrival Mode" i want to use "On Event". So for "Triggering Event" i have 3 options. Object@Entered, Object@Exited and Object@CapacityChanged. So in my model source A is delivering something to sink B. And every time the entity from source A entered sink B a new entity should be created. So i used "Input@SinkB.Exited" and "Input@SinkB.Entered", i tried both. Because i don't really know if there is a huge difference. I guess the exited will create an entity as soon as the one entity left the system through the sink and the entered as soon as the entity enters the sink. But please correct me if i am wrong. So anyhow my problem is now, that the Source is creating more entities as it should. It creates entities even if now entity entered the connected sink. Maybe you guys can help me why that doesn't work as it should be.
  2. You might want to look into Arrival Tables. See the following screen grabs. Configure the source to create entities based on the arrival table as follows: Setup the arrival table to define the arrival time and the number of entities per arrival as follows: Hope this helps, Lucas.
  3. Hi, I have 6 entities arriving at exactly 8am each day. Each of the 6 entities will create a certain number of entities on arrival from their respective distributions. How do I model in my source? I cannot have multiple sources as each entity has its own server processing times. Please can you help? Thank you
  4. Greetings, I am building a model which requires 20 entities to arrive at the first hour then four hours of break with no arrivals . Then repeat the same pattern of arrival of 20 for one hour and four hours break in between. I have been using the arrival schedule and use the rate of 20 in the first hour and 0 in the next four hours . However I am not getting 20 entities exactly with this arrival schedule and it is always less than 20. Is there away to force the exact number of entities arriving per hour? Thanks M Alseiari
  5. I need to build a simulation of a train maintenance workshop. Each of the trains are entering and exiting the workshop with always the same daily schedule (day-hour-minute). I have set up two arrival tables (one for train arrival, the other for train departure) which trigger two timers, and it works well. My current problem is that the simulation should now run over 1 year (simulation time). The arrival table is expecting a time AND a date, and I am looking for a smart solution to avoid writing repeatedly the same schedule for the 365 days of the year in an Exel file. Thanks for your suggestions
  6. Hi Guys, I have a source producing the entities, which is processed by the server with a worker. server and worker are assigned to work schedule (7Hrs) (12am-7am) arrival model of the server is set to time varying arrival rate. to control the source on holidays. But with current scenario the source is producing the entities on off-shift time. Please help out with a logic, so that source is produces the entities matching to the timings of work schedule. Note: Simulation run is for a period of 1 year. Regards, Alen
  7. Hi Alen, I have attached a model with two different approaches to this question. 1. RateTableApproach - the arrival data is stored within a Rate Table. Note: The Rate (events per hour) is influenced by offsets from when the model begins its run, not by the hour of the day. For example, a model begins its run at clock time 7:00:00, the first entry with a Starting Offset of Day 1, 00:00:00 and Ending Offset of Day 1, 01:00:00 would actually correspond to clock time 7:00:00-8:00:00 and not 00:00:00-01:00:00. 2. ProcessLogicApproach - the Arrival Mode is 'Interarrival Time' which is turned on and off via an Add-On Process. Note: You will need to set the Delay step up to correctly account for the clock time you wish to delay before turning on/off arrivals. All the best, Caleb SourceWorkingAsPerTheWorkScheduleForServerAndWorker.spfx
  8. Let's see if I can elaborate... The following outlines the relevant characters in simio file "table_selection_by_name.spfx." Model->Definitions: Properties: OptionId (Entity Property, default=null) _SelectedTable (Table Property, default=tableOption1) States: RowId (integer, default=1) maxEntities (integer, default=2) ModelEntity->Definitions: States: _id (Integer, default=0) row_num (integer, default=0) temp (integer, default=0) Model->Facility: ModelEntity Types: Option1, Option2 Source1, Server1, Sink1 Source1->Entity Arrival Logic: Entity Type = OptionId (Reference Property) InterarrivalTime = 1 second Source1->Stopping Conditions->Maximum Arrivals = maxEntities Source1->Add-On Process Triggers->Created Entity = Source1_CreatedEntity Sink1->Add-On Process Triggers->Entered=Input_Sink1_Entered Model->Facility->Controls->General: OptionId = Option1 _SelectedTable = tableOption1 Model->Processes: Input@Sink1 Add-On Processes Input_Sink1_Entered: [Begin-> Tally(temp = ModelEntity.temp) End] Source1 Add-on Processes: Source1_CreatedEntity: ************************* [Begin->Decide1(IsOption1 = True)-> Assign(maxEntities = tableOption1.AvailableRowCount)-> SetRow(tableOption1, RowId)-> Assign(ModelEntity._id = tableOption1.id, ModelEntity.row_num = tableOption1.row_num, ModelEntity.temp = tableOption1.temp)-> Assign(RowId = RowId + 1)->End Decide1(IsOption1 = False)-> Decide2(IsOption2 = True)-> Assign(maxEntities = tableOption2.AvailableRowCount)-> SetRow(tableOption2, RowId)-> Assign(ModelEntity._id = tableOption2.id, ModelEntity.row_num = tableOption2.row_num, ModelEntity.temp = tableOption2.temp)-> Assign(RowId = RowId + 1)->End Decide2(IsOption2 = False)-> End] ************************* It is here that I could like to simply the logic using something like _SelectedTable instead of tableOption1 and tableOption2. I would like to know how to replace Source1_CreatedEntity's above step definitions with something like: [Begin-> Assign(maxEntities = _SelectedTable.AvailableRowCount)-> SetRow(_SelectedTable, RowId) Assign(ModelEntity._id = _SelectedTable.id, ModelEntity.row_num = _SelectedTable.row_num, ModelEntity.temp = _SelectedTable.temp)-> Assign(RowId = RowId + 1)-> End] But this replacement does not work. The following works, but I'm searching for a way to do this without replacing the column name with an indexed value: [Begin-> Assign(maxEntities = _SelectedTable.AvailableRowCount)-> Assign(ModelEntity._id = _SelectedTable.id[RowId, 1], ModelEntity.row_num = _SelectedTable[RowId, 2], ModelEntity.temp = _SelectedTable[RowId, 3] )-> Assign(RowId = RowId + 1)-> End]
  9. Hi M_A, Just setting the Sequence property to 'Sequence1' should be enough since you set up relational tables. Because you have Maximum Arrivals set to '1', it is going to produce 1 entity type. I would switch your Maximum Arrivals to '35' and number of entities per arrival to '1'. You will also need to set your interarrival time to '0', so all 35 show up at the same time. It might be best to use a second Source object to create your second shift. I would increase the length of the Ride Station Queue in order to see all 6 passengers boarding the Vehicle. I think the network is fine, but hard to debug. Be sure all travel destinations for the Vehicle are possible. Thanks, Ryan
  10. Hi Ryan, Thank you for the corrections. As always, spot-on advice, that is very appreciated. I do have a few follow up questions. - Do I set the Initial Sequence property to 'Sequence1' or do I need to tell it the row too? 'Sequence1.Sequence'? Sequence 1 is working, but just wondering. - In the SimBit, Entity Follows Sequence With Relational Tables, there are three types of Entities that all flow through the same source with the Source Property, Table Row Referencing, pulling from the JobTable with the Row Number 'JobTable.ProductMix.RandomRow.' For my model, I have two different entities and the source Bldg is supposed to pull BOTH entities with the Table Row Referencing, "JobsTable" with Row Number: "JobsTable.NumberWorkers.RandomRow." But when the model is run, only one entity is ever used. The Table has an ExpressionProperty of Random.Triangular(3,6,9). Is that the problem? The SimBit's table was an actual number. I tried replacing the Expressions with actual numbers and the Entity switched to use the other one but I am still not able to get half the 34 to be one Entity and the other half to be the other Entity. - How do I get the Vehicle to carry its max capacity? The capacity is set to 6, and it only carries up to 4 entities around at any time. This is incorrect, as the Entities are supposed to be grouped into work teams of Random.Triangular(3,6,9) for their initial Source output move. Afterwards they can be individuals or work teams. The Bldg has the Entity Type defined as the JobsTable.Specialty so it should pull from one or the other (like the below mentioned SimBit), and the with Entities Per Arrival Set at 35; and the Entities themselves are set to a population maximum of 17 each and I get a Runtime error of maximum number exceeds limit for the entities. Why doesn't it hit the limit and then pull from the other Entity? - I'm confused about the network you mentioned above. I thought the nodes had to be linked directly (output to input node). So the busy nodes have a lot of paths radiating out from them and it makes it a little messy. Is there a cleaner way to show the routing? Thank you,
  11. Hello, I have a Arrival Table, but I only want to create Entities of a specific part of the Table based on a property. IntCol Entity 0 A 0 C 1 B 1 c So, the source should create all entities with a certain integer in column 'IntCol'. The integer value is assigned by a referenced property that I can experiment with different parts of the ArrivalTable For example: If Property == 0 , create only A and C in the source. How can I do that? All the best
  12. Hi Mirek, I think the problem here is your setting arrival mode to arrival table. I am not sure but after generating right entity the source object then assigns it row according to the arrival table which means row 1. Then the right entity (B) follows the wrong task sequence. Try by setting arrival mode to interarrival time. This time it should follow the right seqeunce. I will try other options and inform you if I get any other solution.
  13. Hi - 2 questions: 1. My model has people coming on shift, being transported to various locations, and then ending their shift at the sink near the source. However, I need them to get picked up and have ALL cycled through the lunch break server. Right now, out of the 35 people on shift, only 1 person got lunch, and only 6 people had their end of shift. How do I constrain the server to ensure the vehicle drops everyone at the lunch server and then the EndOfShift? 2. I would like to model 2, 12-hour shifts (each with the 35 people). I need all 35 to show up at the same time. This is my source Entity Arrival Logic. How do I change it to have two sets of 35 show 12 hours apart?
  14. To answer your question specifically with regards to the MultiEchelonSupplyChain example, the OnReplenishOrder process that you see in the process logic of the data table driven example is automatically executed by the Inventory elements when the inventory detects the need to replenish. Go to Definitions -> Elements and click on the Inventory elements and you will see where that process is being referenced. The ShippingReceivingLogic process is being executed when an entity enters any of the BasicNodes placed in the Facility View. For example, click on the DistributionCenter node and in the Add-On Processes -> Entered property you will see the name of that process befiling referenced. The TryFulfillOrder process is executed by the OnCustomerOrder process using an Execute step, which is in term triggered by a customer order arrival. Note that If you are trying to figure out where the name of a process is being referenced, you might go to Project Home in the ribbon UI and go to the Search window. And then search for the name of the process in the model, and it will show you the locations where it is being referenced.
  15. You can just use a process with a WAIT step. On entity arrival you will fire and event and the process will go on. I also belive that a worker is derived from entity so you can use workers instead of entities. Or the best fitting thing is to use consume step to consume a material (the tools). And have two inventories for it (one near the machine, one in the warehouse of tools). There are some simbits with the basic inventory concepts.
  16. Hi, I have used the SimBit "InterruptibleOperator" where i have set the process time on the servers to be a fixed one (200 sec at server 1 and 300 sec at server 2). I have further more changes the Interarrival time on source1 to be 1 day and the entities per arrival to 50. The Interarrival time on source2 to be 1 day and the entities per arrival to 100. (Look at the linked file) Then when i checked the process time on the server in results it was not 200 sec and 300 sec as had set it to in the server. I think the operator is the one to blame for this, but how can i get the right result in results? I have tryed to remove the operator and the process connected to it, and then i got the right process time. I however still need the operator, so need a solution to get the process time and keep the operator. InterruptibleOperator - process time - resultat1.spfx
  17. Ok, in this case, I tried to solve it using a regular Data Table. Maybe not the prettiest solution, but check the attached model. I used the TimeNow expression to check what day is it and assigned the Entities per Arrival property to that day's row of the data table. Arrival.spfx
  18. Hi, I'm currently working on the attached model, and currently i have a lot of trouble on making the two operators prioritize the B2C entities. I hope that somebody can help me fix this issue. Just a brief rundown of the model: each day freight arrives at 8.00 and this triggers the sources for B2C and B2B to feed a number of entities, with a corrosponding distribution into the system. Upon the entities arrival to the two "AT-servers" the two operators should prioritize the completion of all B2C entities, before moving to ATB2B. If new entities arrives at the ATB2C server, and the operators is situated at ATB2B, they should interrupt that process and focus on ATB2C. The prioritizing and interruption is based on the simbit: InterruptibleOperator.spfx Best regards Kasper MySimio.spfx
  19. Hello everyone, I am a master's student in operations management trying my hand at Simio for the first time. I want to develop a model that simulates the delays incurred by variable supply lead times which may lead to stock-outs at a manufacturing plant. I would like to model demand so that each entity generated by a single source module corresponds to a sales order. Each order should have a probability to include orders for several specific product types (since sales orders may contain orders for different product types). As such, entities should have an arrival rate which corresponds to the arrival rate of orders at the company, and the product mix of each order should reference the probability of a given product type being included in that order (i.e. product A has 25% probability to be included, product B has 50%, etc.). Is it possible to do this? I would also like for each product type to be associated with a specific BOM. I.e., a server module should reference each entity instance to consume material as defined by the BOM’s of the products stated by the entity instance. I have defined each component as material elements and defined a BOM for each finished product that references the materials needed. However, in the server module I am only able to input a specific type of finished product as material requirements... Your help is greatly appreciated!
  20. I'd recommend you read the Create help documentation. It provides some detailed info on how the step functions. It also mentions the CONWIP and DynamicallyCreatingVehicles SimBits for examples using the Create step. For my second suggestion, yes this can be done with variables. What I would do is create a new Source and Sink that create entities that just tells the model to perform logic. And since this is just a regular sink, you can specify when to create those entities however you desire (by arrival table, randomly.....).
  21. Thanks, Jason for your answer and your interest. The situation is the following: I have to receive an order with set amount of entities that must be completed in a specific date and hour, but I need to distribute that order in some intervals before the deadline. It means, If I have an order with 15 entities for November 3 at 8 pm, I could receive 10% of the entities at 7 pm, 50% at 7:30 pm and 40% at 8 pm. So, I have the idea to do an arrival table for the schedule of the order and a rate table for the percentages that I need. And I want to know that is possible in SIMIO to put both in the source? Thanks for your help!
  22. Based on another thread of yours (link), I ended up created a real state variable for my entities per arrival, then created a process to pause and a process to restart based on the population in the system. So far it seems to work. The change you show above only fixed the issue for another 12 hours or so.
  23. Hi George, I know the normal ways, to create an entity from a table are: 1) Use a timer with the date/time table for a trigger for a own process or 2) A source with the arrival table option. If you want to create entities, maybe you can make a loop process like GFurtado with an Read-Step/Excel-Step and then you can use the Create-Step of Simio. Then you can check with an Decide-Step "TimeNow >= value" for example and create your Entity. With this option you can use FastForward too. With an lower delay time it is near the real time. Maybe this could be a solution for your problem. Because, then you dont need a third party tool to click on import. I checked the Simio API and I dont find something about a trigger for the Simio buttons or a button click event, what we can use for the problem. It would be nice, if there is an API to "use" the button click processes. For example, to import one or all tables again. Maybe a professional Simio API developer know more and can write here. Have a nice day! Best regards Pascal
  24. My company is developing a big model that simulates the arrival of passengers to an airport. It is important to us to control the randomness of the model for two reasons: - We want to be able to replicate the outputs of an experiment if the changes had not been significant. - When running different scenarios where only part of the configuration has changed, the part of the model that has not changed should remain the same. It is possible to control the random generated number of the distributions that Simio offers, but we hadn’t been able to fix the randomness in the next cases: - When using the function RandomRow. Any change in the model that modifies the running time when the function is called changes the row selected. - When selecting a path from its weight. As well as with the RandomRow function, we have seen that only moving one meter the node that is connected to more than one path, the randomness of the path selected varies. Furthermore, because of the dimensions of the simulation, some processes take time to end. That means that in some cases when we add more data to the input tables, data that is independent to a previous part of the simulation, everything changes because the process takes a little more time to end and that changes the result of the random decisions. We would like to know if it is possible to control the randomness on this events, or what other alternative can we use. There is a mini model attached that shows the described behavior. It consist on a source that generates 100 entities, and two possible paths with the same weight. If the node that connects to both path is in the center of the facility, 45 entities go up and 55 down, like in the next picture. If the node is moved to another location, the number of entities that go up changes to 48. Finally, adding a process (with a loop that doesn’t do anything) before selecting the path, the number of entities varies again to 47. Randomness_example.spfx
  25. At some point I would start looking for a SCADA system, write it in Python or anything outside Simio. A Simio Engineer would be better suited to help you, but I still believe you could build this inside Simio (maybe through an API?). I manage to build a very ugly version of this that kinda works. It's not real real-time, because I still need to click on the manual import button (I don't know how to help you with this). I set my source's Arrival Mode to On Event; Create a process with a Decide step that checks if the table received a new value: If it received a new value, trigger SourceEvent; If it didn't, check again a second later. As I said, it's not very elegant, but I hope it inspires you to find the right solution.
×
×
  • Create New...