Пример #1
0
def main():
    logger.set_logger()
    log = logger.get_logger(__name__)
    # n = 50
    # x, y = make_points(n)
    n, x, y = read_hokkaido()
    graph = make_euclidean_graph(n, x, y)
    solution = make_problem_and_solve(graph, n)
    plot_graph(solution, x, y)
Пример #2
0
def main():
    logger.set_logger()
    log = logger.get_logger(__name__)
    n = 10
    p = 0.4
    edges = make_edges(n, p)
    problem = make_problem(n, edges)
    solve_with_log.exec(problem, False, 100)
    log.debug(f"by enumeration: {solution_by_enumeration(n, edges)}")
    log.debug(F"edges:{edges}")
Пример #3
0
def main():
    logger.set_logger()
    log = logger.get_logger(__name__)
    instance = make_simple_instance()
    stock, production, setup = make_variables(instance)
    problem = make_problem(instance, stock, production, setup)
    solve_with_log.exec(problem)
    for i in range(5):
        log.debug(
            f"{pulp.value(production[0, i])},{pulp.value(stock[0, i])},{pulp.value(setup[0, i])}"
        )
Пример #4
0
def main():
    logger.set_logger()
    log = logger.get_logger(__name__)
    n = 40
    x, y = make_points(n)
    graph = to_directed_graph(make_euclidean_graph(n, x, y))
    problem_loose = make_problem_by_loose_constraint(graph, n)
    problem_tight = make_problem_by_tight_constraint(graph, n)
    solution = solve(problem_loose, graph)
    plot_graph(solution, x, y)
    solution = solve(problem_tight, graph)
    plot_graph(solution, x, y)
Пример #5
0
def main():
    logger.set_logger()
    log = logger.get_logger(__name__)

    bin_capacity, items = read_from_text(0)
    # bin_capacity, items = make_instance()
    # initial_solution = make_solution_by_greedy(bin_capacity, items)
    initial_solution = make_simple_solution(bin_capacity, items)
    solutions_str = "\n".join([f"{row}" for row in initial_solution])
    log.debug(f"=========initial_solution=========\n{solutions_str}")
    problem = make_problem_with_initial_solution(bin_capacity, items,
                                                 initial_solution)
    # problem = make_problem(bin_capacity, items)
    solve_with_log.exec(problem, True, 300)
Пример #6
0
def main():
    logger.set_logger()
    log = logger.get_logger(__name__)
    instance = read_instance('PSP_100_1.psp')
    stock, production, last_production, setup = make_variables(instance)
    problem = make_problem(instance, stock, production, last_production, setup)
    solve_with_log.exec(problem)

    for t in range(instance.n_terms):
        for p in range(instance.n_products):
            if pulp.value(production[p, t]) == 1:
                log.info(f"product:{t}:{p}")
            if pulp.value(last_production[p, t]) == 1:
                log.info(f"last_production:{t}:{p}")
            if pulp.value(stock[p, t]) >= 1:
                log.info(f"stock:{t}:{p}:{pulp.value(stock[p, t])}")

        for p, q in itertools.product(range(instance.n_products),
                                      range(instance.n_products)):
            if pulp.value(setup[p, q, t]) == 1:
                log.info(f"setup:{t}:{p}->{q}")
Пример #7
0
import os
import errno
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

# 待機用
from selenium.webdriver.support.ui import WebDriverWait
from selenium.common.exceptions import TimeoutException, UnexpectedAlertPresentException
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.alert import Alert

# ロガーの設定
from common.logger import set_logger
logger = set_logger(__name__)

# web要素へのアクション
ACTION_TYPE_CLICK = 1
ACTION_TYPE_GET_URL = 2


class Driver(Singleton):
    """ウェブドライバーを操作するクラス"""
    def __init__(self, headless_flg):

        # 既にドライバーを作成済みの場合、事前に閉じる
        if hasattr(self, 'driver'):
            self.driver.quit()

        #chromeドライバーの読込
Пример #8
0
def main():
    logger.set_logger()
    log = logger.get_logger(__name__)
    n, edges = read_instance("queen5_5.col")
    opt = binary_seach(n, edges)
    log.debug(f"opt:{opt}")
    for i, j in itertools.product(range(instance.n_customers),
                                  range(instance.n_facilities)):
        problem.addConstraint(x[i, j] >= 0, name=f"x_positive_{i}_{j}")

    for i in range(instance.n_customers):
        problem.addConstraint(pulp.lpSum(
            [x[i, j]
             for j in range(instance.n_facilities)]) >= instance.demands[i],
                              name=f"customer_demands_positive_{i}")
        problem.addConstraint(pulp.lpSum(
            [x[i, j]
             for j in range(instance.n_facilities)]) <= instance.demands[i],
                              name=f"customer_demands_negative_{i}")
    for j in range(instance.n_facilities):
        problem.addConstraint(
            pulp.lpSum([x[i, j] for i in range(instance.n_customers)
                        ]) <= y[j] * instance.capacity[j],
            name=f"capacity_{j}")
    return problem


def main():
    instance = read_instance(os.path.join(instance_dir, "cap42.txt"))
    problem = make_problem(instance)
    solve_with_log.exec(problem, False, 300)


if __name__ == "__main__":
    logger.set_logger()
    main()
Пример #10
0
def main():
    logger.set_logger()
    log = logger.get_logger(__name__)
    a = range(-5, 6)
    problem = make_problem(target_func, a)