Description
LeapHybridNLSampler accepts models with more than maximum_number_of_states states initialized but quietly ignore the rest. Users might think the rest are being used.
To Reproduce
model = traveling_salesperson(distance_matrix=DISTANCE_MATRIX)
route, = model.iter_decisions()
with model.lock():
model.states.resize(2)
route.set_state(0, [0, 1, 2, 3, 4])
route.set_state(1, [0, 1, 2, 3, 4])
results = sampler.sample(
model,
label='SDK Examples - TSP')
Expected it to reject: "Alex C 6 days ago Something that came up... we need to add it. And reject problems based on that num_states field in the header"
Expected behavior
Reject such problems
Environment:
- OS: WIN
- Python version: 3.11
Additional context
@alexzucca90 suggested to move to here.
I notice we actually check maximum_number_of_states property here so can easily do this in the client.