pi1985 писал(а):Предположу, что каргодист строит упрощённый граф связей.
Поделюсь своим опытом работы с каргодестом последней версии ХардПака (пробовал его для всех грузов, из-за чего была возможность посмотреть, как он работает при разных настройках маршрутов поезда).
Во-первых, он строит самый полный граф связей. Кроме того, граф учитывает только фактическое наличие станции назначения в маршрутном листе транспорта, без учета поведения транспорта на самой станции.
Т.е. если есть 4 маршрута (А-В, А-Г; Б-В, Б-Г), то грузы генерируются для всех направлений движения: например, А-В-Б-Г, не учитывая, что на станции В у всех ТС будет стоять опция "не грузиться".
Во-вторых, при построении графа связей, если поезд не курсирует только между двумя станциями, то грузу обязательно ставится "промежуточная станция". При этом, это следующая станция в маршрутном листе поезда.
Т.е. если поезд везет груз по маршруту А-В, то при добавлении новой станции Б (маршрут А-Б-В), поезд не будет забирать груз, пока каргодест "не поймет", что у всего (тут не уверен?) транспорта, курсирующего по маршруту из маршрутного листа исчез прямой маршрут А-В. Побочным эффектом является то, что если есть 2 поезда, идущих к определенному пункту назначения, но разными маршрутами, каждый из них будет забирать только свою долю груза для тех станций, где их маршруты пересекаются.
В-третьих, при добавлении нового, более короткого маршрута, остальные маршруты не будут использоваться пока не будет загружен до определенного значения новый маршрут.
В-четвертых, для очень длинных маршрутов с большим временем "лежания" груза на станции (например, подвоз большого кол-ва товаров поездом, а потом перевозка машинами по пунктам назначения), для этого груза будет пересчитываться окончательный маршрут, что иногда бесит, хотя на самом деле правильно.