Jump to content
Simio Forum


Simio Employee
  • Content Count

  • Joined

  • Last visited

  • Days Won


KatieP last won the day on November 14 2018

KatieP had the most liked content!

Community Reputation

5,403 Excellent

About KatieP

  • Rank
    Application Engineer
  • Birthday 07/19/1989


Recent Profile Visitors

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

  1. Off Shift Rule is a List Property. The list is inside the server, but when referencing it, you need to create a list on the main model too. First Create a string list with 2 rows SuspendProcessing; FinishWorkAlreadyStarted (in that order). Then create a table with a List Column (in Standard Property). Set the List Name to the List you just Created.
  2. You posted in the Public forum section which does not allow attachments. I recommend becoming a Simio Insider and posting in one of those topics so models can be attached. I have a model I think might help, but can you clarify exactly what needs to happen at the Server. When is the Server seized and which entity seizes it (parent or members)?
  3. Check out the Simbit CombinerNode. It batches entities in the same queue.
  4. If you mean that an entity should not advance to the next location unless it is available: Try using Node Lists when routing entities to the next location. Lists automatically block the entity from moving forward if the destination server is not available. 1. Create a node list in Definitions>Lists 2. Set the input and output buffers to 0 on your servers 3. On the output nodes, set Entity destination type to "Select From List" and choose the node list. If you mean you have a group entities that are processing at different servers and none in that group can advance until all
  5. If you batch the Entities together, you can Search the ModelEntity.MemberBatch queue. Then sum the lead time for each member entity and the parent entity to get the total lead time.
  6. If you want to change the capacity of the server at Initialization, create a control property and reference this control value on the Capacity property of each Server. If you want to change the server capacity during the run Assign the variable ServerName.CurrentCapacity the new value. If all workers are always working at the same server, you may want to just batch the orders together then seize the correct number workers (actually, you wouldn't even need to increase the number workers). If one of the above solutions does not help, please attach a model to clarify what you are trying to
  7. The problem is that when the Vehicle is not moving, the Vehicle does not seize itself, so it is not one of its Seized Resources. The Second Search will not find the Vehicle. If the vehicle is the only thing that seizes the Grutier and IAccrocheur, then you don't need the 2nd Search. The ResourceOwner of the Worker is the Vehicle, so you don't need to search the Vehicle's Seized Resources. If entities can also seize the workers, then split logic for vehicle seize and entity seize.
  8. Hi, The Decide step is looking a the variable ModelEntity.CustWaitTime but that state is never assigned a value so it is always False. Also this state is a DateTime state, but should probably be a Real State instead with the Units of Time. Assign the state a value or just use 'TimeNow - ModelEntity.TimeCreated > (5/60)' expression. To use a Tally as a count, I would recommend just using the Number Observations result (automatically recorded) and either set the Expression to '1' or actually record something like 'Run.TimeNow - ModelEntity.TimeCreated'. You cannot use the TallySt
  9. 1. If you look at the results in the pivot grid for your vehicle, you will see that the Resource State Time Offshift Busy is very high. This means your Vehicles are still processing (utilized) after they went offshift. Scheduled utilization is based on how long the Resource is utilized vs how long the Resource is scheduled to be onshift. By default, Resources finish processing their current entity before going offshift, during this in bewtween time it is a state called OffshiftBusy. You have to put additional logic if you want something different to occur. Look into the Interrupt or Suspe
  10. Hi Flora, Check out the SimBit Vehicle Stops When Server Offshift. You may need to suspend additional processes than the OnVisitingNode process. Use Trace to find what process is making the Worker move and suspend/resume that process too.
  11. Try the Keep Reserve If expression: Math.If(ResourceA.AllocationQueue.NumberWaiting>0,ModelEntity.Priority>=ResourceA.AllocationQueue.FirstItem.ModelEntity.Priority,1). This is assuming Resource A's Ranking Rule is Largest Value for Entity.Priority and the priority of the waiting Entities do not change after they enter the queue. Then the first entity in the allocation queue has the highest priority of the waiting entities. If the current entity has a higher priority than the first in queue it results in 1, but if it's lower priority then it results in 0. If no entities in allocation
  12. You can accomplish writing to the same workbook but different sheets by doing the following: 1. Create an ExcelConnect on the top Model (not in custom object) and set the Workbook path. 2. On the ExcelWrite step in the custom object, right click "ExcelConnect" and select "Create New Referenced Property" this will add an Element type Reference Property to the Object. Also create a String Reference Property for the ExcelWrite step's WorkSheet property. 3. When you add an instance of the custom object to the top level model, set the Element property to "ExcelConnect1" and the String proper
  13. ExcelRead only reads String and Numeric values. These string values cannot be applied to an object type state. However, you can bind your Excel file to our Tables and import your data in that way. Attached is model that demonstrates this. First, bind the Excel file to a Data table: Create a data Table (no columns), Bind to Excel file, Change Column Type to Object>Node, and Import data. Check out Help Topic Importing and Binding To Tables for more info on binding. Import can be set to Automatic (default) or Manual. Then modify your process logic to use a SetRow step instead of ExcelRe
  14. Tally Statistics are more for recording the same numeric expression throughout the simulation. You should use the Write or ExcelWrite steps under User Defined steps in the Processes tab. The Write step write data to a csv file and is usually faster than writing to an Excel file with ExcelWrite. Check out the SimBits Writing To A File and Excel Read Write. You can record numeric and string value. The Date expression should look like 'String.FromDateTime( TimeNow, "MM/dd/yyyy HH:mm:ss")', and then Excel will convert the string to a date if need be. For the Entity ID the expression would be
  15. If you are searching a table, then there is no candidate. The expression should look like 'TableName.ColumnName==ModelEntity.StateVariable' . The row for which this expression is true, is the row that is references by the Found branch.
  • Create New...