Jump to content

Search the Community

Showing results for 'how to change property of one specific entity and not all of them'.

  • 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'm trying to model a towing company. A call comes either jump start or tow (entity 1 and 2) from two different sources. They go through a dispatch (server1) and get delivered to a specific driver (servers 2,3,4 or 5) . Each call coming in will have some exponentially distributed distance from origin associated with it (and direction component?) My challenges are: Is there a way to take and entity from a source and move it into free space some vector away from the source (distance and direction). Then, if that is possible, can I move a server to that location to process it (and if a tow then move some other vector distance after process). Finally, the ultimate goal of the model is to create a conditional routing logic for the dispatch server to compare distance from call and availability of drivers. Such that if a driver is finishing up near the next call, that server will take priority over the one with an empty queue if further away. TLDR: Can servers move? Is there a way I can change how long a path is based on variable input?
  2. There are 4 entities and they go to workstation with setup time. 1. From Combiners to Workstation(Machining1), I set up the changeover time but it didn't work. I don't know why. (Maybe simio cognize all to pallet) 2. I want to make property about setup like trigger for changeover. For example, at first, 5 of M1 entities go to workstation and then 5 of M2 entities go to workstation. That is the number of changeover property. I think I can if I use ranking rule and process logic but I failed. Please let me know how to solve these. Sample Layout.spfx
  3. Hello, We are evaluating Simio and really like what we see from exploring the Simio Personal Edition. Custom Dashboards are a high priority for us and we appreciate the fact that Simio seems to allow creation of custom dashboards from within a model; however, we would like to know if Simio allows the creation of custom dashboards that are portable from model to model. For example, we would like to: Create a dashboard that displays a chart depicting activity cost per entity (for a selectable set of entities) over the simulation period. Reuse/import this dashboard into any model to display the activity cost per entity over the simulation period (for a selectable set of entities). Two questions: Is this possible with Simio? If yes, which edition(s) of Simio support this capability? Thanks in advance! Donovan
  4. Please excuse a naive question from a newbie. Building a simulation for material flows in selective mining. Entities, "low_grade" and "high_grade", supplied at different rates by two sources, both go into a server (the mining machine) which passes them to a separator. I want the high_grade entity to go to a processing subsystem, and the low_grade entity to go to backfill (or a waste dump). Do I presume correctly that I should use a Separator for this? If so, how do I set it up to send the two entity types to different destinations ? At present, all seem to be going to the same destination. Instead of having different entities, could I use one entity type and assign grade values according to a probability distribution? If so, how would I then use a separator to send below-cutoff material to backfill?
  5. As an update to this, I think I have (at least so far) found something which provides the desired behaviour and will detail below for others. I used the SimBit 'SelectServerWithShortestLine' as a reference. I created a Node list with the inputs nodes at each Sink listed. I created an integer Property to hold the variable which represents the maximum number entities that can go to a sink (e.g. MaxContainerCapacity). On the feeding TransferNode I changed the 'Entity Destination Type' to 'Select from List' and selected the list created in Step 1. Change 'Selection Goal' to 'Smallest Value' and set the 'Selection Expression' to Candidate.Node.AssociatedStationLoad, which accounts for everything en route, in the queue and processing at a node. Therefore, the select goal is to minimise this station load. I set the selection condition to (Candidate.Node.AssociatedStationLoad + Candidate.Sink.InputBuffer.NumberExited) < MaxContainerCapacity. Which is saying only select the Node found in Step 4 if the sum of the station load and the number of entities that have 'exited' the Sink are less than the MaxContainerCapacity.
  6. Hi, I have a series of shipping containers that are fed by a single conveyor, and I want all the containers to fill to a specific capacity whilst minimising the total time to fill. That means that if a container downstream is busy transfering-in an entity, then subsequent entities should stop at an upstream container to mitigate any queing, whilst respecting the capacity limits. At the moment I have the containers represented by sinks, but this doesn't allow me to set capacity limits. I'm using a TransferNode to set each entity's destination with a sequence table, but this doesn't reflect that an entity's destination might change enroute if it's desitation becomes busy or full as it transits. Can anyone please offer some advice or point me towards a SimBit that does something similar? Thanks, Craig
  7. Hello, I am trying to imitate what you can see in a factory. For example, I created a couple of materials that could be produced and consumed. Process: I created materials. For definitions, I created a produced material that will get the material from a table. Afterwards, I selected a task processing(sequence) under server. I added all the materials that needed to be produced. On task sequence I selected the materials tab to consume each material, but all the entities are running under 40 different materials. My desired output is to see only 1 entity running producing and consuming 1 raw material. Joshua
  8. Hello, This model corresponds to an assembly line for three models. ModelA and ModelB are processed from Station1 to Station9 and the leave the line. ModelC must have additional work, which is to be done in Auxiliar (in between Station 8 and Station9), so that it leaves the line after Station 8and gets back to Station9 after the extra operations. A sucbomponent must be ordered in advance to be integrated to ModelC in Auxiliar. The logic I want to implement is the following. I have a list containing all stations (object list lstStations). A list property pointint to that list (rpSynchroStation). For every output node of every station, I want to check if the list property coincides with the name of the corresponding station (and if it's model C in that station). If so, an event is triggered, and a source corresponding to the supplier produces a part that will be delivered some time later. The problem I am having is within the decide step, when comparing: ModelEntity.Location.Parent.Name == rpSynchroStation && ModelEntity.EntityType == ModelC In Decide2 step in procCheckIfSynchro process. I get an error when comparing ModelEntity.Location.Parent.Name == rpSynchroStation. Could you please help me with this? Many thanks Best regards, model_tractors.spfx
  9. Let's see if I can elaborate... The following outlines the relevant characters in simio file "table_selection_by_name.spfx." Model->Definitions: Properties: OptionId (Entity Property, default=null) _SelectedTable (Table Property, default=tableOption1) States: RowId (integer, default=1) maxEntities (integer, default=2) ModelEntity->Definitions: States: _id (Integer, default=0) row_num (integer, default=0) temp (integer, default=0) Model->Facility: ModelEntity Types: Option1, Option2 Source1, Server1, Sink1 Source1->Entity Arrival Logic: Entity Type = OptionId (Reference Property) InterarrivalTime = 1 second Source1->Stopping Conditions->Maximum Arrivals = maxEntities Source1->Add-On Process Triggers->Created Entity = Source1_CreatedEntity Sink1->Add-On Process Triggers->Entered=Input_Sink1_Entered Model->Facility->Controls->General: OptionId = Option1 _SelectedTable = tableOption1 Model->Processes: Input@Sink1 Add-On Processes Input_Sink1_Entered: [Begin-> Tally(temp = ModelEntity.temp) End] Source1 Add-on Processes: Source1_CreatedEntity: ************************* [Begin->Decide1(IsOption1 = True)-> Assign(maxEntities = tableOption1.AvailableRowCount)-> SetRow(tableOption1, RowId)-> Assign(ModelEntity._id = tableOption1.id, ModelEntity.row_num = tableOption1.row_num, ModelEntity.temp = tableOption1.temp)-> Assign(RowId = RowId + 1)->End Decide1(IsOption1 = False)-> Decide2(IsOption2 = True)-> Assign(maxEntities = tableOption2.AvailableRowCount)-> SetRow(tableOption2, RowId)-> Assign(ModelEntity._id = tableOption2.id, ModelEntity.row_num = tableOption2.row_num, ModelEntity.temp = tableOption2.temp)-> Assign(RowId = RowId + 1)->End Decide2(IsOption2 = False)-> End] ************************* It is here that I could like to simply the logic using something like _SelectedTable instead of tableOption1 and tableOption2. I would like to know how to replace Source1_CreatedEntity's above step definitions with something like: [Begin-> Assign(maxEntities = _SelectedTable.AvailableRowCount)-> SetRow(_SelectedTable, RowId) Assign(ModelEntity._id = _SelectedTable.id, ModelEntity.row_num = _SelectedTable.row_num, ModelEntity.temp = _SelectedTable.temp)-> Assign(RowId = RowId + 1)-> End] But this replacement does not work. The following works, but I'm searching for a way to do this without replacing the column name with an indexed value: [Begin-> Assign(maxEntities = _SelectedTable.AvailableRowCount)-> Assign(ModelEntity._id = _SelectedTable.id[RowId, 1], ModelEntity.row_num = _SelectedTable[RowId, 2], ModelEntity.temp = _SelectedTable[RowId, 3] )-> Assign(RowId = RowId + 1)-> End]
  10. Hi, I would like to model the following. Having information stored in every entity instance containing the information to a set of tasks that can be performed to that entity and, whether they have been performed. I have created a model. There is a set of entities that will enter the model. This is stores in a table (allEntities). Some tasks can be done to entities. This is in another table (allTasks). Every single entity will have several tasks associated among all possible tasks. This is in a third table (infoEntities). When an entity enters the model, I would like each of them to have that information and, as those tasks are done, keep some record that they have been done. I have created a repeat group property within the ModelEntity object to grasp info from infoEntities table and the make use of it. But I have not been able to make it work. Could you provide me with some hints to progress? A model and a document with images is attached. Many thanks. description.pdf model.spfx
  11. First, you should define a "NodeReferenceState" on ModelEntity. After finding the appropriate sink to send use "set node" step to assign the found sink's input node as the destination node of the entity (ModelEntity.NodeReferenceState=input@sinkx). Then, do not use transfer step. Instead, set the entity destination type property of source object as specific and also set node name property as ModelEntity.NodeReferenceState. By this way each entity will find its own way via the links you defined.
  12. After being sure that you have at least one member entity (you can check this by using a decide step or an auxiliary expression within the search step). Then, set search steps match condition property as "Math.Min(xxx.NumberOfRollContainers)". And, place an assign step at "found" branch of search step. At this step you can change its value.
  13. Hello, I am currently working on a SIMIO model simulating a maintenance workshop. The model is made of roughly a 1000 entities of various type, going through potentially different paths among 30 servers over the course of a year. I would like to be able to extract an excel file keeping the flow history of each entity, meaning at least the date, the server, and the ID of the entity and of the worker used, for each step of the simulation. I feel like this must be possible to achieve using Tally statistics, but even after reading some simbits solution, I can't figure out a way to do this. Thank you for your help, Clem
  14. Hello, In my model, all the entities ride on transporters. At a server, the entitie goes through the server and the transporter has to wait at the server until the entity is done, and then pick up the entity and bring the entity to the next location I tried to model this by selecting "Keep reserved if" true, but this is not possible for transporters with a capacity greater then one (the explanation from the simio help guide is included as an attachment). My transporters have a capacity of 5. Is there another way to model this? Thanks!
  15. I am recreating the model 5.3 of the Simio and Simulation textbook. When I create the list and run the model, with selection expression in the output@placement node as below candidate.Node.AssociatedStationOverLoad, all entities goes only to finepinchfaststation. However, when I use Candidate.Node.AssociatedStationLoad it selects all desitnation loads. Is there any change to the Candidate.Node.AssociatedStationOverLoad? I displayed the values in the facility window and it is coming as -infinity. Model_05_02.spfx
  16. Hello, Is it possible to change the state of just the entities while they are on a transporter? Because now i get an error when I put an add-on process to change the state of the entities going throug the node because simio tries to change the state of the transporter too. Thanks for the help, would really appreciate it!
  17. Hello, I was wondering if someone can help me with doing sensitivity analysis in Simio? So I know of the input parameters tab where I can see how much does the Objective function change by changing the time input parameters by 1 minute. But, I'm looking to see how much does a variation in a property in the model, for instance changing mis-identification rate, on the DIDO time and objective function. My thought process was just to run different scenarios and take the difference between the two and that would tell me how much it has a change. Yet, my professor suggested the following and I was still confused about how to do it: "So you can ESTIMATE a derivative by just COMPUTING (g(x + h) – g(x))/h for a small h. This is called “finite differences.” Thus, you can estimate sensitivities by running simulation experiments at different settings. In your case, if p is the nominal probability of misidentification, you can run an experiment at p + h also, then estimate the sensitivity by taking differences. Simio’s internal sensitivity analysis is able to estimate derivatives using a trick that works in some, but not all cases, without the need for an additional run. But when it does not apply you need a different method."
  18. Hi folks! I'm trying to model a production line with one worker and several stations that he visits/uses. The process is in a specific order (ie, the entities move in a direct path) but the worker is free to float between stations as needed. The situation I'm facing now is that some stations require him during the beginning and ending, excluding processing time, and other use him the whole time. I have a station that he is called to be at, and he goes and completes the task, then exits the station leaving the entities, goes to finish another task, and then returns to the original station to pick up the entities he left before. How do I make him take those entities to their next location before leaving? I've tried setting the "task selection strategy" to "largest priority" and assigning higher priority to the entities at the original station, but it's not working. Any help would be very appreciated! Thanks PS, does anyone have any thoughts/preferences between using processes to seize the worker and delay during the task versus using the station's secondary resources to call him? They seem to be the same thing to me and I was just wondering if there are any tips/tricks/reasons to use one over the other? Double thanks!
  19. Dear all, I have a question about modelling arrivals. Entities have to arrive in groups of 5. These 5 entities can be of different entity types. Now in my model, each time an entity "group" of 5 entities arrives, they are all from the same entity type. This is probably because first is decided which type the group will be, and then the 5 entities are created. Each time these 5 entities arrive, there is a Table Reference Assignment referring to the "productmix", from where is decided which entity types will be created. All the entities in the arrival have to be as the percentage in the producttable. So more types per arrival group can arrive. Does somebody know how to model this? Thanks. My model is included as an attachment. Entity_Arrival_Problem.spfx
  20. Hello. I have a vehicle that moves through Top level model to Submodel. However, Entity in Submodel Could not Call the vehicle in the top level model. Thoughts as to why it gets stuck here? RideOnTransporter_In_Submodel.spfx
  21. I would like to refer to a specific row in a date table for a specific property. I found the syntax for this as TableName[RowNumber].PropertyName. However, I want to use a model entity state variable that returns an integer for the row number. The model gives an error saying "invalid syntax". A model state variable works fine, but I can't use a modelentity variable. (TableName[ModelEntity.StateName].PropertyName). Are there any suggestions to solve this issue? Thank you.
  22. HI I am a fairly new user and please forgive my confusion. I am working on a project where there are different vehicles coming on different times throughout the night. (for resurfacing etc) I created Arrival table correctly, entered date time values accordingly. The quantity of each vehicle type required is 1. Routing Logic is defined too. I used a Token process as well to guide source. BUT for some reason, when I run the model, all vehicles leave the source at once and then 1st vehicle type keep coming after every hour. BTW it works well if I use no Nodes and simple Source to Sink Path, However, when there are nodes, it mess up and all vehicles leave source at once. Can anyone please tell me what am I doing wrong ? Huge thanks in advance P.S I have attached my current model as well 4 vehicles on time (trying).spfx
  23. Hello I need to change the processing time base on the number of workers available. This should could change during the simulation. I have already solved to change it before to start the simulation, but I cannot do it dynamically. One task is performed in one hour by one worker, but if after 30 min, a second worker is release and come to help, both will finish the task in 45 minutes. Viceversa, if at the beginning of the simulation there are two workers, but one have to go to another task, the worker that stay in the server will take more time to perform the task.
  24. Hi M_A, Just setting the Sequence property to 'Sequence1' should be enough since you set up relational tables. Because you have Maximum Arrivals set to '1', it is going to produce 1 entity type. I would switch your Maximum Arrivals to '35' and number of entities per arrival to '1'. You will also need to set your interarrival time to '0', so all 35 show up at the same time. It might be best to use a second Source object to create your second shift. I would increase the length of the Ride Station Queue in order to see all 6 passengers boarding the Vehicle. I think the network is fine, but hard to debug. Be sure all travel destinations for the Vehicle are possible. Thanks, Ryan
  25. Hi Ryan, Thank you for the corrections. As always, spot-on advice, that is very appreciated. I do have a few follow up questions. - Do I set the Initial Sequence property to 'Sequence1' or do I need to tell it the row too? 'Sequence1.Sequence'? Sequence 1 is working, but just wondering. - In the SimBit, Entity Follows Sequence With Relational Tables, there are three types of Entities that all flow through the same source with the Source Property, Table Row Referencing, pulling from the JobTable with the Row Number 'JobTable.ProductMix.RandomRow.' For my model, I have two different entities and the source Bldg is supposed to pull BOTH entities with the Table Row Referencing, "JobsTable" with Row Number: "JobsTable.NumberWorkers.RandomRow." But when the model is run, only one entity is ever used. The Table has an ExpressionProperty of Random.Triangular(3,6,9). Is that the problem? The SimBit's table was an actual number. I tried replacing the Expressions with actual numbers and the Entity switched to use the other one but I am still not able to get half the 34 to be one Entity and the other half to be the other Entity. - How do I get the Vehicle to carry its max capacity? The capacity is set to 6, and it only carries up to 4 entities around at any time. This is incorrect, as the Entities are supposed to be grouped into work teams of Random.Triangular(3,6,9) for their initial Source output move. Afterwards they can be individuals or work teams. The Bldg has the Entity Type defined as the JobsTable.Specialty so it should pull from one or the other (like the below mentioned SimBit), and the with Entities Per Arrival Set at 35; and the Entities themselves are set to a population maximum of 17 each and I get a Runtime error of maximum number exceeds limit for the entities. Why doesn't it hit the limit and then pull from the other Entity? - I'm confused about the network you mentioned above. I thought the nodes had to be linked directly (output to input node). So the busy nodes have a lot of paths radiating out from them and it makes it a little messy. Is there a cleaner way to show the routing? Thank you,
×
×
  • Create New...