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)
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))
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)
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)
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()
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)
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)
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")
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)
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)
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")
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)
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")
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")
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)
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")
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")
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)
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"))
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)
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")
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)
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")
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)
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())
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)
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)
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)
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)
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)