Jump to content

Search the Community

Showing results for 'api random'.

  • 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. 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.
  2. 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!
  3. First of all, Thank you so much for the answer in advance, but could I bother anyone who answers with some example model or picture of the method I am still new to SIMIO, so I am concerned about following the advice correctly. 1) Let's say every day I have X number of people arriving( using distribution to generate numbers outside SIMIO randomly). This is the shop where people visit from 8.00 to 20.00 every day with different visit rates per hour (example as below), and I use X to time to this percentage so I can get the exact number of visits per hour. The problem is I want to make an arrival interval random with some sort of function/distribution or table(excel calculation), not a stable arrival rate. My idea is random from 0 to 1 and gives the random number (Y) to match with X outside SIMIO and put the whole table in, but I wonder, is there any better method than this? 2) The second question is about two entities from different sources, A and B. A and B will go through the same server for three servers, but after server 3, one will go to 4, and one will go to 5. Can you give me any advice on how to do that
  4. 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
  5. Hello! So I am using a source that is sending out 9 different entities, each with a priority 1-9. They are listed in a Data table called 'Part Data' This is the 'Table Row Referencing' call I am using in 'Before Creating Entities' in the 'Row Number' section: PartData.Priority.RandomRow I want to switch this to use a Random.Normal(mean, sd) - is that possible with discrete values in the table? Thank you for any help you can provide!
  6. How can I use the TableName.PropertyName.RandomRow function in these two situations? 1. If the column of the weights (PropertyName) is determined during the simulation. 2. If I don't want all the rows to be taken into account. For example, only the rows that meet a condition based on other columns in the table. Given Table1 as in the following figure : StringProperty# columns are the filters and RealProperty# columns the weights used for function Random.Row. So, for situation : 1. I want to select one of the RealProperty# columns during the simulation but if I do that I can not use RandomRow because I need to write down the column name (PropertyName). Any suggestions for that? 2. I only want to use the weights that are associated between the rows that have A and X in the first two columns and that, therefore, the selected row is between one of those. Thank you in advance.
  7. Hi Barry, I tried a bit and I am quite sure that PartTypes.HowMuch.RandomRow(RandomNumberStream) works. Use integers for RandomNumberStream to set/get the specific random streams. I tested it on RandomValueFromTable simbit (i.e., PartTypes.HowMuch.RandomRow(0), PartTypes.HowMuch.RandomRow(1)) and get different results for each. Also, when I restart the simulation I got the same results for each, as well.
  8. I would like to return to this topic: Controlling the random number stream for RandomRow. I need to do this because I am repeatedly invoking Simio from another program (Matlab or Python), and when I execute Simio (say) the second time I want to generate replications that are independent of the first time. I have no problem passing stream numbers to Simio, but of course RandomRow uses its default (which I assume is stream 0). If I can't get access to the stream, then I would be interested in how to code a SET ROW step that is the equivalent of RandomRow using a column of the table for selection.
  9. Is it possible to specify the random stream used for the RandomRow function?
  10. Good day, I have a tally statistic element that contains random values (in my case, the time to process an entity based on many factors which are also random). I was wondering if it is possible to access the values of the tally statistic individually, or in the broader sense, as I am trying to plot a curve from this single tally statistic. Thank you in advance. Eduan
  11. 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,
  12. Hi Ryan, -The model gets stuck at about an 1 hour into it. Can't get it past the vehicle going back to the 'Bldg,' as seen when I track the vehicle. -The distributions are all random triangular with set parameters in the Sequence1 Table. The idea was that the 35 people/Entities would arrive at the Bldg Source and as Entities the JobsTable would assign a random triangular number of workers to a job and then start ferrying them per the sequence in the Sequence1 Table from the Key Column from the Bldg. The vehicle can carry 6 people but it seems to only carry 4 at a time. Also, the ferrying is completed at about an hour and the vehicle just stops at the Bldg with 4 passengers. Instead, it needs to continue ferrying by having the entities 'call' the vehicle to their location to continue the route sequence, through LunchBreak, and then get eliminated at the EndOfShift node. 11May.v2.spfx
  13. Hi M_A, It is difficult to determine what could be causing this without seeing the model. Here are a few things I suggest investigating: Ensure that your model run time is set run long enough for all of your entities to flow through your system. To test this, I would set your model run time to Infinity, and create 1 set of 35 employees. Then see how long it take for the model to cycle through all entities. You may be able to use some Animation at this step to see where the entities are getting stuck. Along with #1, I suggest turning on the Model Trace and reviewing the steps taken for each of your employees and the bus. If you are using an unbounded random distribution (for example a normal distribution) for any of your processing times, then the result of that distribution could be something very large. You should be able to see if that is the case within your Model Trace review as well. Lastly, make sure all of your Transfer Nodes are set to route By Sequence and require the bus for transport. Hope this helps. Thanks, Ryan
  14. Hello all, In my model, I have a pool of secondary resources representing Firms. Order entities with random amounts arrive from a source, targeting randomly selected firms. The amount in each Order entity is registered in a state value vector (called "FirmDemands" with a row for each firm) as the demand for its target firm. I would like to direct Product entities coming from a different source to the firms according to their present level of demands. I suppose I could use "Select from List" option, but how would I refer to that state value vector in the selection expression so that a product will be assigned to the firm with the highest demand at that time?
  15. I want to set a timer that represents "time of failure" where if the entity is not processed within this time, it will be deemed a failure and be destroyed. This time needs to be dependent on a random draw (one for entity type, and one for a distribution based on entity type). I also need to be able to change this time due to interventions that happen. Is it possible to do this?
  16. Let's say I want exactly 100 entities arrive where the arrival of each one follows a normal distribution with mean 1 hour and standard deviation of 5 minutes from the start of the simulation. How can I model that within SIMIO? The interarrival time doesn't make sense because I don't know / care what the interrarrival time between each entity is. I realize that I could randomly generate 100 normal random variables outside of SIMIO and input them all as an appointment, but I am wondering if there is a better way especially if I want to do many replications with a different set of 100 random variables each time.
  17. I've attached a small model that demonstrated a very simple example of the behavior you're after. The entities divert in only 1 dimension (X). The entities periodically recheck (every second) whether they've crossed a defined X threshold. When they cross the threshold they divert in the Y direction in either a positive or negative direction (using Random.Discrete) and then resume course towards the destination. Hope this is helpful. Lucas. Free Space Diversion.spfx
  18. New to Simio and learning as I go. The attached model includes a CombinerNode1 that batches entities in groups of 2 & 5 (random.discrete). I would like Server1 to use different processing times for the different batch sizes. For example, a batch of 2 entities should be processed in 5 seconds; Batches of 5 entities in 7 seconds, etc.. Eventually I will create batches of up to 6 entities. I have tried using Server1.Processing.Contents for Processing Time, but seems to return the value of 1 all times. Any help is appreciated! Thanks! Processing time based on BatchSize.spfx
  19. 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
  20. Hi @GFurtado ! Thank you so much for your reply! I tried using the following to make the table go in order: TableName[ Math.Ceiling(Random.Uniform(0,TableName.AvailableRowCount) , ColumnNumber ] As @willem once posted in the forums, but instead of columns I used rows. Your logic works perfectly! And yes, now I find that there's no way for the tables to update themselves, I tried messing around with logic for a while but I found nothing of use. I posted another question about that kind of update too! But I guess I need help from one of the developers now... I mean, my computer skills are not bad but I'm not a software engineer, so API use is a bit out of hand for me. I tried creating a clicker or something similar in Python with low click time (around 0.03s/click) and it actually works, but it really slows down the whole system and it's probably the most barbaric solution that problem could have! I'll keep searching for a solution, and once again, thank you so much for your time!
  21. Hi again! Ok! I must've missed it because I tried to use it as a time table (for arrival times) , but now I've tried what you told me before with it as a State and it does update both the table and the simulation! (It takes values at random, but it works! I'll try to find a way to make a time index!) So I'll update my question! Can arrival time tables be modified the same way? Because it didn't work for me using the method we both described! It changed the units and got a bit fuzzy with it, like taking values at random instead of following the order of the table! Referencing the pictures above, it would be like it started following the arrival table in order (3,3,3,4,8,9...) and after I update it it just goes full random and takes whatever value it wants(making it quite hard to check if it actually used the new ones which it usually doesn't for some reason) , is there a way to keep the arrival times following an order after I update the table? Or am I doing something terribly wrong? (Which being honest, is much more likely! haha) Thanks to everyone in advance, and so sorry for my mistake!
  22. Hi, I am trying to demonstrate a manufacturing process flow, by doing so I want to show a visual progression of the entity through the entirety of the simulation. Setting Random Symbol on to 'True' is not what I am looking for. I have 10 entity symbols and they have to change specifically between servers. How is that possible? Thanks,
  23. Hi SI Forum, I am a student using the student version and ran into a problem of the size of my model. I had too many objects in my model environment and needed to split my control model apart from my future conditions model. This might not have been the best approach, but it was the best way I could think to solve the issue at the time. In the model, I did use different random number streams for each random variable. My question is: how can I compare a future conditions model to a control model if they were run in separate project files? Is this possible? When looking through the outputs, all response variables are correlated in the future conditions model, but not to the control model. I've already requested a large model upgrade to help with this issue in future runs of this model. However, I'm trying to understand what's causing the difference between the models. If both models are using common random number streams for the random inputs, why wouldn't the control model response variables be correlated to the future conditions model outputs? Maybe there is a way to link the two models. Is it possible to have two models in the same project file by linking them somehow? Additionally, if you have other ideas on best practices for reducing redundancy in modeling practice, it would be great to learn from your experiences! Thanks!
  24. Check my attached model. The entities have random movement speed and paths Allow Passing property are set to False. So slower entities will naturally create a traffic congestion. You could also try to solve this in a more algebraic manner, by setting ModelEntity.DesiredSpeed or Path.DesiredSpeed based on the Path.Contents state. Traffic.spfx
  25. Hi Sean, I would recommend exploring Time Paths. You can set a specific or random Travel Time on Time Paths. I don't know your scenario exactly, but you could have 3 different Time Paths linking ServerA and ServerB with Selection Weights referring to the specific Entity item number and each of these Time Paths could have a different Travel Time. All the best, Caleb Simio Technical Support
×
×
  • Create New...