Jump to content

Search the Community

Showing results for 'change units on status label'.

  • 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. Hello SIMIO experts, I am currently working on a project where I need to assign state variables to a worker and manage these variables throughout the simulation. I'm looking for guidance on a few key aspects: Assigning a State Variable to a Worker: How can I assign a state variable (e.g., a boolean or numerical value) to a worker in SIMIO? I want to track attributes such as availability, task completion count, or other custom metrics. Updating the State Variable During the Simulation: What is the best practice for updating the state variable of a worker based on specific events or conditions during the simulation? For instance, updating the availability status when a worker starts or completes a task. Accessing the State Variable: How can I access or consult the state variable of a worker at any point in the simulation for monitoring or decision-making purposes? Any advice or example models that illustrate these processes would be greatly appreciated. Thank you for your help!
  2. Hello everyone, I have a server which can potentially have many entities waiting in the input queue. All these entities have different priorities (as a model entity state variable). I want to retrieve these values to then select the highest one and put it on a status label to track this during the run. Is there an option to do this? Regards, MF
  3. Hi all! I am simulating a facility with nearly 40 servers, each one starting with some entities in the input node at initialization and having a different capacity. Each server has a 0 input buffer capacity. My entity creation is currently set to having an interarrival time to be 4.33 weeks (1 month) with a random number of entities created. Currently, it runs 24/7 and does not care about the time, but I want to incorporate that. How can I make it so that the entities arrive once a month, let's say the first Monday, at 8am? How can I make it so the servers are only processing between 8am and 4pm Monday - Friday? The work schedule doesn't seem to work for me, but I could be doing it wrong, since I have a 0 input buffer, which I can't change as it's part of my routing logic for overflow. I would be happy with using timers or a process logic if someone can explain it to me. Ideally, the entities only arrive when it's during the working time, and the entities remaining after 4pm are just put on hold until 8am the next day. Thanks in advance!
  4. You want to make the servers have a Capacity Type of Schedule and follow the default Standard Week. If you don't want to give them a lunch break, just change the definition of the Standard Day. Leave the default Off Shift Rule of Suspend Processing. The easiest approach for arrivals is to have a Source with an Interarrival time of 4.33 weeks (or 4 weeks) and an integer random distribution for the Entities Per Arrival. Doing a "first Monday" is possible, but a bit complicated because Simio time does not have the concept of Month because months are of varying size. You could probably specify the initial Time Offset to be early in a month, then maybe make the interarrival time be something like DateTime.DaysInMonth(DateTime.Month(Timenow),DateTime.Year(TimeNow)) which would make the next arrival be exactly one month later (same day of the month). When you say you have no buffers, what do you mean? If an entity arrives when all servers are busy, should it be balked (possibly disposed) or should it wait somewhere like on the server input node, on a path or in the Source output node? If the above arrival approach isn't exact enough, you can put exact arrivals in a data table. The arrival time could be specified at any exact datetime you desire and still have the Entities Per Arrival be a distribution.
  5. Hello, I am trying to use git to track changes when working on Simio projects collaboratively. For this I am saving the project as *.simproj and the resulting file and folder structure looks good. But there are too many time stamp changes that make it difficult to track the "important" changes. For example, I only changed the location of the DefaultEntity in the model and hit save. The resulting changes are shown in the attached screenshot, with 20 files shown as changed. The main changes are related to the time stamp. Is there a way to configure Simio such that fewer files will be affected by each change? Thank you. Annika
  6. Hi, there is a simple approach you can use. Use Connectors between the queue server and the desks. At Buffer Logic of the Desks, change the Input Buffer Capacity to 0. Create a List with the Input nodes of the seven Desks. On the Output of the queue server change Entity Destination Type to Select From List and the goal to Smallest Value. Keep the default expression. It should work fine.
  7. Description of Runtime Capability Runtime is the ability for people to execute a Simio model without investing in that design-time version of Simio. Simio imposes no limits to the number of models you can distribute or the number of people you distribute to. And you are free to distribute outside of your organization if you choose. There is no charge for any such distribution. Two runtime modes are available: Interactive Runtime Uses Simio Evaluation Version which is available free to anyone and may be used without activation. It provides the ability to load a model, run it interactively to view the animation, and even change the model at will. Model changes cannot be saved nor is the capability provided to run experiments or execute custom user-written steps and elements. Only Simio Team Edition is capable of creating models that will run in Interactive Runtime. Full Runtime Uses Simio Express Edition. In addition to the substantial modeling features built into Express, it provides the ability to load and run models, save model changes, run experiments, and execute custom user-written steps and elements. Design and Team Editions can create models for use with Full Runtime.
  8. Happy new year! One thing that I noticed is that with this model, the server never have a state of "blocked". I increased the processing time of Server2 and added a status pie to Server1. The server 1 is either Processing or starved, but never blocked according to the pie. But it should be blocked part of the time since I increased the processing time of Server2 to force this. It looks like the Server1 only accepts a new item to process if the path between Server1 and Server2 has room for at least one more vehicle. So the time that it should be blocked is considered as part of the "Starved" instead. I tried to figure out why this happens without success. Anyone knows why this happens? I attach the model to the post. Thank you! Input Server1 not blocked.spfx
  9. Hi everyone! In the project I'm developing I need something similar to what was done on the Simbit "EntityFollowsSequence". The difference is that I need to be able to change the destinations (update the contents of the sequence table) over time (the number of rows of the table can be fixed, although it would be ideal if they could be dynamically created). Could someone please explain how it would be possible to do this? My edition is NOT Enterprise. Thanks.
  10. Hello Vinicius, thank you for you help but I still having problems with the model. I can understand the logic behind of the SimBit "CombineMultipleEntityTypeOntoPallets" but I have some doubts. I change the model adding a combiner, I creted a intergrer model entity state to identify the quantity of containers, and I have a real state to identify the container but I dont know how change the batch logic of the container to each product. In the definitios tab you can see the batch logics. I hope you can help me Best regards. OptimoContenedores3.spfx
  11. Hello, I wouldn't use process for this one. There is a simple approach that you can use by modifying the SimBit "CombineMultipleEntityTypeOntoPallets". You'll need 3 ModelEntity Integer States to identify the quantity required of each Bin according to the Product. Let's say ModelEntity.Big, ModelEntity.Small and ModelEntity.Med. You can modify "Ops_Exited" step to assign those quantities. For the Producto1 for example, you'll have ModelEntity.Big == 1, ModelEntity.Med == 1 and ModelEntity.Small == 0. A little tip: you can use "Is.Producto1" (or "Is.Producto2", etc) on a decide step to identify which Producto is it. Now on the Combiner Object, follow the Simbit and change the BatchQuantity, to ModelEntity.Big, ModelEntity.Med and ModelEntity.Small. This should work.
  12. Hello, I'm working on an emergency department (ED) model where I'm using both nurses and doctors as resources. At the ED, there is a 4:1 Patient to Nurse ratio, meaning that on average, a nurse takes care of 4 patients at the same time. When I was thinking about how to implement this logic on Simio, I looked at this option on the Seize step under Advanced options (you can see it on the picture I attached). I set the Units per Object to 0.25 - because I thought that every time a patient seizes a nurse, it will take out 0.25 out of 1 unit of capacity, instead of taking the whole 1, allowing for 3 other patients to seize her before she is completely busy. However, this doesn't work, because I ran a model trace as I ran the model and the server is ignoring the seize because the "Units per object" is set to 0 (which is not, it's set to 0.25) - the exact model trace comment is: "Ignoring resource release of type Specific 'Nurse'. The required capacity units per object '0' is not a positive quantity.". Therefore, the model ignores the resource seize and processes the entity without the resource. Is this because this property field only works with integers? I thought of a work around by just multiplying my number of nurses by 4 to account for that, but that's not optimal. Would there be any other way of achieving this? Thank you very much for the help!
  13. I used the "DashboardForScheduling" simbit as an example for this case. For the order that is using "FinishedGoodA" material, I want to change the sequence after the welding process is complete if both shape stations are not available. So, I created an alternative sequence table and referenced in the process logic I created. Whenever this happens, I get same type of error message. Do you think this is happening because the normal routing table is referenced at the source object?
  14. 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
  15. Perhaps its a little late, but attached is a possible solution to your problem. This started out pretty simple. The problem was how to specify which server is serviced by which resource. One way to do that is a table. But since its changing over time I chose to use a time-indexed table, that is a table that knows about time and returns different data at different times. In this case, each row corresponds to 12 hours and each column specifies the resource needed by the respective server. As they say, "the devil is in the detail" and in this case the "devil" is that the specified resource may change between seize and release (e.g., seize at 11:59, release at 12:05). Simio doesn't like that and all the easy options re-evaluate the resource expression on release and so may try to release the wrong resource. One option would have been to create a custom server, but that seems to be overkill. Here is a somewhat simpler approach: 1) Add an entity state named MyResource and assign it at the last possible moment before use. This value will be used only for release. The assigned value is drawn from the table using an expression like Table1.S1Resource.TimeIndexedValue.Object. Note that the .timeindexedvalue indicates to get the value associated with the current time. And the .object at the end is used to tell Simio to return that value as an object not a number. 2) Use Secondary Resources - Other Resource Seizes to seize the name specified in the table using the same expression above Table1.S1Resource.TimeIndexedValue.Object. 3) Use Secondary Resources - Other Resource Releases to release the resource saved in MyResource. TimeBasedWorkerSelection.spfx
  16. Hello, I'm having strugles trying to configure the setup for the next process: some entities have a diferent processing time and setup time, before to enter to be processed in the workcenters, the workcenter have to be cleaned. I looked the simbit, "ServerWithSequenceDependenrSetup" but I'm confused with the configuration of the processing task. I dont know why we have two lines and o why only one have associeted the change-over matrix.
  17. I've hunted through the forums and online and cannot seem to find a fix for my simple application. I have 1 worker operating multiple work centers (Simio server). He should finish all work at one "server" before moving on to the next server. Otherwise, his utilization goes down substantially due to him bouncing back and forth between the servers and walking all day. I.e. Server A: Parts in Que: 1,2,3,4,5,6 Server B: Parts in Que 1,2,3,4,5,6 Worker is doing A1, B1, A2, B2, A3, B3, A4, B4, A5, B5, A6, B6 with a walking time inbetween each part. I want worker to do A1, A2, A3, A4, A5, A6, walk, B1, B2, B3, B4, B5, B6 I would prefer not to use constraint logic due to the complexity. I've read that somehow the solution seems to lie in setting the Secondary Resources "Repeat Group" status to false and attempting to use the "keep reservation" function, however I have not had any luck. I set the "keep reservation if" function to "ServerA.InputBuffer.Contents.NumberWaiting > 0" which in theory should fix the problem, however my worker continues running back and forth. Any help would be appreciated. Thanks, Jon
  18. Hello, i am using the Financials Properties in Simio. In this simple model, i have parameters for different cost types (see in the picture). All the cost types are used with the default financial states. The dynamic label of the ModelEntiy shows the expression "ModelEntity.Cost", so it roll all the cost components up in the particular entity. The entity in the processing has a value of 76.84. (rolled up) Now my question is, is it possible to see all the cost components for all my model entity, for example as a expression in a floor label or in a data table. Thank you!
  19. there are several easy ways to do this. 1) Subclass the Resource or Worker object with the only change is to add a property or state (ex PTime) to hold the processing time specific to that resource. 2) Put your process times in a table and reference the correct table row for the doctor that is working. The SimBit WorkerPoolWithEfficiency does something somewhat similar.
  20. Hello, i would like to know if its possible to track the different values for a user defined MyModelEntity state. In my case, i created different states like MyModelEntity.MaterialCosts and MyModelEntity.HoldingCosts, ...TransportCosts ... etc. The values are summed up in a state called MyModelEntity.ProductionCosts. This state is shown as a dynamic label text in my model, so i can see the production cost value at the actual time. But is it possible to see the different values of the MyModelEntity states that make up the production costs for instance during different periods of times in the simulation or at any time? Because i would like to see the values of my states like MyModelEntity.MaterialCosts at certain times in the simulation. Thank you!
  21. Hello,

    i would like to know if its possible to track the different values for a user defined MyModelEntity state.

    In my case, i created different states like MyModelEntity.MaterialCosts and MyModelEntity.HoldingCosts, ...TransportCosts ... etc.

    The values are summed up in a state called MyModelEntity.ProductionCosts.

    This state is shown as a dynamic label text in my model, so i can see the production cost value at the actual time.

    But is it possible to see the different values of the MyModelEntity states that make up the production costs for instance during different periods of times in the simulation or at any time?

    Because i would like to see the values of my states like MyModelEntity.MaterialCosts  at certain times in the simulation. 

    Thank you! 

  22. Here is a simple utility that will export, import and delete artifacts of your model. Here is a screen shot of the available capabilities. The code and DLL have can be found on SImio GitHub. Please find at this link: https://github.com/SimioLLC/ExportImportModelAddIn You will also find install instructions in the ReadMe. Here are the changes that have happend over time: Updated 2023-01-31....Added the ability to select multiple tables for export and delete table data functions. Updated 2022-10-05....Updated the exports to sort the data first my name and then export. This ensures that the data exported is in a consistent order. Updated 2021-12-07....Added the ability to select a table and then remove the data from the selected table. If a table name is not selected, all the tables in the model will have their data removed. Updated 2021-09-20....Added Update Model Properties (CSV). With this new method, you can import model properties into your model. If the file contains 3 fields...First is name, then type and last is default value. The only valid types are real, datetime, Boolean and everything else is string. If the model property already exists, it will only update the default value on the property. Note: The example assumes the field separator is a caret '^'. To change this, you need to change the delimiter field. Updated 2021-09-08....Updated the sequence of the exports, deletes and imports happen. When OK is pressed, first the exports are run, then deletes and finally the imports. With this change, I am able to Export Table to DB, Delete Table Data and Import Table from DB from in a single run. I typically do this when re-mapping auto creates elements. Since the table data need to be removed and recreated before mapping of the elements are correctly mapped. Updated 2021-09-06....Upgraded to .NET 4.7.2. Also, fixed the windows form so it displays correctly. When opened, the form should no longer need to be expanded to see all the options. Updated 2018-11-08....Added Export To CSV, Export To DB and Import From DB. Export To DB will create a table in the SQL Server database with the same table name as the table in Simio. The data columns will be of type nvarchar(max) and the default value will be the same as the default value in the Simio table. It is assumed that Simio desktop will still do the data validation, not the database. This feature is used to save the Simio data into a database so it is backed up and can be shared across users. Each time the Export To DB, if the table already exists, it is dropped, and a new table is created. This ensures that the data schemas match between the Simio model and the SQL Server database. Updated 2017-12-05....Fixed index issue with links import. Updated 2017-09-25....Fixed the import of lists. Updated 2017-07-14....Added the ability to auto generate and auto read files. Previously, the files needed to be created prior to running the add-in. Now, they will create by the export. Also, the import will retrieve the same file generated by the export. These options are available when the "Auto Generate and Read Files" option is selected. Updated 2017-07-13....Added the ability to multi-select options. Now, more than one option can be initiated when the OK button is selected. This will streamline the process of exporting, deleting and importing. This tool is very helpful for testing out your model with various configurations to ensure that runs properly under various object and/or data configuration. Updated 2017-07-11....Now supports exporting and importing of model properties, exporting and importing of table properties and delete table data. Updated 2017-06-22....Now supports exporting and importing of data tables using XML. This is simple way to export all the table data from one model and import the same data into a new model (assuming that the same tables schema exists in the new model). Updated 2017-01-27....Now supports exporting of object types using XML. This can be used with the new Configure Scheduling Resources in Simio 9.150 capabilities to define your own object type properties based on an XML document. Updated 2017-01-23....Now supports exporting and importing objects using XML. When using XML, property units are also exported and imported back in. Updated 2016-10-24....Updated files...Added support for repeating properties.
  23. 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
  24. According to the reference guide, I can attach a status label to a model entity by first choosing the model entity and the creating the status label. It works for me, but not all the time. May I know if there is a way to fix this? My simio version is 10.174 Personal Edition. Thank you
  25. I am working on a model of a production line where one of the work stations is a long work table with six workers at it. These workers perform identical assembly tasks and will sometimes leave the table in order to transport finished items to the next step in production. I am currently representing the work table as a single server. I am wondering if it is possible to dynamically change the server's capacity based on how many workers it is able to seize at a given time. Essentially, the server can process with just one seized worker but can seize up to six. Is this something I can implement with Simio's built in functionality, or is it easier just to represent the six spots in the table as individual servers? Thank you!
×
×
  • Create New...