Load Balancer
#1
Problem
Jak rozwieźć dany towar równo po kilku stacjach?

[Obrazek: 331o9km.png]

Powyżej nasza zwykła stacja. Po prawej (in) wjeżdża metal, po środku (out) wychodzą narzędzia rolnicze.
Problem polega na tym, aby nie dopuścić do sytuacji w której narzędzia jadą kilkoma pociągami pod rząd do danej fabryki.
Założenie jest następujące. Pociągi mają wjeżdżać na stację po jednym dla każdej docelowej fabryki, po ostatnim znowu pierwsza i tak w kółko.
Pociągi ładowane są w takiej kolejności w jakiej wjadą na stację więc może być kilka peronów.

[Obrazek: i5rrrl.png]

Pierwszą rzeczą jaką robimy jest rozdzielenie przed stacją pociągów z podziałem na docelowe stacje.
W tym przypadku mamy 6 docelowych stacji (dla narzędzi) więc zrobiliśmy 6 waypointów.
Na każdy waypoint dajemy początkowo 2-3 pociągi.
Ważne aby ich pojemność nie była zbyt duża. Wystarczy tyle, aby dana fabryka zwiększyła swoją produkcję czterokrotnie.
Dosyłanie większej ilości towaru spowoduje jego zmarnowanie.

[Obrazek: 290pqok.png]

Tutaj pociągi czekają na swoją kolej.
Proszę zauważyć, że tylko jeden tor ma zielone światło. Oznacza to, że dany pociąg jest następny w kolejności. Gdy przejedzie przez światła linia zostanie przestawiona.
Na następnej zapali się zielone a na aktualnej czerwone.
Mosty oraz tory zbudowane prostopadle do linii pociągów stanowią linie logiczne dla naszego load balancera.
Każda linia zbudowana jest tak samo, czyli 6 kratek bez świateł, block-signal-start, "kabel" odblokowujący pociąg, zwykły sygnał, "kabel" badający czy dany pociąg przejechał, 4 kratki bez świateł.

[Obrazek: fz0rcl.png]

To co widzimy powyżej to zwykłe bramki logiczne OR.
Każdy tor potrzebuje 2 bramek. Jednej z wynikiem w kierunku toru oraz drugiej w przeciwnym kierunku.

[Obrazek: jqqlw1.png]

Wszystkie bramki podłączone są do "wybieraka". Gwoli wyjaśnienia użytej terminologii:
Lokomotywa - to co widzimy na ekranie.
Pociąg - jeden z pociągów który rozwozi towary.
Lokomotywa stoi na torze który jest poddawany logicznemu OR zapalając przy tym światło na liniach gdzie stoją nasze pociągi.
Jako, że jest jedna lokomotywa to tylko jeden tor może mieć zielone światło w danej chwili.
Lokomotywa jest blokowana przez światło, którego rezultat stanowi logiczny OR dla kabla podłączonego zaraz za odblokowanym torem.
Czyli lokomotywa stojąc na pierwszym kablu daje zielone dla danej linii ale czeka na zmianę światła, która nastąpi jak tylko pociąg przejedzie przez tę linię.

Dodawanie pociągów nie jest takie jak w przypadku zwykłych stacji.
W pierwszej kolejności patrzymy czy na stacji załadunkowej są pociągi.
Jeżeli nie to patrzymy na naszą poczekalnię. Jak jest pusto do dokupujemy ten pociąg na której linii jest aktualnie zielone (i może następny w kolejności).
Jeżeli w poczekalni jest trochę pociągów a stacja pusta to szukamy pociągu który blokuje pozostałe (pali się zielone ale pociągu brak). Jeżeli jest daleko to dokupujemy, jak nie to spokojnie czekamy aż dojedzie i puści kolejne.
Gdy w poczekalnie jest za dużo (2-3) pociągów na jednej linii to je sprzedajemy. Najlepiej zrobić to puszczając pociąg ignorując światła i sprzedając przed stacją.

Mam nadzieję, że opisałem w miarę przejrzyście.
Jakby co proszę pytać, uzupełnię tekst.


Wiadomości w tym wątku
Load Balancer - przez Mike - 12-02-2013, 05:30
RE: Load Balancer - przez niemiec - 12-02-2013, 13:31
RE: Load Balancer - przez Mike - 12-02-2013, 15:44
RE: Load Balancer - przez KJ(KeyJey)[PL] - 12-02-2013, 14:49
RE: Load Balancer - przez Malix - 12-02-2013, 16:54
RE: Load Balancer - przez KJ(KeyJey)[PL] - 12-02-2013, 17:30
RE: Load Balancer - przez saunter - 17-02-2013, 18:12
RE: Load Balancer - przez shoter - 17-02-2013, 23:01
RE: Load Balancer - przez KJ(KeyJey)[PL] - 18-02-2013, 22:23
RE: Load Balancer - przez saunter - 18-02-2013, 23:03
RE: Load Balancer - przez Mike - 19-02-2013, 01:24
RE: Load Balancer - przez saunter - 19-02-2013, 12:34
RE: Load Balancer - przez Alkomat - 19-02-2013, 08:45
RE: Load Balancer - przez KJ(KeyJey)[PL] - 19-02-2013, 13:55
RE: Load Balancer - przez Mike - 19-02-2013, 22:43

Skocz do:

[-]
Zamknięcie forum OpenTTD Polska
Forum OpenTTD Polska zostało wyłączone. Obecnie znajduje się tu archiwum dyskusji o dodatkach tworzonych przez naszą społeczność.
Po aktualne treści i dyskusje zapraszamy na nasz discord! :)

[-]
Discord