New Features
- Add C++ `QuadraticModelBase::remove_interactions()` method.
- Add `dimod.generators.random_binary_paint_shop_problem()` binary paint shop problem generator.
- Add an abstract method `QuadraticViewsMixin.add_quadratic()`.
- Add a method `QuadraticViewsMixin.add_quadratic_from()` to add quadratic interactions. This method is intended to be used as follows: `ConstrainedQuadraticModel.objective.add_quadratic_from()`, similarly to `ConstrainedQuadraticModel.objective.add_linear_from()`.
- Add `check_overlaps` keyword argument to `ConstrainedQuadraticModel.add_discrete()`, see [\1364](https://github.com/dwavesystems/dimod/issues/1364).
Upgrade Notes
- All sublcasses of `QuadraticViewsMixin`, including `ObjectiveView`, `QuadraticModel` and `BinaryQuadraticModel`, now require to have the method `add_quadratic()`.