예제 #1
0
def test4():
    ### incomplete

    sol = [
        2, 3, 6, 19, 19, 2, 14, 1, 19, 14, 15, 17, 10, 13, 3, 14, 11, 12, 9, 5,
        4, 6, 5, 7, 19, 5, 2, 7, 10, 3, 1, 15, 10, 14, 1, 1, 4, 11, 0, 3, 14,
        0, 4, 4, 12, 9, 4, 13, 14, 4, 12, 10, 8, 9, 8, 19, 7, 14, 2, 13, 11, 3,
        4, 18, 16, 14, 11, 4, 5, 11, 9, 13, 13, 3, 19, 8, 4, 6, 6, 11, 11, 2,
        17, 13, 7, 11, 10, 15, 19, 19, 5, 6, 18, 5, 6, 6, 16, 3, 9, 4, 0, 11,
        19, 19, 11, 10, 8, 3, 3, 1, 2, 15, 4, 1, 19, 16, 7, 18, 6, 15, 8, 18,
        2, 19, 5, 7, 9, 13, 13, 15, 3, 19, 11, 11, 10, 16, 8, 11, 14, 8, 16, 7,
        12, 10, 2, 1, 0, 14, 6, 0, 19, 12, 4, 0, 7, 13, 10, 17, 11, 14, 15, 9,
        11, 14, 8, 13, 7, 12, 8, 16, 8, 11, 11, 14, 12, 11, 2, 16, 15, 5, 15,
        19, 15, 14, 15, 19, 5, 3, 11, 1, 2, 11, 2, 8, 4, 10, 2, 13, 2, 3, 15,
        2, 10, 9, 8, 11, 5, 5, 18, 19, 15, 16, 12, 7, 2, 2, 1, 4, 9, 7
    ]
    print(len(sol))
    for i in range(len(sol)):
        sol[i] += 1
    n = Network("Networks/isno_30_4")
    print(n.number_edges())
    d = Demands(n, "Networks/isno_30_4-D0.1.dem", "csv")
    ea = EACongestion(n, d)

    #w = {}
    #for
    #    w[e] = sol[i]

    w = ea.decode_solution(sol)
    fit = ea.congestion.sp_congestion_ties(w, "fortz", False)[0]
    print(fit)
예제 #2
0
파일: demands.py 프로젝트: ptkhoa1984/CNO
def test1():
    n = Network("../Networks/germany50.txt", "sndlib")
    print(n)
    print(n.list_nodes())
    print(n.list_edges())
    d = Demands(n, "../Networks/germany50.txt")
    print(d)
    print(len(d))
예제 #3
0
def test1():
    n = Network("../Networks/isno_5_2")
    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)
    s = Servers(t, n, "../DataComposite/isno_5_2-costs.txt")
    u = Users(n, "../DataComposite/isno_5_2-users.txt",
              "../DataComposite/isno_5_2-user_topo.txt")

    cs = CompositeServices(n,
                           t,
                           s,
                           u,
                           opt_cong=False,
                           congestion_cost=True,
                           cong_of="fortz")

    hcs = CompositeHeuristic(cs)

    order = list(range(len(cs.users)))

    sol = hcs.heuristic(order)

    print(sol)

    of = cs.of_normalized_penalty(sol, True)
    print("Objective function:", of)
예제 #4
0
def test_sp():
    network_file = "../Networks/isno_30_4"
    #network_file = "../Networks/isno_5_2"
    n = Network(network_file)

    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)

    #servers_file = "../DataComposite/test-cost.txt"
    servers_file = "../DataComposite/isno_30_4-t2-costs.txt"
    s = Servers(t, n, servers_file)

    #users_dem_file = "../DataComposite/test-users.txt"
    #users_top_file = "../DataComposite/test-user_topo.txt"
    users_dem_file = "../DataComposite/isno_30_4-t2-users.txt"
    users_top_file = "../DataComposite/isno_30_4-t2-user_topo.txt"
    u = Users(n, users_dem_file, users_top_file)

    cs = CompositeServices(n,
                           t,
                           s,
                           u,
                           opt_cong=True,
                           congestion_cost=True,
                           cong_opt_method="sp",
                           cong_of="fortz")

    print("Starting EA:")
    ea = EACompositeServices(cs, optimize_routing_weights=True)

    ea_par = {"max_evaluations": 50000}
    #bestsol = ea.run_evol_alg(ea_pars = ea_par)

    ea.run_evol_alg(True, max_cpus=4, ea_pars=ea_par)
