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. 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. Is it possible to specify the random stream used for the RandomRow function?
  4. 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
  5. 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
  6. 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!
  7. 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.
  8. In my model, there are 2 types of entities created by 2 sources: Entity Type A and Entity Type B.The changeover setup time matrix is something like Previous Entity Type A TypeB Incoming Entity Type A 0 Random.exponential(15) Type B Random.Exponential(10) 0 I know how to do it using the changeover matrix, but apparently, the changeover matrix can't take random distributions. May I have some suggestions as to how to go about this? Thank you!
  9. How can I schedule a randomly distributed death event for each entity, and pull them out of the system (or perhaps route to a "mortality" sink) if it occurs before they have already left? Somewhat similar to reneging, but I need mortality to be possible during a service, not only in queues. If an entity is removed from service, I also need the seized resources to be released. What I have tried so far: When an entity is created, I provide them with a state variable for TimeTillDeath, lets say exponential(2) hours. This is a real number, not a datetime. As they enter each queue, I set the reneg trigger as ModelEntity.TimeTillDeath subtract any elapsed time since creation, min 0. This works to model mortality while they are waiting for service, but not during a service. Any help is appreciated, KO
  10. Hello, I have a data table with 900 total entities, comprised of 10 different types of entities. I am trying to randomize which entities go through the model, but I need all 900 to go through. I've tried the "entity mix" technique, but it always overloads my model with too many entities. Does anyone have an idea of how to go about this? I want to run a series of experiments with a random selection of entities for each replication. I hope this makes sense. Thanks in advance! -Mario
  11. 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.
  12. 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.
  13. Hi guys I'm doing a model of and evacuation plan for an airplane with 749 passengers. The passengers have to evacuate between the seconds I introduce in the table with the function random.uniform, in seconds and numbers between 0 and 5, that is the time a passenger needs to get up from their seats or walk to the door and jump the security slide. The problem that I have is that I introduce in the table some Random Uniform values to passengers, they must move by the model in that time (between 0 and 5) but, for some reason, passengers aren't taking those numbers, instead they turn in numbers under 0,00. That's a real problem because it's an airplane with 749 passengers evacuating in 5 seconds because of that, obviusly something impossible. Could anyone help me please? Thanks!
  14. I want to delay my vehicle with randomly selected times, which it retrieves from a data table. I have set the delay as Table1.ExpressionProperty1.RandomRow, but it doesn't work the expressiontable has 10 different values for delays and has time as a unit Can someone help me figuring out what is wrong?
  15. I need to select Node from NodeList, but based on random. All nodes should have equall probability of beeing selected. Does anybody know if this is possible? I made a workaround with assigning each node a number from 1 to N and then first generate the random number and then search for appropriate Node using SearchStep, but this requires for setting numbers for each node manually and I have a lot of nodes in my model. Is there a way to use a rank of node in the node list? Thanks for help. Petr
  16. Hello, i want to model time varying arrival rates for my entities. If I choose rate tables I can't select random arrival rates. Is there any possibility to do so? Regards Nadine
  17. Just for fun I did a Lotto object that can meet this need. It simply keeps track of what samples have already been generated and prevents reusing a number. LottoGenerator.spfx
  18. 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
  19. 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,
  20. 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
  21. 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
  22. 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?
  23. 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?
  24. 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.
  25. 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
×
×
  • Create New...