Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Project Description The goal of this project is to design and develop C ++ code and algorithms to control a bank of elevators, which services

Project Description

The goal of this project is to design and develop C++ code and algorithms to control a bank of elevators, which services many floors and transports people efficiently ", that is, as per the given specifications. A second goal is to effectively employ object oriented design, through appropriate use of classes, data structures and Standard Template Libraries (STLs).

Class Design and STLs

Person class with ID, arrival floor, destination floor and assigned elevator. An example ID for a person maybe P1A3D5, for person 1, arrival floor 3 and destination floor 5. This will make it easier to generate and track test input and output.

Elevator class with direction, number of people and list of stops.

Think of the STL containers you will be utilizing. For example, a list allows for easy insertion and removal of elements, a vector can change size, and you can push and pop elements at the end of it, a deque allows for fast insertion and deletion of elements at both ends.

Input Data

The input data consists of the arrivals on each floor, at time steps t = 1. 2 T Stop. At each time step, the program reads in each arriving person, for each floor, and processes this data. For example, for n = 10 floors, and at time step t = 1, the arrivals maybe P1A1D4 and P2A1D5 on floor 1, P1A3D1 and Pf2A3D7 on floor 3, and 0 on the remaining floors.

Problem Specifications

The elevator bank has m elevators and services n floors. As an example, you may choose m = 3 and n = 10.

Each elevator can stop at every floor.

The direction of an elevator has three states up, down and standing. Each elevator can carry up to a max of N max persons.

The program loops through discrete time steps t = 1; 2T stop, where T stop is an input parameter.

At each time step, either 0, 1 or 2 persons arrive at a floor. This information can be read from an input data file, as described in 1.3.

An elevator takes k time step to move up or down by k floors, if it doesn't stop. For example, to move from floor 4 to floor 5 requires one time step. And to move from floor 7 to floor 3 requires 4 time steps.

When an elevator stops at a floor, for either passenger pick up or drop off, it does so for one time step.

When a person arrives on a floor, they are assigned the nearest "elevator. Here nearest is defined in the number of time steps. For example, let us say a person arrives on floor 5, and wants to go up. Elevator E1 on floor 2, moving in the up direction, with no stops, is 3 time steps away. Elevator E2 on floor 6, moving in the down direction and headed for floor 3 is 6 time steps away. Therefore, the person is assigned elevator E1.

Each arriving person has an arrival floor, destination floor and the assigned elevator as its data members.

When a person is assigned an elevator, their arrival floor and destination floor go in the queue or the list of the elevator stops.

Each elevator contains a list of stops, which gets updated at each time step.

An elevator moving up (down) continues to move up (down), until it exhausts all the stops in its list.

Program Output

Generate appropriate output for a given input test data, which displays the information, that is, people getting on and off each floor, for each time step, for say 10 consecutive time steps.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Data Management Databases And Organizations

Authors: Richard T. Watson

6th Edition

1943153035, 978-1943153039

More Books

Students also viewed these Databases questions

Question

What is basis risk? What are the sources of basis risk?

Answered: 1 week ago