예제 #5
0
def test1():
    network_file = "../Networks/isno_5_2"
    n = Network(network_file)

    dem = Demands(n)
    dem.add_demands("0", "1", 1000)
    dem.add_demands("0", "2", 1000)
    dem.add_demands("0", "3", 1000)
    dem.add_demands("0", "4", 1000)
    dem.add_demands("1", "0", 1000)
    dem.add_demands("1", "2", 1000)
    dem.add_demands("1", "3", 1000)
    dem.add_demands("1", "4", 1000)
    dem.add_demands("2", "0", 1000)
    dem.add_demands("2", "1", 1000)
    dem.add_demands("2", "3", 1000)
    dem.add_demands("2", "4", 1000)
    dem.add_demands("3", "0", 1000)
    dem.add_demands("3", "1", 1000)
    dem.add_demands("3", "2", 1000)
    dem.add_demands("3", "4", 1000)
    dem.add_demands("4", "0", 1000)
    dem.add_demands("4", "1", 1000)
    dem.add_demands("4", "2", 1000)
    dem.add_demands("4", "3", 1000)

    ea = EACongestion(n, dem)

    ea.run_evol_alg()
예제 #6
0
def test_mo():
    network_file = "../Networks/geant.txt"
    n = Network(network_file, "sndlib")

    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)

    servers_file = "../DataComposite/geant-t2-costs.txt"
    s = Servers(t, n, servers_file)

    users_dem_file = "../DataComposite/geant-t2-users.txt"
    users_top_file = "../DataComposite/geant-t2-user_topo.txt"
    u = Users(n, users_dem_file, users_top_file)

    cs = CompositeServices(n,
                           t,
                           s,
                           u,
                           opt_cong=True,
                           congestion_cost=True,
                           cong_of="fortz")

    ea_par = {"max_evaluations": 10000}
    ea = EACompositeServices(cs)
    #ea = EACompositeServices(cs,optimize_routing_weights = True)

    ea.run_mo(ea_pars=ea_par, plot=True)
예제 #7
0
def test_germany():
    network_file = "../Networks/germany50.txt"
    n = Network(network_file, "sndlib")

    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)

    servers_file = "../DataComposite/germany50-cost.txt"
    s = Servers(t, n, servers_file)

    users_dem_file = "../DataComposite/germany50-users.txt"
    users_top_file = "../DataComposite/germany50-user_topo.txt"
    u = Users(n, users_dem_file, users_top_file)

    cs = CompositeServices(n, t, s, u, opt_cong=True, congestion_cost=True)

    print("Starting EA:")
    ea = EACompositeServices(cs)

    #bestsol = ea.run_evol_alg()
    bestsol = ea.run_evol_alg(True, max_cpus=50)

    of = cs.of_normalized_penalty(bestsol, True)
    print("Objective function:", of)
예제 #8
0
파일: users.py 프로젝트: ptkhoa1984/CNO
def test2():
    n = Network("../Networks/isno_5_2")
    u = Users(n)
    u.generate_users(3, 0.3, 3)
    print(u)
    u.write_demands("../DataComposite/test-users.txt")
    u.write_user_topo("../DataComposite/test-user_topo.txt")
예제 #9
0
def test_germany():
    network_file = "../Networks/germany50.txt"
    n = Network(network_file, "sndlib")

    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)

    servers_file = "../DataComposite/germany50-cost.txt"
    s = Servers(t, n, servers_file)

    users_dem_file = "../DataComposite/germany50-users.txt"
    users_top_file = "../DataComposite/germany50-user_topo.txt"
    u = Users(n, users_dem_file, users_top_file)

    cs = CompositeServices(n, t, s, u, opt_cong=False, congestion_cost=False)

    hcs = CompositeHeuristic(cs)

    order = list(range(len(cs.users)))

    sol = hcs.heuristic(order)
    print(sol)

    of = cs.of_normalized_penalty(sol, True)
    print("Objective function:", of)
