#VERSIÓN 5: VRP #(F): A añadir en (F)uturas versiones ### CLASES DEL GRAFO ### class Grafo: def __init__(self, distancias: list[list[float]], demandas_clientes: list[float], num_nodos: int = None): if num_nodos == None: num_nodos = len(distancias) if len(demandas_clientes) == num_nodos: self.num_nodos = num_nodos self.distancias = distancias self.demandas_clientes = demandas_clientes ##El almacén ya está incluido else: raise IndexError("Las demandas no son igual al número de clientes") class Vehiculos: def __init__(self, capacidad_vehiculos: list[float], num_vehiculos: int = None): if num_vehiculos == None: num_vehiculos = len(capacidad_vehiculos) if len(capacidad_vehiculos) == num_vehiculos or num_vehiculos == None: self.num_vehiculos = num_vehiculos self.capacidad_vehiculos = sorted(capacidad_vehiculos) else: raise IndexError("Las capacidades no son igual al número de vehiculos")