Example Models

2,749 views
Skip to first unread message

Harry King

unread,
May 1, 2019, 10:29:38 AM5/1/19
to Jaamsim Users Discussion Group
JaamSim Users,

This topic is the place to post any models, large or small, that you would like to contribute to the JaamSim community.

Your post should consist of a brief description of the model and include one or more attachments for the input files. Note that you must be a member of the forum to be able to attach files.

Harry

Harry King

unread,
May 1, 2019, 10:50:16 AM5/1/19
to Jaamsim Users Discussion Group

roman_g

unread,
May 6, 2019, 6:49:26 AM5/6/19
to Jaamsim Users Discussion Group

charles...@gmail.com

unread,
May 6, 2019, 2:25:04 PM5/6/19
to Jaamsim Users Discussion Group
Example models showing:
-Use of a time series and time series threshold to model shift work
-Use of attribute blocks to record the time of an entity in the system
-Basic graphing of resource utilization and average entity time in the system
-One model is single run, while the other model is setup for multiple runs with an external data report

TimeSeriesTestv3 - single run.cfg
TimeSeriesTestv2 - multiple run.cfg

E.T.

unread,
May 17, 2019, 6:55:30 AM5/17/19
to Jaamsim Users Discussion Group
Great idea, thanks! I shall post here some of my examples later on, but let me introduce a new one, which I hope is useful twofold:
1) as an illustration of basic usage, like the Examples of JaamSim Objects
2) to raise the suggestion to incorporate event-triggering time conditioned expressions

The example is self-explanatory, I hope.
It models a 10 sec transportation loop conveyor where parts are separated by 1 sec.
Finished parts are removed (the workstations are not modelled) and new parts enter the loop to fill the gaps (the input station is never hungry).
It is inspired by the 7th Annua Arena Contest, SM Testing.

My favourite model here would be the so-called TransportationLoopTimeEvent without the periodic event generator.
This would require a new (modified/alternate) expression entity which triggered events when changing value.
The periodic event generator alleviates the problem, but it is not an elegant and precise solution.

The TransportationLoopNoTimeEvent solves the problem, but cumbersome artifacts are required.


Enjoy! 
TransportationLoopTimeEvent.cfg
TransportationLoopNoTimeEvent.cfg

E.T.

unread,
May 20, 2019, 5:28:15 AM5/20/19
to Jaamsim Users Discussion Group

Production/Inventory example

[Based on Altiok-Melamed 12.2]


The production facility produces product types 1, 2, and 3, and these are supplied to three distinct incoming customer streams, denoted by types 1, 2, and 3, respectively. The production facility produces batches of products, switching from production of one product type to another, depending on inventory levels. However, products have priorities in production, with product 1 having the highest priority and product 3 the lowest.

A raw-material storage feeds the production process, and finished units are stored in the warehouse. Customers arrive at the warehouse with product demands, and if a demand cannot be fully satisfied by inventory on hand, the unsatisfied portion represents lost sales. Each product has its own parameters as per:

  • Product Type, Target Level, Reorder Point, Processing Time (hours), Demand Interarrival Time (hours), Demand Quantity.

  • 1, 100, 50, 1, Exp(16), U(4, 10)

  • 2, 200, 100, 0.6, Exp(8), U(10, 15)

  • 3, 300, 150, 0.3, Exp(4), U(20, 30)

The following assumptions are made:

  • There is always sufficient raw material in storage, so the production process never starves.

  • Processing of each product type is carried out in lots of five units, and finished lots are placed in the warehouse. Lot processing time is deterministic.

  • The production process experiences random failures, which may occur only while the production facility is busy. Times between failures are exponentially distributed with a mean of 50 days, while repair times are normally distributed, with a mean of 7 days and a standard deviation of 3 days (recall that if a negative repair time is sampled, another sample is generated until a non-negative value is obtained).

The warehouse implements a separate (R, r) inventory control policy for each product type. Note that this is actually a convenient policy when a resource needs to be shared among multiple types of products. For instance, when the production process becomes blocked, it may be assigned to another product. In our case, the production facility may switch back and forth between the two highest priority products a few times before it turns to product type 3. It should be pointed out that other production-switching policies may also be employed, such as switching after the current product unit is produced, rather than the current production run.

We want to simulate the system for 100,000 hours, and estimate the following statistics:

  • Production-facility utilization, by product

  • Production-facility availability

  • Time-Average inventory level, by product

  • Percentage of customers whose demand is not completely satisfied, by product

  • Satisfied demand, by product


It might be checked that the fraction of time that a product type is pending varies in accordance to the priority structure of product types: The lowest-priority product type receives significantly less attention from the production facility. The statistics of stock on hand by product type reveal that the average inventory levels of all product types are below their reorder points, which indicates that the production facility is having a hard time keeping up with demand. This is largely due to failures as evidenced by the high downtime probability. Further evidence for this phenomenon is furnished by the minimum stock level statistics, all of which hit 0, indicating episodes of stock-out.


Investigate the following improvements, or combinations of them:

  • Changes in control policies: priorities and reorder points.

  • Storage redistribution and/or ampliation.

  • Repair time reduction.

ProductionInventory.cfg
ProductionInventory_folded.cfg

E.T.

unread,
May 20, 2019, 6:28:27 AM5/20/19
to Jaamsim Users Discussion Group

Supply chain example

Based on Altiok-Melamed 12.3, adding Supplier failures.


Consider a single-product, multiechelon supply chain consisting of a retailer (R), distribution center (DC), manufacturing plant (P), and supplier (S). The manufacturing plant interacts with two buffers: an input buffer (IB) storing incoming raw material, and an output buffer (OB) storing outgoing finished product.

The retailer faces a customer demand stream, and to manage inventory, it uses an order-quantity  (Q=10, r=5) continuous-review control policy, based only on information at the retailer. Under this policy, a replenishment of quantity Q is ordered from the distribution center whenever the inventory position (inventory on-hand plus outstanding orders minus backorders) down-crosses level r. If the distribution center has sufficient inventory on hand, then the order lead time consists only of transportation delay. Otherwise, it experiences additional delays due to additional transportation delays and possible stock-outs upstream of the distribution center. Any excess demand at the retailer that cannot be immediately satisfied from on-hand inventory is lost.

The demand stream at the distribution center consists of orders from the retailer. However, unlike the retailer, unsatisfied demand is backordered. In a similar vein, the distribution center replenishes its stocks from the output buffer (OB) of the upstream plant, based on a (Q=20, r=10) continuous-review inventory policy. The unsatisfied portions of orders placed with the plant are backordered.

The plant’s manufacturing policy is an order-up-to-level (R=30, r=10) continuous-review policy, where items are produced up to level R when the reorder point r is down-crossed. The plant manufactures one product unit at a time, having consumed one unit of raw material from the input buffer. Note that shortages of raw material in the input buffer (starvation) will cause production stoppages. The input buffer, in turn, orders from an external supplier assumed to have sufficient inventories, but which experiences random failures: TBF, Exponential(5h); RT, Triangular(5,10,20min). The corresponding inventory control policy is a (Q=15, r=10) policy.


The system is subject to the following assumptions:

  • The retailer faces customer demand that arrives according to a Poisson process. The demand quantity of each arrival is one product unit, and all unsatisfied demands are lost.

  • For modeling generality and versatility, we assume that the manufacturing time distribution of a product unit and all transportation time distributions are of the Erlang type. Specifically, all transportation delays are drawn from the Erl(k 2, 𝜆 1) distribution, while the manufacturing time distribution is Erl(k 3,𝜆 5).

  • At all echelons, orders are received in the order they were placed (no overtaking takes place). In fact, an order shipment is launched only after the previous one is received at its destination.

  • When a stock-out occurs in the DC or plant and the unsatisfied portion of the order is backordered, order fulfillment (shipment) is deferred until the full order becomes available. In brief, there is no shipping of partial orders.