예제 #10
0
def test_tree():
    network_file = "../Networks/test_tree"
    n = Network(network_file)

    filename_tree = "../DataComposite/tree_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)

    servers_file = "../DataComposite/test_tree-cost.txt"
    s = Servers(t, n, servers_file)

    users_dem_file = "../DataComposite/test_tree-users.txt"
    users_top_file = "../DataComposite/test_tree-user_topo.txt"
    u = Users(n, users_dem_file, users_top_file)

    cs = CompositeServices(n, t, s, u, opt_cong=True, congestion_cost=True)

    print(cs)

    print("Starting EA:")
    ea = EACompositeServices(cs)
    ea_par = {"max_evaluations": 5000}
    bestsol = ea.run_evol_alg(ea_pars=ea_par)
    #bestsol = ea.run_evol_alg(True, max_cpus = 50)

    of = cs.of_normalized_penalty(bestsol, True)
    print("Objective function:", of)
예제 #11
0
파일: users.py 프로젝트: ptkhoa1984/CNO
def test_germany():
    n = Network("../Networks/germany50.txt", "sndlib")
    u = Users(n)
    u.generate_users(3, 0.2, 3)
    print(u)
    u.write_demands("../DataComposite/germany50-users.txt")
    u.write_user_topo("../DataComposite/germany50-user_topo.txt")
예제 #12
0
파일: servers.py 프로젝트: ptkhoa1984/CNO
def test4():
    n = Network("../Networks/isno_5_2")
    filename = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename)
    s = Servers(t, n, "../DataComposite/test-cost.txt")
    print(s)
예제 #13
0
파일: composite.py 프로젝트: 5g-media/CNO
def test4():
    filename_tree = "../DataComposite/linear_structure.txt"
    loops = True
    t = ServicesTree(loops, filename_tree)
    n = Network("../Networks/geant.txt", "sndlib")
    u = Users(n)
    u.generate_users(len(t), target_alu=0.3, target_delay=1.0)
    u.write_demands("../DataComposite/geant-lin-alu30-del10-users.txt")
예제 #14
0
파일: servers.py 프로젝트: ptkhoa1984/CNO
def test3():
    n = Network("../Networks/isno_5_2")
    filename = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename)
    s = Servers(t, n)
    s.generate_servers(0.4, 100.0, 1.0)
    print(s)
    s.write_servers("../DataComposite/test-cost.txt")
예제 #15
0
def test1():
    n = Network("../Networks/germany50.txt", "sndlib")
    d = Demands(n, "../Networks/germany50.txt")
    d.multiply_demands(0.2)
    p = CongestionOptimization(n, d)
    p.setup_problem("mlu", False, False)
    opt_vars, opt_of = p.solve_problem("cplex")
    #opt_vars, opt_of = p.solve_problem()
    print("Optimal", opt_of)
예제 #16
0
파일: servers.py 프로젝트: ptkhoa1984/CNO
def test_tree_syn_geant():
    n = Network("./Networks/geant.txt", "sndlib")
    filename = "./DataComposite/tree_syn_structure.txt"
    loops = False
    t = ServicesTree(loops, filename)
    s = Servers(t, n)
    s.generate_servers(0.5, 20000.0, 1.0)
    print(s)
    s.write_servers("./DataComposite/geant-tree-syn-costs.txt")
예제 #17
0
파일: servers.py 프로젝트: ptkhoa1984/CNO
def test_germany():
    n = Network("../Networks/germany50.txt", "sndlib")
    filename = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename)
    s = Servers(t, n)
    s.generate_servers(0.2, 100.0, 1.0)
    print(s)
    s.write_servers("../DataComposite/germany50-cost.txt")
예제 #18
0
def test1():
    n = Network("../Networks/isno_30_4")
    #print(n)
    d = Demands(n, "../Networks/isno_30_4-D0.2.dem", "csv")
    ea = DeapCongestion(n, d, ecmp=True)
    print("Starting EA")
    start = timeit.default_timer()
    ea.run_evol_alg(of="fortz")
    stop = timeit.default_timer()
    print('Time EA: ', stop - start)
예제 #19
0
def test3():
    n = Network("../Networks/isno_5_2")
    print(n)
    d = Demands(n, None)
    d.add_demands("1","3",8000)
    p = CongestionOptimization(n,d)
    p.setup_problem("mlu", False, False)
    opt_vars, opt_of = p.solve_problem()
    p.print_optimal_sol()
    print(opt_of)
    print(p.get_links_single_path("1","3"))
예제 #20
0
파일: composite.py 프로젝트: 5g-media/CNO
def test2():
    n = Network("../Networks/isno_5_2")
    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)
    s = Servers(t, n, "../DataComposite/test-cost.txt")
    u = Users(n, "../DataComposite/test-users.txt",
              "../DataComposite/test-user_topo.txt")

    cs = CompositeServices(n, t, s, u, opt_cong=True, congestion_cost=True)
    print(cs)
