Jump to content

Search the Community

Showing results for 'source objects disappear'.

  • 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 think we need some additional information. When you say you have "real data" do you mean that you have samples of processing time? If so, from that you would normally fit a distribution our use a table-based Input Parameter to draw from. You say that Servers 1-4 are identical and Servers 5-7 are identical. It might be easiest to model that as ServerA of capacity 4 and ServerB of capacity 3. Depending on what data you want to have in the table, it could be seven separate tables, or two tables (for the groups of servers) or most likely just one table with a row for each group of servers. You need to more clearly state your objectives and what you want to control, but it sounds like you will want to put some type of selection rule at the source output (to see where the entity goes next). Depending on your system and objectives you might want to have a custom routing group used at the output node of each server to determine which entity is selected next for server8.
  2. Thanks Willem, Also I had a few other doubts that I was hoping you could clarify. Firstly, in Simio, under select add-in, I do not have the "Load Objects and Links from an external spreadsheet" option. All I have is the "Place Source, Server, Sink" option. Secondly, I am not able to set the output directory file path on Visual Studio. Can you help me out with that as well? Also, can you tell me which one is the assembly file for Simio? is it the .exe file? Guys, any help would be appreciated as I am completely new to this. Thanks.
  3. Hello! In my model, there are 5 machines running for production. Each machine has opportunity to be failed, the mean time between two failures is exponential(4.5) hours, and the repair time will last triangular(20,25,30) minutes. I use 5 Resource to represent these 5 machines and place them on the canvas because I want to see the state changing of each machine during the model running. Five entities will be created at the time zero simultaneously and the Source will only create 5 entities, those entities arrive at a Server which capacity be set to 5 and the Server’s processing time is exponential(4.5) hours. When one entity go out the Server, it means one machine (Resource) failed. My question is how can I find the corresponding resource related to this entity and change its state to failure and then after certain time duration of repairing to change its state to busy. Say, if entity 3 go out the Server, then I need to set the state of Resource 3 to failure and then change it back to busy. I want to use list or table to achieve my job such that the model can fit for very large amount of machine’s condition, e.g. 1000 machines. Thanks!
  4. This is an excerpt from user manual "Starting in Simio sprint 156, the Seize, Move, Route and Release steps (not all steps) allow for specifying the list members within a table and referencing the TableName.ColumnName within the Object List Name or Node List Name properties. Note that the user has to manually add 'Table.ObjectColumn' to the List Name property because it does not appear in the dropdown or right click table reference. Once specified, this then allows table referencing of list members to be done within the Secondary Resources section of many objects, as well as the Resource Requirements section of task sequence type processing. Routing Logic within object TransferNodes may also include the table type lists. Please note that this also includes the use of table state columns (Enterprise edition) for the list which, combined with the Output tables (see Enterprise Data Window page) and the RemoveRows step, allows for dynamic runtime building of lists. See the SimBits UsingRelationalTablesToDefineNodeLists and UsingRelationalTablesToDefineTaskResourceLists for more examples. "
  5. Hello everyone, The problem with the "AutoCreateInstance" is that every time that the model starts running all the created objects loose their previously defined properties (Routing Logic, Transport Logic,...). I would like to keep my created objects and move them with "Relocate Object" in Locations defined by a table (see the attachment https://drive.google.com/file/d/173uwX4MNdCowpNl4J15WSg-4JeosIkMM/view?usp=sharing). The idea is to insert "RelocateObject" in "OnRunInitialized" add-on process. How can I replicate the relocation for each row of the table? How can I link my current objects in the model to the objects in the first column of the table ? (I defined the column type as Object Property)
  6. Hello everyone, This question has probably been answered before but i could not find any post making mention. I would like to know if it is possible to edit the position (x, y, z) of a given object via some kind of procedure or using some state to govern these values. Specifically, we would like to assign specific coordinates to nodes in a graph (so we know for example all links are scaled correctly with their size) and we would like to get the positions of the nodes from an external data source (Excel, .txt files). We would only touch these values at the beginning of the simulation (as initialization). thanks
  7. 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.
  8. In addition, we've added the capability to have various Simio objects 'automatically' created in their physical x/y/z locations from data tables. For an example of this, see the SchedulingDiscretePartProduction.spfx example (Support ribbon / Examples) and review the Resources data table. A column of type 'Object Type' of Object Reference specifies the type of object to create. An 'Object Type' column, Resource Name, then uses that 'ObjectType' column as its property ObjectType with the Default Value Instantiation set to 'AutoCreateInstance'. The XLocation / ZLocation columns are then used within the Initial Object Offset properties. Moving the node (or whatever object) within the Facility window then changes the XLocation/ZLocation values. This table automatically generated the Facility window contents.
  9. i was wondering if VechilceX1 could carry different objects. For example carry driver (worker1), the paramedic (worker2) and patient(ModelEntity) from an accident. Can they all be bunched up on VX1 and sent on to where ever I need them? If thats not possible, what would be the way to implement that?
  10. There must be a simpler version but until discovering that one: First add 900 rows to the existing table (for each replication you have to add 900 rows, each composed of different ordering of entities). Then, set replication number to 2 from Run-->Advanced options-->Randomness. After this enter (Run.ReplicationNumber-1)*900+RowNumber to rownumber property of source object. sample file.spfx
  11. This script will combine output files from Experiments that use the Write Step. It will average the cells across all selected sheets, and is designed to work with .CSVs that are the same shape. In R Studio, the code needs to be ran as "source" y = 1 x = 1 fileIterate = 1 readline(prompt="Press Enter To Select Files: ") fileSave <- choose.files(default = "", caption = "Select files", multi = TRUE, filters = Filters, index = nrow(Filters)) readline(prompt="Press Enter To Select Output Folder: ") outputFolder <- choose.dir(default = "", caption = "Select folder") fileName <- readline(prompt="Enter Output File Name: ") buildFile <- read.csv(fileSave[fileIterate], header = TRUE, sep = ",") fileIterate = fileIterate + 1 while(fileIterate <= length(fileSave)) { holderFile <- read.csv(fileSave[fileIterate], header = TRUE, sep = ",") while( y <= ncol(buildFile)){ while(x <= nrow(buildFile)){ buildFile[x,y] <- mean(holderFile[x,y],buildFile[x,y]) x = x + 1; } y = y +1; x = 1; } x = 1 y = 1 fileIterate = fileIterate + 1 } fileName <- paste(fileName, ".csv") outputTheFile <- paste(outputFolder, fileName,sep = "\\") write.csv(buildFile, file = outputTheFile)
  12. 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?
  13. Hi! I try to modelize a production process. All my entities are of the type. But I want to give at each entity parameters such as height and length. I want that Simio generate it randomly in a state variable as an entity exit the source. My problem is the those parameters don't follow a standard distrubution as a normal ou triangular one. It follows time series (chronological series). Since it's a current pattern in production, I was wondering if there is a simple way to implement it in Simio? Thank you in advance! Pierre (I hope it's clear enough? Don't hesitate to ask me precisions if it isn't.)
  14. A single source object can only reference a single rate table. To have entities created according to different rate tables you must use multiple source objects.
  15. Recently we were asked how Simio might interact with GIS Data. Attached is a PDF document explaining how Simio can interact with GIS Service Providers, plus a demonstration Add-In (GisAddIn) that constructs Simio nodes and paths using GIS data obtained from Microsoft's Bing Maps service. I will eventually get around to adding Google and ArcGIS. There is also the Simio project file that this Add-In 'built'. In a nutshell. The Add-In pops up a form where you can enter a start and end destination, and then Requests a road route between those destinations. Once the Response data is received and processed, the appropriate Simio objects are constructed. Note: To get this to work, you'll need a Bing Maps Key. These are free and the instructions on how to get one is in the PDF Document GisAddInPackage.zip
  16. Thank you so much, Jeff. Your model worked fine on Simio 10, but it didn't work on version 9.158 for some reason (vehicle got stuck in the source). I'll study your model and try to keep Simio updated.
  17. Simio doesn't have "Link" type lists, however, we do have functions for nodes which would allow you access to the various links that are incoming or outgoing from that node. Depending upon your objectives for having these links, you could create output table information related to the node/link lists. So, for example, let's say you have a Source that contains 3 outgoing links. You could, within a process at the start of the simulation, use the Search step to search NodeOutputBoundLinks for the Output@Source* node and add that information to an output table (the node name as one column, the links as another column) by using the AddRow step to add a row to the output table, and Assign step to assign OutputTableName.LinkColumnName equal to the Link found in the Search step, for example. Again, not sure what information you are trying to gather related to the links, but this is one possible way to get a listing of links either inbound or outbound from a node.
  18. If you know WHEN you want entities to arrive in addition to WHAT (e.g. PartA at time 1.5, PartB at time 1.8, ...) then put that data in an Arrivals table (a normal table that has an arrival time column) and use the Source Arrival Mode of Arrival Table. If instead you want random arrival times with specified parts, use an approach like found in SelectEntityTypeFromTable but use a sequential row number instead of the RandomRow function.
  19. 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.).
  20. We have a SimBit titled 'SelectServerWithShortestLine' in which there are 3 servers to select between and the output node for the Source provides the logic for the selection. The Server input nodes are put into a NodeList named 'Servers'. This list is then used to select between the members based on a Selection Goal 'SmallestValue' based on the expression 'Candidate.Node.AssociatedStationLoad'. The associated station 'load' is defined as the sum of current entities en route to the node intending to enter the stations, plus the current entities already arrived to the node but still waiting to enter the stations, plus the current entities occupying the stations. This can be used whether or not the capacity of the input buffers is specified for the Servers.
  21. Hi Glen, is there a way to speed up the import of the objects and links ? I import now ca 350 objects, 350 links, some vertices. Half of the list are new objects for the model and the other half are the nodes of these objects which are repositioned that way. Especially repositioning these nodes takes a long time. This takes 15Minutes already. It seems like the time increase is exponential to the number of lines in the list, not linear. Thanks for any hint how to make it faster Michal
  22. yeah , it is not so good to increment that Before Exit State Assignment, becuase each entity you created would trigger that. If you increment that by Math.If(Index == PartDefinition.AvailableRowCount, 1, Index + 1), then the quantitis you defined will trigger many times of calculation. so say if the first entity is red entity, the quantities are 3, then after the 3rd one coming out of source, the index turns 3.
  23. Hi Christine, thank you for your quick reply. The 4th step (state assignments before existing) didn’t work. Maybe I did something wrong. Instead, I used an additional process (in source – add-on process triggers / creating entities). For completeness, in attachment: my model with process trigger. Model with process trigger.spfx
  24. First, in a table, list the part types, in order, that you would like, i.e., PartA, PartB, PartC, then PartD in a column. In the Definitions window, add a new integer state (named 'Index' for example) with default value of 1. This can be used to loop through the table rows (and reset to 1 once you create the last one). Then, within the Source, use the TableName.ColumnName' as the Entity Type. Within the Table Row Referencing / Before Creating Entities, set the Table Name and then use the 'Index' integer state as the Row Number. In the state assignments before exiting, simply increase the integer state value - you can use simply a Math.If(Index == 4, 1, Index+1) - or you can use the max rows in the table if you aren't sure how many items in table.
  25. 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.
×
×
  • Create New...