LupercAI / pages /vrp /Origen.py
ML-INTA's picture
Upload 10 files
1c5e165
#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")