def METHOD_NAME(self, model, **kwds):
    """Solve the model.
    Args:
        model (Block): a Pyomo model or block to be solved
    """
    # The algorithm should have been specified as an argument to the solve
    # method. We will instantiate an ephemeral instance of the correct
    # solver and call its solve method.
    options = kwds.pop('options', {})
    config = self.CONFIG(options, preserve_implicit=True)
    # Don't complain about extra things, they aren't for us. We just need to
    # get the algorithm and then our job is done.
    config.set_value(kwds, skip_implicit=True)
    return SolverFactory(_supported_algorithms[config.strategy][0]).METHOD_NAME(
        model, **kwds
    )