Difference between revisions of "RetrieverBreeder"

From Simulace.info
Jump to: navigation, search
 
(38 intermediate revisions by the same user not shown)
Line 7: Line 7:
  
 
----
 
----
 
Recommended work outline:
 
 
Problem definition - a description of the situation you solve (i.e. the task)
 
Method - the discussion of possible solutions, the selection of method and tools for the solution, reasons for such choice (why the selected methods and tools are the best for the problem)
 
Detailed description of the method, including parameters, ranges, schemes, model limitations, etc. The description must be detailed enough that anybody could replicate the experiment event without your model source codes.
 
Results - list of results, their analysis, interpretation and evaluation.
 
Conclusion - how the problem was solved
 
Citations
 
Model source code (xls, spm, nlogo, mdl, etc. file)
 
  
 
=Problem definition=
 
=Problem definition=
 
<div>  
 
<div>  
Simulation should answer the question how many female dogs is optimal to keep for satisfying the demand for golden retriever puppies.
+
Simulation should answer the question how many female dogs is optimal to keep for: <br>
 +
1. making sure that all dogs get their owner <br>
 +
2. satisfying the demand for golden retriever puppies <br>
 +
in that order.
 
</div>
 
</div>
<br>
+
 
 
 
=Detailed problem definition=
 
=Detailed problem definition=
 
<div>  
 
<div>  
 
he goal of the simulation is to simulate the whole simplified process to find the optimal amount of female golden retriever dogs owned and/or kept regarding all given variables and facts.  
 
he goal of the simulation is to simulate the whole simplified process to find the optimal amount of female golden retriever dogs owned and/or kept regarding all given variables and facts.  
Goal is to only have the ideal number of breeding dogs capable to fulfill the given birth giving plan and indirectly let the owner of a cattery satisfy the demand.  
+
Goal is to only have the ideal number of breeding dogs capable to fulfill the given birth giving plan, attempt to sell as many born puppies as possible and at the same time indirectly let the owner of a kennel satisfy the demand for puppies originating from the kennel.
 +
All puppies born in a kennel are pedigreed and their genealogical tree is thoroughly recorded.
 +
The kennel contains 5 breeding female dogs at current state.  
 
</div>   
 
</div>   
<br>
 
  
 
=Method=
 
=Method=
 
<div>  
 
<div>  
When first seeing the SIMPROCESS possibilities and observing the way to show the simulation running, an idea of pet breeding simulation almost immediately came to mind. Such a simulation compound of the generating (literally generating in this case) an entity - puppy delivery, delay - puppy growth and then disposing the entity - either finding a match with a corresponding demand (a waiting customer), offering and older puppy for lower price, or just keeping the particular one in a cattery - is exactly the discrete-event type of simulation that could be shown quite transparently, comprehensible yet clearly enough using this simulation tool.
+
When first seeing the SIMPROCESS possibilities and observing the way to show the simulation running, an idea of pet breeding simulation almost immediately came to mind. Such a simulation compound of the generating (literally generating in this case) an entity - puppy delivery, delay - puppy growth and then disposing the entity - either finding a match with a corresponding demand (a waiting customer), offering and older puppy for lower price, or just keeping the particular one in a kennel - is exactly the discrete-event type of simulation that could be shown quite transparently, comprehensible yet clearly enough using this simulation tool.
 
</div>
 
</div>
 
<div>  
 
<div>  
 
While the simulation has been conducted, no significant restrictions were found using just a trial version of the program. Few not that necessary activities had to be cut and the rest of the simulation optimized to make sure that the limit for a number of activities is not depriving the simulation of possibly interesting results.  
 
While the simulation has been conducted, no significant restrictions were found using just a trial version of the program. Few not that necessary activities had to be cut and the rest of the simulation optimized to make sure that the limit for a number of activities is not depriving the simulation of possibly interesting results.  
 +
Model has been adapted for currency of american dollar (exchange rate set to 25 CZK / USD).
 
</div>
 
</div>
<br>
 
  
 
=Model=
 
=Model=
Line 46: Line 39:
 
* '''"Birth giving" - puppy generating'''
 
* '''"Birth giving" - puppy generating'''
 
* '''"Growing Up" - delay activity'''
 
* '''"Growing Up" - delay activity'''
* '''"Staying" -  the cattery owner decides to keep a puppy'''
+
* '''"Staying" -  the kennel owner decides to keep a puppy'''
 
* '''"Leaving" - ideally a customer picks up a puppy, non ideally puppy is left "unwanted" for a longer period of time and has to be later sold for a lowered price or given entirely'''
 
