Jump to content

Search the Community

Showing results for 'combiner parent'.

  • 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. you can use a search step in an appropriate process (you can create a new process or use an add-on process where needed). In the search step you should search the queustate of modelentity.batchmember. Here you can set a match condition if required. If you do not want to set a match condition the search step will search the first 9 entities in the batch (I assume that the batch quantity is 30. If it is a different value Math.Ceiling(Combiner.BatchQuantity*0.3) expression will be evaluated and will be round up the next integer. (You can use math.floor function as well.) Then in the assign step set the required statevariable of modelentity to the new value.
  2. In my model, there is a combiner that generates a batch of 30 entities. After the combiner, I want to assign exactly 30% of the bach population (i.e: 9 members in a 30-member batch) to state "A" and the remaining 70% of the batch population (i.e: 21 members in a 30-member batch) to state "B". May I have some suggestions as to how to do so? Note that the number of members in a batch is varying for different batches Thank you!
  3. Hi Watsons, thank you for your input!.Let me rephrase my question again. Prior to the Separator, I have a Combiner that creates a batch of 4 entities. At the separator, I would like to assign exactly 1 entity in the batch into state1, 1 entity in the batch into state2, 1 entity in the batch into state 3, and 1 entity in the batch into state 4. I'm not sure how to do this in a deterministic method based on the batch size. I only know how to assign the states based on a distribution, which is not what I need in this case. It would be great if I could have some advice on this Many thanks!
  4. Oh so you need to use an add on process to set the memberinputbuffer to zero, once a parent entity has entered the processing station. Remember to re-assign the capacity to 4 once processing has completed. As you are using paths, it would be good to set there capacity to 0 and 1 during the same process as to keep the member entities in the output buffer. Hope this helps.
  5. This is my first post on Simio forums so please let me know if this is the incorrect place. I have Default (Parent) entities that must go through only one series of combiners for processing the members (ModelEntity 1,2,3) that get attached. At the end of the series, a separator removes all members and the parent entity circles back to the start to acquire new members. No parent entity can start processing in the combiner series while another entity is going through that combiner series. I cannot figure out how to stop entities from entering the first combiner in a series while there is another entity processing in the same series. Ideally I would like to store these parent entities at a location until a series of combiners are free for processing. CombinersInSeries.spfx
  6. The easiest way to do this dynamically is to use the Dynamic Selection Rule property on the Server (or other object, such as Combiner, Worker, etc.). You can use the 'Standard Dispatching Rule' option for that property to then include a Dispatching Rule, such as FirstInQueue, LeastSetupTime, EarliestDueDate, LargestPriorityValue, etc. This allows you to specify a TieBreak Rule as well. Using the dynamic selection will not determine which entity will be selected from the queue until the resource (object) has released an entity and is available.
  7. Good day everyone, I need to acess the average waiting time in a member input buffer of a combiner. First of all, how is there not an easy option to acess average time in queues? Most of the times I have to tally everything, which in turn doesnt work with experiments... It has been a real struggle. Anyways, I was using the approach of using an entyti state variable to record the time when it enters the member queue and another one to register when it leaves the given queue and then tally it. The problem is with combiners, the parent entity "wins" and so using ModelEntity.State Variable - reffering the one from the member - does not work. Any ideas? Thanks
  8. Work Schedules can also be applied to other Fixed objects, such as Server, Combiner, Separator, as well as stationary resources. I suppose the question would be - how do you generate your entities (arrival table, time varying arrivals, interarrival rates, etc.) and what would you like to happen to entities when the 'model' is off shift -- do you stop creating entities/orders - what happens to in progress materials (do they clear out like a bank at end of day or stay in system like a mfg plant.
  9. Thanks for the suggestion, but I dont know how to define the storage element right. I dont know how to find the condition that should be checked. Then I also dont know how to insert it before the combiner. How did you learn these operations and where can I learn Simio to the same level?
  10. It seems the best way to achieve to what u want is to define three storage elements (called barstorage, gridstorage, sheetstorage) just before the combiner object or combiner node. Whenever an entity is put into any of these storages check the the condition u defined (i.e., exactly 4 bars, 4 grids and 8 sheets are exist in the individiual storage) is valid. If the condition is satisfied remove appropriate number entities (exactly 4 bars, 4 grids and 8 sheets) from appropriate storage by using search and remove step and transfer them to combiner object from standard library (or even combiner node object you get from forum) to combine them all. Else wait for the condition to be met. By this way you are able to collect some extra statistics from storages (averge waiting times and average number of each materials in the storage etc...).
  11. Thanks for your reply However the project I am working on is about measuring and possibly minimizing the movement in the factory. That is why the Bill of materials is not helping me in this case. I have made a work around using a combiner node i found at another forum post, this works but what i really would like to do is to combine bars, grids and sheet metal in to three types of masts. I have tried to assign values based on the entity type (named it after color) and want to make the combiner combine the equal values, but I don't know how to do that or if it is the right approach. Can I assign some value to the entities which the combiner can use to match them? I may also have overcomplicated things in my example, if there is an easier, better looking (correct) way please tell me Both are in the link CombinerNode.spfx Thanks for your help so far, hope that you know how to solve this one, would be very help full
  12. Since you are learning, I'll give you a nudge in the right direction, rather than providing the answer. Investigate Random.Discrete distribution Use a combiner to create a batch of burgers to be cooked together. The batch size must be specified in the parent. The batch of entities moves to the grill together. The cooking time is a function of the parent entity's batch size.
  13. I believe that when each parent arrives to a combiner, Simio evaluates the Batch Quantity expression in the context of that parent entity. So if your taxi entity has a state name Qty and your Batch Quantity expression was ModelEntity.Qty, then the first taxi might have a value of 3 and the second taxi might have a value of 1. You could assign the value of that state at any time and look at it from elsewhere as well.
  14. I've ran into the following problem with a combiner: I'm using it to model a load zone where taxis arrive to the parent node, passengers arrive to the member node, and the number of passengers boarding each vehicle is set by a random.discrete distribution (so that for instance 50% of the taxis have 1 passenger, 30% over 2, and 20% have three). This all works great. But now, instead of having my passengers queue at the input node, I was hoping to make them queue at another upstream node, connected to the member input node by a path and every time a taxi arrives, I would like to send to the combiner only the number of passengers that will be batched with the taxi. I tried using Combiner.BatchQuantity but without success so far. From what I've seen by looking at a display showing Combiner.BatchQuantify, it seems it's continuously going through its possibilities, whether a taxi is at the parent input node or not. Then I thought that maybe the number picked to batch passengers with taxis, was selected from that continuously changing value when a taxi entered the parent node, so I tried using the event ParentInput@Combiner1.Exited (as well as ParentInput@Combiner1.Entered) to extract the batchquantify assigned to that taxi but the value did not match the actual batching. So I guess my question is: is there a way to access the value that is picked by the batching process to use it to send the right number of members to the combiner? Thank you very much for your help. Pascal
  15. Okay So this is what I have already done till now. The problem is I want my combiner to understand that the batch quantity is based on the entity type. If type A , Batch quantity =2 , If Type B, Batch Quantity = 4 and for type C , it's 6. I have tried using state assignments option at combiner 1 parent input but to no avail. Ideally, I would want the combiner to take the batch quantity value from the table itself but i cant get my way around it as of now . I know this can be done using add-on process but somehow figured that if I could make this work using a table, it would make it a lot easier when you have more entity types. Thanks. Combiner Exploring.spfx
  16. You can not set a value to a property throughout the simulation run. Instead you should define an integer property (from the state panel) for combiner batch quantity in the combiner logic. Then define a data table and insert a state property from the standard property drop down list. By this way you are able to change the state variable's value via a data table at any time. Also, you are able to reference this table property within the model, as well.
  17. I have created a new reference property for the combiner batch quantity in the combiner logic. Is there any way I can set that same reference property as a column of a data table so that I can change that value based on the type of the entity ?
  18. Hey, guys. Quick question: Can a vehicle from a model enter another model within the same project? I have a warehouse as a parent model and I need my forklift (vehicle) to enter another model while carrying an entity. I tried setting a transporter reference property, but without much success. Any sugestions? Thanks.
  19. Assuming that you are using the word submodel to represent an independently defined object (say WorkCenter) that will be placed in another object (say Plant). In your WorkCenter, every time you reference a resource that is not defined within the scope of WorkCenter, you must define it as a Referenced Property (right click on the property name). In general, you would set the value of that property when the instance of WorkCenter is placed in Plant, so you are "passing in" the name of the object. If you KNOW the object name ahead of time, then you may get away with a trick... when you define the Referenced Property, give it a default value of the object defined in the parent (Plant) object. This will display as an error in the WorkCenter object, but that error will be resolved when WorkCenter is placed in Plant which contains the object. UsingObjectDefinedInParentObject.spfx
  20. 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.
  21. Dear all, I am currently simulating a 3D printing facility in the frame of my Bachelorthesis and I have a specific problem which I cannot solve by myself. I have four Entity types with different lead times which are specified in a datatable as shown in one of the SimBit solutions. However, I need to batch the entities before they arrive in the workstation to simulate that several parts are processed within one 3D printing build job. The problem is that the workstation only calculates the leadtime of the parent entity and not of each individual member. Instead of calculating: 5hr + 4hr + 3hr + 2hr= 14hr for a batch of four entities, the machine only calculates 5hrs. Is there any solution with a search step to explain the workstation that it should define the batch members and then to add the lead time for each of them according to my datatable and to use the sum as processing time? I am really thankful for any help you can provide, so thank you very much in advance! Greetings from Hamburg, Armin R.
  22. Entity.Location.Parent this is a perfact idea.
  23. What you can do is within the Worker object's 'Evaluating Seize Request' add-on process, create a process. This process will then be called each time the worker is deciding whether to take on the entity seize request being made (if not, it will try again next time worker becomes available). Add the following steps to the process: Add a Decide step with Expression 'Entity.Location.Parent == Server2 && (Server1.InputBuffer.Contents > 0) ' - the Entity.Location.Parent will determine if the requesting entity is at Server2 and if so, if the Server1.InputBuffer has anyone in it - and if so, that means there are higher priority items to be worked on at the Server1. From the True exit of the Decide , add an Assign step to assign the State variable 'Token.ReturnValue' to be the value of 'False' or '0'. This means that the entity request for the worker will be false (for this particular evaluation) - when the queue at Server1 resides, and the evaluation is again done, the token will exit the False exit of the Decide and the entity at Server2 will be able to seize the worker.
  24. I modeled a brewery where customers enter, get "combined" with a beer (with a combiner) and go on...there is also a worker serving them (by bringing the beer to the costumers from another server connected to a source). I would like to know what I could do to make the worker only go to the combiner if there's at least one customer there (selection condition doesn't work because if the value is false once, it'll always be false) and if there isn't, he would just stand by the server.
×
×
  • Create New...