Jump to content

Search the Community

Showing results for 'Destroy'.

  • 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

Found 22 results

  1. You can also use produce consume material method to add requirements to a process or processing step. You can see it when you change the process type to Task Sequence from Specific time. You can add more than one material requirement by adding tasks in parallel with same sequence number and specificying the material name and quantitiy that will be consumed for each parallel task. In that way you dont need to create and destroy uncessary entitites.
  2. I am trying to model a repair process. A major part of this process is the time to get the tools from their storage locations to the machine that needs repair. My thought was to have the tools be modeled as entities that a fork lift or worker has to go grab and bring back to the server. The problem is I need to wait for all those entities to be there before the server can start to process. Then I want to destroy the entities because they aren't actually being processed (only 1 entity would be processed as a representation). Does anyone have a suggestion on how this might be accomplished? Thanks.
  3. I am trying a simple assembly process where 2 entities are to be assembled to create a 3rd Entity. Hence I need to destroy 2 entities arriving at the server and create 3rd pre-defined entity. Can someone please help with how this can be achieved?
  4. As far as I know you can not accelerate the speed of an entity on any link? you should use tricky solutions to overcome this difficulty. One of the trick is setting the speed of entities to infinity right after entering node a. then changing the desired speed of path 3 and path 5 to some meaningful values. In the attached model this trick is applied. Note that the assigned values (i.e., Path3.Contents.NumberWaiting) should be replaced by any reasonable values. This assignment is only for illustrative puposes. Note that by this way we made the speed of modelentities limitless but at the same time we limit their speed with the speed of paths. you can do any other tricks as well... One of them maybe changing the type of the modelentities right after entering path 3 and path 5 (say path3_modelentities and path5_modelentities) by creating a copy of the associatedobject. Be sure to destroy the original one. And then whenever you need to increase their speed you should search their population by a search step and then assign appropriate speeds to them individually. These are the ones that come to my mind at the moment, but you can find some better methods by pondering. EntitySpeed4_me.spfx
  5. What are the settings that Search, Release and Destroy must have? The station I wish to delete things from is called Station1. I know that for Search the Collection Type must be Queue State. Am I to search for Station1.AllocationQueue, Input@Station1.AllocationQueue or Input@Station1? For Release my object type is currently set to specific and the object name is Server1. Is this correct and do I need to do anything under the advanced settings? For Destroy which destroy type should I use? Thanks
  6. An alternate approach is to place a monitor element which looks at the TimeTillDeath State variable. If this reaches zero, within the monitor element you may choose to execute a user defined process named "proc_WhateverYouWantToCallIt". Within this process, I will use the "remove" block if the entity is in a queue, or simply just utilise the "destroy" block. You may have to utilise the aforementioned blocks with a conditional "search" block as to ensure the correct entity is destroyed. Hope this helps.
  7. First define a real state variable to your modelentity named "livingtime" after its creation. Then make a copy of your modelentity and send the copy of modelentity to a process (maybe called as death_process). Place a delay step and set delay time as modelentity.livingtime. Of course the original one should go its way. Then place a search step and find the original modelenity in the system when the time is up at delay step (while finding the original entity you should set a match condition such as candidate.modelentity.ID==modelentity.ID etc. I am not sure whether the ID's of both entities are same, you should try. If it does not work you should try to match creation times of them (both should be same) or any other user defined state variables or properties). If the search is succesful make necessary controls (i.e., if it owned any resource release them etc.) by placing necessary steps following found branch. You should remove and transfer the found modelentity (it is the original one) to appropriate place. At the end you should place a destroy step following the original branch or even transfer it to appriate place. It depends on your goals.
  8. You can use two Create steps within a process to create two different types of entities and simply destroy the original entity when you no longer need it. Assign step can be used to assign information to the new entities that you may wish to transfer from the original entity.
  9. Simio has no limits. 100,000 entities is high, but not huge. Simio is limited only by the memory that your hardware and your OS make available to it. And if you are using Simio 32 bit version (the default), it can only access a limited amount of memory. 1) Verify that you really need that many concurrent entities. Is there a better approach? For example if you are creating all your entities at time 0 perhaps you can instead create them just in time. (See other ideas below) 2) Does the machine you are running on have enough memory? 3) Are you using a 64 bit OS so all your system memory is made available to applications. 4) If necessary you can run in 64 bit Simio (look for Simio64.exe in the same folder). Only do this if necessary because this will run slower. 5) If none of the above work out, then it is time to look at ways to approximate your system is other ways that would allow you to run effectively: --That could include making 1 entity represent 10 or more. This would NOT let you create 0.1 entity (hence the approximation), but instead of creating 100,000, you would create 10,000. Depending on what you want to do this approximation might be appropriate. --Possibly a Flow Library approach could be a better approximation. --Or maybe a continuous or systems dynamic approach. --If your entities represent an inventory of some type, perhaps put their information in an array or write it to a file, then destroy the entity. If necessary you could recreate from the saved information.
  10. It depends on what you want to model. If the picked up entity is of no use after you can simply destroy it. Or you can create Firefighters as vehicles or workers Because vehicles and workers are based on entities.
  11. @willem, after working a little more, I created an add on process when the workstation fails with a search, release, and destroy step like you suggested and it seems to be doing the trick. I had to try a few things before figuring out I needed to release the specific workstation object in question, but it seems to be humming along now. Thank you for the suggestion!
  12. @willem , thanks for your reply! That sounds like what I'm trying to do. Are you referring to creating an Add-On Process with Search, Release, Destroy steps? I'm playing around with that but haven't figured it out yet. I looked for an 'on failed event' event, but under my Definitions>Events window, I only have 1 inherited event and then three others that I created for other functions. Can you guide me a little further? Thank you!
  13. Hi, In the on-failed event of the server, Search the contents of the processing queue, in the found step place a release step in order to release the applicable server. Directly after that place a destroy step to delete the entity, otherwise you can transfer it back to the start. Hope this helps...
  14. Vehicles represent equipment on which statistics are kept. If you destroy the vehicle during a run, from a statistical standpoint it never existed.
  15. Auto destroy is a good idea. Just one thing on the filler to keep in mind, the source tank may have a capacity greater than or less than the entity being filled. Important to test fringe conditions.
  16. Mark: Specifically for the Flow Library Filler & Emptier objects, what I will probably do is add something like a 'Stop Early Event' option, where you can optionally specify to stop the filling or emptying operation early if some specified event occurs. Then in the Filler for example, you could specify to fill the container entity until full or until the source tank is empty (i..e, the tank's 'FlowContainer.Empty' event occurs). Whichever of those events happens first. In your sort of model, that kind of simple approach would guarantees the container is 'filled' and exits the Filler regardless of round-off error. If your fill target is 2.0 and there is only 1.99999999 in the source tank, then the tanks goes empty first and the filler stops. If there is 2.000000000000001 in the source tank, then the container entity full event happens first and the filler stops. Either way, the container entity is exiting the filler and away it goes. Now, in the above latter case where there was 2.00000000000001 in the source tank, of course then you might have some tiny residual left in the tank after the filler is done. In that case, what I have been considering is adding an 'Auto Destroy Contents Mode' to the Flow Library Tank, which allows you to auto-destroy the tank's contents if some specified event occurs and perhaps a condition is also true. Thus, for example, you might want to auto-destroy a tank's contents if the inflow entity type is changing and new product is entering the tank (to 'clean' the tank). In this filler case, when the container entity exits the Filler, you might want to have the Tank be notified of that event and then check if there is some tiny amount still in the tank and if so then just automatically destroy it. If I put in features like above, I think you'd be able to model your flow transfer situations using the Flow Library Tank and Flow Library Filler for example without having to worry about any EPSILON tricks to account for round-off error. And the above are generally the type of features that I lean towards. Getting into Simio's flow engine itself artificially adjusting flow quantities by small epsilon amounts to try to deal with possible round-off errors doesn't feel so good.
  17. Hi Everyone I seem to be having a problem with a search step with a transfer step following depending on whether a match is found. I'm sure this is due top my lack of understanding of tokens - apologies, I'm pretty new to Simio! As I understand it, the Search step creates a new token when the match criteria is found but retains the original token which continues through the process. I think the original token is causing the problem. I guess my question is; is there a way to suppress the original token (or destroy it) once the new token is play? I believe the original is trying to initiate an unwanted transfer step which is clashing with the wanted step, resulting in a runtime error. I've attached the error message which may help. Any help, advice or direction to texts explaining tokens would be very much appreciated. .......Dave
  18. I have seen this error before with transporter/entity transfers... You may have conflicting logic here.... i.e. an event occurs that triggers a token into a delay or wait step based on a condition before transfer can complete, yet during this duration another event occurs that wants the transfer to occur for a second time or the entity to be directed somewhere else...the original token is not released and destroyed first... simple solution... I used dummy nodes to shift the transporter\entities around based on a precedence constraint structure whilst clocking the time of the transporter\entity at each node. This worked like a bomb. Also, if you don't need the original token, destroy it or don't attach any processes on the line after it.
  19. Thank you. I probably should/will stop now. I have learned very much from these last two days (seeing how you code the steps). But, I did run your most recent four models. And got wild results. I added a column to your results. Ketils runtime | RunTime Approach 1,4 sec | 42 sec Facility model (Source-Connector-Sink) 20,0 sec | 13 sec Process that creates objects (Create-Destroy) 1,3 sec | 3.2 sec Process with Tokens (no entity objects) created by Timer 1,6 sec | 1.7 sec Process with single Token (no entity objects) that recycles hourly Your facilitymodel (was "objectapproach") still runs VEERY fast. Recall, mine took 53 seconds, yours took 3 in my previous message. Was hoping you could elaborate how yours get the 10x faster time? I also downloaded/installed .NET 4.5. No change in execution times. Have to check to see if Simio actually loaded the correct DLL-files, I am a bit unsure of the way .NET installed (it is an in-place replacement, overwriting the DLL-files, but keeping the 4.0 version numbering, ... That's another story ...
  20. First, if you are not running XP, then I highly recommend updating to .Net 4.5 - this can make a dramatic difference in Simio execution speed. Second, I made an error in my model - I accidently ran one for 5200 weeks and the other for 5200 days. Perhaps you did something similar because 3 of the 4 models in your project had different run durations as well. I fixed that problem and while I was at it illustrated 4 different approaches to this simple model. All had periodic activity every hour for 5200 weeks (100 years). All at least track the number of activities logged (873,601 events) by adding an Integer State, an Assign to that state, and an OutputStatistic to make it display in the results. The approaches vary based on the objects involved. The approaches using objects provide additional statistics. If you run them in the Experiment window you can look to the Pivot Grid to verify results. RunTime Approach 42 sec Facility model (Source-Connector-Sink) 13 sec Process that creates objects (Create-Destroy) 3.2 sec Process with Tokens (no entity objects) created by Timer 1.7 sec Process with single Token (no entity objects) that recycles hourly Sorry for the confusion. I hope this helps.AcademicTestModel.spfx
  21. Hmmm, actually he didnt update the model, it works fine. What is the correct way to remove elements from a station? I can perhabs use transfer right? Can I destroy them?
×
×
  • Create New...