File size: 1,083 Bytes
1c5e165
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#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")