* '''"Leaving" - ideally a customer picks up a puppy, non ideally puppy is left "unwanted" for a longer period of time and has to be later sold for a lowered price or given entirely'''
 
</div>
 
</div>
[[File:Xpokl18 model.jpg]]
+
[[File:Xpokl18_model.png]]
  
 
<div>
 
<div>
Just one of the processes - the "Leaving" process - contains most of the activities used starting from the probability based division of puppy gender, customer decision making situation and handling an occasional exception - the case when there is no demand for a particular puppy and not even the cattery owner desires to keep it.  
+
Just one of the processes - the "Leaving" process - contains most of the activities used starting from the probability based division of puppy gender, customer decision making situation and handling an occasional exception - the case when there is no demand for a particular puppy and not even the kennel owner desires to keep it.  
 
</div>
 
</div>
 
<br>
 
<br>
  
 
<div>
 
<div>
The  model is based on real data gathered in the stated sources.
+
The simulation is set to be run in numerous iterations (replications). The more breeding female dogs the kennel owns, the more birth giving occasions there are. For the purposes of this simulation there is no need to simulate breeding dogs in any way, the only thing that is important is the recurrences of such events such is birth givings. It has been decided that each replication will simulate just a one litter had by one female breeding dog.
</div>
 
 
 
<div>
 
The simulation is set to be run in numerous iterations (replications). The more breeding female dogs the cattery owns, the more birth giving occasions there are. For the purposes of this simulation there is no need to simulate breeding dogs in any way, the only thing that is important is the recurrences of such events such is birth givings. It has been decided that each replication will simulate just a one litter had by one female breeding dog.
 
 
In average, female golden retriever female is capable to give birth once a year and a half when the dog's health and well being is considered a number one priority. Simulation is set to show just a one such cycle. The lasting of a whole simulation including several replications is set to be an exact year and a half. That means that the number of replications equals to number of female breeding dogs within 18 months and actual breeding dogs as en entity or a resource may now be omitted in the simulation.
 
In average, female golden retriever female is capable to give birth once a year and a half when the dog's health and well being is considered a number one priority. Simulation is set to show just a one such cycle. The lasting of a whole simulation including several replications is set to be an exact year and a half. That means that the number of replications equals to number of female breeding dogs within 18 months and actual breeding dogs as en entity or a resource may now be omitted in the simulation.
 
</div>
 
</div>
  
 
<div>  
 
<div>  
The distribution function for the demand is set to be invariable in a several runs of a simulation set period of time for a slight simplification. From a personal experience, demand for pedigreed puppies from a particular cattery changes quite a lot, yet the average remains at a very similar level, no matter how many puppies were sold in the past. It is possible and recommendable to adjust the value higher (lower) in a consequent time period - when the time simulated in a simulation passes - when the average demand grows (decreases) based on the actual demand counts have been observed and noted.
+
The probability distribution for the demand is set to be invariable in a several runs of a simulation set period of time for a slight simplification. From a personal experience, demand for pedigreed puppies from a particular kennel changes quite a lot, yet the average remains at a very similar level, no matter how many puppies were sold in the past. It is possible and recommendable to adjust the value higher (lower) in a consequent time period - when the time simulated in a simulation passes - when the average demand grows (decreases) based on the actual demand counts have been observed and noted. The actual values are dependent on set number of replication.
 +
Normal distribution was chosen to be calculated with.
 
</div>
 
</div>
  
== Entities ==
+
<div><i>
 +
*When a number of replications is changed, demands has to be modified as well. The demand is set to be around 25 Nor(25,2) customers desiring a male puppy and 30 Nor(30,2) customers desiring a female puppy per 18 months. In case of having 5 breeding dogs (5 litters per 18 months), demand has to be divided by 5 to distribute evenly for each litter.
 +
</i></div>
  
<div>'''SeriouslyInjuredPatient''' – this is a seriously injured patient with the priority number one. It means that he is preferred over other types of patients. This entity is generated in Poisson distribution (2.0) a day in time 9:00-16:00. Outside this time people visit emergency staff. </div>
+
<div>
 
+
The model is based on real data gathered from personal experiences, partly provided by a real kennel owner.
 
+
</div>
<div>'''HospitaledPacient''' - this is a patient which is coming from the same hospital. He is prevailed over the standard patient. he is known to the doctor, because he usually has got accompaniment from the hospital. These patients usually come  in the  morning between 7:00-11:00. Poisson distribution for this time is Poi (2.0) for an hour. In time 11:00-16:00 there are  noticeably fewer  patients. Poisson distribution for this time is Poi (1.0) for an hour.</div>
 
 
 
 
 