예제 #21
0
파일: composite.py 프로젝트: 5g-media/CNO
def test_tree_syn_structure():
    filename_tree = "../DataComposite/tree_syn_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)
    n = Network("../Networks/geant.txt", "sndlib")
    u = Users(n)
    u.generate_users(len(t), target_alu=0.25, target_delay=0.8)
    u.write_demands("../DataComposite/geant-treesyn-alu25-del08-users.txt")
    u.write_user_topo(
        "../DataComposite/geant-treesyn-alu25-del08-user_topo.txt")
    s = Servers(t, n)
    s.generate_servers()
    s.write_servers("../DataComposite/geant-treesyn-alu25-del08-costs.txt")
예제 #22
0
def test4():
    n = Network("../Networks/isno_30_4")
    d = Demands(n, "../Networks/isno_30_4-D0.3.dem", "csv")
    p = CongestionOptimization(n,d)
    p.setup_problem("fortz", False, False)
    opt_vars, opt_of = p.solve_problem()
    print(opt_of)
    
    links = p.get_all_used_links()
    loads = Loads(n)
    loads.loads_from_link_fvars(links, d)
    phi_u = p.phi_uncap()
    of = loads.fortz_of(phi_u)
    print(of)
예제 #23
0
파일: composite.py 프로젝트: 5g-media/CNO
def test3():
    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)
    #n = Network("../Networks/isno_30_4")
    n = Network("../Networks/isno_5_2")
    u = Users(n)
    u.generate_users(len(t), target_alu=0.25, target_delay=0.8)
    u.write_demands("../DataComposite/isno_5_2-t2-users.txt")
    u.write_user_topo("../DataComposite/isno_5_2-t2-user_topo.txt")
    #u.write_demands("../DataComposite/isno_30_4-t1-users.txt")
    #u.write_user_topo("../DataComposite/isno_30_4-t1-user_topo.txt")
    s = Servers(t, n)
    s.generate_servers()
    s.write_servers("../DataComposite/isno_5_2-t2-costs.txt")
예제 #24
0
def test3():
    n = Network("../Networks/isno_30_4", engine="igraph")
    #print(n)
    d = Demands(n, "../Networks/isno_30_4-D0.2.dem", "csv")

    start = timeit.default_timer()

    ea = EACongestion(n, d, ecmp=True)

    print("Starting EA")
    ea_pars = {}
    ea_pars["max_evaluations"] = 10000
    ea.run_evol_alg(ea_pars, of="fortz")
    stop = timeit.default_timer()
    print('Time EA: ', stop - start)
예제 #25
0
파일: composite.py 프로젝트: 5g-media/CNO
def test5():
    filename_tree = "../DataComposite/tree_syn_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)
    n = Network("../Networks/geant.txt", "sndlib")

    s = Servers(t, n, "../DataComposite/geant-tree-syn-costs.txt")
    u = Users(n, "../DataComposite/geant-tree-syn-users.txt",
              "../DataComposite/geant-tree-syn-user_topo.txt")

    cs = CompositeServices(n, t, s, u, opt_cong=False, congestion_cost=False)

    #print(cs)

    print(cs.min_cost())
    print(cs.minimum_first_hop())
예제 #26
0
파일: composite.py 프로젝트: 5g-media/CNO
def test1():
    from composite_heuristic import CompositeHeuristic
    n = Network("../Networks/isno_5_2")
    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)
    s = Servers(t, n, "../DataComposite/isno_5_2-costs.txt")
    u = Users(n, "../DataComposite/isno_5_2-users-v2.txt",
              "../DataComposite/isno_5_2-user_topo.txt")

    cs = CompositeServices(n, t, s, u, opt_cong=True, congestion_cost=True)
    #print(cs)

    hcs = CompositeHeuristic(cs)
    order = list(range(len(cs.users)))
    sol = hcs.heuristic(order)
    cs.of_normalized_penalty(sol, printcomps=True)
예제 #27
0
def test2():
    n = Network("../Networks/isno_5_2")
    print(n)
    p = CongestionOptimization(n)
    links, of = p.route_single_flow("1","3",4600)
    print(of)
    print(links)

    l = Loads(n)
    l.add_loads_path(links, 4600) 
    
    links, of = p.route_single_flow("0","4",1000, previous_loads = l)
    print(of)
    print(links)
    
    l.add_loads_path(links, 1000)  
    
    links, of = p.route_single_flow("1","3",3000, previous_loads = l)
    print(of)
    print(links)
