Skip to content

Conversation

@schmoelder
Copy link
Contributor

@schmoelder schmoelder commented Jun 16, 2025

Ax v1.0.0 was currently released which introduced a new, unified Client / "Ask and Tell" API.
This PR updates CADET-Process to the new interface.

Todo

  • Initial values @flo-schu
  • CADET-Process / post processing @flo-schu
  • Nonlinear-constraints @flo-schu
  • Multi-objective
  • Running in batches (out of the box)
  • Restore from checkpoints @flo-schu
  • GPEI / NEHVI / qNParEGO @schmoelder
  • Early stopping (nice to have, probably later)

Note, a lot of the previously pre-configured Algorithms (e.g. GPEI) are not provided any more. As far as we understood, Ax analyses the problem at hand and tries to configure a suitable set of tools (which we still need to better understand).

Users can build custom Generators via the Modular BoTorch Interface. We're not quite sure yet how to expose this.

Another alternative is to checkout the testing / documentation of Ax where some of the older algorithms are still configured:

- Tests are not yet passing. But Ax runs and works for LinearConstraintsSingleObjective
- post_processing still needs re-write, which fails tests
@schmoelder schmoelder linked an issue Jun 16, 2025 that may be closed by this pull request
@schmoelder schmoelder added this to the v0.12.0 milestone Jul 4, 2025
Much simpler with the new Ax API
@flo-schu
Copy link
Collaborator

Post processing is now running. It's much simpler with the new API, and I've implemented it so that order of objectives/nlcs and variables is strictly maintained.

The LinearConstraintsSooTestProblem2 is passing
The LinearConstraintsSooTestProblem is failing. Here I found a bound error towards the end of the optimization.

@flo-schu
Copy link
Collaborator

@schmoelder post processing and initial values are implemented. Checkpoints should be straightforward. Nonlinear constraints don't know yet, probably too. I will see what I can get done next week.

- lambda functions are not allowed because their names cannot be parsed
Not passing tests:
- partial(LinearConstraintsSooTestProblem, transform="linear"),
- LinearConstraintsMooTestProblem (Pareto does not converge)
@flo-schu
Copy link
Collaborator

flo-schu commented Nov 7, 2025

@schmoelder Nonlinear constraints are also migrated.
Most tests are passing

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ax improvements

3 participants