Jump to content

Search the Community

Showing results for 'sink percentage of entities'.

  • 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. Thank you very much. I was able to create a new model with two servers and have my entities queue up in the server1's input buffer. Then I tried to do something similar with three servers where I want server1's input buffer to have entities queue up when server3 is busy. I have server2 in between server1 and server3. I set server2's input and output buffers to 0 and set server1 and server2 and paths as described below. Is this correct, to set the in between server's input and output buffers to 0? Everything seems to work as expected and I get a long queue at server1's input buffer. I also used a rate table with many entities going through. An interesting thing I noticed was that if I change server1 and server2 process times to 3 and 2 seconds respectively and leave server3 process time to the default random.triangular(.1,.2,.3) minutes. I also changed a few selection weights. I barely ever get a queue at server1 input buffer, and when I do, the time in queue is very small. I would have expected a significant queue with the rate table I am using. Does this sound correct? I also ended up getting a Simio error that I ended up sending to Simio, subject [sIMIO EXCEPTION REPORT] from mmashaie. This email includes the model. Thanks again. Your help has been great. Maryam
  2. Sure. You can make tightly coupled servers by connecting them with a Connector and having Server1 output buffer capacity and Server 2 input buffer capacity set to 0. But it sounds like you want more loosely coupled servers, so for example you could set: -Server1 Output Buffer is 0 (nothing waits there) -Path2 Capacity is 1 (only 1 can wait there) -Server2 Input Buffer is 1 (only 1 waits there) -Server1 Capacity is 1 (only 1 can be there) So you can have a total of up to 3 entities in or on the way to Server 2. Beyond that Server1 will be blocked and and additional entities will wait in Server1 Input Buffer. (I would have attached a model if you had posted this in an SI folder, but attachments are limited in these public folders.)
  3. Hi! I have this: Configurations are like: Then I have the station's contents being displayed in the External definitions. I can count the new entities entering the station.contents, but they don't visually appear in the queue... What am I doing wrong? Thanks!
  4. The Extended Flow Library discussed in this thread is now obsolete. Most of its objects are now integrated into the Simio Flow Library or included in the new Candidate Library: http://www.simio.com/forums/viewtopic.php?f=36&t=1740 The built-in Flow library includes very powerful features and capability, but is currently limited in scope to just a few basic objects. While we are enhancing that built-in library based on your feedback, we have provided an extended set of flow-related objects. This library includes objects such as Solidifier, Liquefier, Filler, Extractor and Stockpile. A Solidifier can be used to convert a specified quantity of flow into discrete entities. A Liquefier converts a discrete entity into an outbound flow. The Filler is similar to a Combiner that combines input flow of a specified volume with a discrete entity and the combined entity departs the Filler. The Extractor is the flow equivalent of the Separator. It will separate a batch member entity from the parent entity, with the flow transfer of the batch member entity then discrete transfer of the parent entity once flow is complete. The Stockpile object is similar to a Tank with different animation graphics. ExtendedFlowLibrary.zip As we receive customer feedback on both the Flow Library and the Extended Flow Library we will probably build more of this type of capability directly into the Flow Library. But in the interim, hopefully this extended library will help in your modeling. Like all Simio-provided libraries, this library is open so you can look at how it was built, learn from it, and subclass your own objects to improve them. But unlike our built-in libraries, this is not fully supported (although we can provide some help) and we may not continue enhancing it, particularly if we decide to build this capability into the base Simio products. We are anxious to receive your feedback on this library.
  5. I've created a tool which makes my life a bit easier when trying to code Design Add-Ins for Simio and I thought that I would share it with everyone else. Disclaimer: I'm an engineer that is mostly self-taught when it comes to programming so it may not work (all I know is that it works on my pc ). Also I know that it isn't the prettiest piece of software either. What the tool does is allow you to try c# code directly within Simio and evaluate the results. If you have ever used a dynamic programming language like Matlab or Mathematica then it will be familiar to you. Its like the command window in Matlab where you can enter commands without compiling. Its called a REPL (Read-Eval-Print-Loop). more info here: http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop The code uses the Microsoft Roslyn Compiler API. more info here: http://en.wikipedia.org/wiki/Microsoft_Roslyn If you want to play around with the source code then you will probably need to install the Roslyn CTP. Download here: http://msdn.microsoft.com/en-gb/roslyn. I created the solution using Visual Studio 2012 and I believe that the roslyn compiler only works with VS 2012 at the moment. How to install: 1) Copy the SimioREPL folder from the zip file into either: C:\Program Files\Simio\UserExtensions or c:\Program Files (x86)\Simio\UserExtensions 2) The folder structure should be ..\Simio\UserExtensions\SimioREPL How to get started: 1) Create a new model in simio. 2) Select SimioREPL from the Select Add-In drop Menu (Project Home Ribbon) 3) Click "Insert Initializing Code" button. This inserts some code to get the whole thing going. You may need to change the directory of the dlls loaded if you are not using a 64-bit machine (delete the x86 part from the path). 4) Press the Execute button to evaluate the code. 5) You can now start playing with the interactive coding environment The bottom textbox displays the results from each execution loop. If no return values are given then it will display just the execution count. How to use (here is an example of how to use the tool): Enter c# code just like in a normal program, for example: int x = 10; You can find out the current value of a variable by entering its name without the ending semi-colon, for example: x or x*2 + 10 -3 This will display the value in the output text box at the bottom of the window. I've added the ability to use Write() and WriteLine(), just like in a console application. for example: WriteLine(object.ObjectName); If the code is invalid then the Exception message will be displayed in the results text box, and the input code will remain. If the code is valid then the input code is cleared. The context object is already defined. Use context as you normally would. Some example code Walkthrough: Add some objects to the model IIntelligentObjects intelligentObjects = context.ActiveModel.Facility.IntelligentObjects; IFixedObject sourceObject = intelligentObjects.CreateObject("Source", new FacilityLocation(-5, 0, -5)) as IFixedObject; IFixedObject serverObject = intelligentObjects.CreateObject("Server", new FacilityLocation(0, 0, 0)) as IFixedObject; IFixedObject sinkObject = intelligentObjects.CreateObject("Sink", new FacilityLocation(5, 0, 5)) as IFixedObject; ILinkObject path1 = intelligentObjects.CreateLink("Path",sourceObject.Nodes[0],serverObject.Nodes[0],null) as ILinkObject; ILinkObject path2 = intelligentObjects.CreateLink("Path",serverObject.Nodes[1],sinkObject.Nodes[0],null) as ILinkObject; [Execute] Move the source object intelligentObjects["Source1"].Location = new FacilityLocation(-4.5, 0, -2); [Execute] List all the nodes on the server object foreach(var node in serverObject.Nodes) { WriteLine(node); } [Execute] List all the objects in the model foreach(var ob in intelligentObjects) { WriteLine(ob.ObjectName); } [Execute] ---------- Hopefully you find this useful. If you improve the tool using the Source Code given then could you please repost the source code here in this forum topic. I'm sure that there are many things that can be improved by a proper programmer. What it really needs is intellisense . SimioREPL Source.zip SimioREPL UserExtension.zip
  6. Assuming you have a property or state named TargetTime, then you could delay each individual entity by "TargetTime-TimeNow". Regardless of the times that individual entities arrive, they will all finish their delays at TargetTime and then move forward together.
  7. Slightly off topic, but I have never seen a model with a dynamic number of servers. Are you spawning servers on initialisation? And if so, should I assume you are using freespace? I make frequent use of dynamic entities and vehicles in freespace, but have never had much luck in terms of servers etc. I am sorry if I was ambiguous, I am not changing the number of servers, rather the number of entities within the servers at the starting time. I am not working in freespace.
  8. Slightly off topic, but I have never seen a model with a dynamic number of servers. Are you spawning servers on initialisation? And if so, should I assume you are using freespace? I make frequent use of dynamic entities and vehicles in freespace, but have never had much luck in terms of servers etc.
  9. 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.
  10. I have a source (exp(1)) --> Server (exp(1/1.2)) --> sink. This way, the Server gets a load of lambda=1 and serves at a rate of mu=1.2, giving a util of rho=1/1.2 = 0.833.. Endtime is set to 1 million seconds, so nbr. of jobs to the server is 1 million. Simio computes a rho of .833, so the sim is correctly set up, I believe. But, to run this takes me 115 seconds in Simio (I clicked on Fast-Forward, Trace is turned off). Are there ways to make Simio run this any faster? (I have searched the Intro PDF and the Reference PDF for things such as "fast-forward", "fastest" ... but found nothing new) I have an average Windows-7 64 bit Dual Core E8400 @3ghz, 4GB Ram Thanks. --Ketil
×
×
  • Create New...