Skip to content

Releases: gtw123/OpusSolver

v3.0

25 Oct 16:54
Compare
Choose a tag to compare

New features

  • New low-cost solver which generates solutions with low (but not quite minimal) cost.
  • New --optimize option to generate multiple solutions for each puzzle and pick the best ones.
  • New --analyze option to generate a summary of each puzzle, including reagents, products and required reactions.
  • Readme now includes a detailed design overview.

Improvements

  • Many small optimizations to the old ("standard") solver.
  • Now uses lp_solve to generate a more sensible recipe for each solution, avoiding waste where possible.
  • Now verifies multiple solutions in parallel to save time (controlled via --maxparallelverifiers).
  • Optional wrapper script (run.ps1) to both generate and verify solutions in parallel.

Internal changes

  • Now targets .NET 8.0
  • Extensive refactoring and other changes

v2.2

03 Jun 10:20
Compare
Choose a tag to compare

New features

  • Improved the console output to better handle many puzzles. It now displays progress dots instead of full puzzle names, but still displays errors for unsuccessful solutions.
  • Added a --report option for saving a summary of the generated solutions and their metrics.
  • Improved solution verification to also detect overlapping parts.
  • Added tests, using puzzles from omsim and the recent 24-hour challenge sample/test puzzles.

Improvements to generated solutions

  • Added a new assembler for generating linear products.
  • Added a new assembler for generating products which fit within a hexagon of diameter 3.
  • Pistons are now automatically replaced with arms where possible.
  • Many other small optimizations.

Bug fixes

  • Extra copies of repeating molecules were sometimes being generated.
  • Repeat instructions were generated at the wrong location when a sequence started with a Wait instruction.
  • If a puzzle had multiple identical products, they were sometimes dropped onto the wrong output.

v2.1

17 May 14:46
Compare
Choose a tag to compare
  • Generated solutions are now automatically verified using libverify from omsim. If verification is successful, the cost/cycles/area/instructions metrics are automatically written to the solution file.
  • Removed the hard-coded 18 repetitions for puzzles that contain both repeating and non-repeating products. OpusSolver now uses the "output scale" of a puzzle to work out how many products to create in this situation, which may lead to simpler solutions for some puzzles.

v2.0

10 May 17:09
Compare
Choose a tag to compare

As of this version, OpusSolver is now a command-line program that generates .solution files from .puzzle files.