SupplyChain.cfg

E.T.

unread,
May 20, 2019, 11:03:54 AM5/20/19
to Jaamsim Users Discussion Group

Packaging Line

Based on Altiok-Melamed 11.3,7,9,10


11.3: Consider a generic packaging line for some product, such as a pharmaceutical plant producing a packaged medicinal product, or a food processing plant producing packaged foods or beverages. The line consists of workstations that perform the processes of filling, capping, labeling, sealing, and carton packing. Individual product units will be referred to simply as units.

We make the following assumptions:

  1. The filling workstation always has material in front of it, so that it never starves.

  2. The buffer space between workstations can hold at most five units.

  3. A workstation gets blocked if there is no space in the immediate downstream buffer (manufacturing blocking).

  4. The processing times for filling, capping, labeling, sealing, and carton packing are 6.5, 5, 8, 5, and 6 seconds, respectively.

Note that these assumptions render our packaging line a push-regime production line. To keep matters simple, no randomness has been introduced into the system, that is, our packaging line is deterministic. It is worthwhile to elaborate and analyze the behavior of the packaging line under study. The first workstation (filling) drives the system in that it feeds all downstream workstations with units. Clearly, one of the workstations in the line is the slowest (if there are several slowest workstations, we take the first among them). The throughput (output rate) of that workstation then coincides with the throughput of the entire packaging line. Furthermore, workstations upstream of the slowest one will experience excessive buildup of WIP inventory in their buffers. In contrast, workstations downstream of the slowest one will always have lightly occupied or empty WIP inventory buffers. Thus, the slowest workstation acts as a bottleneck in our packaging line. Of course, this behavior holds for any deterministic push-regime production line.


11.7: Suppose that Filling Process in the packaging line model of Section 11.3 fails randomly, and that it needs an adjustment after every 1000 departures from the workstation.

Assume that uptimes (times between a repair completion and the next failure, or time to failure) are exponentially distributed with a mean of 50 hours, while repair times are uniformly distributed between 1.5 hours to 3 hours. Also, the aforementioned adjustment time is uniformly distributed between 10 minutes to 25 minutes.

Assume further that Packing Process can also experience random mechanical failures, and downtimes are triangularly distributed with a minimum of 75 minutes, a maximum of 2 hours, and a mode at 90 minutes. The corresponding uptimes are exponentially distributed with a mean of 25 hours. Finally, assume that random failures occur only while the machines are busy (operation-dependent failures).


11.9: To illustrate batch processing, we modify the failure-modified packaging line of Section 11.7 by incorporating batching and separating. Let product unit interarrival times in the batch-modified model be uniformly distributed between 5 and 10 seconds. Assume that Labeling Process labels batches of five units at a time, following which the units proceed separately as individual units. Assume further that batches of 10 units are packed together in Packing Process. Each batch labeling time is 25 seconds, and each batch packing time is 30 seconds. To enable batching and

separating, we need to increase the buffer capacity at Packing Process to accommodate

batches. For simplicity, we just set all buffer capacities to infinity, thereby eliminating blocking, except for the input to the Packing Process, that we want to dimension appropriately. When the Sealing Process becomes blocked after a long Packing’s failure (now MTBF is 15 h), the full packaging line is stopped, to avoid undue accumulation of work in progress.


11.10: Finally, to illustrate assembly, the production of caps is represented, which takes 1 s. For simplicity, all failures and maintenances are removed, except in the Cap Production, where a maintenance operation is required after 1000 caps, taking between 40 and 80 s, with mode 50 s. The effects of these maintenance operations are filtered out by intermediate buffers, particularly one to keep a few caps at the input of the Capping Process.


ExamplePackagingLine.cfg
ExamplePackagingLineWithAssembly.cfg
ExamplePackagingLineWithBatches.cfg
ExamplePackagingLineWithFailures.cfg

E.T.

