Chapter 1

  1. A) To determine which queue a customer will enter in a store it is necessary to understand the motivations of the customer. For them, the primary goal is to maximize their time use efficiency. In other words, customers will attempt to minimize the amount of time they must spend standing in the queue before they can check out and leave the store.

To Model this behavior, it is necessary to include an array of queue lines, customers and check out attendents. In addition it may also be helpful to vary the amount of time it takes to check out each customer, simulating customers with more or fewer items than a predetermined average. Doing this will provide a deeper insight into how queues are chosen by customers providing a greater level realism to the simulation’s parameters

B) To simulate the operation of a store’s queue lines by a manager, the focus of the model shifts and the amount of information required to establish new parameters also increases. In addition to simulating the time use efficiency behavior of the store’s customers, a manager would also be interested and be aware of how many employees are available to work the registers and whether the store is considered “busy” or not in order to determine how many registers should remain open.

Modeling this behavior would best be accomplished by providing a counter for how many people are in the store at one time and keeping one register open for every five people in the store. As more people enter the store, the number of registers open could also increase while the revers would also be true as customers leave the store.

C) If the focus of the model shifts again, this time to that of a store designer wishing to maximize productivity while also minimizing cost of operation, the model will also have to be adapted. This time, to accomplish these new goals modeling the addition of self-checkout or automated registers to the store queues would help maximize productivity as well as minimize cost of employees.

In this scenario, several things would have to be taken into account in the new model. First, the time it takes for customers to check out would likely have to increase because customers would have to scan their own items as well as pay and bag the items before they could be considered “finished”. Despite this longer time, the number of employees needed is decreased drastically. In order to accommodate the desired 100 people per hour, the next question becomes how many self check out registers are needed, and what the minimum number of employees are needed to maintain these registers. These answers could be answered by gathering data from actual stores that use self check out machines.

  1. A) In this model trees are the primary focus, in regards to their spacing. To model the spacing of an orchard accurately the most important variables to have in the model is the growth rate of the fruit trees as well as the average mature crown size of the trees. Of course, other factors go into the growth rate, but these may not be essential in determining the ideal spacing for an orchard. (These factors include available light, slope and aspect of the terrain, quality of the soil, and availability of water/ nutrients.) If the model is too simple at first the programmer could slowly add these factors in, but they are likely to be irrelevant for the desired function of the model. For most common fruit trees (as well as most other tree species use commercially) there is adequate data plotting the growth rate and the maximum crown size. For this reason, the model is likely to be mathematically intensive and not require an Agent Based Model to derive a solution.

B) Determining how much money should be invested into retirement funds from a person’s savings depends primarily on the nature of the five investment accounts. Presumably some of these accounts will have higher risk in the form of higher interest but they may also “grow” faster and accumulate more money in a shorter period of time. In contrast, other accounts may be safer, but take longer to achieve the same results as the more risky accounts. The primary variables associated with this model are the amount of money invested into each account and the interest and other economic variables associated with account growth/ loss. Because the math for these questions can be solved definitively an Agent Based Model would not be suited to answer this question.

C) Considering there are very few new roads constructed in today’s world, only roads being redone/ upgraded, the starting point to answer this question would be what are the traffic volumes like on the current road that is going to be upgraded. Once the answer to this question is obtained the model can be created. In this situation, and ABM that simulates drivers attempting to maximize their speed (with the speed limit being their maximum possible speed for safety) and minimize the amount of time spent in traffic should be created. In this model a slider could be added to change between 1, 2 or 3 lanes of traffic to determine the ideal number of lanes.

D) Assuming this model is dealing with one species of whale that is not already endangered or threatened, it is essential to determine the rate of reproduction for this whale species. In addition to this variable, others should be added, including a quantitative value for the ecological impact of the whale species. To derive this ecological impact score certain things should be taken into account, including the amount of food consumed by each whale, the whale’s impact on other ocean species, etc. Once this number is derived, the next step is to compare the ecological cost of harvesting a whale and the economic benefit of that same harvest. If the economic benefit is higher, a hunt could be allowed up until a point where the ecological costs and impacts equal the economic benefit. Because of the highly quantified nature of this model, an ABM would not be well suited to answer this question.

E) Determining which class to enroll in for the current semester is actually a secondary goal for this model. The primary goal that should be in mind when creating the model is how to best build a program that has the requirements for a physics degree built in. To determine which classes should be taken and when, the program should be able to assemble the schedules of all possible classes based on a maximum amount of allowable credits per semester (For UW Madison, this number would be 18). Also, the times each class is offered (Fall or Spring semester as well as the weekly schedule) as well as ensuring prerequisite classes are completed before advanced classes. Once this program is constructed solving the pre-existing problem of which classes to take in the current semester is as easy as running the program and heeding the answer. This program would likely rely heavily on databases and would not be an ABM.

