Fairview Tower1 is a new residential and office building located in downtown Seattle. It
has 46 floors – 43 above the ground (numbered 0 to 42) and 3 underground (numbered -1 to -3)
– that are serviced by four elevator units (labeled A through D). Unit A, B, C are regular
passenger elevators while Unit D is a service elevator that can also be used to move
passengers if needed – more on that later. Each time a ride is requested, an algorithm will
decide which elevator unit is assigned to pick up the ride following a set of rules. You are asked
to work out an automatic assignment application for Fairview’s management team.
The Excel file IS300FairviewTemplate.xlsx (available for download on Canvas) simulates
the building and the elevator units. You must enable iterative calculation on the file and set the
max iteration to 1 (the option can be found by going to File – Options – Formulas on a PC, or
Excel – Preferences – Calculation on a Mac). Each unit has a location number, meaning the
floor it is currently at, and a destination number, meaning the floor it is going to. A unit is moving
when the destination number is different from its current location, and a unit is idling if the two
numbers are the same. In the Excel file, you can see how they move floor-by-floor by pressing
the F9 key to force recalculation of the functions (or Fn+F9 on a Mac).
A ride (called a mission) can be requested by a code consisting of a number and the
letter “U” or “D” (e.g., 23D). The number means the floor where the ride is requested, and the
letter means the direction of the mission: “U” means going up and “D” means going down. For
example, mission 23D means a ride of going down is requested on the 23rd floor.
Download and rename the template file. Create additional worksheets to build your
model but on the Fairview worksheet you must preserve its structure and only edit the green
1 This is an imaginary building so don’t bother to Google.
cells. The INITIATE row is used to initialize the elevators to a starting state for testing purpose.
Your file should automatically fill the ASSIGNMENT cell (Cell B12) with the letters “A”, “B”, “C”,
“D”, or “N” (meaning none) when a mission is entered in cell B10 (the floor) and D10 (the
direction). The rules of assignment are:
1) No Mission: If no mission or an incomplete mission is entered (i.e. missing floor number
or direction), your model should display an empty cell (i.e., “”) in B12.
2) First Priority: If an elevator is idling at the request floor, assign the mission to it. If
multiple elevators are idling at the request floor, randomize which one to assign except
that Unit D (the service elevator) should get the last priority, i.e., D gets the mission if it is
the only one idling. For example, if mission 23U is requested when both Unit A and D
are idling on 23rd, assign A to the mission.
3) Second Priority: If no elevator is assigned after 2), find and assign the unit that is
closest to the request floor. Please only consider the ones that are either a) idling, or b)
moving towards the request floor in the same direction as the mission’s direction. Do not
assign units moving away from it or moving towards it in an opposite direction of the
mission. If multiple units qualify, randomize which one to assign but like in 2), Unit D (the
service elevator) should get the last priority. For example, if 23U is requested when A is
idling on 19, B is on 21 going down, C is on 0 going up, and D is on 26 going down, A
should be assigned to the mission. Unit B or D are not in this case even though they are
closer because they are traveling down not up.
4) Otherwise: If no elevator is assigned after 3), display “N” in cell B12. This means the
mission is not picked up yet. If your model is built right, it will eventually be picked up
after other units reach their destinations and therefore become idle (i.e., eligible).
Start with No Mission and work your way up. Make sure you really understand the rules
and requirements. You may find it helpful to create additional indicator labels for each elevator
to show if it is busy, moving, in the same direction as the mission, etc. These Excel functions
are enough for the project: IF, ABS, MAX, SUM, and RAND. You are, of course, allowed to use
other functions of your choice. The following steps are provided to test your model, which will be
graded by 10 tests similar to these – 1 point will be awarded for passing each.
1) Type an incomplete mission without the floor number or direction letter, e.g., 23, your
ASSIGNMENT should show an empty cell.
2) Type 1,1,1,1 in the INITIATE row and press F9 to move all the elevators to the first floor.
Enter mission 1D. Your model should randomly assign unit A, B, or C to the mission.
3) Type 20,20,20,20 in the INITIATE row and press F9 to move all the elevators to the 20th
floor. Then type 42,41,0,-3 in the INITIATE row to move units A and B up, and C and D
down. Enter mission 10D. Your model should assignment unit C.
4) Type 25,25,25,25 in the INITIATE row and press F9 to move all the elevators to the 25th
floor. Then type -3,0,41,42 in the INITIATE row to move units A and B down, and C and
D up. Enter mission 25D. Your model should assign N, i.e., the mission is not picked up
before Unit C reaches 41st floor. After that your model should assign C.