unread,
May 22, 2019, 1:35:08 PM5/22/19
to Jaamsim Users Discussion Group

FMS with AGV’s

Based on Law-Kelton book (3rd ed.) 13.5


A company is going to build a new manufacturing facility consisting of an input/output (or receiving/shipping) station and five work stations, each one consisting of several identical machines. Jobs are moved from one station to another (the distances are detailed in Distances.txt), according to its job plan, by a number of automated forklift trucks.

In a typical hour, 15 jobs arrive at the input/output station (Poisson process). There are three types of jobs, with a 20%-50%-20% mix. Each type requires a different sequence of operations, in the five work stations, respectively: 3-1-2-5, 4-1-3, and 2-5-1-4-3, and finally it is moved back to the input/output station, to be shipped. The time to perform an operation at a particular machine is a gamma random variable with a shape parameter of 2, whose mean depends both on the job type and the work station (these means are detailed in ServiceTimes.txt). When a machine finishes processing a job, it becomes blocked until the job is removed by a forklift. When a forklift becomes available, it processes request with a nearest first rule. When there are several forklifts idle, the nearest one attends the next request. When a forklift finishes moving a job to a station, it stays there if there are no pending job requests. When a job is brought to a work station and all machines are busy or blocked, it joins a single FIFO queue at that station.

In the simulation model, currently, there are the minimum number of machines and forklifts required, which results in large queues in front of WS 2 and 3, large lead times, and throughput below the arrival rate. The goal of the simulation study is to determine the appropriate number of machines in each work station, and the number of forklifts.


FMSwithAGVs.cfg
Nexts.txt
ServiceTimes.txt
Distances.txt

E.T.

unread,
May 23, 2019, 10:14:21 AM5/23/19
to Jaamsim Users Discussion Group

Push vs Pull

This is the last one I share, for the moment. It is (pretended to be) a funny one.

Smileys (to be used in chat apps) are assembled at a factory. It produces heads, eyes, mouths, and assembles them: first two eyes to a head, then the mouth, and finally life (a smile) is activated, before delivery. The fabrication is well-balanced. All operations take between 1 and 5 secs, except the production of eyes, which takes half this time.

There is a limited number of kanbans for each part or assembly, in order to control production. Currently, they are all fixed to a high value (100, 200 for the eyes) to simulate a push policy. On the one hand, it reaches the maximum throughput (20 smileys per minute), but it requires a large amount of work in progress (WIP). On the contrary, with a pull policy (1 kanban, 2 for the eyes) a minimum WIP is achieved, but throughput is halved.

The goal of the simulation study is to determine the number of kanbans required for a given target throughput, say 17 smileys/min.

If the eye’s production could fail (according to some MTBF and RT distributions, currently the RT is multiplied by zero, so availability is 100%), the numbers of kanbans, particularly K2, should be reconsidered.


(The png files are used to display nice entities.)


PushPull.cfg
SmileyModel.png
WhatsApp_Icon.png
BocaModel.png
CabezaModel.png
CabezaOjosBocaModel.png
CabezaOjosModel.png
Magia.png
OjoModel.png

E.T.

unread,
Jul 9, 2019, 6:13:28 AM7/9/19
to Jaamsim Users Discussion Group
Eemrgency Department of a Hospital, as specified in the 12th IIE/RA Arena Contest (attached)
The authors of the model were my students Tomas Berriel and Javier Muñoz.


El miércoles, 1 de mayo de 2019, 16:29:38 (UTC+2), Harry King escribió:
IIE_RA_12_CityHopspital.zip
EmergencyDepartment.cfg

E.T.

unread,
Jul 9, 2019, 11:50:03 AM7/9/19
to Jaamsim Users Discussion Group
A Manufacturing System, as specified in the 9th IIE/RA Arena Contest (attached).
The authors of the model were my students Jorge Playan and Matteo Savino.

El miércoles, 1 de mayo de 2019, 16:29:38 (UTC+2), Harry King escribió:
IIE_RA_9_ImproveFMS.zip
ManufacturingSystem.cfg

