TT-MS Headquarters
Frage zu PBS - Druckversion

+- TT-MS Headquarters (https://www.tt-ms.de/forum)
+-- Forum: Problemecke (/forumdisplay.php?fid=70)
+--- Forum: Probleme mit OpenTTD (/forumdisplay.php?fid=27)
+--- Thema: Frage zu PBS (/showthread.php?tid=5111)



Frage zu PBS - Qu@rks - 28.01.2011 12:23

Also nachdem es bei mir nun einige Frustration verursacht hat, muss ich diese Frage nun einmal hier im Forum stellen, vielleicht kann mir ja wer helfen. Ich versuch's mal ohne Savegame, bin nämlich gerade nicht zu Hause.

Erklärung: Ich habe am einen Ende meiner Main Line einen Kopfbahnhof (ich weiß, RoRo wär effizienter, aber das steht nicht zur Debatte) der auch vernünftig aufgebaut ist, dort gibt es keine Staus, Auslastung ist am Rande aber noch nicht über der Kapazitätsgrenze. Da der Bahnhof 16 Gleise hat, hab ich mich entschieden, meine Main Line 4-spurig zu gestalten. Zwei Gleise für jede Richtung zwecks überholen etc. In bestimmten Abständen (ca. eine maximale Zuglänge) sind Weichen installiert, damit die Züge auch auf's jeweils andere Gleis kommen. Hier entsteht das Problem:

Die Züge wechseln manchmal scheinbar willkürlich das Gleis, obwohl vor ihnen ein freier Gleisabschnitt liegt, auf's Nebengleis und blockieren damit manchmal einen gleich schnellen (oder sogar einen schnelleren) Zug. Ich habe auch schon mit den PBS Parametern (ich nutze YAPF) rumgespielt, aber keine Wirkung. Der Sinn der Viergleisigkeit sollte eigentlich sein, dass jeder Zug auf dem Gleis bleibt, wo er gerade ist und nur im Falle eines stehende Zuges wechselt, nicht, wenn 30 Felder vor ihm einer FÄHRT...

Hat wer eine Idee, wie ich das hinkriegen kann? Savegame folgt im Zweifelsfall heute Nachmittag.

Danke im Voraus!


RE: Frage zu PBS - Eddi - 28.01.2011 14:16

Also dazu drei kurze Anmerkungen:
  1. Der Pathfinder kann niemals unterscheiden, ob der andere Zug fährt oder steht. Ob es ein Limit gibt, in welcher Entfernung die anderen Züge gar nicht mehr beachtet, entzieht sich gerade meinem Wissen.
  2. Du kannst die Wahrscheinlichkeit eines Gleiswechsels heruntersetzen, indem du das curve_penalty heraufsetzt. Dann kann es dir aber passieren, daß alle Züge warten, anstatt zu wechseln.
  3. Überholen ist generell ein Schwachpunkt der Pfadsignale. Es ist sehr schwierig, einen Algorithmus zu finden, der sowohl effizient ist, als auch flexibel genug, alle nötigen Variablen zu verarbeiten. Die praktikabelste Antwort hier ist, einfach die Züge nach Geschwindigkeit zu sortieren, und dann das Überholen grundsätzlich zu verbieten.



RE: Frage zu PBS - Gleisdreieck - 28.01.2011 17:51

Dieses Problem des spontanen Gleiswechsel konnte ich auch schon öfter beobachten. Sauer

Nach meiner Erfahrung ist der Durchsatz größer, wenn man weniger Wechselmöglichkeiten, also weniger Weichen, vorsieht und die Züge dann auf ihrem Gleis bleiben.


RE: Frage zu PBS - Qu@rks - 30.01.2011 22:13

Blöde Frage, aber wie heißt'n der Befehl für curve penalty? Also Konsolenmäßig?


RE: Frage zu PBS - Addi - 30.01.2011 22:19

Bei YAPF:
set yapf.rail_curve45_penalty Wert
Standardwert ist hier 100

Bei NPF:
set npf.npf_rail_curve_penalty Wert
Standardwert ist hier 1


RE: Frage zu PBS - Qu@rks - 30.01.2011 23:42

Danke, probier ich mal aus Lächeln


RE: Frage zu PBS - StefanD - 31.01.2011 11:10

Addi schrieb:Bei YAPF:
set yapf.rail_curve45_penalty Wert
Standardwert ist hier 100

Bei NPF:
set npf.npf_rail_curve_penalty Wert
Standardwert ist hier 1
... und das kann was?


RE: Frage zu PBS - Qu@rks - 31.01.2011 12:56

In dem Zusammenhang offenbar nichts. Ist aber auch logisch, da Curve penalty mit der Pfadreservierung nach einem PBS-Signal absolut nichts zu tun hat... Hab ich vorher aber auch verpeilt.

Ich werd wohl einfach mein System etwas umdesignen müssen Lächeln


RE: Frage zu PBS - Addi - 31.01.2011 21:11

StefanD schrieb:... und das kann was?

Wird der Penaltywert raufgesetzt, desto weniger gern fährt der Zug da durch.
Also wenn der Zug verschiedene Fahrwegmöglichkeiten hat, dann prüft er die verschiedenen Strecken nach "Penaltys", also Kurven, Steigungen, Signale, Bahnübergänge usw.. Diese haben alle einen bestimmten Wert, der dann zusammengezählt wird, und der Zug wählt dann die Strecke mit dem niedrigsten Wert.

Die Idee dahinter ist, einen Gleiswechsel, wofür der Zug ja eine S-Kurve durfahren muss, durch einen hohen Penaltywert so unattraktiv zu machen, dass er es nur tut, wenn die geradeausführende Strecke besetzt ist.

Möglicherweise ist der Zug zu vortausschauend, dass er schon im Voraus auf das andere Gleis wechselt, weil dieses bei einer folgenden Kurve innen liegt und somit kürzer ist.