lava-nc / lava-optimization

Neuromorphic mathematical optimization with Lava
https://lava-nc.org/optimization.html
BSD 3-Clause "New" or "Revised" License
51 stars 26 forks source link

QUBOSolver on CPU using NEBM model does not converge. #213

Closed tim-shea closed 1 year ago

tim-shea commented 1 year ago

Describe the bug The QUBOSolver does not consistently converge to a solution for a wide variety of QUBO matrices when running on CPU with NEBM model. Plotting the cost timeseries reveals that cost tends not to consistently decrease, instead oscillating around very high values indicating either far too much noise or incorrect persistence of state.

To reproduce current behavior Run the MIS tutorial for a large, sparse problem (i.e. one that should be very suitable for the NEBM method) and set temperature to any non-zero value. Alternatively, see the demo script here for an example of a problem that will not converge with current implementation: https://github.com/lava-nc/lava-optimization/blob/nebm_cpu_bugfix/tutorials/demo_01_scheduling_satellites.py

Expected behavior These problems should show a consistently decreasing cost down to at least approximately zero.

Environment (please complete the following information):