Prelude
Add support for real-valued variables.
New Features
- Improved deprecation warnings and documentation. See [192](https://github.com/dwavesystems/dwave-ocean-sdk/issues/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.3. 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()`.
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](https://github.com/dwavesystems/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](https://github.com/dwavesystems/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
- 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](https://github.com/dwavesystems/dimod/issues/1025)