Jump to content

gocken

Members
  • Posts

    369
  • Joined

  • Last visited

  • Days Won

    32

Posts posted by gocken

  1. Hi Barry,

    I tried a bit and I am quite sure that PartTypes.HowMuch.RandomRow(RandomNumberStream) works. Use integers for RandomNumberStream to set/get the specific random streams. I tested it on RandomValueFromTable simbit (i.e., PartTypes.HowMuch.RandomRow(0), PartTypes.HowMuch.RandomRow(1)) and get different results for each. Also, when I restart the simulation I got the same results for each, as well. 

  2. Try the logic included in this model. Note that you can use the same logic at any time over the simulation run. In this specific example the entities are created at the begining of the simulation run. If you need to create them at any time over the simulation run then you should define a seperate process then embed the same logic into that process. Then, all you need is to trigger that seperate process. For example, you can trigger by using timer element. Hope it helps?. 

     

    CreateEntities.spfx

  3. Hi Amine, 

    I have defined a new process named process1 which is triggered by Input@BUFFER_ST_1.Entered event. Then, I used interrupt step (in process 1) to get one entity from processing station whenever process 1 is triggered. Note that I set the processing time of BUFFER_ST_2 server to infinity to hold entitys until Input@BUFFER_ST_1.Entered event is occured. I am not sure if setting this to infinity is a problem?. Other than this everything is ok and it seems it works.

     

    Buffer varianti trazioni V2.spfx

  4. 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

  5. Since I am not allowed to save my changes on your file directlt I am not able to upload your revised model. But, it is so simple to follow the steps to get what you wnat. First delete all your processes in your model and only for Volvo server define an afterprocessing add-on where you should include a decide step, an assign step and a wait step (see the attached file). Then, 

    1) set decide type as conditional and set its condition as: (M1.Capacity.Remaining > 0 && Input@M1.NumberTravelers.RoutingIn == 0) && (M2.Capacity.Remaining > 0 && Input@M2.NumberTravelers.RoutingIn == 0) && (T4.Capacity.Remaining > 0 && Input@T4.NumberTravelers.RoutingIn == 0)

    2) at assign step set state variable as: Volvo.ResourceState and set the new value as: 2 (setting this to 2 will block the volvo server)

    3) at wait step set event name as Output@T4.Entered. 

    I hope this works for youvolvo_afterprocessing.thumb.PNG.d5e7b063706b8255738aaa120888f0a4.PNG

  6. The answer is no! If you call MATLAB via user generated MATLAB step simio will temporarily suspend till the outgoing token will return (with a value or not). If you add a breakpoint, simio will come to a "full stop". This means simio can not send any token to run/call matlab/codes. Most likely your problem is that the matlab user defined step does not work properly. If it works properly you need not to stop simio anyway. Try to locate the required files appropriately or check your visual studio edition etc.? I am not sure what is the problem but the .dll file can be outdated?

  7. The best way to do a sensivity analysis is to make "designed experiments", run your simulation according to this desing one by one and record the results of them and then analyse the results by using "statistical methods". Thus, I suggest you to investigate "experimental design" or in other name "design of experiments" concept. At first, you can get confused with this topic thus you can ask for help from an experienced expert in this area. The above method is called "perturbation analysis" and as far as I know it is not the best way or at least a common method for doing sensivity analysis. 

  8. Most probably secondary resources will work for you, support here!. I can not open your model since we are using different editions. If we were to use the same edition I was able to open your model. Thus, while developing models which you will share with someone else you should consider this constraint.

  9. As far as I know the answer is "no". But, right click on one of them and select "Object property spreadsheet". Then in the panel opened below  select i.e., travel logic and you will see a list of the path objects on left. Select one of them. Then, you will see it is selected in facility layout as well. I hope this feature can meet your requirements at least to a degree?

  10. Set "log observations" property of tallystatistics element as true (under advanced options category of tallystatistics element). then at the end of the simulation you will see all individual observations from results-->logs-->tally observation log in a tabular format. If this not works for you then there exist other alternatives? Will you plot these values dynamically or statically (i.e., at the end of simulation)?

  11. 1 hour ago, gocken said:

    you can not find .lastrecordedvalue from dropdown menu. Just type it, it will work. Tally1.lastrecordedvalue means just the last tokens value (in your case state's value recorded by tally1 element. I think if Tally1.lastrecordedvalue == 0 which means 1 for exclusion property this tally step should be skipped for this token. And, it is the case what you want to achieve. Just try, I think it should work...

    since exclusion property checks the expression at the start of the simulation run to determine if this step should be excluded from the run my suggestion does not work. simply omit this suggestion:( and thus decide step before the tally step best suits your purpose.

    • Thanks 1
  12. you can not find .lastrecordedvalue from dropdown menu. Just type it, it will work. Tally1.lastrecordedvalue means just the last tokens value (in your case state's value recorded by tally1 element. I think if Tally1.lastrecordedvalue == 0 which means 1 for exclusion property this tally step should be skipped for this token. And, it is the case what you want to achieve. Just try, I think it should work...

×
×
  • Create New...