Jump to content

Search the Community

Showing results for 'avoid collisions'.

  • 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

Found 23 results

  1. I used to have a similar problem. My advice, avoid the pallet entering the combiner untill you have defined de @new@ batch size, elseway the batchsize wont be updated. In my case I put a scan step in a prevoious node, retaining the pallet ouside the combiner until I've re-defined the batchsize. Let me know if that works Rds
  2. Thanks Mark. I am reassigning X & Z coordinates in one of my logic but I am not unable to avoid entity collisions.
  3. Hi - I am trying to relocate nodes during run time using Relocate Object step. It works if my nodes are not connected by any links, otherwise it does not. I want my entities to follow a Network Path in Travel step, therefore, it is crucial that my nodes are connected. Any suggestion how I could achieve this? My aim is to avoid collisions when entities travel from one node to other in free space, only way I know to achieve this is through Travel step. Thanks, Zaki
  4. Hi all, I am working on a building evacuation project through Simio. I want to know how can I block a sink object, so entities can not exit through that sink. I also need to know if I can somehow define this situation in referenced property under Experiment and try different scenarios. For example in each scenario I block one of the exits and monitor the number exited (survivors) or evacuation time. My other problem is simulating fire with different rates and interaction of it with the entities, as when they see fire they avoid running toward that direction and change the route. Thank you for your help,
  5. Hello! I want to make the simulation model which illustrates about the interference time about three kinds of truck. And such trucks enter the warehouse and head to the specific loading spot to do forwarding operation with one goods among four kinds. That is why interference time occur, by which I mean that I have to make model to find the most suitable spot for each goods forwarding activity by switching each spot. However I can not find the accurate properties avoiding each other objects at path, or even allocating several time delay on the situation that they encounter. Anyway, I want to see object avoid each other by decelerating its speed and calculate overall time delay at the result tab. (20 seconds per each interference) If I can apply the time delay, the kind of the object does not matter. I already tried to make the entities play a role as the truck that works mentioned above, but that trial was failed because there are no property to decelerate, or avoid at least.. I sincerely want my dear SIMIO to achieve a success in this modeling.. Thank you!
  6. Yeah, I figured that part out. I need more control than task sequences allow me, is there a way to simulate task sequences in processes so I can add more machinery? I can probably make something work with just the sequences, but it will take a lot and I'm trying to avoid getting too complicated at the moment, it's just a prototype.
  7. After looking more into task sequences, it may work, but not without major rework, the primary issues are that the seizing is not the only thing that happens, and work will be done in phases, without moving from the server, and different patients may not have the same phases. I see how it could be done with a second model, but i'd like to avoid getting too complicated if I can Is it not possible to do what I asked in my original question?
  8. If they are not required the best way to avoid deadlock situations is to use two separate paths each for either direction.
  9. Any ideas on how to model a no-fly zone? Specifically, I have vehicles that represent aircraft and use free space only. But, these aircraft need to avoid certain areas or no-fly zones. Is there a way to allow a vehicle to run in free space only, but not go in certain areas? Any thoughts would be greatly appreciated!!
  10. 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
  11. I would avoid the storage element. A station is a better option as all it is is a capacitative storage queue. The stations results are additionally automatically tracked. From the error message, it seems to me that the entity was never removed from the queue ?? Did you perhaps duplicate the entity with a create block prior to inserting it into the storage element ?? If this is a commercial application, send me a pm and we can web conference to resolve the issue. Mark
  12. Hello All, In one of models, I have to use Storage queues and remove/reinsert items into the queue; however, even after removing a particular entity when I try to reinsert it Simio gives an error. Any idea how to avoid this issue. Thanks, Ankit
  13. Your original problem stated: It seems the best and simplest approach is illustrated in SimBit SelectEntityTypeFromTable . Your table would have 10 rows, one for each entity type. You would add a 2nd column to hold the weight or frequency of selection for each entity type. Set your MaximumArrival on the source to 900 to avoid any overload.
  14. The expression (inventoryA+ inventoryB)/(OrderA+OrderB) will always work if either is > 0 because there is no chance to divide by 0. The expression (inventoryA)/(OrderA) will not work if the only product produced is B because it will cause a divide by 0. I'm not sure why you would want to record a Tally observation when there are no observations yet? And it seems equally inaccurate (but won't generate an error) if you record a Tally observation on both service levels even though you only just produced one of them. It seems like the correct approach is to record the service level ONLY on a product that has just been produced or completed. But in case I don't understand what you are trying to do, to do exactly what you requested: 1) For the observation Value use an expression like InventoryA/Math.Max(1,OrderA) to avoid the divide by 0, but it will generate a bad value when the value is undefined. 2) To avoid recording that bad value, in the Advanced Options > Number of Observations field put the logical expression OrderA>0 which will cause it to record 0 observations when false or 1 observation otherwise.
  15. Hello, My model has 157 control variables now and it turns out I need about 300 runs per experiment and is at over 90MB. I can leave my experiments to run over lunch or if I’m away from my desk, but what becomes cumbersome is when I have to make a change to my object class, but my computer doesn’t respond when I click on a node, path, station, etc. in the facility window to make a change. So then I have to remove all my objects from the main model and make my changes to the object. When I do this, then I lose all my experiment settings (Set Referenced Property). Also, there is the issue that when I change the physical screening line in the facility window, then if that object is still in the main model, it gets resized. So then I have to remove the object from the main model and drag a new one in, which also makes me lose all my experiment settings. I find that making changes to my model and resetting the experiments is not efficient. Is there anything I can do to avoid all this extra work or is this just part of Simio? I have 8 GB of RAM and an Intel Core processor at 3.10GHz. I'm running Simio version 7.114.1171. I’m due for an upgrade anyway, but don’t actually think I would gain anything compared to what I have with my model now. Thanks. Maryam
  16. The primary movement constraint that Simio supplies for you is the various types of Links. Simio provides the option to prevent entities from running into each other. There are a number of SimBits to help understand the options, including Path Selection Rule. If you use bidirectional paths, it is often easy to get into deadlocking situations. Ways to avoid this include limit path capacity to 1, or perhaps having zones with limited capacity. Or instead consider a pair of opposing unidirectional paths.
  17. Thank you very much for your reply. But if i need to enter this expression (MyServer1.InputBuffer.Contents+MyServer2.InputBuffer.Contents) to get my total inventory then i have no benefit. Because i will have around 100 Servers and then i have to add every single server to that expression. So my intention for creating a server object was to save that. Otherwise i can also use the standard server and add this expression. I thought through the usage of the Server object, i can avoid this step and make my life easier. Thats how i understood to use the server object or any object. The example is not perfect, i just use that to implement and show my problem. I hope you understand what i mean.
  18. Option 1: The way I often solve it is to create a high-priority 3-hour job that tries to seize the server at the time when it should go down. As it is waiting in the front of the priority-based queue, it will keep the server busy for 3 hours after the previous job has finished. Statistics will not show true idle time, of course... Option 2: Same high-priority job that triggers an add-on process that takes the server off-shift (or decreases capacity by one); after 3 hours, the token increases the server capacity again. Job time for the job that carries out the trigger is e.g., 0.1 second. Assign step: Server.CurrentCapacity := Server.CurrentCapacity - 1. The advantage over a Timer or a schedule change is that you can control what happens with your own 'helper' Entity. Make sure it is a different Entity instance to avoid contaminating the entity statistics of your 'real' entities. Alexander Verbraeck Professor of Systems Engineering and Simulation Delft University of Technology, The Netherlands
  19. The order of simultaneous events is determined by their position in the heap, and the specific algorithms used for sorting and removing events from the heap. That said, it can appear that it is random because it is hard for users to predict and control. The easiest thing to do is to avoid simultaneous events by adding very small adjustments. For example, the first B could be offset by .00001 and the first C could be offset by .00002 seconds. This is unlikely to impact the model behavior in most situations except that it will make your events happen in a predictable order (in this case A-B-C). Another approach that works in some instances is that you can force a particular event to be pushed to the end of the current event calendar (e.g. make it the new "last" event to be executed at a given time). You can do this by specifying a delay of time Math.Epsilon.
  20. you can simply use material quantities instead of creating huge number of new new entities (avoid using create, it is not suitable for your problem. you should think each product type as if they are materials, define material element type colum in your arrival table. You can benefit from autocreate property since you have much more product type). By this way you not only satisfy the current number of entity limits of the simio but also simplify the logic of your model. Just use material, produce required number of materials then increase the number of quantity available. While separating them or batching just simply use Workstation and BOM structure. The prosed logic needs to be adapted to your problem... In summary you should think a bit different...
  21. Thank you for your help. I find it very helpful! I've read somewhere on the forum about auto row setting property of a table but I couldnt find it. Would that work out if anything like that exists? If yes, where can I find it? Another question - if I have around 500 different product types - what will be the best solution to have the system recording a specific product name(string) taken from a table so I can keep a track on the amount of specific products manufactured? I want to avoid creating approx. 500 different entities....
  22. Mark, when you replied to 'Glen' did you mean me? We have a 'Glen Wirth' and then me (Glenn Drake!). Small company but they have to hire two Glen(n)s just to occasionally confuse us ha ha. Totally separate note, today I looked at that possible issue with using Filler and the Emptier objects in the Flow Library to possibly deal with floating point round off error issues automatically, and tried a few things, but found nothing that felt really good to actually put in there. Simple example, if you have a Tank with 1.0 cubic meters, and then an attached Filler object removes flow from that tank in 0.2 cubic meter increments...then what happens on my machine is 1.0 - 0.2 - 0.2 - 0.2 - 0.2 - 0.2 = 1e-16 (more or less). Now, after that fifth container entity got filled, you might expect the Tank to be at 0.0, but instead that 1e-16 is still in there. If you then actually have those 5 filled container entities, in the same model, go and empty their contents into a second Tank using an Emptier...then on my machine I see 0.2 + 0.2 + 0.2 + 0.2 + 0.2 = 1.0000000000000009 (or something like that) added to the Tank. Again floating point math error. Adding up 0.2 five times does not equal 1.0. This kind of stuff is incredibly difficult to try to deal with automatically. Generally, there is a rule in trying to clean up round-off errors in general purpose code that if 'You don't know what you don't know' then to tread carefully. I could start trying to put in EPSILON tricks but that is invariably like throwing darts at a dartboard. Not only guessing what a 'good' epsilon value might be but also the fact that round-off errors might be a little bit less or a little more and in a variety of situations (as illustrated in my simple example above). Usually, I try to avoid like the plague getting into EPSILON stuff. I'm always looking for cleaner ways to correct round-off (i.e., situations where the true value is very clear and thus the variable can be simply forced to that value without any kind of epsilon related checking). We can keep thinking about this, but for now, if you are doing flow transfers involving discrete quantities of fluid/mass that need to be 'exact', but round-off error calculations are sometimes throwing a wrinkle either into logic or into animation, then for now all that I can recommend is to put in extra process logic checks as convenient and necessary to deal with such things. For example, in my above example, after filling the 5th container then making sure any residual flow left in the source Tank is destroyed. Or, if possibly the flow quantity in the source tank is 0.999999999999999 when you really need it to be '1.0', because there was round-off error when the flow was added to the tank, then perhaps setting quantity variables accordingly to make sure the flow transfer is still successfully completed. I know this can be a bit painful depending on the situation. This continuous flow stuff can certainly be a bit of pain at times compared to simulation discrete items due to floating point arithmetic...we'll keep working hard on it and beating on it and gradually improving stuff when we can.
  23. Attached is an updated crane library. This version includes the following changes. 1) Crane Specific Transfer Bridge List.....Each crane can use a different bridge list. This gives added flexibility and helps avoid blocks. (e.g. Crane A within a bay can choose Bridge A and Bridge B while Crane B can choose Bridge B and Bridge C). 2) Animation for the seizing of the Cross Bay Transfer Aisle zones....Now when a crane seizes the cross bay transportation bay zone, the zone is display as a dark grey. 3) Bay is no longer visible. This allows for status objects, status labels and symbols that are placed on the floor to be visible.
×
×
  • Create New...