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