Jump to content
Simio Forum


  • Content Count

  • Joined

  • Last visited

  • Days Won


CWatson last won the day on November 20 2018

CWatson had the most liked content!

Community Reputation

1 Neutral


About CWatson

  • Rank
    Senior Application Engineer


Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Within a Server, Combiner or Separator object, you can specify the Process Type as 'Task Sequence' allowing you then to define any number of Processing Tasks for that Server, Combiner or Separator. The processing tasks can be serial or parallel tasks. By using parallel tasks, for example, with a different worker (nurse, PA, Doctor) required for each parallel task, the tasks are done independently, but can be done at the same time. Parallel tasks can be specified using the same Sequence Number (see Task Sequence and Task Sequence - Processing Tasks sections of Simio help). So, for example,
  2. In Sprint 191 +, you can right click on the existing path and select Change Starting Node or Change Ending Node to leave the drawn path, but change the starting or ending locations.
  3. Without seeing the model, its likely that you are selecting the parallel machine using a probability in the Selection Weight of the path from Source to one of the 4 parallel servers, or using a Random selection rule to select from the list of parallel servers. In the Planning tab, typically when we see all jobs sent to the first of multiple parallel machines, this is why. When running the 'Create Plan', Simio will run everything with expected values (distributions, etc.) INCLUDING any routing logic (selection weights / random selection rule). If this isn't the case, please attach a copy of you
  4. The worker, by requirement, has a capacity of 1. The initial number in system (population) of the worker can be set to greater than 1, meaning you will get a number of capacity 1 workers to be used independently. For example, if you have FirstShiftWorker, you can specify the Initial Number In System (under Population grouping of properties) to 'X', let's say '4'. You will then have a FirstShiftWorker[1], FirstShiftWorker[2], FirstShiftWorker[3] and FirstShiftWorker[4], each with independent statistics/ location/ tasks, etc. This worker can then be referenced in a Server with multiple capacity
  5. You can still use your various 'lists' of servers in SetA, SetB, etc.). You still will need a Sequence table with the Sequence Destination property column. This tells Simio within the Sequence table the destination to route. So, within your Facility window, add a TRANSFERNODE before each 'set' of areas, let's say named SetA, SetB, SetC, SetD. Then, within the TransferNode, use the 'Select From List' for Entity Destination Type property and specify the appropriate list (SetAList, etc.). Then, within the Sequence table, route to the TRANSFERNODE that uses the particular list - so in the above, y
  6. You could put the two (or more) separator input nodes on a list and then at the Server output node, select from the list of separators - then you could use the Selection Condition property to select between those that are actually available, using either a table value or something like 'Candidate.Node.AssociatedStation.Capacity' expression checking the status of the separator capacity (if offshift).
  7. Within each of the Source objects, you would specify (within the output node of the Source) that a worker is required to transport the entity(s) to the next node. The decision making of the worker is then handled by the worker itself. The worker has several decision making options - first of all, for transporting, the worker has Transport Logic properties, one of which is the Task Selection Strategy property, which can be set to First In Queue, Largest/Smallest Distance or Largest/Smallest Priority. In addition to that, under the Worker's Add-On Process Triggers properties, you have the E
  8. Please either attach a copy of the model you are referring to with this post or send the model with description of problem to support@simio.com. Thank you.
  9. You can do this in several different ways. If you simply have 2 entity types, an easy way to do it would be with a Math.If statement within the Processing Time property. For example, Math.If(Is.Red, 2, 4) - given you had 2+ entity types, the ones that have the entity name 'Red' would process for 2 minutes (or time units specified), all others would process for 4 minutes (time units). You can have multiple Math.If statements (Is.Red,2, Is.Green,4, Is.Blue, 5, 6), for example. Of course, you can use more complex values than 2, 4, 5 for processing times. A more flexible way would be to stor
  10. If the entity has a SetRow assigning the row to 1 in TableA, then toget to column1 (you already have a pointer to row1 via the SetRow assignment) - you would simply say TableA.ColumnName. Simio will know that it should use row1.
  11. You may wish to have a table listing each of the servers in the assembly line. Then, within the Object column (specifying the name of the server), set the Auto-set Table Row Reference property (under Advanced Options for an Object Property) to 'True'. This will automatically set the row reference to the row associated with the server in the assembly line. Then, you can have MTTF and MTTR columns that you refer to for each server and simply reference the table/column, such as ServerTable.MTTF or ServerTable.MTTR within the server's themselves.
  12. You cannot control the entity id number yourself, that's internally controlled. However, you can use a model state variable / model entity state variable to do something similar with your own count, based on the entities generated. When an entity is created, simply assign the model state variable == model state variable + 1. Then assign ModelEntity state variable to the model state variable.
  13. You could use a vector to store the entity locations - you'd have to first give each entity a unique entry into the vector - thus the first entity into the system would use vector[1], etc.. This would only be a reasonable option if the number of entities (trucks) are fixed at a max reasonable number (10, 100, etc.) so the vector could be sized. Efficiency-wise, you may wish to update the entity locations at nodes, as opposed to every x seconds. If you update every x time units, you would need to first use the Search step to search the entities, getting a token for each entity. The vectors can
  14. Yes, let's say your entity is created using an Orders table, where the entity has a 'row' in the table associated with it (with arrival time and other data, presumably the customer ID as you mentioned from the excel file). Then, within the ModelEntity object, find the Display Name property (under Advanced Options). The table name/column name can be referenced within the Display Name (and then the Display Name, ModelEntity.DisplayName) referenced from the Dynamic Label Text property - see the SchedulingBicycleAssembly example under Support ribbon, Examples. Then, when the entity moves around th
  15. One option would be to put the 2 (or more) workers in a 'List' of workers and simply select from that list, and use the Number of Objects property (under Advanced Options) set to 2 (or the number of workers in the list that are needed. Workers can be placed on multiple lists. Another option would be a more complex table based approach. See the UsingRelationalTablesToDefineTaskResourceLists SimBit for an example.
  • Create New...