Python - Conjuntos

   
Vista:

Conjuntos

Publicado por Julio jlmora_@hotmail.com (1 intervención) el 16/03/2015 13:50:10
Estimados,

Tengo una consulta bien particular. Para graficar mi problema se los cuento con un ejemplo:

Tengo una lista de nodos:

nodos = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]

y un diccionario de vehículos que representa la capacidad y nodos que puede visitar cada uno de estos:

1
2
3
4
vehiculo, capacidad, nodos = multidict({
	1: [50,[1,2,3,4,5,6,7,8,9,10,11,14]]
	2: [100,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]]
})

El problema me surge cuando quiero crear la siguiente restricción:

1
2
for i in nodos:
	m.addConstr(quicksum(quicksum(x[i,j,k] for j in nodos[k]) for k in vehiculos) == 1)

Me gustaría que en el lugar donde dice "nodos[k]" fuesen todos los "nodos[k] menos el nodo i", esto porque no existe un arco que apunte al mismo nodo, es decir, no existe x[1,1,2]. ¿Cómo podría modelar esto en Python?.

Les agradezco de antemano toda ayuda que me puedan brindar.

Un abrazo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder