This repository was archived by the owner on Jan 26, 2023. It is now read-only.

Description
Current Problem
It strikes me as inconsistent that the QBSolv class is not defined as a composite sampler. If I want to add auto-embedding support to a sampler, I pass the sampler to an AutoEmbeddingComposite. If I want to add reverse-annealing support to a sampler, I pass the sampler to a ReverseAdvanceComposite. If I want to add spin-reversal support to a sampler, I pass the sampler to a SpinReversalTransformComposite. But if I want to add QBSolv support to sampler to break up a large problem, I first create a QBSolv object with no child sampler. Only when I sample from the QBsolv object do I pass QBSolv.sample the sampler I want to use.
Proposed Solution
I propose deriving QBSolv from dimod.Composite. That way, users can treat QBSolv as any other composite sampler, specifying the child at creation time, not at sampling time.