Git Product home page Git Product logo

Comments (1)

eyeonus avatar eyeonus commented on July 23, 2024

Firstly, --ls-penalty is a percentage, and is automatically constrained to being between 0 and 100.
So "--ls-penalty 1500" is the same thing as "--ls-penalty 100".

Secondly, --ls-penalty does not guarantee that no hop will have a long distance station in it, it's not even designed for that. It prioritizes hops with less distance, but if a route with a long-distance station in it makes significantly more profit than another route without a long-distance station, you'll still get the one with.

Thirdly, with the new equation, the default --ls-penalty is 12.5, which very rarely (but not never) returns routes with one or more long-distance stations, so your run actually has a lower penalty than the default.

At a distance of 4.47Kls, with an --ls-penalty of 5, the score for a station is reduced to 95.31% of what it would be with no penalty. As comparison, at the default 12.5, the score would reduced to 88.28%, and at 100, it would be reduced to 6.20%. (Meaning if it has a before penalty score of 1000, after the penalty it would be 953.1, 882.8, and 62, respectively.)

If you're seeing that route even with -ls-penalty set to its maximum value of 100, that just means that that route is more profitable than any other possible route, even after taking that long distance into account.

As far as why the equation was changed, that was because the old equation could make the penalty go negative at distances over 4Kls, which meant that a closer station with a lower profit would end up getting a higher score than a further station with a higher profit margin, or even another station approximately the same distance with a higher profit margin.

Or in other words, the old equation was totally broken for any stations more than 4Kls distant. (See here for an example.)

from trade-dangerous.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.