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