F) The most accurate answer to this question is “as many as there is a demand for”. To determine a more accurate answer, an economic model of the forestry industry would have to be created. Constructing this model would involve creating an ABM with several agents.

First a consumer agent (paper mills and lumber mills) would have to be created using data from past demand to create an accurate set of parameters. These consumers would demand both pulp for paper as well as sawlogs for lumber and veneer products. Next, a supplier agent would have to be created. These suppliers would be landowners and the foresters that manage the forests. These agents would be focused on growing trees and selling their timber to the highest bidder amongst the consumer agents. (For the sake of simplicity, growing and harvesting trees in a sustainable and environmentally friendly manner could be eliminated, but the model would suffer greatly in realism if environmental issues were completely ignored.) Third, the logging companies would create a harvester agent to conduct the actual cutting of trees that are prescribed by the Foresters and demanded by the consumer agents. To specifically answer the question of how many trees need to be harvested per year, the logging agents could keep track of their total number of trees harvested in a year.

*In reality, the number of trees harvested is irrelevant to the forestry industry because they measure everything in Board Feet, which is the unit of volume obtained from a harvest. For the sake of model simplicity however, I opted to keep the conversion of trees into Board feet out of process, since each tree is different and there are too many variables to accurately model what the yield from each tree would be without making many gross assumptions that would further complicate things.

G) Essentially, a model to determine how much money should be kept as cash on hand will take the form of a mathematic equation.

Cash on Hand = Deposits – Withdrawals – Money Invested by the Bank + Investment Profits.

Determining the cash on hand for each bank in terms of a percentage would also require information from real banks that describes how much money they receive in total in the form of withdrawals compared to how much money they keep on hand as cash. Because it is an extensive series of equations, this model would not be an ABM.

H) To model the profit maximizing schemes of an airline, and ABM could be created with two different agents. Passenger agents would be attracted to Airplanes at a rate equal to the number of passengers that traditionally hold tickets between the two cities on any given day. The airplane agents would load the passengers and fly them between the two cities at a speed consistent with actual boarding, loading/ unloading and travel times. Determining how many flights to schedule is as simple as counting the number of flights made while the program runs.

The ideal number of flights would maximize profit by filling airplanes full of passengers (no partially full flights) while also minimizing costs. The model should be built in a way to reflect this ideal state.

I) To minimize the risk of accidents and delays, modeling the scenario of the aviation administ4ration would involve plotting and tracking the flight records of the two target airports as well as all other airports surrounding them. Reducing delays and risk would involve plotting the flight paths of all simultaneous flights to ensure that airplanes are not crossing paths too frequently, as well as ensuring target airports have space for arriving flights to land.

Creating this model as an ABM would require Airport agents that seek to minimize the number of airplanes they have on the ground at the same time, and airplane agents that would endeavor to ensure they never cross the flight path of another plane that is near them.

J) Modeling which movie will do better at the box office would require a way of quantifying the components that are attractive in each film. In other words, a mathematical value would have to be derived for a superhero story, action scenes, car chases, special effects, etc. as well as quantifying the draws of a chick flick with a pretty actress, loveable actor, comedic value, etc. Once each movie can be given a composite score based on the factors that are attractive to the general public, tracking which one will be more successful should be doable as the model compares the subject movie scores to other movies released in the past with similar plotlines and composite scores. This calculation heavy model would likely rely on databases and complex mathematics, meaning it would not be an ABM.

K) Modeling the ideal spacing of students in a crowded lecture hall: Student agents would try to maximize the space around them, their proximity to the isle and their ability to easily see the front board/ instructor. This Agent Based Model could provide valuable insight into what the ideal lecture hall might look like, in comparison to how current halls are assembled.

Chapter 2

  1. After running the Show Count function to display the number of red patches, it was quickly obvious that there are several instances where the exact number of red patches does not equal 80. This is because the placement of the four mushroom patches is random, and the radii of those patches can overlap. For this reason, it is reasonable to expect that in cases where patches overlap the same square is turned red for both/ multiple patch assignments. This leads to counts of 75-80 usually, instead of exactly 80 every single time the setup button is pressed.
“Fixing” this problem would require adding a new piece to the program specifying that patches cannot overlap, as they do currently.