Skip to content

0.11.0rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@arcondello arcondello released this 15 Mar 18:53
c847816

Prelude

Add support for real-valued variables.

New Features

  • Improved deprecation warnings and documentation. See #192.
  • Add C++ Vartype::REAL, a new variable type for real-valued variables.
  • Support variables with Vartype::REAL in C++ QuadraticModel.
  • Add Vartype.REAL, a new variable type for real-valued variables.
  • Add Real() and Reals() functions for creating quadratic models with a single real-valued variable.
  • Support variables with Vartype.REAL in QuadraticModel.
  • ConstrainedQuadraticModel.to_file() now uses serialization format 1.2. This format is backwards compatibile.
  • Add vartype and linear_only arguments to ConstrainedQuadraticModel.num_biases().
  • Add vartype and include_objective arguments to ConstrainedQuadraticModel.num_quadratic_variables().
  • Add check_header keyword-only argument to ConstrainedQuadraticModel.from_file().
  • Add a global flag dimod.REAL_INTERACTIONS. When this flag is set to False, variables with variable type Vartype.REAL cannot have interactions. dimod.REAL_INTERACTIONS is set to False by default.

Upgrade Notes

  • Remove .vartypes, .lower_bounds, and .upper_bounds attributes from ConstrainedQuadraticModel.variables. These were previously deprecated in dimod 0.10.6.
  • Remove .vartype() method from ConstrainedQuadraticModel.variables. It was previously deprecated in dimod 0.10.6.
  • Remove bqm_index_labelled_input decorator. It was previously deprecated in dimod 0.10.8.
  • Remove SampleSet.is_writeable attribute.
  • Remove dimod.generators.knapsack(). It was previously deprecated in dimod 0.10.6.
  • Remove dimod.generators.multi_knapsack(). It was previously deprecated in dimod 0.10.6.
  • Remove dimod.generators.bin_packing(). It was previously deprecated in dimod 0.10.6.
  • Remove HigherOrderComposite.sample_ising() method. It was previously scheduled to be removed in dimod 0.10.0.
  • Remove PolySampler.sample(), PolySampler.sample_ising(), and PolySampler.sample_qubo() methods. These were previously scheduled to be removed in dimod 0.10.0.
  • AdjVectorBQM and AdjDictBQM are now aliases for BinaryQuadraticModel and DictBQM respectively rather than having their own implementation with a slightly different API. They were previously deprecated in dimod 0.10.0.
  • The dimod.bqm namespace has been removed.
  • The dimod.core.bqm namespace has been removed.
  • dimod::AdjVectorBQM has been removed from the C++ code.
  • Some composites were migrated to dwave-preprocessing in dimod0.10.0. Trying to import and use these composites from dimod now raises an exception rather than a warning. The affected composites:
    • ClipComposite
    • ConnectedComponentsComposite
    • FixedVariableComposite
    • RoofDualityComposite
    • ScaleComposite
    • SpinReversalTransformComposite
  • The fix_variables() was migrated to dwave-preprocessing in dimod 0.10.0. Trying to import and use it now raises an exception rather than a warning.
  • Packages that require binary compatibility with dimod and that were compiled with 0.10.0 will not work with 0.11.0.

Deprecation Notes

  • Deprecate support for the ConstrainedQuadraticModel.add_variable(v, vartype) argument order. Use ConstrainedQuadraticModel.add_variable(vartype, v) instead. See #969.
  • In the future, ConstrainedQuadraticModel.num_quadratic_variables() will also include the objective towards the count by default.

Bug Fixes

  • Fixes performance regression on energy calculations introduced in 0.10.0. See #1025