def METHOD_NAME(self):
    if isinstance(self.options, SCOptions):
        options = self.options()
    else:
        options = SCOptions()(self.options)
    if options.linalg.solver is None:
        options.linalg.solver = parapint.linalg.MPISchurComplementLinearSolver(
            subproblem_solvers={ndx: parapint.linalg.InteriorPointMA27Interface(cntl_options={1: 1e-6}) for ndx in range(len(self.all_scenario_names))},
            schur_complement_solver=parapint.linalg.InteriorPointMA27Interface(cntl_options={1: 1e-6}))
    status = parapint.algorithms.ip_solve(interface=self.interface,
                                          options=options)
    if status != parapint.algorithms.InteriorPointStatus.optimal:
        raise RuntimeError('Schur-Complement Interior Point algorithm did not converge')
    self.interface.load_primals_into_pyomo_model()
    return status