Changelog¶

v1.3.0 (Oct. 08, 2026)¶

  • Removed the PyTorch dependency and changed the default FM surrogate implementation to NumPy only. The legacy PyTorch implementation is still available as TorchFMTrainer (and TorchFM) when installed with pip install "amplify-bbopt[torch]".

    • FMTrainer.model now returns FactorizationMachine instead of TorchFM. Code relying on the PyTorch model API (e.g., state_dict(), or .to()) should use TorchFMTrainer instead.

    • FMTrainer accepts the same constructor arguments as before, except that num_threads is deprecated and ignored. The loss_class, optimizer_class, and lr_scheduler_class properties accept only a name string (e.g., "mse", "adam", or "steplr"). A value that is not a string raises a TypeError, and an unsupported name raises a ValueError. The TypeError message points to TorchFMTrainer for the PyTorch classes.

  • Improve the speed of converting a KMTrainer surrogate model to a QUBO polynomial.

  • Improve the speed of converting an FMTrainer surrogate model to a QUBO polynomial.

  • Require Amplify SDK >=1.7.3 (previously >=1.6.3).

v1.2.0 (Jun. 23, 2026)¶

  • Add multi-objective optimization support.

  • Add values_from_solution() to convert a solution into decision variable values when appending to the history in a custom cycle.

  • Require Amplify SDK >=1.6.1 (previously >=1.4.0) and drop the [extra] dependency.

  • Improve the fallback solution algorithm.

v1.2.1 (Sep. 08, 2026)
  • Improve the speed of generating random solutions subject to constraints.

  • Improve the speed of decoding solutions.

v1.1.0 (Jan. 28, 2026)¶

  • Add a data transformation class ExpScaler to handle exponential scaling automatically

v1.0.1 (Aug. 20, 2025)¶

  • Release version 1.0

v1.0.3 (Oct. 1, 2025)
  • Now supports Amplify SDK 1.4