Meta-heuristic Solver#

SimulatedAnnealingSolver(controller, ...)

Simulated Annealing Algorithm (SA) for VNE

GeneticAlgorithmSolver(controller, recorder, ...)

Genetic Algorithm (GA) Solver for VNE

ParticleSwarmOptimizationSolver(controller, ...)

Particle Swarm Optimization (PSO) Solver for VNE

AntColonyOptimizationSolver(controller, ...)

Ant Colony Optimization (ACO) for VNE

Two-stage Mapping Meta-heuristic Solver#

SimulatedAnnealingSolver#

Documentation

class virne.solver.meta_heuristic.SimulatedAnnealingSolver(controller: Controller, recorder: Recorder, counter: Counter, **kwargs)[source]#

Simulated Annealing Algorithm (SA) for VNE

References

  • Sheng Zhang et al. “FELL: A Flexible Virtual Network Embedding Algorithm with Guaranteed Load Balancing”. In ICC, 2011.

Variables:
  • num_individuals – number of individuals

  • max_iteration – max iteration

  • max_attempt_times – max attempt times

  • initial_temperature – initial temperature

  • attenuation_factor – attenuation factor

GeneticAlgorithmSolver#

Documentation

class virne.solver.meta_heuristic.GeneticAlgorithmSolver(controller: Controller, recorder: Recorder, counter: Counter, **kwargs)[source]#

Genetic Algorithm (GA) Solver for VNE

References

  • Peiying Zhang et al. “Virtual network embedding based on modified genetic algorithm”. In Peer-to-Peer Networking and Applications, 2019.

Variables:
  • num_environments – number of environments

  • num_chromosomes – number of chromosomes

  • max_iteration – max iteration

  • prob_crossover – crossover probablity

  • prob_mutation – mutation probablity

  • duplication_method – duplication method

ParticleSwarmOptimizationSolver#

Documentation

class virne.solver.meta_heuristic.ParticleSwarmOptimizationSolver(controller: Controller, recorder: Recorder, counter: Counter, **kwargs)[source]#

Particle Swarm Optimization (PSO) Solver for VNE

Variables:
  • p_i – inertia weight

  • p_c – cognition weight

  • p_s – social weight

  • num_particles – number of num_particles

  • max_iteration – max iteration

Jointly Mapping Meta-heuristic Solver#

AntColonyOptimizationSolver#

Documentation

class virne.solver.meta_heuristic.AntColonyOptimizationSolver(controller: Controller, recorder: Recorder, counter: Counter, **kwargs)[source]#

Ant Colony Optimization (ACO) for VNE

References

  • Ilhem Fajjari et al. “VNE-AC: Virtual Network Embedding Algorithm Based on Ant Colony Metaheuristic”. In ICC, 2011.

  • Hong-Kun Zheng et al. “Link mapping-oriented ant colony system for virtual network embedding”. In CEC, 2017.

Variables:
  • num_ants – number of ants

  • max_iteration – max iteration

  • hop_range – hop-range within local search area

  • alpha – control the influence of the amount of pheromone when making a choice in _pick_path()

  • beta – control the influence of the distance to the next node in _pick_path()

  • coeff_pheromone_evaporation – pheromone evaporation coefficient

  • coeff_pheromone_enhancement – enhance pheromone coefficient

  • enhence_pheromone – enhance pheromone method, [‘best’, ‘all’, ‘both’]

  • node_ranking_method – node ranking method, [‘rw’, ‘dp’]

get_v_net_node_order(v_net)[source]#

TO-DO: Select the virtual node with the highest number of hanging links

hanging links: virtual links missing one of their outermost virtual nodes, which had already been mapped. solution_component = selected virtual node and all its attached hanging links