25.01.2014 Views

Team 13955: Computing Along the Big Long River

Team 13955: Computing Along the Big Long River

Team 13955: Computing Along the Big Long River

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!