roman_g

unread,
Jul 23, 2019, 5:54:12 PM7/23/19
to Jaamsim Users Discussion Group
In Polish unfortunately ... 

In our case, contact center was rather simple, it served primarily inbound emails assigned to variety of categories. Depending on needs, CC conducts some outbound work. We were asked to estimate how much Agents are needed for specific day/hour. The estimations were made in MS Excel, based on model using Erlang's formulas (standard for call center FTEs requirements calculations).The high level jaamsim model was used to verify the business logic and calculation/assumptions made.

CC receives customer requests primarily during Mon-Fri, but also on Sat-Sun. Thus the client wanted to allocate some resources also to weekends.

cfg Model - is 7 busy days simulation for given daily/hourly distribution pattern and assigned Agents to specific hours.
xls ... to highlight how TimeSeries inputs were caculated. TimeSeries1 - cases (clients' requests), TimeSeries2 - Agents
MacierzTypuZgl_CC5.txt (input for MacierzTypuZgl) ... inbound/outbound cases categories with assigned handling times

CzasObslugi ... handling time

Hope you can find it helpful.
Roman

Contact Center_v5.xlsx
Contact Center_v5.cfg
MacierzTypuZgl_CC5.txt
Message has been deleted
Message has been deleted

Trevor Miles

unread,
Aug 12, 2020, 8:24:17 AM8/12/20
to Jaamsim Users Discussion Group
Hi E.T.

Very interesting. I'm trying to rewrite this as a series of documents - customer order, replenishment order, production order, purchase order - and the the material flow between the physical locations.

Regards
Trevor
Message has been deleted

Bruno

unread,
Apr 5, 2021, 1:12:21 PM4/5/21
to Jaamsim Users Discussion Group
Hello, first of all thank you for your contribution. I have a problem opening the Eemrgency Department of a Hospita project. When I try to open it, it throws me an error log with the following errors:
*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb85d1f9f5] has not been defined.

*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb85d1f9f5] has not been defined.

*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb85d1f9f5] has not been defined.

*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb86210f08] has not been defined.

*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb86210f08] has not been defined.

*** ERROR *** The parent entity [kisspng-hospital-inpatient-care-grandfather-old-age-the-aged-5b496cc77b9fb5] has not been defined.

*** ERROR *** The parent entity [kisspng-hospital-inpatient-care-grandfather-old-age-the-aged-5b496cc77b9fb5] has not been defined.

*** ERROR *** The parent entity [kisspng-hospital-outpatient-clinic-medicine-health-adminis-5b37db526e5229] has not been defined.

*** ERROR *** The parent entity [kisspng-hospital-outpatient-clinic-medicine-health-adminis-5b37db526e5229] has not been defined.

*** ERROR *** The parent entity [kisspng-quality-surgery-surgeon-clip-art-surgery-5adbd5ddd85809] has not been defined.

*** ERROR *** The parent entity [kisspng-quality-surgery-surgeon-clip-art-surgery-5adbd5ddd85809] has not been defined.

Bruno

unread,
Apr 5, 2021, 1:45:19 PM4/5/21
to Jaamsim Users Discussion Group
and when I try to run the simulation it throws me the following error:
CriticalPatientsAssign: Invalid attribute name for Critical_ED_Patient_arrivals_1: tolerance

El martes, 9 de julio de 2019 a las 7:13:28 UTC-3, E.T. escribió:

E.T.

unread,
Apr 12, 2021, 5:29:16 AM4/12/21
to Jaamsim Users Discussion Group
Hi Bruno. Please try with a version of JaamSim of that time.
JaamSim improves continuously. This is great, but it has the (minor) inconvenience that syntax changes quite often...
Once the offending syntax is detected via the log window, uppdating a model is usually quite easy, editing the cfg file in a text editor. (But I cannot keep doing it, sorry.)
Wrt. to the "funny" icons which are missing, never mind about them (you can create yours, or change to standard ones in the Graphics tab of the Input editor).
Hope you find this (and specially the models) useful!

