Jump to content

Search the Community

Showing results for 'optimization model'.

  • 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

  1. I thought it might be useful to share this step and object I use. I wrote a simple custom step (using some internet resources) a few months ago that allows me to take screenshots of my model. I then often stitch these screenshots together to create a video. Unfortunately this object doesn't seem to work when used as an outside library. This means that to use the object, it will need to be cloned/copied/subclassed straight into your model and then instantiated from there. I've attached: The object I use the step in The dll file for the step The Visual C# solution files for the step Simio PrintScreen Step VisualC#.zip PrintScreenDLL.zip Picturerecorder.zip Picturerecorder.zip
  2. Found a sub-optimal solution. Have it reference a property, which I then set via the higher level model. Any other solutions?
  3. This is something I have heard others talk about, but never actually got working for myself. Is it possible to reference a file with a dynamic name? I want to write out to a csv file during simulation runs, but the write originates from a submodel. This means that it is called multiple times, meaning that only one of my sub models actually gets to write. What is the easiest way to over come this? And yes, the write must originate from the sub-model.
  4. As you have discovered (and I discussed in my post above), running an experiment puts Simio in its fastest run mode possible. And in this mode it will automatically distribute the replications and scenarios across all of your processors/cores. This alone can provide dramatic speedups. If you have Team Edition, you can actually extend that to use spare processing power in your work group. So if you have 4 quad-processor machines available on your local network, you can run up to 16 simultaneous replications or scenarios. In terms of modeling, the most dramatic improvement you could make is to build your model at a lower level. The model you described is simple to model entirely in a single process with steps: (begin) - Seize - Delay - Release - Tally - (end) with the process triggered by a Timer element and using TallyStatistics elements for any token-related statistics like Time In System. You would not even need to create any entities, it could all be done using tokens which are smaller and faster. The process approach should be many times faster.
  5. If you have a model that will generate results, you can certainly just put it up there and have various people work on it. However, you would need some sort of exclusive lock mechanism, like an email telling the rest of the group that you are currently working on the model - because we do not provide merge capability between model revisions. I'm not sure if Sharepoint has this sort of notification system though. If you want to collaborate on a library of objects, then I would recommend some source control system (like svn). If you decide to use source control, I would suggest saving in the .simproj format, since this will give you the raw xml file and the data files which make it deasy to revision and see changes made in source control. Thanks
  6. We are planning on integrating our models into sharepoint so that people can collaborate and view models. I know there is a html export of the model. Is there anything else we can look at doing?
  7. Hi, I have made an example model illustrating how to do what you are asking. In the attached model, I have 1 entity that requires a 40 hour delay & a Secondary resource for processing. I have a Day Shift worker and a Night Shift worker, each work 12 hour shifts, and the Entity seizes whichever is availabe from a list upon entering the Server. By default, if a secondary resource is seized, the worker will attempt to finish the current job before going off-shift. This is nice if there is something like 15 or 20 minutes left on a job, but not ideal if there is 28 hours left... What I did was created a process that gets Triggered by the Workers' OffShift Add-On process that Interrupts Processing > Releases the Worker > and Transfers the Entity back into the Server Object - which will then start the whole processing process all over again and seize whatever worker is available. Note that in the Interrupt Step, I set the Interupted Process Action to Resume Delay, and the Save Remaining Process Time property to Record ths remaining processing time to the ModelEntity.ProcessTime State (which is initially assigned to 40 in the Source and then gets updated upon every interrupt) For more examples of Interrupting processes see the SimBits: InterruptibleOperator, InterruptingAcrossMultipleServers, & InterruptingServerWithMultipleCapacity Thanks InterruptingProcessingToSwitchWorkers.spfx
  8. This is something I have been meaning to implement for a while, and now have finally decided it needs to be done. I have a submodel, and due to the limitations of the software can't transfer it into the submodel and keep the model clean. I followed advice posted here, and have made the submodel seize the worker and send it to a node in the higher level model... while the submodel is in progress. Is there a nice efficient way to have the worker/vehicle (vehicles are the new worker in terms of having all the functionality i require) able to interrupt the submodel and either remember where it was up to and return after break... or allow another seize request for a different worker, and have that worker continue where it was left off?
  9. Today I had to do a quick and dirty model in Arena. I just thought I would take this opportunity to do a quick post on my findings. By no means is this a comprehensive analysis of the two tools, but I just felt like sharing my opinion of the two. Being the predecessor to Simio, it is natural to compare the two tools, and even after using Arena for the short amount of time I did... the differences were astounding. I will admit that Simio was my first immersion into the world of using corporate modelling tools. It was a tough journey to get to the stage where I felt comfortable using Simio, but looking back... I wonder how I got by using the archaic tools I did. The learning curve to Simio was extremely steep (in my humble opinion that is), and I still don't believe I am anywhere near utilizing 100% of Simio's capabilities. That being said... Simio is a relatively new tool and is still under active development. After launching Arena for the first time, the first thing that struck me was how bland/simple it was. Putting that to one side, I was impressed with how intuitive it was to use. This may be a side effect of using Simio, but barring my inability to find the Connect button for linking the objects together, I simply dragged objects into the process view and linked them up. The objects all had names that made sense (workstation... server... what were you guys thinking? >_>), and ignoring the fact that most of the symbols looked like they were drawn by pre-schoolers... the process of getting a simple model running was child's play. Within 5minutes I had my first working model. (I can tell you that it took a lot longer than that for my first Simio experience) One of the features I would love to see the most in Simio... AVI export. It was right there, and it was easy. Come on Simio! After placing multiples of an object, there was a table at the bottom of the screen with every other object of the same type, allowing you to quickly locate and edit properties of said objects... Simio... adding something like this would immeasurably improve productivity (mine atleast) and increase my levels of sanity after working with large models. Another point to note was that Arena felt very responsive, and while this normally would not be an achievement for a piece of software... Arena did not crash or give cryptic errors. (Simio crashed multiple times during my first 30minute experience with it... and I didn't even know how to do anything more advanced with it at that stage). The last point to make in this section of the post, is how human readable the reports were. My eyes were not assaulted with a million numbers. You could argue this is a bad thing or a good thing, but at the end of the day, some of these reports matched what I typically look for in Simio, and have to waste time trying to get. They were also laid out clearly and concisely. I am sure Arena has a fairly similar learning curve to Simio once you get to the more advanced stuff, but I have got to say that Arena definitly has the edge of many years of polish and tweaking. I am not here though to plug Arena. Let's get to the meat of this post now. The things I saw in my short time using Arena in comparison to Simio, that Simio did better. Even though I feel Simio has a lot more work to do on getting their product to the kind of a level Arena sits at (polish and usability) in terms of: aesthetics, power, time-savings (gained from re-usability of objects in Simio, instead of hard coded processes in Arena), feature base, and on-going development... Simio wins hands down. The benefits of object based models in comparison to process based models are imeasureable, and while some of the more basic features you would expect (or take for granted) in a modelling tool are lacking or missing in Simio, a lot of thought and has gone into the development of this tool. You can really see how Simio is the next generation of tool. I guess the point I am really trying to convey is, Simio rocks. It may be buggy as hell, it may not have every bell and whistle to satisfy my unreasonable demands, and it may not be as smooth or intuitive as Arena, but it is actively developed and a lot of love and care went into its development. I dare say that given time and a bigger/more active community, Simio will truly come into its own. The Arena community may be larger, but it does not appear as if Arena itself is evolving to meet the ever changing demands of the market. I guess it won't be long until the remaining Arena modellers move on and embrace newer technologies like Simio. Sorry for the long post. TLDR: Keep up the good work guys!
  10. Is there a way to use the same instances of workers and resources within the "top-level" model as well as other sub-models? I want to use submodeling really to just compartmentalize the system model and make it easier to digest (I have a large, complex system). I really think I'll just have one instance of each sub-model within my overall model, so I'd like to share workers and resources among all submodels and "processing" objects (servers, combiners, etc.).
  11. Hello, I have built a model that requires the use of seasonality data to increase or decrease demand patterns in customer orders. To do this, I have created a data table with one column for months of the year (as a calendar date/time) and another with percentage increase (or decrease) demand. I was attempting to use the TimeNow variable to match the simulation time to the calendar time in the columns (using the 'search' function in an add-on process trigger, a la Search Tables SimBit). Unfortunately, for this to work (conceptually) I would have to fire the process every time step (which is inefficient). And even doing the process this way doesnt seem to be matching TimeNow to a calendar date in my table. Is there a way to extract a calendar attribute (in this case, a month) from the TimeNow variable? Thanks Albert Munoz
  12. In the current version of Simio, there is no fixed relationship between simulated time and real time. The model will run as fast as possible given the contraints of the number of simulation events and related "work" being done. The two other things that most dramatically impact simulation speed are Trace (when trace is on it excuted slower) and Animation (3D animation with a low speed factor runs slower). We have plans to provide an Emulation product for use in training and testing. Before that product is created, we will add the capability for Simio to run in real time or any multiple of real time. Speed Factor can be used to speed or slow the animation. Its main purpose is to improve the quality of an animation by decreasing the factor. This also has the side effect of slowing the animation so you can see certain events more clearly. Conversely, if you increase the speed factor, the animation will run faster, but in doing so, certain events (like movement on a path) might become jumpy or too fast to observe. Fast-Forward can be used to temporarily disable animation to allow the model to execute much fsater. Running an Experiment provides the fastest execution possible. Not only is animation and user interaction turned off, but it will also take full advantage of all processors on a multiprocessor machine, often running 2-4 times faster.
  13. Yes. Runtime is a capability for a model to be run by someone who does not have a Simio license. Let's review some version capability: -- Models created in Simio Design Edition can be run by anyone with a commercial license, but cannot be run by someone with a academic or evaluation software. -- Models created in Simio Team or Enterprise Edition can be run by anyone with a commercial license, but can also be run by someone with evaluation software. -- Evaluation software is similar to the commercial version except that it cannot save models and can only load models that are prepared using Enterprise Edition. And it cannot execute programmatic interfaces (an advanced feature). Evaluation software can be freely downloaded from the Simio.com web site. So if you use Simio Team or Enterprise Edition, you can distribute your models to anyone else and they can run the models using software that they can legally use for free. The runtime user can load your model, run it interactively to view the animation, and even change the model at will. But they cannot save any model changes. To do that requires a commercial version. You (the model builder) can further restrict what the runtime user can do, if you wish, by protecting parts of your original model. So if your desire is to distribute a model for experimentation in the interactive mode only, you can protect the model so they can only change only the properties that you expose. Simio imposes no limits to the number of models you can distribute or the number of people you distribute to. And you are free to distribute outside of your organization if you choose. And there is no charge for any such distribution.
  14. A common way to create object definitions in Simio is by combining other objects, for example combining machines and a robot to define a work cell object. This type of object is called a composed object because we create this object by combining two or more component objects. This object building approach is fully hierarchical, i.e. a composed object can be used as a component object in building higher level objects. A second, more basic method for creating objects in Simio is by defining the logical processes that alter their state in response to events. For example, a machine object might be built by defining the processes that alter the machine state as events occur such as part arrival, tool breakdown, etc. This type of modeling is similar to the process modeling done in traditional modeling systems in use today such as Arena or GPSS. An object that is defined by describing its native processes is called a base object. A base object can in turn be used as a component object for building higher level objects. The final method for building objects in Simio is based on the concept of inheritance. In this case we create an object from an existing object by overriding (i.e. replacing) one or more processes within the object, or adding additional processes to extend its behavior. In other words we start with an object that is almost what we want, and then we modify and extend it as necessary to make it serve our own purpose. For example we might build a specialized drill object from a generalized machine object by adding additional processes to handle the failure and replacement of the drill bit. An object that is built in this way is referred to as a derived object because it is sub-classed from an existing object. Regardless which method is used to create an object, once created it is used in exactly the same way. An object can be instantiated any number of times into a model. You simply select the object of interest and place it (instantiate it) into your model.
  15. Simio is a simulation modeling framework based on intelligent objects. The intelligent objects are built by modelers and then may be reused in multiple modeling projects. Objects can be stored in libraries and easily shared. A beginning modeler may prefer to use pre-built objects from libraries; however the system is designed to make it easy for even beginning modelers to build their own intelligent objects for use in building hierarchical models. An object might be a machine, robot, airplane, customer, doctor, tank, bus, ship, or any other thing that you might encounter in your system. A model is built by combining objects that represent the physical components of the system. A Simio model looks like the real system. The model logic and animation is built as a single step. An object may be animated to reflect the changing state of the object. For example a forklift truck raises and lowers its lift, a robot opens and closes its gripper, and a battle tank turns its turret. The animated model provides a moving picture of the system in operation. Objects are built using the concepts of object orientation. However unlike other object oriented simulation systems, the process of building an object is very simple and completely graphical. There is no need to write programming code to create new objects. The activity of building an object in Simio is identical to the activity of building a model – in fact there is no difference between an object and a model. This concept is referred to as the equivalence principle and is central to the design of Simio. Whenever you build a model it is by definition an object that can be instantiated into another model. For example, if you combine two machines and a robot into a model of a work cell, the work cell model is itself an object that can then be instantiated any number of times into other models. The work cell is an object just like the machines and robot are objects. In Simio there is no way to separate the idea of building a model from the concept of building an object. Every model that is built in Simio is automatically a building block that can be used in building higher level models.
×
×
  • Create New...