Release 3.0.0
This release introduces new features, refactors quite a bit of code and fixes a few outstanding bugs.
Changes in more Detail:
- Features
- The project should now run under Windows 10, thanks to imogen.
- It is now possible to scale the memory that a generator or solver has to the current instance size and available memory by overwriting the
problem.py
's new methodsgenerator_memory_scaler
andsolver_memory_scaler
. - It is now possible to postprocess instances after they have been run through the verifier. See #26.
- If the docker containers of some team do not build correctly, they are removed from a battle rather than the battle being aborted altogether.
- It is possible to manipulate the step size increase of the
iterated
battle wrapper more closely by using the newiter_exponent
option of thebattle
script. This can be useful for debugging by setting it to 1.
- Changes
- The
battle_wrapper
s were moved out of thematch
class into their own modules. - The methods formatting the
match_data
were moved into the newbattle_wrapper
s. - Point calculations were moved out of the
util
module into the newbattle_wrappers
s. - The point calculation for the
averaged
battle wrapper was adjusted. - The
available
points are now split between each pair of teams, rather than among all pairs of teams. - Logging is now less verbose, with most output messages moved down to the
debug
level.
- The
- Bugfixes
- Fixed #21 by forcing team names into lower case.
- The
iterated
battle wrapper stopped if the next iteration step would be bigger than theiter_cap
without actually executing a battle on this instance size. This would mean that several iterations could be unrightfully achieved. - Log paths set with the
--output_folder
option now always correctly resolve. - The timeout for the
delaytest
problem was increased to 300 seconds, as it sometimes timed out upon the first build. - Additional minor code cleanup and test cleanup.