def next(self, state, **runopts): # update the first sample in `state.sampleset`, inplace # XXX: assume one global sample, one subsample # TODO: generalize sample = next(iter(state.samples.change_vartype(state.subsamples.vartype).samples())) subsample = next(iter(state.subsamples.samples())) composed_sample = updated_sample(sample, subsample) composed_energy = state.problem.energy(composed_sample) return state.updated( samples=SampleSet.from_samples(composed_sample, state.samples.vartype, composed_energy))
def next(self, state, **runopts): # update the first sample in `state.sampleset`, inplace # XXX: assume one global sample, one subsample # TODO: generalize sample = next( iter( state.samples.change_vartype( state.subsamples.vartype).samples())) subsample = next(iter(state.subsamples.samples())) sample_energy = state.problem.energy(sample) composed_sample = updated_sample(sample, subsample) composed_energy = state.problem.energy(composed_sample) logger.debug("{name} subsample (len={sslen}) -> sample (len={slen}), " "sample energy changed {old_en} -> {new_en}".format( name=self.name, sslen=len(subsample), slen=len(sample), old_en=sample_energy, new_en=composed_energy)) return state.updated(samples=SampleSet.from_samples( composed_sample, state.samples.vartype, composed_energy))