Jump to content

Search the Community

Showing results for 'change value variable'.

  • 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 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
  2. Hi Jim, May be there are many possible ways to follow to get the information you want. But, I suggest you to use a search step for searching a server's (or any other object's) processing queue to get such information. You can search not only the server's processing queue but also the whole "entity population" to get whole state variable's defined on them at any arbitrary time thoughout the simulation run. All you have to do is to define additional expressions on search step. In the example file attached a simple model is developed to get entities' state variables residing at server1's processing queue. Here note that, you have to click button at arbitrary times. Then, if 3 or more entities exist at server1.processing queue, the search step founds the first 3 of them (since a forward search is performedin this sample model) then later an excel write step writes entities created time (you can get many state variables of entities written on the same excel file). You can change search limit, queue state name, include a match condition etc. If you want to get such information at the beginning or at the end of the simulation run you should use this same logic at appropriate processes (onrunending, onruninitialized etc...). Also, you can get these information written on either a database or an output table as well. Hope this helps? getting a snaphot of Entity WIP via a button.spfx entities_processing.xlsx
  3. I have been working on this problem with Caleb @Simio who has been very helpful and we have come up with a work around. Use the Changeover step in Add-on Process, choose to 'Save Setup Time' within it. This only saves the time though, it doesn't stop the delay, so you need to change the Delay Multiplication factor from 1 to a tiny number, for example 0.01, to make the Changeover calculated delay negligible. Then, use the Assign step to multiply the saved Time back to its correct value. This variable can then be used in a Task Sequence or Add on-process as desired.
  4. Thanks for the reply! For additional context on item 1), I am hoping to have one Conveyor_Custom object subclass that has properties that allow me to configure zone lengths and overall length for each instance that I add to the model. So for example, I'm imagining dropping in a Conveyor_Custom object to the model and then setting Conveyor_Custom.ZoneLength to 12" and Conveyor_Custom.OverallLength to 6', and then having the Conveyor_Custom.InitialTravelerCapacity self-populate from the calculation that is performed by the CapacityCalculation expression (6'/12" = 12 travelers) internal to the object. The reason the expression is created in the object subclass and not the model is because the formula references the properties of the object subclass itself (ie. the formula is this: Math.Round(((OverallLength * 12) - (Math.Remainder(OverallLength * 12, ZoneLength))) / ZoneLength), with OverallLength being in feet and ZoneLength being in inches), so that for each instance it will be using different values for the calculation as these properties are changed from their default values. I essentially want to do the same for the Conveyor_Custom.NumberOfCells property, which is an inherited property from the standard library conveyor. I have it set so that the default EntityAlignment property is set to CellLocation, and the default CellSpacingType is FixedNumberCells. It's just the NumberOfCells property that I am hoping to have reference a calculated value. I can't seem to set that property to anything other than a plain integer (it doesn't seem to want to accept variables that have integer values, it just wants the values themselves). Perhaps there is another property that I can change to have it accept the variable rather than a plain integer, but I have not found it yet. Thanks!
  5. 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?
  6. Hello, In response to JBeltran: I can figure out how to grab the variable member.priority. If I was able to do that, the rest would be easy I think. I played around with the search function and it didn't seem to work (maybe I am using it wrong?) In response to ATSProThiede: The instance I uploaded was only using the InitialPriority because that was my latest attempt. I had attempted other options that I noted in the OP. Also, you can change the InitialPriority away from 0 in the entity's options. My problem is that only the parent's values are able to be seen. I have no criteria to change the ModelEntity.Priority because the decision needs to be based off of the entity type of the member. The file you attached does not work properly. I turned off the H1BUnits source, so everything should go to packlane1, yet some go to packlane2 or even bypass both to the sink. I have done quite a bit of digging and have found probably 3-4 other feeds that were never answered as member data seems to be difficult to access. Thank you both for the feedback. Please let me know if you have other ideas or I didn't properly test your reply. Best regards, Alex
  7. Based on another thread of yours (link), I ended up created a real state variable for my entities per arrival, then created a process to pause and a process to restart based on the population in the system. So far it seems to work. The change you show above only fixed the issue for another 12 hours or so.
  8. 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.
  9. 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!
  10. I have created a simio model with a big amount of conveyors and i would to change the desired speed of this conveyors while the simulation is running. Is it possible import data with the model is running and change the variable Desiredspeed associated the conveyors? Regards. Thanks you.
  11. I have several different types of entities. And I want to see the result if I change the distribution of entity types. EG: senario1: A:10, B:20, C:70 senario2: A:20, B:20, C:60 senario3: A:40, B:20, C:40 I want to run experiments for these 3(Actually I plan to run more and more) different experiments and check the results. I don't know How to do these experiments. Anyone has an idea? Thank you!
  12. Hi, How can I change a state variable of a flow entity? For example, I want to change the color (i.e. picture state) of the entity based on the flow connector that the entity enters. Any suggestions how to do that (apart from converting the flow entity into a discrete entity and then back to a flow entity)? Especially, because flow connectors do not have Add-On processes. Any ideas are appreciated. I have already reviewed the SimBits for flow library and could not figure out. Thanks!
  13. Hello! Is there any possible way to change the order of queue depend on the datetime state variable? I have datetime state variable; jut simply set 2018-10-07 0:00:00 There are two entities called partA and partB and they are created following arrival table which has release column. So,partA and partB go to inputbuffer of a server, but partA just wait in the inputbuffer, not goes into the server until 2018-10-07. after the specific time, all of the partA move to the front of the inputbuffer and enter the server. I'm trying to do that using new station where partA is transfered from the inputbuffer to until 2018-10-07. Does anyone have an idea? or can anyone model this situation? Thank you. Jay.
  14. First define a state type property within your model. Then set its value as the state variable (which you are using for changing the value of time offset). Then, set timer offset property of timer element as a referenced property (choose state type property as the referenced property). Then when you click the button during the run (change the value of the state variable) the timer offset value should change. If this does not work do not hesitate for asking more. Note: be sure that you are using the right units of time offset propery (hours, minutes, seconds etc).
  15. The Workstation release problem is solved Thank you so much. By the way, is it impossible to change Time Offset in timer element during model running? I' ve just tried to dynamically change the state variable, SchduledDateTime during run-time, but the changed value is not considered .. I mean, I made a button which fire a event to change the value of ScheduledDateTime to later time. During running the simulation, I clicked the button and check the value to change using Status label. The problem is .. the value was changed in the status label, but the timer event cannot fire at the changed time. So.. I thought time Offset cannot be changed during model running.. Am I Right..? or Are there any ideas to solve it?
  16. I have taken a glance at your model. At first look your timer element needs to be revised and you should not change the capacity a resource via a user-defined state variable. Use resource.currentcapacity state variable. I have revised your model and it looks like working. Due to having no more time I could not deeply analysed. see attached file. Resource.spfx
  17. First of all, given you have a model (similar to what you have) as shown below - you would have 2 sequence tables for the vehicle. Also, add a state variable to the model (initialized at value 1) that will be assigned and indicate which sequence the vehicle is following (i.e., named VehiclePath in this case). Within the output node of the entity requesting the vehicle, you can use the SetRow step to assign the alternate sequence under certain conditions (in this example, only if the queue is larger and the sequence hasn't already been set) - the key here is that the SetRow be set for Object Type of 'SpecificObjectorElement' (under Advanced Options) where the Object or Element is 'Vehicle1'. Once set, change the VehiclePath to the appropriate sequence (1 or 2).
  18. 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.
  19. 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 do.
  20. Dear Judy, First of all thanks for your reply. Secondly, I attached to you another version of the model after I made some modifications. It can be seen in the model, I named a new server as Section 1 and added into it two tasks (Unloading and Leveling, they were servers in previous model) each has its resource (vehicle). I used only one entity for the two tasks. Section 1 will have total Quantity by 2031.25m3 (Which means the total amount of material, since a truck will unload this material and a grader will level it on the surface). The total length of this server (Section 1) is 200 meters as in real life. For the first resource "Aggregate Tipper Truck", its total number is NumAggTr = 20, its rate per hour is named as QSTTRate (has random value), its total number of trips to finish works is TTS = 113 and quantity in each trip is named as QSTT (has also random value). While for the other resource "Grader", its total number is NumGr = 2, its rate per hour is named as QSTGRate (has random value), its total number of trips to finish works is GTS = 32 and quantity in each trip is named as QSTG (has also random value). Since the previous expressions will increase with acceleration, so I inserted Level With Acceleration for each of them to be used as state variable into Finish (Sink). Finally, PPCQSTT and PPCQSTG are the productivity of each task. I have 5 inquiries and they are: 1- Why the resources did not make the appropriate distance travelling? For example, the number of "Aggregate Tipper Truck" is 20 and total number of trips are 113 so each should make about 6 trips (113/20), since the length of Section 1 is 200 meters, then each should make 1200 meters (200*6). 2- In table which named "Sub-Activity Schedule", if I change the value under "Scheduled Finish Date" column the value under Actual Finish Date will change. Why this occurred and why "Status" never be "Ahead" or "On Time"? 3- How can I calculate the values of PPCQSTT and PPCQSTG Daily or Weekly? 4- If I want to identify constraints into each task, how can I do that? 5- How can I apply the concept of Look-Ahead Planning (Daily or Weekly), to remove the added constraints? Thank you again Best regards, Ahmed Elkherbawy Model 1.spfx
  21. Sources don't have associated workschedules for creating entities. There is an Arrival Mode property on the Source that allows entities to be created in different ways. Please see the SimBits (Support panel / Sample SimBit Solutions) named Appointment Arrivals or Source with Rate Table. One option would be to have a Resource with a workschedule that 'controls' the number of entities created in the Source, or the Entities Per Arrival property. To do this, you would create a state variable, let's say HowManyEntities. Within your source, set the Entities Per Arrival to 'HowManyEntities'. Set up the Resource with the workschedule for when you'd like entities to be generated and when not (i.e., so that when capacity is 1, you will change HowManyEntities = 1 and when capacity is 0, you will assign HowManyEntities = 0. Within the Processes window, you can have a process, Process1, that is triggered by 'Resource1.CapacityChanged'. Within that process, have a Decide step that checks the capacity and assigns the correct value for HowManyEntities. The Source then will generate entities using the Interarrival Time specified but based on the workschedule changes of Resource1.
  22. What you could do is to have a Table that includes two columns - the first column would be your Doctor names and would be of type Object Reference > Transporter - and would have the property Auto-set Table Row Reference set to 'True' (so each worker points into the correct row in the table). Then you could set up a vector type state variable with the number of rows based on the number of doctors listed. Your second column in the table (lets call it NumAssignments) could then be a Standard Property of type 'State' and would list the state variable names, i.e., NumberOfPatients[1], NumberofPatients[2], etc. one corresponding to each Doctor row. Then, within the Allocated add on process of the workers (Doctors), you could change that state variable value by simply referencing the state column, i.e., Table1.NumAssignments. (or however you want to make your allocations when the patient entity sees dr. for first time). If you don't want to do it within the worker add-on processes, you could access the seized resources function information for an entity to set it there as well.
  23. Hello, I have a model with an elevator (simple, just going back and forth between two floors) that has a capacity for 6 travelers under normal condition. However, if one of those travelers is a wheel chair, there is only room for two in the elevator, i.e. the wheelchair plus one other person. I went through the Elevator SimBit and also tried to change the elevator capacity with a variable that would be set by the traveler waiting for the elevator (changing it from 6 to 2 when it's a wheelchair) but have had no success so far (the elevator continues to operate at the capacity set by Initial Capacity). Has anyone ran by chance into a similar question and managed to be more successful than me? Cheers, Pascal
  24. Before entering servers u can assign min(math.min(exponential(10),exponential(20)) to a state variable called "CommonProcessingTime". Then use this state variable for both processing time entries as expressions (set both processing time properties as simply "CommonProcessingTime"). Actually, Simio assigns these values in this manner when it comes to evaluate processing time property (draws a random variable from exponential distribution when the ModelEntity enters the server and is about to start processing) . By this way you assign these values previously, manually. Nothing will change but you can get your job done. Preferably it is more accurate to define "CommonProcessingTime" state variable on ModelEntity.
  25. Hi I want to change a state-variable of each entity of a specific type. I am trying to reach this goal by using a search-step in a Process. The process is executed correctly but the search-step is not doing anything. I have set the following values for the search-step: CollectionType: EntityPopulation Entity Type: Besucher Search Type: Forward Match Condition: True Limit: Infinity The goal is that each entity of Type Besucher should flow to the "Found"-Branch where I have created an assign-step for changing the state. But the Step following the "Found"-Branch is never reached and also the Step following the "Original"-Branch is never reached (I have set a breakpoint at thia steps.) I have also attached a screenshot. I hope, someone can help me.
×
×
  • Create New...