Giter Club home page Giter Club logo

Comments (7)

yongyanghz avatar yongyanghz commented on September 17, 2024

from lapjv-algorithm-c.

Fil avatar Fil commented on September 17, 2024

Please check the value of epsilon in my version. Without it my tests were quite often going into infinite loops, because of rounding errors. With epsilon I don't have this problem anymore. I'm sorry I don't have a reproductible example at hand, I think it was when there were around 5000 positions to optimize.

from lapjv-algorithm-c.

Fil avatar Fil commented on September 17, 2024

Here is a reproducible test:
https://gist.github.com/Fil/377f9aa3f8f07c428d54eec3564f0eba

run it with node.js; if you change epsilon to 0 on line 82, you quite often get into an infinite loop because of rounding errors on the tests

from lapjv-algorithm-c.

yongyanghz avatar yongyanghz commented on September 17, 2024

Hi Phil,
I found a bug in my code, in lap.h file, the row and col type should be int, not double,I have fixed it and now the cpp version can work. Since I'm not familiar with java script, I haven't find error in your js version.

from lapjv-algorithm-c.

Fil avatar Fil commented on September 17, 2024

To be clear: the JS version works well.

However it is not strictly a port of your C code: the difference is this epsilon that I added, otherwise it would sometimes go into an infinite loop.

My question is if the C version also has this problem when two distances are very close and the comparison fails because of rounding.

from lapjv-algorithm-c.

yongyanghz avatar yongyanghz commented on September 17, 2024

Hi Phil,
I see you add epsilon as tolerance in js version. Some cases can cause Jonker's code to loop forever. According to Dr. Volgenant, "The failure is a consequence of a tolerance not suited for the data ... You have to reduce the value of the tolerance such that it is smaller than the smallest difference between any pair of cost elements in the cost matrix."
You can also see Nota Bene part in this link.

Yong Yang

from lapjv-algorithm-c.

Fil avatar Fil commented on September 17, 2024

Thank you I will mention my solution there too. Maybe a good solution will come out of this!

from lapjv-algorithm-c.

Related Issues (6)

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.