lava-nc / lava-optimization

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

Add ReportAnalyzer utility class #221

Closed AlessandroPierro closed 1 year ago

AlessandroPierro commented 1 year ago

Objective of pull request: introduce an utility class to analyze and plot the results of OptimizationSolver

Pull request checklist

Your PR fulfills the following requirements:

Pull request type

Please check your PR type: - [x] Feature ## What is the new behavior?

-

Does this introduce a breaking change?

AlessandroPierro commented 1 year ago

Ready for review! 🎉

The tests are passing locally and will pass on the CI once #222 is merged.

Here it is a preview of plots generated with StateAnalyzer.

Your feedback would be greatly appreciated! ❤

plot_cost_distribution plot_cost_timeseries plot_delta_cost_distribution plot_min_cost_timseries plot_num_visited_states plot_state_analysis_summary plot_state_timeseries plot_successive_states_distance

mgkwill commented 1 year ago

Hi guys. I don't see "StateAnalyser" added as a dependency in this change. What is the version added? Please add to pyproject.toml and update poetry.lock.

mgkwill commented 1 year ago

Hi guys. I don't see "StateAnalyser" added as a dependency in this change. What is the version added? Please add to pyproject.toml and update poetry.lock.

Is it just seaborn that needs to be added to deps for approval?

AlessandroPierro commented 1 year ago

Hi guys. I don't see "StateAnalyser" added as a dependency in this change. What is the version added? Please add to pyproject.toml and update poetry.lock.

Is it just seaborn that needs to be added to deps for approval?

Indeed, we just need approval for seaborn. Thanks for looking into that!