Hacker News new | past | comments | ask | show | jobs | submit login
Elevator algorithms (vedantmisra.com)
59 points by vedant on Dec 24, 2011 | hide | past | web | favorite | 12 comments

My office tower has 6 elevators. 3 transfer buses are coming in from the subway @ 8:50, around 120 people are coming trough the security gates and approaching the elevators more or less simultaneously. It takes me approx 20 minutes until i get to my floor every single morning, because only one elevator comes at a time and since i am a gentlemen, i usually let the ladies go first. Even more, you can call an elevator only when another went off, otherwise the full one won't move and will open it's doors instead. OTIS, i hate you.

Do elevator algorithms communicate with external systems, such as swipe cards?

For example, when an employee swipes through the security gates, the elevator is called.

Also curious if elevators use statistical analysis for predicting trends over time. A four-elevator system in an office tower would likely give the cars preference to being near the first floor at 8:30am. Is this what fuzzy logic schedulers do?

> For example, when an employee swipes through the security gates, the elevator is called

Not that I work in the industry, but I highly doubt it. Only be cause when I look at other fields such as communications, it is only in the past few years that the idea of unified communications has taken hold, where separated systems can talk to each other, think e-mail connected to voice-mail, etc. So if I had to guess, I would highly doubt it

This could be an interesting area to patent and work on.

There would have to be some sort of standard API where multiple companies sharing a business could talk to a central lift system to share information about their employees.

Another optimization criteria not mentioned is energy efficiency. I would guess that elevator manufacturers try to prevent elevators from consuming excess power. It would probably be bad if an elevator went back and forth between the same floors many times with no one inside it, just because it expected a slightly higher chance of finding a passenger at the destination.

I have always felt that other industries do not require the same amount of learning to keep up with and that in general since the knowledge base is lower, you can become and remain an expert with less amount of knowledge then software engineering/telecom/computer engineering.

The reason I feel this way is because there is not as many people involved in other fields, the information is not easy to access (think RFCs, programming language guides/books/frameworks etc.), and there are not that many people blogging & writing on websites about the complicated details of their respective industry.

It was still interesting to see that a book on elevator function theory was mentioned near the end of the article, but I doubt that this or many other fields require a lot of complicated know-how (and that needs to be constantly updated). Could I be wrong with my assumptions ?

Your point is barely (if at all) relevant here. To the extent that you are specific, you are wrong too.

If you want to pass blanket judgment on the complexity of an industry and the technical capabilities of its engineers, you should at least pick a better metric than the amount of blogs and guides that discuss the technical details of that (still unspecified in your post) industry. The world of programming is unique in that a common culture of openness and freedom of information pervades it. Other industries do not have a culture even remotely similar to that. If an elevator control system designer blogged about how his wonderful algorithm works he might be fired (since the algorithm is the property of his company). Unlike the world of software development, where the product is code, in industries that require heavy, expensive hardware (like elevators, for example), a lone software developer is useless. You need people to do CAD and perform load analyses on all the critical components, installation technicians, lawyers to handle safety compliance, etc. In other words, you need a big (or medium, at least) corporation with all of its hierarchy and need to control information. And when you work in that kind of environment, you don't just blog your thoughts whenever you feel like it or discuss technical details of your projects. Because they're not your projects; they belong to the company and your code is just a fraction of the whole system.

I'm not just making this up either. I'm an engineer (who does a lot of programming) in the aviation industry. Even if my company wanted me to blog about what I do, I wouldn't do it simply because nobody reading the blog would be able to understand it. The programming would be the easy part to understand, but if you don't know the context of the work it won't make any sense.

Your post makes a lot of assumptions, but it's good that you recognized that you might have overreached when you made them.

You are mistaken. Most industries are highly complex and nuanced. Predictably, the details may not be obvious to outsiders who only see the fluffy summary of how it works.

I've wondered before why they don't have the list of floors when you call the elevator instead of selecting it from within.

I've seen this in a few buildings before. There is a keypad - you type the floor number and it tells you which elevator to wait at (for example 'g'). Worked really smoothly.

Then the fate of the elevator-bound would be determined by the snotty kid who sits outside the elevator pushing buttons. At least now that kid's power is limited to asking the elevator to stop at one floor rather than twenty.

Applications are open for YC Summer 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact