Esempio n. 1
0
def compile_problem(problem, params=solver_params_pb2.SolverParams()):
    logging.debug("params:\n%s", params)
    logging.debug("input:\n%s", tree_format.format_problem(problem))
    for transform in TRANSFORMS:
        problem = transform(problem, params)
        logging.debug("%s:\n%s", transform_name(transform),
                      tree_format.format_problem(problem))
    return problem
Esempio n. 2
0
def compile_problem(problem):
    logging.debug("input:\n%s", tree_format.format_problem(problem))
    for transform in TRANSFORMS:
        problem = transform(problem)
        logging.debug(
            "%s:\n%s",
            transform_name(transform),
            tree_format.format_problem(problem))
    return problem
Esempio n. 3
0
def compile_problem(problem, params=solver_params_pb2.SolverParams()):
    logging.debug("params:\n%s", params)
    logging.debug("input:\n%s", tree_format.format_problem(problem))
    for transform in TRANSFORMS:
        problem = transform(problem, params)
        logging.debug(
            "%s:\n%s",
            transform_name(transform),
            tree_format.format_problem(problem))
    return problem
Esempio n. 4
0
def transform_problem(problem, params):
    validate.check_sum_of_prox(problem)
    graph = build_graph(problem)

    if not graph.nodes(VARIABLE):
        return problem

    for f in GRAPH_TRANSFORMS:
        f(graph)
        log_debug(
            lambda f, graph: "%s:\n%s" %
            (f.__name__, tree_format.format_problem(graph.problem)), f, graph)
    return graph.problem
Esempio n. 5
0
def transform_problem(problem):
    validate.check_sum_of_prox(problem)
    graph = build_graph(problem)
    if not graph.nodes(VARIABLE):
        return problem

    for f in GRAPH_TRANSFORMS:
        f(graph)
        log_debug(
            lambda f, graph:
            "%s:\n%s" %
            (f.__name__,
             tree_format.format_problem(graph.problem)),
            f, graph)
    return graph.problem