def __init__(self, task_queue, result_queue, cfr, timeQueue, index, outputFileParentName, num_consumers, s, metrics_variables, metrics_objective_direction, consumerConstraints): multiprocessing.Process.__init__(self) self.task_queue = task_queue self.result_queue = result_queue self.timeQueue = timeQueue self.cfr = cfr self.solver = s self.consumerConstraints = consumerConstraints self.index = index self.num_consumers = num_consumers self.ParetoFront = [] self.clock = Clock() self.GIAOptions = GuidedImprovementAlgorithmOptions(verbosity=0, \ incrementallyWriteLog=False, \ writeTotalTimeFilename="timefile.csv", \ writeRandomSeedsFilename="randomseed.csv", useCallLogs=False) self.GIAAlgorithm = GuidedImprovementAlgorithm(self.cfr, self.solver, metrics_variables, \ metrics_objective_direction, [], options=self.GIAOptions)
def GIA(self, desired_number_of_models): metrics_objective_direction = [] metrics_variables = [] for i in self.objectives: (pol, var) = i metrics_objective_direction.append(pol) metrics_variables.append(var) # Non-Parallel GIAOptionsNP = GuidedImprovementAlgorithmOptions(verbosity=0, \ incrementallyWriteLog=False, \ writeTotalTimeFilename="timefile.csv", \ writeRandomSeedsFilename="randomseed.csv", useCallLogs=False, num_models=desired_number_of_models, magnifying_glass=Options.MAGNIFYING_GLASS) if Options.CORES == 1: GIAAlgorithmNP = GuidedImprovementAlgorithm(self, self.solver, metrics_variables, \ metrics_objective_direction, [], options=GIAOptionsNP) '''featurevars instead of []''' outfilename = str("giaoutput").strip() ParetoFront = GIAAlgorithmNP.ExecuteGuidedImprovementAlgorithm(outfilename) if not Options.SUPPRESS_MODELS: if not ParetoFront: standard_print("UNSAT") for i in ParetoFront: self.printVars(i) return ParetoFront else: parSolver = ParSolver.ParSolver(self, self.module, self.solver, metrics_variables, metrics_objective_direction) ParetoFront = parSolver.run() for i in ParetoFront: self.printStartDelimeter() standard_print(i) standard_print("") self.printEndDelimeter() return ParetoFront