Beispiel #1
0
    def bench(self):
        recipes = []
        for o in self.orderList.orders:
            recipes.append(o.recipe.recipe[:])
            o.recipe.recipe = []

        machines = self.plant.machines[:]
        self.plant.machines = []
        i = self.startValue
        while i <= len(machines):
            pprint("PERF Number of machines = " + str(i), BLUE)
            self.plant.machines = machines[:i]
            for j, o in enumerate(self.orderList.orders):
                o.recipe.recipe = recipes[j][:i]
            optimizer = Optimizer(self.plant, self.orderList,
                                  Simulator(self.plant), Evaluator(self.plant))
            optimizer.populationSize = 2
            optimizer.iterations = 2
            optimizer.indivMutationRate = 0.5
            optimizer.selectionRate = 0.5
            optimizer.mutationRange = 10
            schedules = optimizer.run()
            evaluator = Evaluator(self.plant)
            t = time()
            evaluator.evaluate(schedules[0])
            t = time() - t
            self.addCairoPlotTime(t)
            self.addGnuPlotTime(i, t)
            i += 1
Beispiel #2
0
 def bench(self):
     orders = self.orderList.orders[:]
     self.orderList.orders = []
     i = self.startValue
     while i <= len(orders):
         pprint("PERF Number of orders = " + str(i), BLUE)
         self.orderList.orders = orders[:i]
         optimizer = Optimizer(self.plant, self.orderList,
                               Simulator(self.plant), Evaluator(self.plant))
         optimizer.populationSize = 2
         optimizer.iterations = 2
         optimizer.indivMutationRate = 0.5
         optimizer.selectionRate = 0.5
         optimizer.mutationRange = 10
         schedules = optimizer.run()
         evaluator = Evaluator(self.plant)
         t = time()
         evaluator.evaluate(schedules[0])
         t = time() - t
         self.addCairoPlotTime(t)
         self.addGnuPlotTime(i, t)
         i += 1
Beispiel #3
0
 def bench(self):
     val = 2
     i = self.startValue
     while i < 10:
         pprint("PERF Large Value = " + str(i * val), BLUE)
         for o in self.orderList.orders:
             o.deadline *= val
             for r in o.recipe.recipe:
                 r[1] *= val
         optimizer = Optimizer(self.plant, self.orderList,
                               Simulator(self.plant), Evaluator(self.plant))
         optimizer.populationSize = 2
         optimizer.iterations = 2
         optimizer.indivMutationRate = 0.5
         optimizer.selectionRate = 0.5
         optimizer.mutationRange = 500
         schedules = optimizer.run()
         evaluator = Evaluator(self.plant)
         t = time()
         evaluator.evaluate(schedules[0])
         t = time() - t
         self.addCairoPlotTime(t)
         self.addGnuPlotTime((i + 1) * val, t)
         i += 1