d-krupke / CP-SAT-Log-Analyzer

A webapp that visualizes and annotates your ortools' CP-SAT logs. Partially inspired by gurobi-logtools.
https://cpsat-log-analyzer.streamlit.app/
MIT License
20 stars 0 forks source link

Integrate model name and fingerprints into the overview #1

Open d-krupke opened 5 months ago

d-krupke commented 5 months ago

While the model names are given by the user itself, and shouldn't be a surprise, the fingerprint of it can be a useful indicator if the model building is deterministic. This of course requires the fingerprint to actually be deterministic on different machines etc. AFAIK, the Gurobi support team uses such a feature to verify that they actually recreated the same model (in Gurobi). I have to check if the fingerprint of CP-SAT is actually reliable, too.

There is also the solution fingerprint, which can be used to quickly check if the solution of two different solve processes is identical. This may require the models to have the same fingerprints, too, to be useful.

d-krupke commented 5 months ago

There are actually three fingerprints:

  1. Initial Model: Useful to check if the model building is deterministic
  2. Presolved Model: Useful to check if the performance varies due to non-deterministic presolve. However, this would be more debugging and there is not much you could do in that case, AFAIK.
  3. Solution: Useful to check if you get the same solution in multiple runs.