algorytm i implementacja windy [zamknięte]


11

Chciałem wiedzieć, jak działają (prawdziwe) windy. Ale jak dotąd nie mogłem znaleźć dużo materiału na temat algorytmów, których używają, ani oprogramowania (jeśli w ogóle) do symulacji. Czy ktoś mógłby mi dać referencje?


Zasadniczo jest to problem opisany przez teorię kolejkowania.
Rein Henrichs

Jeśli podoba Ci się konkretna
dogłębna

I ma siostrzane pytanie na SO: stackoverflow.com/questions/493276/…
Toon Krijthe

Odpowiedzi:


10

Interesujące pytanie. Sprawia, że ​​chcę również przeprowadzić badania w tym zakresie.

Wiki ma odniesienie do książki Barney, G. (2003, styczeń). Podręcznik ruchu windy: teoria i praktyka . ISBN 9780415274760.

Oto fragment z Wiki (być może już go widziałeś):

Algorytm windy znalazł aplikację w komputerowych systemach operacyjnych jako algorytm do planowania żądań dysku twardego. Nowoczesne windy używają bardziej skomplikowanych algorytmów heurystycznych, aby zdecydować, które żądanie obsługi będzie następne. Wprowadzenie do tych algorytmów można znaleźć w „Podręczniku ruchu windy: teoria i praktyka” podanym w poniższych odnośnikach.


7

Istnieją oczywiście różne implementacje, ale najbardziej rozpowszechniona jest ta:

https://en.wikipedia.org/wiki/Elevator#Elevator_algorithm

Ponieważ w rzeczywistych budynkach parter jest zwykle używany częściej niż inne, istnieje również spora liczba wdrożeń, które pozwalają windy powrócić na parter po pewnym czasie bezczynności.

(Na marginesie jest powiedzenie, że Donald Knuth spędził kiedyś dzień w windzie, aby mieć absolutną pewność, że poprawnie opisałby algorytm windy, ale nie mogę znaleźć na to odniesienia).


2
RE: Twoja dodatkowa uwaga: Właśnie widziałem, że jest to odniesienie w tym dokumencie (str. 165): ocw.mit.edu/courses/electrical-engineering-and-computer-science/... Cytuje The Art of Computer Programming, Donald E. , Knuth, tom 1. strona 295. W systemie wind w budynku matematyki w Cal Tech. Po raz pierwszy opublikowany w 1968 r.
jduhls

1

Algorytm windy najlepiej opisać za pomocą algorytmu windy Knutha .

Ale w prostych krokach algorytm można określić jako:

  1. Podróżuj w jednym kierunku, aż do ostatniego żądania w tym kierunku.
  2. Jeśli nie ma takiego żądania, zatrzymaj się i przejdź w innym kierunku, jeśli pojawi się jakieś żądanie z innego kierunku.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.