Jump to content
Simio Forum

Welcome to the Simio Forum

Welcome to the Simio Forum! Experience the full experience of the forum by becoming a Simio Insider! You must be an Insider to post on any forum!


New Software Release

Our latest release, Simio 11, is here!

All Activity

This stream auto-updates     

  1. Yesterday
  2. In that picture yes most of them were closed (tanks 2-4 have a 0 next to them). I did find that the monitor wasn't triggering correct and fixed that so it gets a little further but now stops at this point with the flow nodes all open: I do have a an execute system flush step that gets executed to enable all the flow nodes. I will continue to go through the model trace to see if I can find something in there.
  3. Last week
  4. Why won't they empty? Are the nodes closed? If you have a process that opens the flow nodes, try triggering this process with an Execute step.
  5. Try using ModelEntity.BatchMembers in your processing time expression. I believe it'll work.
  6. 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
  7. I have been able to get everything to work so far with the exception of this last issue. At the very last step in this system not all 4 tanks will be full but I need to have them empty. However my model gets stuck and won't empty. Below is where the model ends but I need to override my logic to wait for all the tanks to be full at this point. I have tried using monitor, state variables, wait steps, scan steps and it still stops at this point. Any ideas?
  8. Interesting. Thanks. I have checked the entire system and all but the last step have the same flow rate, as it should be. The last step has a slower flow rate but what is interesting is that the simulation says it is going to take far more years to complete than if you just calculate by hand what it should take to drain at the slow flow rate. My apologies as I am not as well versed in the flow library as I am the standard library, but I set up an output statistic to get the flow rate in gallons per minute using the following: Input@FlowSink1.FlowRegulator.CurrentVolumeFlowIn / (Run.EndingTime - Run.WarmUpPeriod) This returns a much smaller value than what the flow rate I put in (all but last step are 140 gpm, last step is 11 gpm, output statistic gives 1.6 gpm). Is this formula is incorrect?
  9. It should be the default unit Cubic Meters per Hour. If you assign a new unit to an object property, Simio's backend will continue to calculate using the default unit; Watch out for bottlenecks. Maybe there is a low flow rate node holding the whole system.
  10. So new question, what are the units of an expression in a status plot? I am using this expression: Input@FlowSink1.FlowRegulator.CurrentVolumeFlowIn.Rate I would expect that rate to be the set initial maximum flow rate however the number I get from that expression is much less than what I assigned as the flow rate. Unless it is not in the same units that I have set in the flow regulators and project.
  11. There's a lot of ways to solve this. Wait step is one of them. I made an example using the Monitor element (check the attached model). When the monitor sees that all four tank are full, it runs a process to empty them. If the Split Allocation Rule property in the Output Flow Control of your flow nodes is set to Evenly If Possible, then you shouldn't be having this problem, unless your pipe is messing up with the math. But if want to force a value to transfer, you could create another monitor monitoring Output@YourTank.FlowRegulator.CurrentVolumeFlowOut that shuts the valve when your desired volume flows out. FillingTanks.spfx
  12. Thank you GFurtado. I have the add-on processes to handle the flow regulator. The issue I am having is that I need all 4 tanks to be full before any of them start to empty. I kind of got it doing close to what I want by having a wait step before assigning the output flow regulator to true. The other complication is that I need to have an even amount from each of the 4 tanks, empty into the 2 smaller tanks (still working on how to handle this). Thanks for the help!
  13. Set Output Link Rule property of your node to By Link Weight. Then set Selection Weight property of your links to Entity.State and 1-Entity.State. This means that when Entity.State = 1 (True), one link weight will be 1 and the other 0, and vice-versa when Entity.State = 0 (False). Check the attached model for reference. ByLinkWeight.spfx
  14. Create processes that are triggered by YourTank.Full and YourTank.Empty events and set the Output@YourTank.FlowRegulator.Enabled to True or False to open or close the tank's valve. Silimar to how I did in this other post. Also, Output@YourTank.FlowRegulator.CurrentMaximumFlowRate might be useful if you're having trouble your tank's flow rate. Keep us posted if you need more help.
  15. Earlier
  16. I have a model of tanks that get filled. I have 4 tanks that get filled from the source, then these 4 tanks empty to 2 smaller tanks and then finally these 2 tanks go to the sink. I have it setup so that each of the 4 tanks individually must be full before they empty to one of the 2 smaller tanks through add-on processes. However, I am unable to figure out how to make it so that nothing goes to the 2 smaller tanks until all 4 of the larger tanks are full. To further complicate things, an even amount from each of the 4 larger tanks must go to the 2 smaller tanks. Does anyone have any suggestions on how this can be accomplished? Any help is greatly appreciated!
  17. Hi, I'm working on an airport simulation, this is my first simulation, i have a transfer node that has one income link and two output links, so I would like to know if there is a way that depending on certain Entinty's boolean state variable, whe passing throught the tranfer node if the state is true set and specific outbound link and if it is false then set the outbound link rule by link weight.
  18. Just curious if there's an easier way to go about doing this... Long story short if I am representing multiple physical positions within capacity of a server and I create my own Gantt outside Simio, it's important for me to know WHICH resource (in this case which one of the servers) is utilized by each entity. I was trying to utilize Entity.Location.Parent.Server.Processing.Contents.IndexOfItem( Entity ) and assigning it to a state on the entity and then ultimately writing to an output table. However, this doesn't seem to be working accurately. It may be a timing issue on when this step is called, but is there a default function I'm just not aware of that could be of assistance?
  19. Good evening fellow simulators! I am creating a simulation for the classical scheduling optimization problem. However, to optimize the schedule OptQuest needs certain controls. I am still new to this so if anyone can give me examples of what these controls can be for schedule optimization, or point me to right direction/research material, I would be really thankful! I will be happy to share how I have done it so far using priorities to minimize tardiness costs if someone requests it. TIA!
  20. Does anyone know how to utilize the memberinput@"combiner" in a process? I tried a process "UnitIdentity" with a decision step "MemberInput@PalletLoad==H1BUnit" to set a real state "UnitTypeID" and a ModelEntity.Picture so I can utilize the link weights further downstream. I placed this in the Processing Add-On for the combiner. I have attached the file. It feels so close to a resolution and any help would be appreciated! Best regards, Alex APS Design 2.spfx
  21. ModelEntity.BatchMembers.NumberWaiting ??
  22. Sorry if this is obvious, but can someone tell me how I can reference the number of batchMembers in the example above without having to reference the specific entity, which in this case is TruckLoad.5442. I need something like "the number of batchMembers in the entity currently in the ParentInputBuffer" please. e.g. TruckBay1Batch.ParentInputBuffer.Content.???.BatchMembersCount? As you'd expect, this number changes constantly during the simulation run. At this moment of simulated time, the answer is 2. Thanks for your help!
  23. Hello, I ran into a similar problem and am finding it difficult to construct a match expression for the combiner. I want to model a gear assembly GA(parent node) with gear g1, g2, and g3 (all connected to member node). But, there is some upstream variation affecting mating of gears. So, business process is binning them say g1-bin1 through g1-bin5. Similarly g2-bin1 through g2-bin5 and g3-bin1 through g3-bin5. I am currently using matching bin expression but stuck with the combiner is giving me GA1 = g1-bin2, g1-bin2, g2-bin2 which is wrong. How can I tweak so that I can get GA1 = g1-bin2, g2-bin2, g3-bin2. To be clear - There are thousands of g1, g2 and g3 (outsourced parts). I do not want to match some 'source entity counter' because that would assign a unique number to each gear and over-constrain the matching process. Again this might be a rather simple problem but as a beginner modeller I would appreciate a quick hint. Thanks, Hrushi
  24. You can place some enough transfer nodes at different distances and directions (In freespace it will be hard to stop modelentity object and seize the server object. This can be quite challenging task). Then you can randomly send the modelentities to one of these transfer nodes (This is for sending entities some vector away from the source). Then, define an entered add-on process trigger for each transfer nodes and place a move step onto this add-on process. In resource movement request of this step define object type specific (or from list), object name any server (or from list you set), and destination node as the transfer node itself. Then, you can try seize step to or transfer step to send the entity onto server object. You have to try some options.
  25. I'm trying to model a towing company. A call comes either jump start or tow (entity 1 and 2) from two different sources. They go through a dispatch (server1) and get delivered to a specific driver (servers 2,3,4 or 5) . Each call coming in will have some exponentially distributed distance from origin associated with it (and direction component?) My challenges are: Is there a way to take and entity from a source and move it into free space some vector away from the source (distance and direction). Then, if that is possible, can I move a server to that location to process it (and if a tow then move some other vector distance after process). Finally, the ultimate goal of the model is to create a conditional routing logic for the dispatch server to compare distance from call and availability of drivers. Such that if a driver is finishing up near the next call, that server will take priority over the one with an empty queue if further away. TLDR: Can servers move? Is there a way I can change how long a path is based on variable input?
  26. Hello I need to forecast costs using an exponential model and then use it for simulation input. Basically, I want to tell simio that the price for this hour is given by this equation, and this price is used at this place and then minimized as part of response in optquest. Any ideas how this can be done? TIA!
  1. Load more activity
  • Create New...