<div>'''StandardPatient''' – this patient is coming from the outside of hospital and his injury is not extensive or he has any other non-serious problem (at least he doesn’t know that it is serious, he has no large bleeding e.g.). These patients are coming usually between 7:00 and 11:00. Poisson distribution for this is Poi (6.0) for an hour. In the  afternoon (11:00-16:00) around 3 patients  come Poi(3.0) in  an hour.</div>
 
  
 +
== Entities ==
  
<div>Explanation of other situations: The simulation doesn´t take into account  patients attending the medical office on Saturdays and Sundays, because on weekends patients usually attend emergency departments because they know the medical office is closed.</div>
+
<div>'''Puppy'''</div>
 +
- puppy born at the beginning of the simulation
 +
<div>'''Staying Puppy'''</div>
 +
- Dog that the kennel owner decides to keep (and in case of a female dog potentially transform into a breeding dog, but that is not part of this simulation)
 +
<div>'''Male Puppy'''</div>
 +
  - Puppy that turned out to be a male
 +
<div>'''Female Puppy'''</div>
 +
  - Puppy that turned out to be a female
 +
<div>'''Grown Puppy'''</div>
 +
- Such puppy was not chosen by any customer during customer visitations and has to be treated in a different manner to make sure that it will find its new home
  
 
== Resources ==
 
== Resources ==
  
<div>'''PreDoctor''' – this is usually a nurse or a doctor which only decides  whether a seriously injured patient shall be taken to the Intensive care staff or shall be examined in the office. This process usually takes around 2,5 minutes on average – Exp(2.5)</div>
+
<div>'''Expenses'''</div>
 +
  - Every puppy costs 222 USD per average to take care and nourish in the kennel
 +
- Puppy that survives the birth giving automatically consumes this resource
  
 +
<div>'''Additional Expenses'''</div>
 +
- A grown puppy costs additional 85 USD per average to take care and nourish in the later stages of its life
 +
- Such puppy has to be taken care of while waiting in the kennel
  
<div>'''Office doctor''' – their working time in office is from 9:00 to 17:00, they usually have a lunch break for 45 minutes, and sometimes  starts examining about around 20-30 minutes later (Tri(20.0,25.0,30.0)). This resource has set up some downtimes. There is downtime when doctors have a lunch break, and when they don’t work and are at home. In the week of simulation, there aren´t simulated any doctors on a vacation. Another problem which can occur is calling doctor to operations. This situation is simulated in this simulation on Monday and Wednesday, where is one doctor away from the staff (10:00-11:30 or 10:00-12:00). </div>
+
<div>
 +
Demand has been implemented as a resource being used within the visitations activity.
 +
Normal distribution was used.
 +
</div>
 +
<div>'''Demand for male dogs'''</div>
  
 +
<div>'''Demand for female dogs'''</div>
  
¨
 
 
== Processes ==
 
== Processes ==
  
<div>'''Generation of patients'''</div>  
+
<div>'''Birth Giving'''</div>  
[[File:Generation.jpg]]
+
Golden retrievers give birth to approximately 8-12 puppies per litter, but extremes may might occur as well.
<div>There are generated three types of entities. These entities introduced three types of patients which are coming to the waiting room and will wait for examination.</div>
+
Probability distribution used is normal distribution (Nor(10,2)).
 +
When puppy is born, it can die in approximately 8% of cases.
 +
The rest of surviving puppies carry on to the upcoming process, which is growing up.
  
 +
[[File:Xpokl18_birth.png]]
  
<div>'''Examination'''</div>
 
[[File:ExaminationX.jpg]]
 
<div>''Queue of patients''</div>
 
Queue is divided by entities. There is the difference between standard, seriously injured and hospitalized patients.
 
Seriously injured patients (SIP) are preferred  over others and they are pre-examined at first. This pre-examination is done by a nurse or a doctor from other staff and is determinative for further procedure. The patient could be sent to the intensive care unit if his injury is really serious (this is around 45% of patients) or he can be sent to the office (this is about 55%).
 
Hospitalized patients have no other branch off.
 
Standard patients are coming from outside of hospital and there is one branch off which is divided by percent.  It is  because of there are 9%of patients who don’t want to wait and leave the waiting room before an examination by doctor. Other 91% are waiting for an examination by doctor.
 
  
 +
<div>'''Growing Up'''</div>
 +
Variable expenses necessary per puppy are in average 220 USD (diet: special nourishment for puppies, vet care: vaccines, preventing of possible worm infestation).
 +
