Current Problem
When a sampleset is output by the CQM solver, the dictionary is sorted in lexicographical order. Thus reading the values with sampleset.first.sample.values may not agree with the order of variables input into the problem, creating confusion if we want to independently verify the feasibility of a solution.
Proposed Solution
An optional argument to sample_cqm() which sets the order of the sample set's dictionaries. Alternatively we could instead just keep the original order the variables were input into the model; maybe something like maintain_order = True
Alternatives Considered
A naive workaround is to simply store the order of variables from the original input and create a new sample set dictionary using the lexicographical sample set's dictionary as a key.
Additional context
Several customers have run into this in the past
Current Problem
When a
samplesetis output by the CQM solver, the dictionary is sorted in lexicographical order. Thus reading the values withsampleset.first.sample.valuesmay not agree with the order of variables input into the problem, creating confusion if we want to independently verify the feasibility of a solution.Proposed Solution
An optional argument to
sample_cqm()which sets the order of the sample set's dictionaries. Alternatively we could instead just keep the original order the variables were input into the model; maybe something likemaintain_order = TrueAlternatives Considered
A naive workaround is to simply store the order of variables from the original input and create a new sample set dictionary using the lexicographical sample set's dictionary as a key.
Additional context
Several customers have run into this in the past