The International Simutrans Forum

 

Author Topic: Load*Distance Graphs for Vehicles/Lines  (Read 2669 times)

0 Members and 1 Guest are viewing this topic.

Orborde

  • Guest
Load*Distance Graphs for Vehicles/Lines
« on: July 22, 2014, 09:46:29 AM »
I frequently want to know how much of a line's capacity is being used vs. driving around empty (usually in the context of passenger networks). This is inevitably related to distance traveled: if a line spends a little of its way almost empty, but then is full over a long distance, that's still pretty good utilization.

The vehicle/line info windows offer a couple measurements that sort of help to gain insight into this, but they don't really solve the problem:
  • Free Capacity chart: This really only tells you whether your convoy is almost completely full or not. If you have a section of a line with a lot of little-used stops over a short distance, you'll have a lot of "free capacity" even if your vehicle is full for most of the line's distance.
  • Vehicle earnings + Distance charts: Plotting Vehicle Earnings and Distance on the same chart allows you to compare vehicles/lines to see which ones are making more money per km driven, but that doesn't directly help you with figuring out whether the line is saturated and needs more vehicles. (You could do some math to find the maximum average earnings per km and compare that to what your line is running at, but that's inconvenient.)
  • Eyeballing the capacity meter: You can estimate whether a line's capacity is saturated by watching the line's current-used-capacity meter and mentally estimating the average over time, but that's still just an estimate.


Proposal: Load-Distance Graphs
In order to see directly how utilized a vehicle/line is, I propose adding two charts to the vehicle/line windows:
  • Capacity*Distance: A running total of (km traveled)*(vehicle capacity), added up over each tile the convoy moves. This represents the total amount of "work" that a convoy can do: a little bit of capacity over a long distance is the same as a lot of capacity over a short distance.
  • Load*Distance: A running total of (km traveled)*(units of cargo currently on board), added up over each tile the convoy moves. This represents how much "work" a convoy has actually done that month.

The overall logic here is that your vehicles make money as a function of (km traveled)*(amount of cargo moved), so it's very useful to see how many units of (km*units-of-cargo) a convoy has moved in a month (Load*Distance) vs. how many units it *could* move (Capacity*Distance). By plotting Load*Distance and Capacity*Distance on the same chart, you would be able to directly see how full your convoy/line is running month-to-month (kind of like estimating your margin% by plotting Profit and Vehicle Earnings together), and thus get direct insight into how well you're utilizing your vehicles.

Offline gauthier

  • Devotee
  • *
  • Posts: 3629
    • SNFOS'website (in both FR and EN)
  • Languages: FR, EN, JP
Re: Load*Distance Graphs for Vehicles/Lines
« Reply #1 on: July 22, 2014, 10:50:42 AM »
An average of cargo_on_board / capacity could give the same information, doesn't it ?

Orborde

  • Guest
Re: Load*Distance Graphs for Vehicles/Lines
« Reply #2 on: July 22, 2014, 08:49:42 PM »
If the average is weighted by distance, then it's almost as useful, but tracking only the utilization% loses information about the actual scale of the numbers involved. The actual amount of unused capacity is useful for planning, far more directly useful than a simple %.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 5469
  • Languages: EN, NO
Re: Load*Distance Graphs for Vehicles/Lines
« Reply #3 on: July 22, 2014, 10:55:06 PM »
If the average is weighted by distance, then it's almost as useful, but tracking only the utilization% loses information about the actual scale of the numbers involved. The actual amount of unused capacity is useful for planning, far more directly useful than a simple %.

But you don't know if the numbers are huge because of capacity or distance. cargo / capacity, if presented exactly like that, maintains the scale of capacity. Distance is, in my mind, presented more clearly on its own.

Orborde

  • Guest
Re: Load*Distance Graphs for Vehicles/Lines
« Reply #4 on: July 25, 2014, 06:22:38 AM »
But you don't know if the numbers are huge because of capacity or distance. cargo / capacity, if presented exactly like that, maintains the scale of capacity. Distance is, in my mind, presented more clearly on its own.

Do you mean presenting sum(cargo*distance) and sum(capacity*distance) separately, or as a ratio? Because I'm proposing that they be shown separately.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 5469
  • Languages: EN, NO
Re: Load*Distance Graphs for Vehicles/Lines
« Reply #5 on: July 25, 2014, 08:21:41 AM »
Do you mean presenting sum(cargo*distance) and sum(capacity*distance) separately, or as a ratio? Because I'm proposing that they be shown separately.

This just looks confusing to me, like distance would cancel out and could be left out of the mix. I guess what is wanted expressed in proper mathematic terms would be ∫cargo ds and ∫capacity ds, and yes, presented separately.

Orborde

  • Guest
Re: Load*Distance Graphs for Vehicles/Lines
« Reply #6 on: July 25, 2014, 06:30:44 PM »
This just looks confusing to me, like distance would cancel out and could be left out of the mix. I guess what is wanted expressed in proper mathematic terms would be ∫cargo ds and ∫capacity ds, and yes, presented separately.

Yep, that is exactly what I was proposing. I was trying not to reference integrals in my explanation, since I didn't know if people here would know calculus ;)

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 5469
  • Languages: EN, NO
Re: Load*Distance Graphs for Vehicles/Lines
« Reply #7 on: July 25, 2014, 07:53:07 PM »
I don't know about the average Simutrans player who likes to comment new features, but most developers should at least have some knowledge of calculus, even if half forgotten. (I did however learn C++ before calculus, but I don't think I'm representative.)