Jump to content

Search the Community

Showing results for 'add Queue tto entity like Batch Member'.

  • 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. Hi, A combiner is able to combine 1 or more entities into a parent entity. The number of entities that are batched together is specified in the property Batch Quantity. I recommend looking at the SimBit "Combine Multiple Entity Types Onto Pallets" for an example. Best, Khaled
  2. In the batch that was created, I want to search the member entity with the lowest value for state variable "NumberOfRollContainers" and change its value to: <<TotalREQ" - 0.9 * "CapacityTrip">>, where "TotalREQ" and "CapacityTrip" are state variables of the parent entity. I am struggling with how to use the search step in this situation, so help is appreciated. Thanks in advance!
  3. Hi, Is it possible to set the state variable of the parent entity in a batch equal to the sum of state variables of all member entities in the batch? Context of the case; a truck (parent) is loaded with x number of orders (members). These orders have a specific value for the state variable 'NumberOfRollContainers'. The truck has the state variable 'TotalRollContainers', which should equal the sum of the 'NumberOfRollContainers' in that batch. Kind regards, Christa
  4. ConveyorLibrary.spfx Simple conveyor library with a merge controller, slug conveyor, Slug Node and a Photo Eye. Library has two example models. A MergeControllerModel and a PE_ExampleModel. Merge controller,Slug Conveyor and Slug Node are used together to develop a slug merge. ConveyorLibrary.spfx On the slug conveyor you can specify the size of the slug. Slug node controls when the next slug is to be released. As soon as last entity in slug crosses the slug node it will send a signal to merge controller to release the next slug. Ending node of the slug conveyor has to be a slug node. Conveyors before and after slug conveyor are regular conveyors. These objects have not be extensively tested. These can be used to develop other conveyor related objects.
  5. Hi, I would like to return information from an entity in a queue (parent input buffer) at a specific index. If I use the search step with following property values (see attached image) I receive an error (see attached image). What does this error exactly mean and how can I solve this problem? Thanks in advance! Christa
  6. Is it fair to say that the longest waiting time in the parent queue is the first entity at the queue? If so, you could use something like: Candidate.Node.AssociatedObject.Combiner.ParentInputBuffer.Contents.TimeWaiting(Candidate.Node.AssociatedObject.Combiner.ParentInputBuffer.Contents.FirstItem) to access the combiner which has the largest value of the time waiting of the firstItem in the queue. It seems to work
  7. Hi! I have been using SIMIO for quite some time now, but I have barely come across this need. I need to record the time spent per entity at any given path/server in the simulation, rather than obtaining the average time for all entities at the end of the simulation. Take the image below as an example. I need to record the time spent in the link (TimeOnLink) per entity generated. The path corresponds to that connecting the source to servers 2-7. Then, I need to record the time spent per entity on servers 2-7 (TimeInStation). I can display the unique ID number for each entity by Entity.ID, now I need to match the statistics. I figure the best way to model is trough ExcelWrite, but I can't manage to make it work. Any hints? The plan is to get the following information per entity, rather than a summary of all entities.
  8. Hi @jzhou, how would this work if I want to refer to the MemberOutput Node of a separator in an expression? I get lost at the following expression: Entity.Location.Parent.Node.AssociatedObject.Separator.Output.[what comes next?]
  9. Hi There, I have lots of experience in simulation but I'm new to Simio - my apologies if my Simio vocabulary/conceptualization is off or if this question has been asked already. I'm working to build a queue model simulation with a network of services and multiple staff types. In my mind, it makes the best sense to do this using the standard library of servers and resource pools (to visualize the network for stakeholders and be able to model multiple staff with different schedules that can each respond to multiple services). Right now, I am starting with a single stage M/M/c type queue to make sure that my implementation is correct before scaling this upwards. I checked out the SimBit titled 'Source – Server – Sink' that has three different M/M/c implementations; however, none of them use Resource Pool objects or combine process triggers with the standard library. I was able to implement a basic model that tries to combine a resource pool with a server by triggering separate Seize and Release process triggers on entry to the server object and after the processing time is completed, respectively. It runs without error; however, the results for average time in system (calculated by an average of a tally statistic that is only recorded for every 500th customer/entity), the results are one third less than in a scenario where I don't use a resource pool and set the capacity of the server explicitly, (which I validated against M/M/c formulae results). Does anyone have tips for how to link servers and resource pools and troubleshoot this scenario? Is there a SimBit or other example out there that is relevant? Am I triggering the seize/resource processes at the wrong points in time? Or is my framework for how to conceptualize this in the Simio environment missing a key concept? Thanks!!
  10. Hi All, In examining a medical system, we have a requirement to log snapshots of the patient details being processed at specific points in time during experiment replications. For each server, we would like to know the state values for entities currently in processing in each functional area ( a mix of servers and storage queues). I suppose I am looking for an "Easy Button" which would quickly capture a Work In Process snapshot of the system. Are there any thoughts on accomplishing something like this? Any kind comments would be greatly appreciated. Thanks, Jim
  11. Hello River, I downloaded your files. The Gate512 was missing. I removed the information in the "30 Departure.xlxs" file that I can run the model ;-). Generally I understood how it works. Answer to your first question: I think you mean these two ways, right? From the left and from the right. In this case I saw that you used the "Routing Logic" in like all Transfernodes. The Outbound Link Rule is "Shortest Path" and you set the "Node Name" to "Input@Takeoff" Simio is using everytime the shortest link path now. Like in the screenshot below: In my opinion it would be better to set the destination once after the Entity got created in the Source for example :-). There are different ways to do that. In your model I removed all Routing Logic in the Transfernodes and used the Routing Logic only in the Output-TransferNodes of the Sources. In Simio you need only to use one time a SetNode-Step or a Routing-Logic to set the destination of an Entitiy and Simio will follow the paths or travel in the FreeSpace. You can use for example a NodeList with 2 different destinations and this Routing-Logic: With the "Selection Goal" Random Simio will randomly choose the destination from the NodeList. I uploaded you your model with the changes as an example: Problem on the taxiway version 17A.zip What did I changed? 1) I removed the Routing Logic in all TransferNodes. 2) I added new Routing Logic to the TransferNodes of the Output-Node of the Sources. 3) I added a NodeList with 2 new Nodes. 4) In the two new Nodes I used a Nodes-Entered-Process and a Transfer-Step to transfer the Entity to the Input of the Sink. Answer to your second question: You can change the destination of an Entity any time. In the Path (Link) you have a function called "NumberTravelors" for example to get the number of travelors currently on this path. So you can use a Expression like "Path123.NumberTravelors < 2". This can be used to decide if a way is full allready that the other way get selected. Or you can use a Integer-State and count up and down. I would use a Node-Entered-Process in the last possible node with a Decide-Step and two SetNode-Step in this case :-). I hope my answer will help you. When you have any other question, you are welcome! Best regards Pascal
  12. Hi Everyone, I have 100s of different products in a warehouse and I want to get statistics for all of them such as distance travelled, number entered and exited. So I created the entity instances for each product automatically through data table. The entity.totaldistancetraveled function doesnt increase since the entity doesnt moveby itself but moved by forklift instead. So I have created a state variable called "distanceonforklift" and increased by the difference between the forklift total distance travelled value when entity exits and enters to forklift. I have also created a function called "distancefunction" on the entity and equated it to "distanceonforklift" state variable of the entity. For the return type of function I have chosen "number" and set the unit to "length". I validated that both distance state variable and function is calculated correctly in the facility window. However I cannot output the result of this state variable on the model results screen. I used the following expression under model outputstatistic but it didnt work. "ProductA.DistanceFunction". That expression gives me 0 value although there are some entities of this product which enters and exits the system. How can I see the average total distance travelled on forklift for the whole population of Product A?
  13. I think if you set the max to 30, if 14 are generated all 14 (or other <30 number) will enter the workers ride queue and will be transported. You could also keep the ride capacity at 1, model the 14 pallets as 1 entity (lets call this a shipment entity), have the worker move that 1 entity to the next location, and then use a separator to turn the shipment entity into some number of pallet entities. Attached is an example. example 9.23.22.spfx
  14. I have a model where I have 7(seven) entities and for each entity there are many possibilities paths. Is possible an entity be programmed with multiple sequences tables? For example, the entity can go to source -> server1 -> sink, and also randomly it can go to source -> server2-> sink, something like that.
  15. Hi, I'm modeling an automated warehouse and I would like to know how can I only release an ítem to be processed if a release state (that the entity has) is set to true. Otherwise I want that entity to stay in queue until the release state is set to true (so it should be evaluating that condition all the time in order to know when it changes. Thank you in advance
  16. Hi, What is the best way to access entities in a queue and select entities of a certain type to be processed first? I want to do this dynamically as the model is running. Thanks!
  17. Thank you Dave! Inspired by your approach, I defined two Node Reference State Variables for the Entity: EndDestination and NextNode. In the model Processes, I first determine the Entity State Variable EndDestination based on a DataTable with probabilities per destination node. Then, at routing decision points, I have created processes that evaluate the EndDestination node and set the next node for the unity based on that. Although it requires a bit of 'hard modeling', it works like a charm! Thanks
  18. I have attached a simple model using model states to illustrate. I think it should work in a similar fashion using entity states. First, I define the states: Then use those states as Sequence destinations: Until you provide each of those states a value, the Sequence will make no sense and the entity won't know where to go. So on the Source I use an Assign to initialize all the values. This will direct the entity sequentially through Servers 1-4, and then to the Sink: Finally, just to illustrate the technique, on the output node of Server3, I interrupt the normal sequence by Assigning it to instead go to Server5 as its 4th step: If you convert these states to Entity states instead (I was just lazy), I think it should work the same but allow you to selectively override any Sequence Step at any time. UsingStatesInSequences.spfx
  19. Hi David, I am trying to get your option 3 to work in my model, as the solutions sounds brilliant. I created an Add-On Process that probabilistically assigns destinations to the Entity and by assigning the destination node to the Entity's State Variable MyDest. In the Routing Logic, I've set the Initial Sequence to the sequence table called Routes that holds all possible routes. However, the entities now only follow the first sequence Routes (Input@LoadingDock9, Input@Sink_HTB), whereas Entities with the destination Input@Sink_RTM should follow the sequence Input@LoadingDock10, Input@Sink_RTM. How can I let the Entity follow a specific sequence from my Sequence Table Routes?
  20. Hi, We have a model where we have multiple entity states. This creates interface challenges in defining and populating these states or changing many of them at a time. My question is, can the UI be bypassed in some way using some kind of batch operations? For example suppose I want to assign 150 entity states using string construction and naming conventions easily set up in a spreadsheet. Is there a way to define all those states and import them from a file rather than hand editing each one in the Definitions UI? Another example is I want to set large numbers of these states at appropriate points in processing. Is there any way to do so by just importing name value pairs from a file rather than hand editing each one and copy pasting from a spreadsheet built up accordingly. Thanks Very Much, Jim
  21. Hi Nicolas, I would investigate the Server property called Initial Capacity. This sets how many units of capacity are going to be available for the Server. You could also change this during the run by Assigning the Server's CurrentCapacity State Variable. I suggest checking out the SimBit titled "Worker Uses Work Schedule". You can access the SimBits in the Support ribbon in Simio. In this SimBit, I recommend changing the Initial Capacity for the Servers. You could set them to '6' or any value. When you run, you will see that the entities only move into the Process Station when they have successfully Seized the Secondary Resource. So even though there is 6 units available only 1 will be use when the Worker is able to process the entity. You can also experiment with giving the Worker a different Initial Number In System value so there can be more Workers. You will still see the same behavior; the number of entities that move into the Server for processing will be the number of Workers that were available to be seized. Happy Modeling! Liz
  22. How can I set a safety distance between with other entity . e.g. Transfer Node 79 entity is will impact with others, how can I set a safety distance on every entity?
  23. This is problematic in Simio because Simio considers only entity length (not width) and only when on a Path or Conveyor. I think the first thing to do is fix the nose to tail problem. If you happen to use Conveyors to model this, there are built-in features to manage spacing while stopped and different spacing while moving. But unfortunately Conveyors are limited to a single direction, so are perhaps not appropriate if this is a bi-directional taxiway. If you are using Paths, you can fix this by making each plane longer when you draw it. For example, if you are drawing a plane that is 50M long and you want it to stay at least 10M behind the plane in front of it, place a nearly invisible dot about 10M in front of the plane's nose, making the total plane length (including safety spacing) be 60M. Although Simio will still put the entities nose to tail, there will be a 10M safety spacing between the physical planes. The problem of conflict at merge points is a bit more tedious to fix. I'd recommend a resource-based approach, like illustrated in the SimBit in Merging Conveyors Controlled by Gate. You can use this approach even when using Paths.
  24. 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.
  25. I am working on a simulation of a number of firms processing raw products. If I represent the firms as resources in a server -so that the server capacity represents the number of firms, how could I identify which resource/firm processed a certain batch of products? Can this be done with a server having a capacity of its own, or should I use a pool of (secondary) resources with id labels so I can use that id to label the product batch?
×
×
  • Create New...