Expenses are used in this phase, because they do not vary significantly in the whole process of growth.
 +
Every puppy that makes into this process has to be taken care of and fed, taken care of and kept in a safe environment with its mother at least for two months since birth.
 +
Therefore a delay activity has been implemented with a fixed time span of two months.
  
<div>''Examination by doctor''</div>
+
[[File:Xpokl18_growing.png]]
This part of simulation simulates examination or treatment by the doctor. It is illustrated by normal distribution Nor(10.0, 3.0, 1) in minutes. In the next step after examination by the doctor it is decided if a patient needs another examination (for example CT, X-ray, MR or other blood tests. There are usually 30% of patients who need another examination. 55% of patients are sent home. And the rest  (15%) stays in the hospital and are hospitalized.  
 
  
  
<div>''Other examinations''</div>
+
<div>'''Staying'''</div>
This simulates other examinations which are needed for right decisions of a doctor in the office. There is used exponential distribution Nor (15.0, 3.0, 1) minutes. After this patients can be sent back to the waiting room (95%), or can be sent home (5%) because  results will be known after 20-23hours.  These patients go home, but there are 2% of them who don’t come back to get  their  results. The rest  (98%) comes back for their results.  The distribution of the time when they come back is given by triangular distribution Tri (22.0, 23.0, 23.5).  
+
When a kennel owner decides to keep the puppy because of its exceptional characteristics, it is pre-selected and marked as a not for sale puppy - simulation has different development process.
 +
The puppy can be kept for breeding or dog show purposes.
 +
Such an exception can rarely take place, yet there is a possibility of it happening.
 +
The possibility is set to be 0,045%.
  
 +
[[File:Xpokl18_staying.png]]
  
<div>'''Going home'''</div>
 
[[File:Home.jpg]]
 
<div>In this simple process patients go home and dont return to the staff in this simulation. There can be a situation in which seriously injured patient goes home. It could happen when he is treated very well or when he signs a revers.</div>
 
  
[[File:Příklad.jpg]]
+
<div>'''Leaving'''</div>
 +
First thing that has to happen is a gender differentiation.
 +
The ratio is pretty even, there is on average slightly more female dogs then male dogs.
 +
The probability has been set to 0,47% for males and the rest for females.
  
<div>This simulation lasts for 4 day 23 hours 59 minutes and 59 sec.</div>
+
After the gender recognition, puppies are let to be visited by costumers - already gender defined.
 +
Visitation time last about one month (exponential distribution Exp(30) in days) and can last up to 2 months.
 +
In these visitation activities the demand resource takes place.
 +
In simulation the demand is understood as the final number of customers decided and willing to buy a puppy of some particular gender.
 +
Hesitations and mind changing aspect were not taken into consideration,
 +
because customers are not handled as an entity and most importantly their mind is already set.  
  
=Results=
+
When the resources are consumed (there is no more customers to pick up a puppy) and approximately a month passes, puppies are not bought (disposed of the desired way) and they get older. Three months age in a puppy is an age than the majority of customers with a demand for a pedigreed puppy do not find optimal any more.
 +
Grown puppies stay in the kennel and are taken care of even further with an additional expenses (85 USD).
 +
Expenses at this point consist of a nourishment mostly, therefore it is lower than the initial cost.
  
 +
The puppy is then advertised individually and given to a customer that does not mind the slightly older age of a puppy and still desires a pedigreed puppy.
 +
Pricing at this point is set to zero, because the price drops very quickly with age and the expenses start to exceed the possible gain, so these left-over puppies are might be eventually making a loss.
 +
Nevertheless, the most important goal is to find them a new home and increase their chances to have a fully-fledged lifetime.
  
<div>'''If there are only 2 working doctors we can say that:'''</div>
+
[[File:Xpokl18_leaving.png]]
  
 +
=Results=
  
<div>The medical stuffs inthis case visited 289 patients in this experiment. One patient stays in system. This was caused because he was send home and he will be waiting for his medical results to the next working day.</div>
+
<h2>CASE N. 1 - Keeping current situation (5)</h2>
  
<div>[[File:TotalCount.jpg]]</div>
+
The model has been set to have 5 breeding female dogs at the beginning, in other words in once cycle (year and a half) the kennel can offer puppies from 5 golden retrievers litters in total.
 +
In the simulation, there was 51 puppies generated - 18 male and 30 female. <br>
 +
17 male puppies would be bought.<br>
 +
25 female puppies would be bought.<br>
 +
6 puppies would be left with no arranged owner, grew and had to be advertised individually.<br>
 +
2 puppies would die right after birth.<br>
 +
1 puppy would be kept in the kennel as an exceptional one and grow up with its mother.
  
 +
[[File:Xpokl18_result1.png]]
  
<div>Counts of patients in system in average is:</div>
+
'''Financial view''' <br>
<div>[[File:CountsOfPat2.jpg]]</div>
+
42 puppies would be bought in total each for 600 USD = + 25,200 USD <br>
 +
50 puppies would survive and = 50 * 220 = - 11,000 USD <br>
 +
6 puppies would require additional expenses = 6 * 85 USD = - 510 USD <br>
 +
Profit: 13,690 USD<br>
  
 +
<h2>CASE N. 2 - One more breeding female dog (6)</h2>
  
<div>In the other table we can see that there is waiting time for examination in average at standard patient 134 minutes - it is around 2 hours. Other patients are waiting quite long time too.</div>
+
In the simulation, there was 54 puppies generated - 15 male and 36 female.<br>
<div>[[File:WaitingFE23.jpg]]</div>
+
14 male puppies would be bought.<br>
 +
28 female puppies would be bought.<br>
 +
9 puppies would be left with no arranged owner, grew and had to be advertised individually.<br>
 +
No puppy would die right after birth.<br>
 +
3 puppies would be kept in the kennel as an exceptional one and grow up with its mother. <br>
  
 +
'''Financial view'''<br>
 +
42 puppies would be bought in total each for 600 USD = + 25,200 USD<br>
 +
54 puppies would survive and = 54 * 220 = - 11,880 USD<br>
 +
9 puppies would require additional expenses = 6 * 85 USD = - 765 USD<br>
 +
Profit: 12,555 USD<br>
  
<div>'''If there are 4 working doctors we can say that:'''</div>
+
- Lower earnings were achieved and more puppies have been left to grow up to the stage that demand for them dropped drastically. <br>
 +
- Their well being is not guaranteed and a lot of additional effort would have to be given to find a new owners.<br>
 +
- In this case none of desired benefits would be obtained.<br>
  
 +
<h2>CASE N. 3 - One less breeding female dog (4)</h2>
  
<div>The medical stuff visited 281 patients in this experiment. Two patients stay in the system again. They were send home and he will be waiting for his medical results to the next working day.</div>
+
In the simulation, there was 38 puppies generated - 14 male and 20 female.<br>
 +
14 male puppies would be bought.<br>
 +
20 female puppies would be bought.<br>
 +
No puppy would be left with no arranged owner, grew and had to be advertised individually.<br>
 +
2 puppies would die right after birth.<br>
 +
2 puppies would be kept in the kennel as an exceptional one and grow up with its mother.<br>
  
<div>[[File:Total4.jpg]]</div>
+
'''Financial view'''<br>
 +
34 puppies would be bought in total each for 600 USD = + 20,400 USD<br>
 +
54 puppies would survive and = 36 * 220 = - 7,920 USD<br>
 +
0 puppies would require additional expenses = 6 * 85 USD = 0 USD<br>
 +
Profit: 12,480 USD<br>
  
 +
- Even though earnings are lower, all puppies were passed off and no potential was wasted.<br>
 +
- This option fits the requirements if the priority of the kennel owner is to take care of new born puppies with the inevitable risk that demand may be left unsatisfied and a lot of costumers may be lost in the process.<br>
  
<div>Counts of patients in system in average is:</div>
+
=Conclusion=
<div>[[File:Counts2.jpg]]</div>
+
<div>As expected the proportion between earnings and puppy well-being at the end seems to be functioning almost every time in opposition,
 +
but in one case conducted simulation has showed that both aspects can get worse at the same time.
  
 +
Changes made in the second simulation (increasing the amount of dogs by one) have not shown to be improving neither of desired benefits.
 +
The idea of having more breeding female dogs in order to either make earn more or has proven to be not working as expected - too many puppies did not get sold and less money was earned.
  
<div>In the other table we can see that there is waiting time for examination in average for standard patients around 50 minutes - it is better time that in the previous case, but still not good time for waiting.</div>
+
The third simulation turned out to be very merciful to all puppies leaving none with no arranged customer, yet the earning were the lowest of all cases.
<div>[[File:Wait4.jpg]]</div>
+
It seems that the current female breeding dogs amount is sufficient to have the highest possible profit when considering all dogs covered in the breeding process.
 
+
In case that the dog owner finds it really problematic to find home for too grown puppies, one if his breeding dogs should retire. </div>
 
+
'''Given the ordered goals in Problem definition section, optimal number of breeding dog is one less than the number that is allocated in the current state, which means only 4 active breeding female dogs.'''
Now we see that we can´t solve problem of waiting time very effectively in real.
 
 
 
The big problem is beginning in the morning. Patients usually start comming at 7:00 and doctors start working at 9:00. There are 2 hours at least when patients have to wait. In both experiments there is maximum count of patients in system around 24 of standard patients, 6 of seriously injured patients and around 7 of hospitalited patients. Maximum number of waiting patients for examination is in case of standard patients around 23.
 
 
 
There is the difference in waiting time between 4 and 2 working doctors in medical staffs. The waiting time is half. But when we count the salary of one doctor (in average around 40 000 -45 000Kč/month) there is situation which is not so economic.
 
 
 
There are limitations as number of staffs in hospital too.
 
 
 
The best solution of this problem is to cut down the lunch break at half hour and start early working.
 
 
 
=Conclusion=
 
Making a model of a specific medical staff is quite complicated. It is important to deal with some detailed and unpredictable problems. People(resources) are very unpredictable and system is very complex.
 
<div>Because this simulation was made in a trial version of SIMPROCESS, there were some limitations, mainly in count of entities, resources and count of activities. For this simulation this was quite restricting, because there are some details which are not solved because of these limitations. There are not any extreme causes e.g. pandemia in this simulation model. I think that there are better tools than SIMPROCESS for modelling these cases which could be used. SIMPROCESS is good for predictable and regular things.  </div>
 
Despite all limitations this simulation can help with optimization of the number of doctors and shows quite real process of patient althought it coud be very complex.
 
  
 +
=Sources=
 +
Dog Time, Golden Retriever - http://dogtime.com/dog-breeds/golden-retriever <br>
 +
All about goldens, Dog Breeding - http://www.all-about-goldens.com/dog-breeding.html <br>
 +
American Kennel Club, Golen Retriever - http://www.akc.org/dog-breeds/golden-retriever <br>
 +
GoldStockFund, The (very) Basics About Breeding Your Golden Retriever - http://www.goldstockfund.org/edu/breeding_basics.html<br>
 +
Genuine Goldens, Golden Retriever Breed Information - http://www.genuinegoldens.com/breedinfo.html<br>
 
=Code=
 
=Code=
[[File:Chirurgy_Nov.spm]]
+
[[File:RetrieverBreeder.spm]]

Latest revision as of 16:39, 17 January 2016

  • Project name: RetrieverBreeder
  • Class: 4IT496 (WS 2015/2016)
  • Author: Bc. Lucie Pokorná
  • Model type: Discrete-event simulation
  • Software used: SimProcess, trial version

Problem definition

Simulation should answer the question how many female dogs is optimal to keep for:
1. making sure that all dogs get their owner
2. satisfying the demand for golden retriever puppies
in that order.

Detailed problem definition

he goal of the simulation is to simulate the whole simplified process to find the optimal amount of female golden retriever dogs owned and/or kept regarding all given variables and facts. Goal is to only have the ideal number of breeding dogs capable to fulfill the given birth giving plan, attempt to sell as many born puppies as possible and at the same time indirectly let the owner of a kennel satisfy the demand for puppies originating from the kennel. All puppies born in a kennel are pedigreed and their genealogical tree is thoroughly recorded. The kennel contains 5 breeding female dogs at current state.

Method

When first seeing the SIMPROCESS possibilities and observing the way to show the simulation running, an idea of pet breeding simulation almost immediately came to mind. Such a simulation compound of the generating (literally generating in this case) an entity - puppy delivery, delay - puppy growth and then disposing the entity - either finding a match with a corresponding demand (a waiting customer), offering and older puppy for lower price, or just keeping the particular one in a kennel - is exactly the discrete-event type of simulation that could be shown quite transparently, comprehensible yet clearly enough using this simulation tool.

While the simulation has been conducted, no significant restrictions were found using just a trial version of the program. Few not that necessary activities had to be cut and the rest of the simulation optimized to make sure that the limit for a number of activities is not depriving the simulation of possibly interesting results. Model has been adapted for currency of american dollar (exchange rate set to 25 CZK / USD).

Model

The simulation consists of 4 processes:

  • "Birth giving" - puppy generating
  • "Growing Up" - delay activity
  • "Staying" - the kennel owner decides to keep a puppy
  • "Leaving" - ideally a customer picks up a puppy, non ideally puppy is left "unwanted" for a longer period of time and has to be later sold for a lowered price or given entirely

Xpokl18 model.png

Just one of the processes - the "Leaving" process - contains most of the activities used starting from the probability based division of puppy gender, customer decision making situation and handling an occasional exception - the case when there is no demand for a particular puppy and not even the kennel owner desires to keep it.


The simulation is set to be run in numerous iterations (replications). The more breeding female dogs the kennel owns, the more birth giving occasions there are. For the purposes of this simulation there is no need to simulate breeding dogs in any way, the only thing that is important is the recurrences of such events such is birth givings. It has been decided that each replication will simulate just a one litter had by one female breeding dog. In average, female golden retriever female is capable to give birth once a year and a half when the dog's health and well being is considered a number one priority. Simulation is set to show just a one such cycle. The lasting of a whole simulation including several replications is set to be an exact year and a half. That means that the number of replications equals to number of female breeding dogs within 18 months and actual breeding dogs as en entity or a resource may now be omitted in the simulation.

The probability distribution for the demand is set to be invariable in a several runs of a simulation set period of time for a slight simplification. From a personal experience, demand for pedigreed puppies from a particular kennel changes quite a lot, yet the average remains at a very similar level, no matter how many puppies were sold in the past. It is possible and recommendable to adjust the value higher (lower) in a consequent time period - when the time simulated in a simulation passes - when the average demand grows (decreases) based on the actual demand counts have been observed and noted. The actual values are dependent on set number of replication. Normal distribution was chosen to be calculated with.

  • When a number of replications is changed, demands has to be modified as well. The demand is set to be around 25 Nor(25,2) customers desiring a male puppy and 30 Nor(30,2) customers desiring a female puppy per 18 months. In case of having 5 breeding dogs (5 litters per 18 months), demand has to be divided by 5 to distribute evenly for each litter.

The model is based on real data gathered from personal experiences, partly provided by a real kennel owner.

Entities

Puppy
- puppy born at the beginning of the simulation
Staying Puppy
- Dog that the kennel owner decides to keep (and in case of a female dog potentially transform into a breeding dog, but that is not part of this simulation)
Male Puppy
- Puppy that turned out to be a male
Female Puppy
- Puppy that turned out to be a female
Grown Puppy
- Such puppy was not chosen by any customer during customer visitations and has to be treated in a different manner to make sure that it will find its new home

Resources

Expenses
- Every puppy costs 222 USD per average to take care and nourish in the kennel
- Puppy that survives the birth giving automatically consumes this resource
Additional Expenses
- A grown puppy costs additional 85 USD per average to take care and nourish in the later stages of its life
- Such puppy has to be taken care of while waiting in the kennel 

Demand has been implemented as a resource being used within the visitations activity. Normal distribution was used.

Demand for male dogs
Demand for female dogs

Processes

Birth Giving

Golden retrievers give birth to approximately 8-12 puppies per litter, but extremes may might occur as well. Probability distribution used is normal distribution (Nor(10,2)). When puppy is born, it can die in approximately 8% of cases. The rest of surviving puppies carry on to the upcoming process, which is growing up.

Xpokl18 birth.png


Growing Up

Variable expenses necessary per puppy are in average 220 USD (diet: special nourishment for puppies, vet care: vaccines, preventing of possible worm infestation). Expenses are used in this phase, because they do not vary significantly in the whole process of growth. Every puppy that makes into this process has to be taken care of and fed, taken care of and kept in a safe environment with its mother at least for two months since birth. Therefore a delay activity has been implemented with a fixed time span of two months.

Xpokl18 growing.png


Staying

When a kennel owner decides to keep the puppy because of its exceptional characteristics, it is pre-selected and marked as a not for sale puppy - simulation has different development process. The puppy can be kept for breeding or dog show purposes. Such an exception can rarely take place, yet there is a possibility of it happening. The possibility is set to be 0,045%.

Xpokl18 staying.png


Leaving

First thing that has to happen is a gender differentiation. The ratio is pretty even, there is on average slightly more female dogs then male dogs. The probability has been set to 0,47% for males and the rest for females.

After the gender recognition, puppies are let to be visited by costumers - already gender defined. Visitation time last about one month (exponential distribution Exp(30) in days) and can last up to 2 months. In these visitation activities the demand resource takes place. In simulation the demand is understood as the final number of customers decided and willing to buy a puppy of some particular gender. Hesitations and mind changing aspect were not taken into consideration, because customers are not handled as an entity and most importantly their mind is already set.

When the resources are consumed (there is no more customers to pick up a puppy) and approximately a month passes, puppies are not bought (disposed of the desired way) and they get older. Three months age in a puppy is an age than the majority of customers with a demand for a pedigreed puppy do not find optimal any more. Grown puppies stay in the kennel and are taken care of even further with an additional expenses (85 USD). Expenses at this point consist of a nourishment mostly, therefore it is lower than the initial cost.

The puppy is then advertised individually and given to a customer that does not mind the slightly older age of a puppy and still desires a pedigreed puppy. Pricing at this point is set to zero, because the price drops very quickly with age and the expenses start to exceed the possible gain, so these left-over puppies are might be eventually making a loss. Nevertheless, the most important goal is to find them a new home and increase their chances to have a fully-fledged lifetime.

Xpokl18 leaving.png

Results

CASE N. 1 - Keeping current situation (5)

The model has been set to have 5 breeding female dogs at the beginning, in other words in once cycle (year and a half) the kennel can offer puppies from 5 golden retrievers litters in total. In the simulation, there was 51 puppies generated - 18 male and 30 female.
17 male puppies would be bought.
25 female puppies would be bought.
6 puppies would be left with no arranged owner, grew and had to be advertised individually.
2 puppies would die right after birth.
1 puppy would be kept in the kennel as an exceptional one and grow up with its mother.

Xpokl18 result1.png

Financial view
42 puppies would be bought in total each for 600 USD = + 25,200 USD
50 puppies would survive and = 50 * 220 = - 11,000 USD
6 puppies would require additional expenses = 6 * 85 USD = - 510 USD
Profit: 13,690 USD

CASE N. 2 - One more breeding female dog (6)

In the simulation, there was 54 puppies generated - 15 male and 36 female.
14 male puppies would be bought.
28 female puppies would be bought.
9 puppies would be left with no arranged owner, grew and had to be advertised individually.
No puppy would die right after birth.
3 puppies would be kept in the kennel as an exceptional one and grow up with its mother.

Financial view
42 puppies would be bought in total each for 600 USD = + 25,200 USD
54 puppies would survive and = 54 * 220 = - 11,880 USD
9 puppies would require additional expenses = 6 * 85 USD = - 765 USD
Profit: 12,555 USD

- Lower earnings were achieved and more puppies have been left to grow up to the stage that demand for them dropped drastically.
- Their well being is not guaranteed and a lot of additional effort would have to be given to find a new owners.
- In this case none of desired benefits would be obtained.

CASE N. 3 - One less breeding female dog (4)

In the simulation, there was 38 puppies generated - 14 male and 20 female.
14 male puppies would be bought.
20 female puppies would be bought.
No puppy would be left with no arranged owner, grew and had to be advertised individually.
2 puppies would die right after birth.
2 puppies would be kept in the kennel as an exceptional one and grow up with its mother.

Financial view
34 puppies would be bought in total each for 600 USD = + 20,400 USD
54 puppies would survive and = 36 * 220 = - 7,920 USD
0 puppies would require additional expenses = 6 * 85 USD = 0 USD
Profit: 12,480 USD

- Even though earnings are lower, all puppies were passed off and no potential was wasted.
- This option fits the requirements if the priority of the kennel owner is to take care of new born puppies with the inevitable risk that demand may be left unsatisfied and a lot of costumers may be lost in the process.

Conclusion

As expected the proportion between earnings and puppy well-being at the end seems to be functioning almost every time in opposition,

but in one case conducted simulation has showed that both aspects can get worse at the same time.

Changes made in the second simulation (increasing the amount of dogs by one) have not shown to be improving neither of desired benefits. The idea of having more breeding female dogs in order to either make earn more or has proven to be not working as expected - too many puppies did not get sold and less money was earned.

The third simulation turned out to be very merciful to all puppies leaving none with no arranged customer, yet the earning were the lowest of all cases. It seems that the current female breeding dogs amount is sufficient to have the highest possible profit when considering all dogs covered in the breeding process.

In case that the dog owner finds it really problematic to find home for too grown puppies, one if his breeding dogs should retire.

Given the ordered goals in Problem definition section, optimal number of breeding dog is one less than the number that is allocated in the current state, which means only 4 active breeding female dogs.

Sources

Dog Time, Golden Retriever - http://dogtime.com/dog-breeds/golden-retriever
All about goldens, Dog Breeding - http://www.all-about-goldens.com/dog-breeding.html
American Kennel Club, Golen Retriever - http://www.akc.org/dog-breeds/golden-retriever
GoldStockFund, The (very) Basics About Breeding Your Golden Retriever - http://www.goldstockfund.org/edu/breeding_basics.html
Genuine Goldens, Golden Retriever Breed Information - http://www.genuinegoldens.com/breedinfo.html

Code

File:RetrieverBreeder.spm