(self, solvers_set, environment, logic, **options)
Creates a portfolio using the specified solvers.

        Solver_set is an iterable. Elements of solver_set can be
         1) a name of a solver
         2) a tuple containing a name of a solver and dict of options

        E.g.,
           Portfolio(["msat", "z3"], incremental=True)
              or
           Porfolio([("msat", {"random_seed": 1}), ("msat", {"random_seed": 2})],
                     incremental=True)

        Options specified in the Portfolio are shared among all
        solvers, e.g., in the first example all solvers will receive
        the option 'incremental=True'.

        One process will be used for each of the solvers.
Creates a portfolio using the specified solvers.
Creates a portfolio using the specified solvers .
def __init__(self, solvers_set, environment, logic, **options):
        """Creates a portfolio using the specified solvers.

        Solver_set is an iterable. Elements of solver_set can be
         1) a name of a solver
         2) a tuple containing a name of a solver and dict of options

        E.g.,
           Portfolio(["msat", "z3"], incremental=True)
              or
           Porfolio([("msat", {"random_seed": 1}), ("msat", {"random_seed": 2})],
                     incremental=True)

        Options specified in the Portfolio are shared among all
        solvers, e.g., in the first example all solvers will receive
        the option 'incremental=True'.

        One process will be used for each of the solvers.
        """
        IncrementalTrackingSolver.__init__(self,
                                           environment=environment,
                                           logic=logic,
                                           **options)
        self.solvers = []
        self._process_solver_set(solvers_set)
        # Check that the names are valid ?
        all_solvers = set(self.environment.factory.all_solvers(logic=logic))
        not_found = set(s for s,_ in self.solvers) - all_solvers
        if len(not_found) != 0:
            raise ValueError("Cannot find solvers %s" % not_found)

        # After Solving, we only keep the solver that finished first.
        # We can extract models from the solver, unsat cores, etc
        self._ext_solver = None # Existing solver Process
        self._ctrl_pipe = None
def __init__ ( self , solvers_set , environment , logic , * * options ) : IncrementalTrackingSolver . __init__ ( self , environment = environment , logic = logic , * * options ) self . solvers = [ ] self . _process_solver_set ( solvers_set ) # Check that the names are valid ? all_solvers = set ( self . environment . factory . all_solvers ( logic = logic ) ) not_found = set ( s for s , _ in self . solvers ) - all_solvers if len ( not_found ) != 0 : raise ValueError ( "Cannot find solvers %s" % not_found ) # After Solving, we only keep the solver that finished first. # We can extract models from the solver, unsat cores, etc self . _ext_solver = None # Existing solver Process self . _ctrl_pipe = None