def sample(self, ignored): if self.cummulatives is None: self.calculateCummulatives() rand = random.random() #print "DiscreteDistribution.sample.random" + str(rand) #print "DiscreteDistribution.sample.cummulative" + str(self.cummulatives) temp = ABAGAILArrays() result = temp.search(self.cummulatives, rand) # print "DiscreteDistribution.sample.search.result" + str(result) return Instance(val = result)
print "Route:" path = [] for x in range(0,N): path.append(ga.getOptimal().getDiscrete(x)) print path # for mimic we use a sort encoding ef = TravelingSalesmanSortEvaluationFunction(points); fill = [N] * N ranges = list(array('i', fill)) odd = DiscreteUniformDistribution(ranges); df = DiscreteDependencyTree(.1, ranges); pop = GenericProbabilisticOptimizationProblem(ef, odd, df); mimic = MIMIC(500, 100, pop) fit = FixedIterationTrainer(mimic, 1000) fit.train() print "MIMIC Inverse of Distance: " + str(ef.value(mimic.getOptimal())) print "Route:" path = [] optimal = mimic.getOptimal() fill = [0] * optimal.size() ddata = list(array('d', fill)) for i in range(0,len(ddata)): ddata[i] = optimal.getContinuous(i) temp = ABAGAILArrays() order = temp.indices(optimal.size()) temp.quicksort(ddata, order) print order
def sample(self, ignored): temp = ABAGAILArrays() d = temp.dindices(self.n) temp.permute(d) return Instance(ds = d)