예제 #28
0
def test_geant():
    network_file = "../Networks/geant.txt"
    n = Network(network_file, "sndlib")

    #filename_tree = "../DataComposite/tree_syn_structure.txt"
    filename_tree = "../DataComposite/linear_structure_loops.txt"
    loops = True
    t = ServicesTree(loops, filename_tree)

    #servers_file = "../DataComposite/geant-loops-costs.txt"
    servers_file = "../DataComposite/geant-lin-alu30-del09-costs.txt"

    s = Servers(t, n, servers_file)

    #users_dem_file = "../DataComposite/geant-treeloops-alu25-del07-users.txt"
    users_dem_file = "../DataComposite/geant-lin-alu30-del09-users.txt"
    #users_top_file = "../DataComposite/geant-treeloops-alu25-del07-user_topo.txt"
    users_top_file = "../DataComposite/geant-user_topo.txt"

    u = Users(n, users_dem_file, users_top_file)

    #    cs = CompositeServices(n, t, s, u, opt_cong = True, cong_opt_method = "sp",
    #                           congestion_cost = True, cong_of = "fortz")

    cs = CompositeServices(n,
                           t,
                           s,
                           u,
                           opt_cong=False,
                           congestion_cost=False,
                           cong_of="fortz")

    ea_par = {"max_evaluations": 20000, "pop_size": 100}
    ea = EACompositeServices(cs)
    #ea = EACompositeServices(cs,optimize_routing_weights = True)

    assig = ea.run_evol_alg(ea_pars=ea_par)

    print("Best solution:")
    print(assig)
예제 #29
0
def test1():
    #etwork_file = "../Networks/isno_30_4"
    network_file = "../Networks/isno_5_2"
    n = Network(network_file)

    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)

    #servers_file = "../DataComposite/test-cost.txt"
    #servers_file = "../DataComposite/isno_30_4-t1-costs.txt"
    servers_file = "../DataComposite/isno_5_2-t1-costs.txt"
    s = Servers(t, n, servers_file)

    #users_dem_file = "../DataComposite/test-users.txt"
    #users_top_file = "../DataComposite/test-user_topo.txt"
    #users_dem_file = "../DataComposite/isno_30_4-t1-users.txt"
    #users_top_file = "../DataComposite/isno_30_4-t1-user_topo.txt"
    users_dem_file = "../DataComposite/isno_5_2-t2-users.txt"
    users_top_file = "../DataComposite/isno_5_2-t1-user_topo.txt"

    u = Users(n, users_dem_file, users_top_file)

    cs = CompositeServices(n,
                           t,
                           s,
                           u,
                           opt_cong=False,
                           congestion_cost=True,
                           cong_of="fortz")

    print("Starting EA:")
    ea_par = {"max_evaluations": 500}
    ea = EACompositeServices(cs)

    assig = ea.run_evol_alg(ea_pars=ea_par)
    #assig = ea.run_evol_alg(True, max_cpus = 50)

    print("Best solution:")
    print(assig)
예제 #30
0
def test2():
    network_file = "../Networks/isno_30_4"
    #network_file = "../Networks/isno_5_2"
    n = Network(network_file)

    filename_tree = "../DataComposite/linear_structure.txt"
    loops = False
    t = ServicesTree(loops, filename_tree)

    #servers_file = "../DataComposite/test-cost.txt"
    servers_file = "../DataComposite/isno_30_4-t1-costs.txt"
    s = Servers(t, n, servers_file)

    #users_dem_file = "../DataComposite/test-users.txt"
    #sers_top_file = "../DataComposite/test-user_topo.txt"
    users_dem_file = "../DataComposite/isno_30_4-t1-users.txt"
    users_top_file = "../DataComposite/isno_30_4-t1-user_topo.txt"
    u = Users(n, users_dem_file, users_top_file)

    cs = CompositeServices(n,
                           t,
                           s,
                           u,
                           opt_cong=False,
                           congestion_cost=True,
                           cong_of="mlu")

    hcs = CompositeHeuristic(cs)

    order = list(range(len(cs.users)))

    sol = hcs.heuristic(order)
    print(sol)

    of = cs.of_normalized_penalty(sol, True)
    print("Objective function:", of)