Team 13955: Computing Along the Big Long River
Team 13955: Computing Along the Big Long River
Team 13955: Computing Along the Big Long River
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Page 6 of 18 Control #<strong>13955</strong><br />
●<br />
●<br />
M = peak carrying capacity of <strong>the</strong> river (maximum number of groups which can be sent down<br />
<strong>the</strong> river during its six month season) <br />
D = distribution of trip durations of groups on <strong>the</strong> river <br />
2 Methods<br />
Below is a description of <strong>the</strong> scheduling algorithm and, ultimately, our model which we have<br />
found to be representative of accurate results based on <strong>the</strong> various inputs and assumptions specified<br />
above. We begin by defining <strong>the</strong> following terms and phrases in an effort to add clarity to how certain<br />
variables are handled in our simulation, as well as to shed light on some of <strong>the</strong> details of <strong>the</strong><br />
implementation of our model:<br />
Open Campsite:<br />
A campsite is considered to be an open campsite if <strong>the</strong>re is no group currently occupying that<br />
space. This is equivalent to saying that for a given campsite c ! <strong>the</strong>re exists no o<strong>the</strong>r group g ! such that<br />
g ! is assigned to c ! .<br />
Moving to an open campsite:<br />
For a group g ! and a campsite c ! , moving to an open campsite is equivalent to assigning g ! to<br />
a new campsite, c ! . Since a group is only able to move downstream, or remain at <strong>the</strong>ir current<br />
campsite, if g ! was previously occupying c ! , <strong>the</strong>n g ! can only be moved to a c ! where m ≥ n.<br />
Waitlist:<br />
The waitlist for a given day is composed of <strong>the</strong> groups which are not yet on <strong>the</strong> river, but will<br />
start <strong>the</strong>ir trip on day where <strong>the</strong>ir ranking on <strong>the</strong> waitlist and <strong>the</strong>ir ability to reach a campsite, c,<br />
includes <strong>the</strong>m in <strong>the</strong> set G ! , and is deemed ‘<strong>the</strong> highest priority’ (Note: priority is a significant element<br />
of our model. This will be explained in fur<strong>the</strong>r detail a little later). Waitlisted groups are initialized with<br />
a current campsite value of c ! (<strong>the</strong> zero th campsite), and are assumed to have priority P = 1 until <br />
<strong>the</strong>y are moved from <strong>the</strong> waitlist onto <strong>the</strong> river. <br />
Off <strong>the</strong> <strong>River</strong>:<br />
Our algorithm considers <strong>the</strong> first space off of <strong>the</strong> river to be <strong>the</strong> ‘final campsite’, c !"#$% . For our<br />
model, we consider c !"#$% to always be an open campsite, so that an infinite number of g ! can be<br />
assigned to c !"#$% . This is consistent with <strong>the</strong> understanding that any number of groups can move off of<br />
<strong>the</strong> river in a single day, and allows us to handle such an event in our simulation.<br />
2.1 The Fur<strong>the</strong>st Empty Campsite<br />
Our scheduling algorithm utilizes an array as a data structure to represent <strong>the</strong> river, where each<br />
element of <strong>the</strong> array consists of a campsite. The algorithm begins each day by finding <strong>the</strong> open<br />
campsite that is fur<strong>the</strong>st down <strong>the</strong> river, call that campsite c, <strong>the</strong>n generates a set G ! , which consists of<br />
all groups g ! which could potentially reach campsite c. Thus,<br />
G ! = g ! | g ! , g ! , … , g ! ∶ where m ! + l ! ≥ c