IEE 475: DES Motivation -- Simple Arena Example with M/M/1 Single-Sever Queue

Поділитися
Вставка
  • Опубліковано 9 лис 2024

КОМЕНТАРІ • 8

  • @mingchuanwang5912
    @mingchuanwang5912 9 місяців тому

    Hello,Thank you for your explanation and I have a problem-could you please show me how to set 2 Processes are series connections and circulate for 10 times and then comes to Dispose 1? Best wishes!

    • @TedPavlic
      @TedPavlic  9 місяців тому

      I don't competely understand your question. If you just need every entity to cycle through a series combination of two processes ten times before that entity exits via a dispose block, you should look into using an assign block to increment an attribute on the entity that counts how many times it has gone through. Then use a decide block to determine when you let the entity go out to the dispose or cycle again. Good luck!

  • @ronaktiwari6127
    @ronaktiwari6127 3 роки тому

    Hi Ted, if I want to record let's say the total time spent by an entity in the system, what inbuilt arena variable should I choose? I tried time persistent as well as output TAVG(Entity.Total Time) but the values that I am getting are totally unexpected...

    • @ronaktiwari6127
      @ronaktiwari6127 3 роки тому

      I am trying to record the total time that is spent in the system if there are three processes (EXPO (9), EXPO(9), and EXPO(9)) with an exponential interarrival of 10 mins (consider 500 jobs). So I expect the average total time spent in the system by each job should be around 27 minutes or around 30 minutes depending on the number of replications but what I am getting is around 197 mins... I don't under what it is recording... Help appreciated!

    • @TedPavlic
      @TedPavlic  3 роки тому

      @@ronaktiwari6127 It's difficult for me to debug such a specific issue. I can tell you that if you want to know the time each entity spends in the system, you can write out the "Total Time" attribute for each entity. Then your data file will have a line for each entity (as opposed to each replication), and you can see how long each entity spends in the system.
      "TAVG" will tell you the average of the "Total Time" attribute across all entities in a replication. So, at the END of a replication, you can run "TAVG(Entity.Total Time)" to get you the average total time for all entities during that replication.
      If the numbers you are getting are not what you expect, then perhaps you should double check the Units that you have as your base time units (Run->Setup->Replication Parameters) as well as the time units used in each of your processes. You can also PAUSE your simulation run at any instant and double-click on entities to look through their attributes (including "Total Time") to see if what is playing out with the entities is as you expect. If it isn't, this sort of debugging can help you pinpoint where the diverge starts to occur in your model. That might indicate where the error may be.
      Note that if you go to the "Help" menu in Arena, you can search for these topics. You can also use the "Expression Builder" in Arena to find all built-in attributes and variables.

    • @ronaktiwari6127
      @ronaktiwari6127 3 роки тому

      @@TedPavlic Everything was fine Ted, the problem was the average total time that I was expecting the system to give. Since I am running the simulation for only 500 entities the queue does build up as I can see in the simulation. I checked it by decreasing the arrival frequency of the entities. So problem solved. Thanks anyways! :)

    • @TedPavlic
      @TedPavlic  3 роки тому +1

      @@ronaktiwari6127 If you are not interested in the queueing time, you can instead ask for the "Value Added Time" (VATime, I believe). If your services (processes) are configured to put the time in the service (not in line) into that counter, then you can see how much time was accumulated in service (not in line).

    • @ronaktiwari6127
      @ronaktiwari6127 3 роки тому +1

      @@TedPavlic got it! Thanks, Ted! 👍