Personal Projects

Elevator Scheduling

Problem:

I was at my sister's apartment block, helping her move out, taking multiple trips up to her apartment and back down. I realised it was taking a while for the elevator to come, even though there were multiple shafts/elevators. That then got me thinking about how elevators are scheduled in buildings with lots of people requesting elevators all day long with multiple shafts/elevators.

Strategy:

In order to solve this problem, we need to set up the right tools. My immediate thought process for solving any problem is what is involved in the problem? We have elevators, with physical parameters, including kinematic parameters such as position, velocity and acceleration, spatial parameters including volume, mass, maximum mass capacity (we can even go as far up the chain as the tension and young's modulus of the string, motor characteristics and input power used in the pulley system, but that's probably overkill for now).


Thinking about the maximum mass capacity makes us think that passengers are also a key element to this problem. This includes dealing with their requests to go up or down from the level they're on, and which floor they want to go to once they're in the elevator.

Solution:

The solution involves 10 elevators, with 5 levels and 5 random requests from passengers at each step. Following the strategy, we've decided to create objects to represent elevators and passengers. Currently, our heuristic will only allow an elevator to accept a request from a passenger if:


  1. The elevator currently has no other requests or,
  2. The elevator has requests, but will be able to pick that passenger up on the way if they are going in the same direction

We've allowed for multiple variables for fluctuation in simulation times. This includes the opening time of the elevator doors and the travelling time between each level. Adding up all the travel time and opening time yields the total time it took the system to complete the simulation.


The solution's algorithm was programmed in Python, using Flask to connect variables from the algorithm to the display on the webpage. The display was programming using HTML5/CSS3 with Javascript to update the simulation display on button press.

Reflections:

Even thinking about this model for a modern day elevator system begs the question 'Is this the best model for an elevator system being used in highly intense environment, with hundreds, even thousands of people requesting to go to different floors?' This begs me to add additional look-ahead functionality, where I can determine the number of ticks for each elevator on it's current path with it's current requests it would take to pick up a passenger of a given direction on a given floor. Additionally, I also want to add functionality for the user to increase/decrease the number of elevators, passenger requests per tick, and the number of floors. Additionally, we want to add a counter for the time the simulation has been computed for, and the total time it took once completed.

Title

2

1

G

B1

B2

E0

 

 

[]

 

 

E1

 

 

[]

 

 

E2

 

 

[]

 

 

E3

 

 

[]

 

 

E4

 

 

[]

 

 

E5

 

 

[]

 

 

E6

 

 

[]

 

 

E7

 

 

[]

 

 

E8

 

 

[]

 

 

E9

 

 

[]

 

 

Passengers

 

 

 

 

 

Taaurus Website

Problem:

When I originally had this business idea, I was a fly in, fly out worker for a mine, working as their Electrical Engineer. I was catching two flights a week, flying to the mine on Monday morning with a wake up of 4 AM, and flying home to get home around 7/8 PM on Thursday night. Every week was exhausting, with 50+ hours of work each week, it was difficult to get what I needed done with the extra hours I had.


A friend and I were talking about how we wanted to do something more and make our own way in the world. At this stage, my friend had a background in animation, and was learning graphic design. Pairing his interests with my skills in programming, we devided to start a website development services company, spending what spare time we had building ourselves an asset.

Strategy:

The idea here was to make something basic, and improve as we learnt more in our given fields - improved functionality as I learnt more with front end programming languages, and improved design and aesthetics as my friend learnt more about graphic design.


We wanted to include the basics early on to get us started, including home, services, team, career and contact us sections, which we decided to include as a single scrollable page.

Solution:

Most of the solution was pretty straight forward, mainly using HTML and CSS for the structure and styling, respectfully. Javascript was also used to help with event driven functionality, including repositioning the video according to how far down the page the user had scrolled when the device is landscape, scrolling to the top on refresh, and transitioning for the services infinite gallery. The current contact us form is done using an external platform called FormSubmit, which was encorporated into a form in the HTML code.

Reflection:

This was one of my first major website implementations and my first hosted website. The current version of the website is the second major version, with the third re-design on the way. Additionally, we want the contact us form to be implemented in PHP, in order to have more functionality over users' data, and to have more control over where/what we are sending in this process. We also want to improve our search engine optimisation, with regards to more keywords other than 'Taaurus', to widen our audience.