Cristiano Silva

unread,
Apr 12, 2021, 6:19:44 AM4/12/21
to Bruno, Jaamsim Users Discussion Group
Conhece meus vídeos?

Segue link da playlist, pode ser útil.

https://www.youtube.com/watch?v=7RYCYp5ivlQ&list=PLRvwRusArl39IYHrsQRj89onSVvFeWIIP&t=0s

Atenciosamente,
Cristiano Luís Turbino de França e Silva
==============================
                      GNU / Linux
    ,                ,       /       .-.
   /                  \     /      (e e)
  ((__-^^-,-^^-__))   /     _.`V'._
    `-_---' `---_-'      /    //~~W~~\\
  <__|o ` 'o|__>   /    //,           ,\\
        \   `  /       /    // |            | \\
         ):  :(      /      \) |            | (/
        :o_o:    /           \           /
          "-"    /              `w -  w'


On Mon, Apr 5, 2021 at 2:08 PM Bruno <brunoboc...@gmail.com> wrote:
when trying to open the Eemrgency Department of a Hospital project it throws me the following error log:


*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb85d1f9f5] has not been defined.

*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb85d1f9f5] has not been defined.

*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb85d1f9f5] has not been defined.

*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb86210f08] has not been defined.

*** ERROR *** The parent entity [kisspng-emoji-surgical-mask-surgery-emoticon-enfermo-5b36bb86210f08] has not been defined.

*** ERROR *** The parent entity [kisspng-hospital-inpatient-care-grandfather-old-age-the-aged-5b496cc77b9fb5] has not been defined.

*** ERROR *** The parent entity [kisspng-hospital-inpatient-care-grandfather-old-age-the-aged-5b496cc77b9fb5] has not been defined.

*** ERROR *** The parent entity [kisspng-hospital-outpatient-clinic-medicine-health-adminis-5b37db526e5229] has not been defined.

*** ERROR *** The parent entity [kisspng-hospital-outpatient-clinic-medicine-health-adminis-5b37db526e5229] has not been defined.

*** ERROR *** The parent entity [kisspng-quality-surgery-surgeon-clip-art-surgery-5adbd5ddd85809] has not been defined.

*** ERROR *** The parent entity [kisspng-quality-surgery-surgeon-clip-art-surgery-5adbd5ddd85809] has not been defined.

--
You received this message because you are subscribed to the Google Groups "Jaamsim Users Discussion Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jaamsim-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/jaamsim-users/bec9bec5-b969-4e06-bab2-54f0f7c2ae13n%40googlegroups.com.

Bruno

unread,
Apr 12, 2021, 11:24:02 AM4/12/21
to Jaamsim Users Discussion Group
Thanks you, i fix the problem by installing version 2019-02.

Bruno

unread,
Apr 12, 2021, 11:26:00 AM4/12/21
to Jaamsim Users Discussion Group

Thank you very much, in fact I was able to run the model with the 2019-02 version.

kelly lim

unread,
Mar 25, 2024, 10:45:09 AMMar 25
to JaamSim Users Discussion Group
Hi all,  

wanted to ask for any ideas on how to solve the bug for the above model that E.T. has kindly shared (Jul 9, 2019, 6:13:28 PM)


I was attempting to run E.T.'s file (Jul 9, 2019, 6:13:28 PM) on the Emergency Department of a Hospital, as specified in the 12th IIE/RA Arena Contest (attached)

The authors of the model were my students Tomas Berriel and Javier Muñoz.

It appears that the main problems are: 

Runtime error in replication 1 of scenario 7 at time 348.694960 s:
ExponentialDistribution1 keyword 'ServiceTime':
Could not find a sample value that was within the range specified by the MinValue and MaxValue inputs.
Number of samples tested = 1000

Thank you for your advice in advance

 

Best Regards, 

Kel


kelly lim

unread,
Mar 25, 2024, 10:45:14 AMMar 25
to JaamSim Users Discussion Group
Dear community, I'm trying to understand the Emergency model that E.T. kindly shared above (Jul 9, 2019, 6:13:28 PM)

I would like to ask where " (this.obj.tolerance-this.obj.StateTimes("HospitalTime"))  AND  "this.obj.treatment_priority" is taken from the following input builder and how to understand what the QueueCheckIn RenegeTime, QueueCheckIn RenegeDestination, QueueDiagnosticsWaitingArea Priority and QueueDiagnosticsWaitingArea RenegeTime is doing.


# *** Queue ***
QueueCheckIn RenegeTime { 'this.obj.tolerance-this.obj.StateTimes("HospitalTime")<0[h]?0[h]:(this.obj.tolerance-this.obj.StateTimes("HospitalTime"))' }
QueueCheckIn RenegeDestination { EntitySink1}

QueueDiagnosticsWaitingArea Priority { this.obj.treatment_priority }
QueueDiagnosticsWaitingArea RenegeTime { this.obj.tolerance-this.obj.TotalTime<0[h]?0[h]:(this.obj.tolerance-this.obj.TotalTime) }

Screenshot 2024-03-25 200556.png


Thank you for helping

Best Regards, 
Kel
On Tuesday, July 9, 2019 at 6:13:28 PM UTC+8 E.T. wrote:

kelly lim

unread,
Mar 25, 2024, 10:45:17 AMMar 25
to JaamSim Users Discussion Group
Dear community, 

I trying to understand the Emergency model that E.T kindly shared (Jul 9, 2019, 6:13:28 PM). I am wondering how to better represent the diverse seniority levels among medical staff (incorporate nine doctors with varying levels of experience and capabilities).

  • Four senior doctors: capable of handling all levels of patient severity (moderate, serious, and critical).
  • Three trainee doctors: capable of handling moderate and serious patients.
  • Two intern doctors: capable of handling moderate patients only.

To achieve this, I am considering creating three separate entity processors after the queue (QueueDoctorsCritical, QueueDoctorsStandard2, QueueDoctorsStandard), each equipped with the resources of doctors of different seniority levels. I would greatly appreciate your guidance on how to proceed with this modification effectively.

Best regards,
Kel
On Tuesday, July 9, 2019 at 6:13:28 PM UTC+8 E.T. wrote:

E.T.

unread,
Mar 26, 2024, 7:39:03 AMMar 26
to JaamSim Users Discussion Group
Hi Kel. Please try with a version of JaamSim of that time, up to 2019.
JaamSim improves continuously. This is great, but it has the (minor) inconvenience that syntax changes quite often...
Once the offending syntax is detected via the log window, uppdating a model is usually quite easy, editing the cfg file in a text editor. (But I cannot keep doing it, sorry.)
Wrt. to the "funny" icons which are missing, never mind about them (you can create yours, or change to standard ones in the Graphics tab of the Input editor).
Hope you find this (and specially the models) useful!

Enrique Teruel

unread,
Mar 27, 2024, 12:23:11 AMMar 27
to kelly lim, JaamSim Users Discussion Group
Hi Kel. Please try with a version of JaamSim of that time, up to 2019.
JaamSim improves continuously. This is great, but it has the (minor) inconvenience that syntax changes quite often...
Once the offending syntax is detected via the log window, uppdating a model is usually quite easy, editing the cfg file in a text editor. (But I cannot keep doing it, sorry.)
Wrt. to the "funny" icons which are missing, never mind about them (you can create yours, or change to standard ones in the Graphics tab of the Input editor).
Hope you find this (and specially the models) useful!

Enrique


--
You received this message because you are subscribed to a topic in the Google Groups "JaamSim Users Discussion Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jaamsim-users/mtQKL4pBMG8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jaamsim-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/jaamsim-users/24d9ed79-70b3-42a5-b7fb-15e7f2762840n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages