Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmarking/competition output mode #746

Open
cyderize opened this issue Nov 8, 2023 · 0 comments
Open

Benchmarking/competition output mode #746

cyderize opened this issue Nov 8, 2023 · 0 comments

Comments

@cyderize
Copy link
Member

cyderize commented Nov 8, 2023

When running benchmarks for the MiniZinc Challenge, there have been some instances where MiniZinc's output processing has become the bottleneck for solvers which output many solutions quickly (essentially penalising you for producing more solutions).

In general, we probably want to ignore solution processing time when comparing solvers, so we could add an output mode where:

  • Only the objective is output during solving
  • At the end of solving, the full solutions are output

Outputting objective values would allow us to ensure that the solution was really produced at the time claimed by the solver.

So in this mode, MiniZinc would save the FlatZinc solutions to a buffer, and just print the objective value, then once done would run the solutions through the output model and print the result.

We could also potentially add a new flag for solvers to support this directly - so that they could store the solutions themselves and just output the objective to remove the overhead of printing the full solution (but I don't know if this is ever really a bottleneck anyway, so this might be overkill).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant