Jump to content

Dynamic creation of fixed objects


Ilario

Recommended Posts

Hi everybody


Not sure if opening a new topic is the best way, but I did not manage to find (even with Search) a discussion on the possibility to create fixed objects (servers, workstations or objects of fixed class) in a dynamic way. Here is what I mean:


Entity enters the model

if(the needed fixed object exists) -> entity is routed to that object

else

a new fixed object is created

entity is routed to that object


I tried the Create step in a process, but as far as I can go this step creates an Agent type of object.


I'd appreciate any suggestions, ideas, feedback - thanks people!

Link to comment
Share on other sites

Only dynamic objects (Entities, Workers, and Vehicles) can be created during a run. Fixed objects cannot be dynamically created. But you can add capacity to a fixed object.


Let's say you need up to 10 units of Server available, but you want to enable them only as needed.

--The easiest approach might be to design your model with a single Server with capacity 0 (off-shift), then assign it's capacity (increment by one) every time you need more. This is appropriate for something like a ticket agent station where you bring agents on and off staff as needed.

--If you need your servers to be independent, then place 10 different Servers, each with a capacity of 0 (off-shift). Then, when you need to add another server, find one that is still at capacity 0 and change it to capacity 1 (on-shift).


You don't say what prompts the dynamic creation, but perhaps you can use schedules to implement either of the above.


Sometimes it is possible to use an entity like a server. You can dynamically create an entity and put it somewhere, like a Storage. Then you can seize and release that entity. But you can't flow through a dynamic object.

Link to comment
Share on other sites

Thanks Dave.


I need dynamic creation of fixed objects (servers, workstations) for a data driven model of manufacturing processes. The data, structured in an external table contains (in general) the following information for each item to be produced:

- the sequence of workstations through which the item needs to pass

- processing times data

- batch quantities


When running the model, it reads the data from the table and implements the logic I had described below. In short - the data contains not only processing sequences and times but also builds the model of the manufacturing system. Ofcourse - the assumption that transport times from one workstation to the other in this case is 0.


I don't know if I was clear...

Link to comment
Share on other sites

We usually use the word dynamic to mean at runtime (while you are running the model). What you are looking for is building the model at model design time (while you are building the model). Yes, you can create any object during design time. Look in the Shared Items or API folder for the spreadsheet import files. In recent software you can also find some model building during import on the Table ribbon. TableRibbon.PNG.d646200a35c6ac46d9aabac561e992a1.PNG

Link to comment
Share on other sites

Dave - it's Saturday and I see you are here to help such newcomers to Simio like me :)!


Yes - I do mean creating fixed object at run time (while the model is running). But I will try also your suggestion below.


Hey - have a wonderful day!

Thanks again.

Link to comment
Share on other sites

Weekends and evenings are for doing fun stuff like helping users solve modeling problems. :)


But if the table already contains all the information you need, then why not create the model just BEFORE you hit run instead of AFTER? It doesn't sound like it makes a lot of difference in the process flow, but it makes a lot of difference to Simio.

Link to comment
Share on other sites

Yes, the external table has all the needed info. But I want to be flexible in using those tables for modelling production processes. Meaning - for modelling one production process I might needed 5 workstations, whereas when modelling another process I might need only 2. And my idea is when the model runs, based on the info in the table the model dynamically creates the needed number of workstations.


A work-around is to create a model with N workstations, where N is sufficiently large to cover potential needs of workstations. Some years ago I was using Awesim (guess you know that system based on SLAM). In Awesim if an entity needed a resource and that resource was not existing, the system will automatically create and instance of the Resource node, thus allowing for dynamic creation of resources in the model. All this was packed in the sub-network functionality of Awesim.


Anyway - guess the work-around approach will do me the job I need.


Thanks for your time Dave!

Link to comment
Share on other sites

YOu have the same capability in simio. Just create as many workstations you need and constrain them with resources. Resources are dynamicaly created in simio, so you can create a new if resource in a resource population if needed.

Link to comment
Share on other sites

×
×
  • Create New...