Skip to content

Releases: dwavesystems/dimod

0.12.8

28 Jun 19:44
3873226
Compare
Choose a tag to compare

New Features

  • Add dimod.generators.magic_square() which allows for the generation of a constrained quadratic model whose feasible solutions are normal magic squares. The function also generates magic squares of squares when passed power=2 as a keyword argument.
  • Implement version 2.0 of constrained quadratic model serialization. See ConstrainedQuadraticModel.to_file() for details.
  • Improve LP file reading by wrapping HiGHS LP file parser.
  • Add C++ ConstrainedQuadraticModel::remove_constraints_if() method.

Upgrade Notes

  • Remove the ObjectView.to_file() method.
  • Remove the ConstraintView.to_file() method.
  • Remove dimod::lp C++ namespace.
  • Drop support for Python 3.7.

Bug Fixes

  • Fix ConstrainedQuadraticModel.from_discrete_quadratic_model() incorrectly formulating the discrete constraints. This bug was
    introduced in version 0.12.7.
  • Fix dimod.generators.frustrated_loop() to correctly handle graphs with tuple labels. See #1342.

0.12.8rc2

21 Jun 16:50
ec06872
Compare
Choose a tag to compare
0.12.8rc2 Pre-release
Pre-release

Bug Fixes

  • Fix loading constrained quadratic models that are serialized with CQM serialization version 2.0 and that have tuple labels.
  • Support serializing constraints that need more than 2GB to save.

0.12.8rc1

14 Jun 17:32
614ece3
Compare
Choose a tag to compare
0.12.8rc1 Pre-release
Pre-release

Fixes

  • Fix ConstrainedQuadraticModel.from_discrete_quadratic_model() incorrectly formulating the discrete constraints. This bug was introduced in version 0.12.7.

0.12.8rc0

13 Jun 20:33
Compare
Choose a tag to compare
0.12.8rc0 Pre-release
Pre-release

New Features

  • Implement version 2.0 of constrained quadratic model serialization. See ConstrainedQuadraticModel.to_file() for details.

Upgrade Notes

  • Remove the ObjectView.to_file() method.
  • Remove the ConstraintView.to_file() method.

0.12.7

07 Jun 15:16
c3e851f
Compare
Choose a tag to compare

New Features

  • Implement CaseLabelDQM.to_file() when the keyword argument ignore_labels is true. Also make the error message clearer in the case that ignore_labels is false.
  • Improve the performance of ConstrainedQuadraticModel.from_discrete_quadratic_model().

Upgrade Notes

  • Make the arguments of DiscreteQuadraticModel.to_file() keyword-only.

0.12.6

29 May 21:12
6975f41
Compare
Choose a tag to compare

New Features

  • Add dimod::Constraint::clear() C++ method.

0.12.5

17 Apr 19:28
c5ee164
Compare
Choose a tag to compare

New Features

  • Add dimod::ConstrainedQuadraticModel::constraints() method that returns a view of the constraints that is easily iterated over.

  • Improve the performance of fixing and removing variables from constrained quadratic model expressions.

  • Implement the Expression::fix_variable() C++ method. Previously it would throw std::logic_error("not implemented - fix_variable").

  • Improve the performance of ConstrainedQuadraticModel.fix_variable() and ConstrainedQuadraticModel.fix_variables().

  • Add inplace keyword argument to ConstrainedQuadraticModel.fix_variables().

Upgrade Notes

  • Add an overload to the C++ QuadraticModel::remove_variable() method. This is binary compatible, but it makes &remove_variable ambiguous.

  • The ConstrainedQuadraticModel.fix_variables() function now returns a ConstrainedQuadraticModel rather than an empty dictionary.

  • Change lp.load() and lp.loads() to raise a ValueErrorr rather than a RuntimeError when given an invalid file format.

  • Make beta_range, num_reads, and num_sweeps keyword-only arguments for SimulatedAnnealingSampler.sample().

  • Make num_reads and seed keyword-only arguments for RandomSampler.sample().

  • Make initial_states, initial_states_generator, num_reads and seed keyword-only arguments for IdentitySampler.sample().

  • Make rtol and atol keyword-only arguments for ExactCQMSolver.sample_cqm().

Bug Fixes

  • Fix lp.load() and lp.loads() functions to correctly handle maximization objectives. See #1321.

0.12.4

08 Mar 20:49
d5a3059
Compare
Choose a tag to compare

New Features

  • Improve the performance of the ConstrainedQuadraticModel.add_variables() method.
  • Allow discrete constraints added by ConstrainedQuadraticModel.add_discrete() to have zero or one variables.

Upgrade Notes

  • Remove the undocumented cyConstrainedQuadraticModel.add_variable() method.

Bug Fixes

  • Fix ConstrainedQuadraticModel.add_variable() to raise a ValueError when given an inconsistent variable type. Previously it incorrectly raised a TypeError.
  • Fix ConstrainedQuadraticModel.add_variable() to raise a ValueError when given invalid variable bounds.

0.12.3

25 Nov 23:41
7760d75
Compare
Choose a tag to compare

New Features

  • Add compress keyword argument to ConstrainedQuadraticModel.to_file().
  • Add ConstraintView.set_weight() method. This allows users to set the weight of existing constraints.

Upgrade Notes

  • When the constraint is hard, ConstraintView.penalty() now returns None. Previously it would return either 'linear' or 'quadratic'.

Bug Fixes

  • Fix the copy keyword argument of ConstrainedQuadraticModel.add_constraint_from_model(). Previously it would always make a copy.
  • Add missing #include in dimod/include/dimod/abc.h.
  • Fix ConstrainedQuadraticModel.add_constraint_from_iterable() to no longer raise a NotImplementedError when given a weight.
  • Fix ConstrainedQuadraticModel.add_constraint() to raise a ValueError rather than a NotImplementedError when given an invalid penalty.

0.12.2

15 Nov 02:03
247aeac
Compare
Choose a tag to compare

New Features

  • Implement Expression::remove_variable() method in the C++ code.
  • Implement Expression.remove_variable() method in the Python code.
  • Add dimod/libcpp/expression.pxd and dimod/libcpp/constraint.pxd.