RetrieverBreeder
- Project name: RetrieverBreeder
- Class: 4IT496 (WS 2015/2016)
- Author: Bc. Lucie Pokorná
- Model type: Discrete-event simulation
- Software used: SimProcess, trial version
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)
Contents
Problem definition
Simulation should answer the question how many female dogs is optimal to keep for satisfying the demand for golden retriever puppies.
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 and indirectly let the owner of a kennel satisfy the demand. All puppies born in a kennel are pedigreed and their genealogical tree is thoroughly recorded.
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. Currency settings is very limited in trial version, the only currency accessible is american dollar. Model has been adapted for that (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
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, 5) customers desiring a male puppy and 30 Nor(30,5) 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 in the stated sources.
Entities
- puppy born at the beginning of the simulation
- 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)
- Puppy that turned out to be a male
- Puppy that turned out to be a female
- 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
- 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
- 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.
Processes
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.
Variable expenses necessary per puppy are in average 222 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.
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%.
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). 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.
Results