Author Topic: Line Based Loading  (Read 328 times)

0 Members and 1 Guest are viewing this topic.

Offline hreintke

Line Based Loading
« on: August 18, 2017, 10:35:06 AM »
This is a patch which implements the use of specific lines when transporting goods between halts.

Within routing the selection of used halts is dependent on the "weight" of tranport between halts.
In that process the weight is calulated is the "minimal number of hops" between two halts.

But when loading goods at a halt, any line that has the destination halt in it's schedule is used -> not only the lines which contributed to the "lowest weight"

This patch saves the lines/lineless convoys of the "lowest weight" in the connection.
When loading goods, then only these lines are used.

In the halt_detail display, for each directly connected halt, the used lines are displayed.


F.e in the line setup

Line 1 : A>B>C>D>E
Line 2 : A    >C    >E
Line 3 : A    >C
Line 4 :         C     >E

Goods from A to  B&D will use Line 1
Goods from A to C will use Line 2 &3
Goods from A to E will use line 2
Goods from B will use Line 1
Goods from C to E will use Line 2&4
Goods from C to D will use Line 1
Goods from D will use Line 1


The current implementation is
- Using the LineBasedRouting always -> needs to be an option
- Does have debugging code inlcuded
- Needs code cleanup.

Attached :
- Example sve based on pak64 which shows the feature
- Diff file based on the latest simutrans trunk

Comments welcome
 

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4279
  • Total likes: 195
  • Helpful: 149
  • Languages: EN, DE, AT
Re: Line Based Loading
« Reply #1 on: August 18, 2017, 07:53:38 PM »
The patch seems to assume that there is a unique line or convoi to realize the best connection. What if there are more?
Parsley, sage, rosemary, and maggikraut.

Offline hreintke

Re: Line Based Loading
« Reply #2 on: August 18, 2017, 09:54:10 PM »
It takes all lines and/or lineless convoys which have the lowest weight.

In the example :
In Station A, goods to C  will be loaded on both lines 2 and 3.