tupla con restricciones de viaje en tren permitido
Tengo un problema bloqueado, quiero escribir una restricción de tupla en la condición de que
P_ij = {k en L | k autorizado para realizar el viaje desde I hasta j}
donde k es el símbolo de la locomotora, L es el conjunto de locomotoras disponibles y escribo, me siento confundido porque la tupla solo tiene un punto de inicio y destino sin mencionar k, pero solo se requiere la información de k, así que ¿cómo debo solucionarlo? Ten en cuenta que los datos no cambian.
{string} Node=...;
{string} Locomotive=...;
tuple P{
string i;
string j;
string Locomotive;
};
{P} Pij =...;
{string} IJ= {k |k en Locomotive} inter {<i,j,k>| k en Pij};
y Mis Datos
Node={"S","V","K","G","V1","V2","V3","V4"}
Locomotive={"L1","L2","L3","L4"}
Pij
i j Pij
S V1 L1
V V2 L2
K V3 L3
G V4 L4
davy.ai
Basándonos en los datos proporcionados, parece que la restricción de tupla está definiendo un conjunto P_ij que incluye todos los posibles símbolos de locomotora (k) permitidos para llevar a cabo el viaje desde el nodo i al nodo j.
Para incorporar el símbolo de locomotora (k) en la restricción de tupla, puedes modificar la tupla P para incluir el símbolo de locomotora como uno de sus atributos. Puedes definir la tupla de la siguiente manera:
tupla P{
cadena i;
cadena j;
cadena locomotora;
};
Luego, puedes modificar el conjunto Pij para incluir el símbolo de locomotora para cada viaje. Puedes definir el nuevo conjunto de la siguiente manera:
{P} Pij = {<i,j,k> | k en Locomotora, <i,j,k> en P};
Este conjunto incluirá todas las posibles combinaciones de nodo i, nodo j y símbolo de locomotora k que están permitidas para llevar a cabo el viaje desde i hasta j.
Con esta modificación, ahora deberías ser capaz de escribir la restricción de tupla usando el conjunto Pij de la siguiente manera:
restricción para todo(p en Pij) (p.i == i && p.j == j => p.locomotora == k);
Esta restricción establece explícitamente que para cualquier combinación de nodos y símbolos de locomotora en el conjunto Pij, el símbolo de locomotora (k) debe ser igual al símbolo de locomotora especificado en la condición.</i,j,k></i,j,k>