Let teams compete by making them create hard instances and fast solvers for problems of your choice. Then pitch these instances and solvers against one another. All language-agnostic.
This adds a new battle type called Improving. The idea behind these battles is that teams don't just create instances/solutions from scratch every time, but should improve on previous round's instances/solutions. To do this we basically run an Averaged battle, but also provide the programs with info on the previous rounds. A generator can then e.g. fine tune some parameters to create instances that it sees the solver has trouble handling. More details on this can be found in the battle type section of the docs.
This PR also shuffles around some other code to let battle types access each fight's instances/solutions directly and use config options when calculating scores. No externally visible functionality has been changed. The new battle type and associated classes come with extensive tests.
This adds a new battle type called
Improving
. The idea behind these battles is that teams don't just create instances/solutions from scratch every time, but should improve on previous round's instances/solutions. To do this we basically run an Averaged battle, but also provide the programs with info on the previous rounds. A generator can then e.g. fine tune some parameters to create instances that it sees the solver has trouble handling. More details on this can be found in the battle type section of the docs.This PR also shuffles around some other code to let battle types access each fight's instances/solutions directly and use config options when calculating scores. No externally visible functionality has been changed. The new battle type and associated classes come with extensive tests.