Jump to content

Search the Community

Showing results for 'path graphic'.

  • 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. As I downloaded the model it had an error in the RankingRuleExpression of Cashier 1. This field requires a number and you were giving it an entity type. Instead: --Set priority of OTCustomer to be 1 and set priority of Prescription customers to 2. --Set this ranking rule as Smallest Value First with the expression "Entity.priority". Now, whenever both types of entities are waiting, the OTC will be selected first. To select from the set of cashiers, --Create a Node List named Cashiers (graphically or in Definitions tab) containing Input@Cashier7, 6, ...Input@Cashier1. The order matters. --For your WaitingArea node select: ----EntityDestination: SelectFromList ----NodeListName: Cashiers ----SelectionGoal: Preferred Order (or experiment with other rules) ----SelectionCondition: Candidate.Node.AssociatedObject.Name=="Cashier1" || Entity.Priority==2 The first 3 properties above force all entities to individually select a cashier, starting from bottom to top (selecting Cashier1 only if no others are available). The SelectionCondition says Any entity can select Cashier1 or priority 2 entities can select any cashier. The BlockedDestinationRule of Select Available Only forces entities to wait at that Waiting_Area node until a Cashier is available. Unfortunately node doesn't have a way of displaying entities that are waiting. If you want to display and control entities I recommend replacing that node with a Server with 0 process time. This is an easy way to provide an output node with a station where entities can wait. Without changing it to a server, entities will wait on the incoming path. Change the AllowPassing option to False on both those paths to see the entities waiting there. This doesn't solve all your problems but it should give you a good start while not taking away your opportunity to learn (why I gave you instructions instead of a model )
  2. That sounds like you are doing a deterministic simulation. Depending on the form of your data you would need probably a single data file with columns something like: EntityType (you only need this if you have different types of entities) ArrivalTime - an exact time , either elapsed hours starting at 0 or an exact date-time MyServer (or Server Group) - Ideally this would be in the input node for the server (.e.g. Input@Server1) but if you have other forms you can make that work as well. ProcessingTime - a time (with units specified) --On the Source you would use Arrival Mode of Arrival Table, and specify Arrival Time Property as "MyTable.ArrivalTime". --If you have MyServer in the form of an input node, then in the output node of the source you would specify Specific Destination of "MyTable.MyServer". If you have it in another format, you might instead use selection weight on each path (e.g. if you just had an integer server number you might use "MyTable.MyServer==1" on the first path selection weight) --On the servers, set the Processing Time as "MyTable.ProcessingTime" That is the basics of how you might approach this problem. But I do have to question why you are doing a deterministic simulation. While deterministic analysis is useful for scheduling and validation, that approach is rarely appropriate in typical design models. You might reconsider if that approach is correct.
  3. Hi, Currently modeling 2 assembly lines that are identical. They have 1 source that sends Batches of Segments. How our system works is that 1 order has multiple batches, so to identify them, we added the same order number to them. https://imgur.com/a/V971F Even though the 2 assembly lines have the same machines, they operate different batches, which can be identify by the diameter of the order. If Orders are "= N" they will go to Assembly line 1 and 2. If Orders are "=Y" they can only go to Assembly line 1. I'm using a transfer node to distribute the batches into the two assembly lines to maintain max usability in both lines. The path that are from the Source to the first server and from the Transfer Node to the first server have the diameter constraints. https://imgur.com/a/9h7Kp The problem I'm facing is that the transfer node seems to be separating orders that have the same number to both lines. For example order 1234 has 10 batches, 5 are going to line 1 and 5 are going to line 2. I need, per customer request, to have all batches with the same order number be processed by the same line. Is there a way to constrain the transfer node to keep Orders with the same number together? or a Add-on Process that will allow me to do so?
  4. With several servers, entities only wait in one queue, while the rest of them are empty. How can I settle it to make them go to the emptiest ones? I thought it was by changing the outbound link rule of the output node from "shortest path" to "by link weight" but it's still not working. Thanks!
  5. see attached files. place both of them on desktop and open run simio file. It does not work properly because path 3's none of the add-on processes work (i.e., I set process 2 for 4 add-ons of Path 3 but it does not write to excel. In order to make it work properly I defined an add-on process to first test's output note (set process 2 for exited add-on of first test) and it works. This should be a bug and must be fixed. Pls report this to support team. 1.xlsx ExcelWriteTest.spfx
  6. In Excel file (1.xlsx) the sheet name must be the same as you entered in the excel write step's worksheet property (Hoja1). Moreover, note that you need not to enter a path name if you place 1.xlsx file in the same folder the simio file that you are running exist. You only need to set the excel file name "1.xlsx" in the ExcelConnect1 elements workbook property.
  7. Hi, I have a few servers and paths in my model. I am trying to queue up my entities in the input buffer of server1 when there are too many entities at server2. I am able to set server2's capacity to 3, but I can't seem to set an inputbuffer capacity to server2. I thought I can set the selection weight on my path to server1 to say math.if(server2.inputbuffer.contents>1,0,1), but that doesn't seem to work. I can't seem to find any SimBits on this either. Any help would be appreciated. Thanks.
  8. Hello, How to search for a particular row in a table using an expression? I am using a time path and want to select the time in that path from a table depending upon the type of entity. There is an option to write an expression in the 'Time' field in time path, but I don't now how to search table using an expression. Thanks
  9. The general idea is that you will need a process (maybe at the beginning node?) that uses the search step, and then stores the resulting expression in a state on the entity (such as MyTravelTime). Then, you can refer to that entity state in the travel time property of the time path. travel time --> ModelEntity.MyTravelTime Alternatively, you can refer to the row directly, if (for example), you have an integer state/property that indicates the entity type, and that corresponds to a row in the table: travel time -> Table1[EntityType].TimeExpression (Here EntityType is a state or property that you've set somewhere else, and corresponds to the index of a row in the table). Lastly, you can use the "set row" step in a process to link a row to an entity (or use the built-in Table row referencing properties on the source object). Then, you'd just need to reference the table column in the time expression: travel time -> Table1.TimeExpression -Adam
  10. Currently, there are no paths in your model and thus the vehicle moves in free space. If you'd like it to move on a Path, add the paths between the Source / Server, Server / Sink and Sink / Source. Then, within the Vehicle object, change the Initial Travel Mode to 'Network If Possible' - this way, if a path is defined, the vehicle will move along the path (at the distance of the path * speed of vehicle). If there is no path, the vehicle will continue in free space to the desired location. A TimePath specifies the time it takes to move on a given path and that will not be used by vehicles.
  11. Hello Simio-Community, I'm trying to make a process to reserve a vehicule at a server until all the entities he was carrying are ready. I used this proces that works good except if I want my vehicles to follow a time path between source/server/sink/source. Do you have an idea of how I could change the process model to make my vehicles follow a timepath and still keep being reserved by my server ? Thank you in advance, ReserveVehicleWithMuliCapacity.spfx
  12. There are several ways of doing this. One way would be to write out (to a external spreadsheet OR an output table in Simio, depending on your Simio licensing) the exit time for each entity (and perhaps other entity specific property information, such as priority, etc. Then, you could use that same file (or copy of the output table results) as an input file for your second model. Alternatively, you could place each of these 'models' into a third 'model' in the project and connect them. This would require several changes - the first model (with the Sink output) would require the model to simply have a Transfer Node output - and then right-click the Transfer Node and select 'Bind to New External Output Node'. This will allow that model to then become an object in another model. The second model would also need to be revised to include a Basic Node input (instead of the Source input) where you would right-click on the Basic Node and select 'Bind to New External Input Node'. Finally, you would select New Model from the Project Home ribbon to start building your 'combined' model. On the left side of Simio, instead of selecting from the Standard Library of objects, you would select your Model1 and Model2 objects from the Project Library at the bottom. The TransferNode of Model1 can then be connected to the BasicNode of Model2 with a path. That is the basic concept - you may wish to look at SimBits under the category 'Building New Objects / Hierarchy' for more information.
  13. If you click on a link (or multiple links) to highlight them and then, while highlighted, use the right-click, you are able to add them to a 'network' by using the 'Create New Network' option to create a new network for the path. Once a network is created, the right-click option on a path will also then provide you the option to add the network to that network. Paths can be part of multiple networks. The right-click also allows for removing a path(s) from a network. Then, the Visibility ribbon provides options to show the various networks (they will be highlighted) when selected - you have the option of viewing the union/intersection of the networks.
  14. Greetings, Trying to set up 2 separate networks (AGV and Tractor networks). I can create the Network Element in Definitions, but I cannot figure out how to assign the paths and nodes to the new networks. I tried the SetNetwork process step, but I get a runtime error: "The object or element reference 'Path 5' returned by property 'SetNetwork.EntityObject' is not of the expected type 'Entity'." How do you set a path's new Network name? Link to the model, with the runtime error (error comes from the OnRunInitialized process): https://www.dropbox.com/s/ehn33oxxed5ir43/2-Netowrks.spfx?dl=0 thanks for any help, Kurt
  15. Hi Not sure if this post is in the appropriate place, but let me ask my question. I got Simio 9 - Academic license. I made a simple Source-Server-Sink model connected with the Path objects. However - in the Navigation window I don't see these objects. I see only the ModelEntity, the Model and the Experiment folder with the experiment I created. Reading through the book "Simio and Simulation: modelling, analysis, applications" it says the if I need to add properties to an object, I need to select that object in the Navigation window (pp.132-133)...but as I said - I dont see my objects... Am I doing something wrong?
  16. Hi, I have a problem in my simulation model. In my model, entities do not exit from the system after finishing the process and they will go to a virtual server and two random variables (exponential (10 hours), exponential (20 days)) should be run PARALLEL for each entity. Once running of a variable is done, the other variable should stop. Every entities with exponential 10 hours variable will come back again to the system, while other entity with exponential 10 days variable will exit the system permanently. Actually, the holding time in the virtual server should be determined based on the Min of two random variables. I tried to consider these two variable time as processing time in task sequence (same sequence number) for each entity in virtual server. The problem here is that I do not know which logic or method I should use such that if on variable stops first, the system automatically should be able to stop the other variable and select the path. I really appreciate it If anyone can help me. Farnaz,
  17. Petr, I tried out your updated version, as I had used Glen's original in the past. There is definitely a speed boost with this version. My "test" import file is the 25 X 25 grid attached (625 BasicNode and 1200 Path Objects.) On my old laptop this imports in about 60 seconds. I noticed that the progress bar works great for the Objects sheet, however it does not appear to update when the Links are imported. The progress remains at 0 while the links are imported, though the routine works and I see the dialogue at the end with no errors. The nodes only take about 10 seconds to import and the links constitute the remaining ~ 50 seconds. I tried turning off visibility of the links/arrows, but this made no difference. I haven’t tried vertices yet. Also, note that I had to re-build the add-in in Visual Studio, as I seem to have an issue with adding add-in .dll's from an outside source to my ..\SimioUserExtensions directory. Hopefully I did not break the application in the process. Thank you very much - this is very useful! 25 X 25 Grid Import.xlsx
  18. There are two approaches that should work: 1. Local data with relative file paths. In this case, the Simio model and data file need to be in the same directory as each other, on each computer where you want to run the model. The file path in the binding dialog box would look like the image my first post. A downside is that the data may become difficult to manage if you need it to remain consistent, as it must be duplicated to each machine running the model. 2. Network data source Here the binding info would point to a data source on a network-connected computer/server. The model file will remain bound on any computer that has network access to the linked data source. The data only exists on the network, so there are no concerns with data consistency, but any machine must be able to access the data location for any updates to get pulled into the model. Are you trying either of these, and if so what specific error are you getting? What sprint are you using? -Adam
  19. I am building a model of a distribution network. There are two separate types of vehicles in my system. Steel trucks which transport entities from the source to the distribution centers, and boom trucks which transport entities on the final leg from the distribution centers to the sinks. Each of my distribution centers has boom trucks parked at the output node with the exception of "ElktonStagingYard" which should have no trucks parked at the output node. Each time an entity arrives at "ElktonStagingYard", a boom truck should travel from the nearest distribution center, "RockyMountDC", to "ElktonStagingYard" and then to the customer. How can I make this happen? I have tried to build a path from "RockyMountDC" to "ElktonStagingYard" but this seems to mess up vehicle routing since I want the output node at each distribution center's outbound routing logic to be By Link Weight. I have attached my model. Thank you in advance! MeganVasshCurrentModel - Copy.spfx
  20. Let me start by saying I have not used Simio in a few years, so any help is appreciated. I'm trying to model a busing operation with three stations and three buses. Each station will start with 1 bus. Passengers will arrive at station A, B, or C. Passengers at A might be going to B or C, and those going to C could ride the bus to B and stay on until the bus approaches C. It is also possible the bus could take a full load of passengers straight from A to C. There are 6 total routes possible: A-B, A-C, B-A, B-C, C-A, C-B. How can I set up my vehicle routing in a way that allows passengers to ride 1 or 2 segments to get to their final destination? (If someone needs to go from A to C, they could either ride from A->C or from A->B->C.) If a group of passengers bound for stations B and C arrive at station B, how do I make sure passengers bound for station C stay on the bus? I'm trying to use rate tables for my arrival data. Do I need to use 6 different rate tables and 6 different entities? One for each path? Thank you for your help!
  21. Hi I am using a worker as a transporter as well as a service provider at one server. I want to know how I can access the worker ride when the worker is transporting someone. For example assume the worker is transporting one entity on a path, I want to create a process for the worker that enters the path, and get access to the ride of the worker (the entity which is currently riding using the worker). Any help is appreciated. Thanks;
  22. This fixed the outstanding bug where writing in an experiment would dump all csv files in the simulation root directory, ignoring the relative directories you specify in the file path in the file element. The fix was trivial, and I am sure I have raised it several times both on this forum. I made the fix a few months ago, and have kept meaning to post it here (if indeed I have not already). The problem with unofficial fixes is that it is another moving part to update, keep track of, and adds to installation complexity. I have lost previous fixes twice (due to fresh re-installs). Essentially "fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fileName);" was the culprit. I changed the "_writerFileName" directive from using the above variable to: _writerFileName = "fileName + "_" + simioScenarioName + "_Rep" + simioReplicationNumber + fileExtension;" I could do something neater (as the current output will have a ".csv" in the middle of the name), but did not spend any time on this. It would be appreciated if this was fixed and applied to the official write block (even if as a toggleable option), as due to the over-zealous licensing terms, the DLL will not load on an unlicensed client... meaning I have to choose between having the bug fixed and not dumping hundreds of thousands of CSV files in my simulation root... or causing clients considerable inconvenience by writing hundreds of thousands of CSV files into their simulation root. Here is the relevant code extract in the file element: if (String.IsNullOrEmpty(fileName) == false) { string fileRoot = null; string fileDirectoryName = null; string fileNameWithoutExtension = null; string fileExtension = null; try { fileRoot = System.IO.Path.GetPathRoot(fileName); fileDirectoryName = System.IO.Path.GetDirectoryName(fileName); fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fileName); fileExtension = System.IO.Path.GetExtension(fileName); } catch (ArgumentException e) { data.ExecutionContext.ExecutionInformation.ReportError(String.Format("Failed to create runtime file element. Message: {0}", e.Message)); } string simioProjectFolder = _data.ExecutionContext.ExecutionInformation.ProjectFolder; string simioExperimentName = _data.ExecutionContext.ExecutionInformation.ExperimentName; string simioScenarioName = _data.ExecutionContext.ExecutionInformation.ScenarioName; string simioReplicationNumber = _data.ExecutionContext.ExecutionInformation.ReplicationNumber.ToString(); if (String.IsNullOrEmpty(fileDirectoryName) || String.IsNullOrEmpty(fileRoot)) { fileDirectoryName = simioProjectFolder; fileName = fileDirectoryName + "\\" + fileName; } _readerFileName = fileName; if (String.IsNullOrEmpty(simioExperimentName)) _writerFileName = fileName; else _writerFileName = fileName + "_" + simioScenarioName + "_Rep" + simioReplicationNumber + fileExtension; } Using relative file paths worked at one stage, and was later broken. Below are two threads with work around un-offical dlls that probably implement the fix nicer. 10/07/2012 - http://www.simio.com/forums/viewtopic.php?f=19&t=829 07/12/2012 - http://www.simio.com/forums/viewtopic.php?f=20&t=987 TextFileReadWrite_compiled.zip TextFileReadWrite_source.zip
  23. Simio freezing when the file size is large is a common issue. I hope you are running the 64bit version as it handles that better. I do not know how the number of control variables or needed replications (rather low for the number of inputs imho) is to influence your issue. It is rather heavy symbols, CAD drawings etc. In my experience closing Simio altogether, not just the model, (which cleans temporary files) and then re-opening it anew works best. Mind that Referenced Property (best use Expression Property in object classes) can have a default value and even if it returns an error in the class definitions, it will work well if the main model, providing of course the value is then recognized by the main model. You may want to change then the Runnable property to false in order not to be annoyed. To update the size of an object right-click on it and choose - "Resize to Graphic size" option.(To select all objects of this class is best to first open properties spreadsheet and ctrl+a). I advise against removing objects from the model and placing them again. Too prone to mistakes in typing.
  24. 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
  25. Hello dsturrock. Hello everyboud. You understand my situation. Im going to explain a little bit: My entities are the people who are shopping, and I'm trying to assign to them a kind of 'shoplist' when the source create the entity. This 'shoplist' has to be different for any entity. I thought make something like (any options?): ShopList Table. Item to buy | Location |Qtty Apples | Input@ApplesShelves | Random.Discrete(0,0.5,1,1) Carrots | Input@CarrotShelves | Random.Discrete(0,0.5,1,1) ... On that way, I would generate a random 'shoplist' about random items and quantities to buy and when a source generates an entity. It would assign the 'shoplist' for that. In each Node, I could evaluate with a Decision Step if the Entity have to join or continue towards the commerce-path. I defined a route with nodes front of the shelves. Entities walk by the paths (unidirectional), being evaluated at Nodes and taking the "Qtty" in each Server (Shelves). To handle the stock, at Model level, I defined a QttyApples, a QttyCarrots, (as State Variables, following in the steps of the exercise of the 'supply chain' of workbook). Before, towards the Server (ie: ApplesShevles), a trigger may sent a code for quit the 'Qtty' about that item. For now, I generate one table and one property for each column, i.e.: Listadelacompra table, the rows: Item (Articulos) | Qtt (CantidadPromedioPorCliente) Apples | Random.Discrete() Carrots |Random.Discrete() Peas |Random.Discrete() Lettuce |Random.Discrete() I had also made a State Variable for each item at Model level: QttyApples QttyCarrots QttyPeas QttyLettuce, ... Because before the Servers (shelves) had to disccount it. To make that I have to determine a lot of code-lines (one per item for the entity [n], one per item for the Model) and I was wondering if I could associate a table to an entity. Right now, I'm using property-vectors (ArticuloQueCompra, CantidadArticulo). I hope I have been clear enough, Maybe there is another way to resolve these problem but I didnt know how to make it, Very thanks for the help, Regards, Nicolás Rodríguez.
×
×
  • Create New...