timefold-solver icon indicating copy to clipboard operation
timefold-solver copied to clipboard

Feat: start.timefold.ai (Optimization project skeleton)

Open mcimbora opened this issue 2 years ago • 1 comments

Let's say I want to start a new optimization project. I'd probably:

  • take one of the solver examples/quickstarts as an inspiration
  • set up a maven project
  • declared solver/logging dependencies
  • set up logger
  • declared domain classes
  • added timefold annotations
  • created some dummy data
  • created a single constraint
  • created a constraint configuration class
  • created a single test using a Constraint verifier
  • created simple solver.xml with basic CH/LS, termination, solution/Entity classes, correct constraint provider references
  • created a main class to set up a SolverFactory/Solver

Suggestion:

  • Create a maven archetype / other (e.g. dummy example repository) that sets up the project skeleton. Ideally a simple java application with a main class that I can run & see some output in the log console.
  • Maybe with some explanatory comments (e.g. define your constraints here, change this to update constraint weight for this constraint, etc.).
  • Benefit - this avoids repetitive work that needs to be done everytime the developers start a new preoject.

mcimbora avatar Oct 17 '23 09:10 mcimbora

Relevant for Quarkus: https://quarkus.io/guides/extension-codestart

Christopher-Chianelli avatar Oct 17 '23 19:10 Christopher-Chianelli