Jump to content
Simio Forum

jkirby

Members
  • Content Count

    31
  • Joined

  • Last visited

Community Reputation

0 Neutral

About jkirby

  • Rank
    Application Engineer

Recent Profile Visitors

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

  1. For the month of April, the username of our Exceptional Simio Insider is..... *drum roll* gocken What qualifies someone to be Simio Insider of the Month? A person who: Actively engages in the Simio Insider forum by providing helpful information to others. Provides shareable demonstration models or example code. Asks thought provoking question about simulation and simulation-based planning and scheduling. gocken, we will send you your certificate via email. Happy posting!
  2. Hello, One approach you could use is have an initial capacity of 0 at the Enfriado servers to hold the entities in the input buffer queues. During the entered event of the input nodes of the Enfriado servers, you could insert the tokens into a storage element. And a "controlling" server could then use process logic triggered by a scan step that determines if the number of entities in the input buffer queues are greater than 1, that would perform a search of those Storage.queue for the Entity with the longest processing time. To determine the processing time, one has to track it. The real state variable on the ModelEntity, ModelEntity.RealStateVariable, would be created and TimeNow would be assigned before processing. Then that is assigned TimeNow - ModelEntity.RealStateVariable after it processes at the previous servers. Once the entity is found from the storage queue, a transfer step would take that entity and pass it to the Cortador server's input node. The search step could look for Candidate.ModelEntity.RealState1 using a Backward search type and a limit of 1. Once the entity is transferred, the entity can be removed from the storage element. Judy
  3. For the month of April, the username of our Exceptional Simio Insider is..... *drum roll* jzhou What qualifies someone to be Simio Insider of the Month? A person who: Actively engages in the Simio Insider forum by providing helpful information to others. Provides shareable demonstration models or example code. Asks thought provoking question about simulation and simulation-based planning and scheduling. jzhou, we will send you your certificate via email. Happy posting!
  4. jkirby

    Moving entities trought nodes

    You cannot hold an token associated with an entity at the SetNode step in a process. The token can be held at a Wait step or Scan step.
  5. jkirby

    maximum throughput and minimum cost

    Hi Walter, You should be able to change the Max Scenarios in your Experiment to greater than 300. If you want more scenarios. If you are unable to change that parameter, please contact us at support@simio.com and let us know. Thank you, Judy
  6. jkirby

    Six Sigma & other Lean Concepts

    That would be great if you would share those here. Thank you, Judy
  7. Hi Kevin, I prefer to use Servers instead of Workstations. You can try this approach. During the failed event of the Server, I search the Resource Owners of the server. Then search the Seized Resources of that Resource owner (the entity), then I decide if the worker is seized. If so, then release it. If I need another worker or resource available when the server is repaired then on the repaired event, I search for the Resource owner of the server again, the entity, and have that entity seize the resource/worker. If it is a worker and I want to move that worker to the server's input node and there is more than one server that fails and repairs, then I use the Input arguments of that process, create a state variable for the server instance. I can then tell the seize step to use the node, ServerStateVariableName.Server.Input. I hope this approach gives you some insights as to how to model your system. Judy
  8. I recommend looking at the SimBit called TableReferenceInRepeatingProperty.pdf. You can reference your data table on your server object for the processing times by right clicking on the Processing time property of the server object. Then select Set Reference Property. Click on the DataTableName.ColumnName that you want to have the server point to. The other option is to use the Math.If( ) expression. To find out more about it's syntax, please read the section called Math Functions in the help documentation. Judy
  9. jkirby

    sugar cane refinery model

    Hi Wicha, I recommend taking a look at our Flow Concepts SimBit. It demonstrates the basics of our Flow Library. To access the SimBits, click on the Support tab to access the Support ribbon. Click on the Sample SimBits Solution button. You can do a search on the word 'Flow' to find all of the SimBits pertaining to Flow. Judy
  10. For the month of March, the username of our Exceptional Simio Insider is..... *drum roll* Elkherbawy What qualifies someone to be Simio Insider of the Month? A person who: Actively engages in the Simio Insider forum by providing helpful information to others. Provides shareable demonstration models or example code. Asks thought provoking question about simulation and simulation-based planning and scheduling. Elkherbawy, please find your certificate attached to this post. Happy posting!
  11. jkirby

    Financials with Flow Library

    Costing or financials isn't available for the flow library. You can add your costs to the model. And calculate your costs by adding your own cost rates in. One approach I found is to calculate the costs at the end of the run on a FlowSink for example. During the Run Ending Add-On Process Trigger Event, I assign the Input@FlowSinkNameHere.FlowRegulator.CurrentVolumeFlowIn to a variable using an expression to calculate out the costs. You could even write out that expression at the end to a file if you want.
  12. jkirby

    Financials with Flow Library

    The Standard Library has built in costing. In order to take advantage of that, when you assign the FlowRegulator to be enabled, you can seize a resource that uses costing or a costing rate. Then release the FlowRegulator when you disable it.
  13. jkirby

    Dynamic Worker Cost rate

    One approach to try to make the data table work is using an expression as a column. e.g. Math.If(Worker.ResourceOwners.FirstItem.Location.Parent.Server==Server1,1,Worker.ResourceOwners.FirstItem.Location.Parent.Server==Server2,2,0) Then, in the Allocated event add on process logic use an assign step and assign Worker.Cost.Rate to be TableName.ExpressionProperty. Have your data table be Column1 the Object Instance Property and then Expression Column. Making sure that the Object Instance Property has the Auto Set Table Row Reference to True. The entity is the resource owner of the worker when it's being seized at a server. So, the expression looks at the location of the entity. You can reuse the Allocated Process for any workers that have conditional costing and add the worker and the math.if expression to the data table.
  14. jkirby

    Model of evacuation policies

    I'm not certain what you mean by policies. Do you mean events that would cause an evacuation of entities leaving an area? Or do you mean how they might leave an area?
  15. jkirby

    Vehicle problem

    Hello, I'm not exactly certain what you are trying to do. But if you are trying maintain a certain number of entities at a location, you might want to use monitors and create vehicles. Or you can use scan steps at your Source nodes to release entities. Typically, it's the entity that summons the vehicle. It sounds as if you want to change the standard behavior of the vehicle. Entities make ride requests for vehicles from nodes or stations and then the vehicle evaluates that request to determine if it will accept it's ride reservation. You could have a monitor look at the "zone" or server. If the number of entities falls below a certain number, an event would trigger a process to create entities at a source and the entities at the source could request a ride to the desired zone or server. At least that's one approach to try.
×