Laboratorio: PLANIFICACIÓN EN STRIPS/PDDL

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

UNIR - Universidad Internacional de la Rioja.

Razonamiento y Planificación Automática. Junio, 2023


Presentado por: Laydi Viviana Bautista Rengifo

LABORATORIO: PLANIFICACIÓN EN STRIPS/PDDL

1. Parte 1

1.1. Situación Parte 1

En una ciudad existen las siguientes tipos de localización: puerto (P), almacén (A) ciudad
(C) y fábrica (F1 y F2). En el puerto hay contenedores que hay que procesar. En las fábricas
se procesan los contenedores. Una vez procesados, los contenedores deben llevarse al
almacén. Desde el almacén, los contenedores ya procesados se envían a su destino (se
pueden hacer desaparecer). Es posible descargar en el almacén los contenedores de
material sin procesar, para usarlo como almacenamiento temporal. Para transportar los
contenedores existe un tren que puede cargar un número limitado de contenedores; puede
cargarlos o descargarlos desde o hacia algunas de las localizaciones. Además, el tren se
puede mover utilizando una vía que comunica las localizaciones. Además, las
localizaciones tipo almacén y fábrica. tienen una capacidad limitada. El puerto sin embargo
no tiene esta limitación, y tampoco se puede descargar nada en el puerto: allí sólo se
permite cargar contenedores. Las localizaciones están conectadas por la vía del tren en un
anillo como se ve en la figura (A-P-C-F2-F1-A). Hay un único tren, que empieza en P y
puede moverse por la vía en ambas direcciones El estado final consiste en que todos los
contenedores estén enviados, es decir, se procesan y luego son llevados al almacén, donde
salen del sistema.
1.2. Documentación del Código

Tipos. Se definieron los siguientes Objetos:

- movil para el caso del transporte


- localizacion para el puerto, la ciudad, el almacén y las fábricas (f1, f2)
adicionalmente se agregaron 4 vagones al tren de tipo localización (v1, v2, v3, v4),
4 bodegas para el almacén (abog1, abog2, abog3, abog4), 3 bodegas para la
fábrica f1 (f1bog1, f1bog2, f1bog3 ) y 2 bodegas para la fábrica f2 (f2bog1,
f2bog2)
- contenedor para los 8 contenedores

Predicados. Para definir los estados y procesos se establecieron los siguiente predicados:

- (procesado ?c) El contenedor está procesado


- (enviado ?c) El contenedor fue enviado
- (conectado ?x ?y) Las localizaciones están conectados de x a y
- (en ?x ?y) Un objeto x está en y
- (cargado ?c ?veh) Un contenedor estar cargado en el vehículo
- (espacio-limit ?x) Indica si una localización tiene capacidad limitada de
almacenamiento
- (es-fabrica ?x) El objeto x es una fábrica
- (es-almacen ?x) El objeto x es un almacén
- (full ?x) El objeto x está lleno u ocupado.

Acciones. Las acciones permitidas son las siguientes


1. mover. Un objeto móvil (tren) se puede mover a un localización sobre la vía.

a. Parámetros: 1 vehículo, 2 localizaciones (x, y)


b. Precondiciones:
i. El vehículo está en la localización x
ii. Las localizaciones x y y están conectadas, x a y
c. Efectos:
i. El vehículo está en la localización y
ii. El vehículo NO está en la localización x

2. carga. Un contenedor puede ser cargado en el vehículo que está en localización.


Para poder verificar la capacidad del tren se estableció que un contenedor puede
estar en un vagón.

a. Parámetros: 1 contenedor, 1 vehículo, 1 localización x, 1 vagón


b. Precondiciones:
i. El vehículo está en la localización x
ii. El vagón hace parte del vehículo
iii. El contenedor NO está cargado en el vehículo
iv. El vagón NO está ocupado
v. El contenedor está en la localización x

c. Efectos:
i. El contenedor está cargado en el vehículo
ii. El vagón está lleno
iii. El contenedor NO está en la localización x

3. descargar-unlimit. Es un tipo de descarga que no evalúa la capacidad de bodegas


porque se entiende que no hay restricción de almacenamiento en una localización.

a. Parámetros: 1 contenedor, 1 vehículo, 1 localización x, 1 vagón


b. Precondiciones:
i. El vehículo está en la localización x
ii. El vagón hace parte del vehículo
iii. El vagón está ocupado
iv. El contenedor está cargado en el vehículo
v. El contenedor NO está en la localización x
c. Efectos:
i. El contenedor NO está cargado en el vehículo
ii. El vagón del vehiculo NO está lleno
iii. El contenedor está en la localización x

4. descargar-unlimit. Es un tipo de descarga que evalúa si la localización tiene una


limitación de espacio, verificando el espacio en bodegas.
a. Parámetros: 1 contenedor, 1 vehículo, 1 vagón, 1 localización x, 1 bodega
b. Precondiciones:
i. El vehículo está en la localización x
ii. El vagón hace parte del vehículo
iii. El vagón está ocupado
iv. El contenedor está cargado en el vehículo
v. El contenedor NO está en la localización x
vi. El lugar x tiene limitaciones de espacio
vii. La bodega hace parte de la localización
viii. La bodega NO está ocupada
c. Efectos:
i. El contenedor NO está cargado en el vehículo
ii. El vagón del vehiculo NO está lleno
iii. El contenedor está en la localización x
iv. La bodega está ocupada

5. procesar. La acción de procesar un contenedor en una fabrica

a. Parámetros: 1 contenedor, 1 localización


b. Precondiciones:
i. El contenedor NO está procesado
ii. El contenedor está en el lugar x
iii. El lugar es una fábrica
c. Efectos:
i. El contenedor está procesado
6. enviar. La acción de enviar el contenedor

a. Parámetros: 1 contenedor, 1 localización


b. Precondiciones:
i. El contenedor NO está procesado
ii. El contenedor está en el lugar x
iii. El lugar es un almacén
iv. El contenedor NO está enviado
c. Efectos:
i. El contenedor está enviado
1.3. Descripción de Resultado

Figura 1. Diagrama de Situación Parte 1

Figura 2. Diagrama de Situación Parte 1 del planificador PDDL

1.3.1. ¿Se ha implementado el problema tal como está en el enunciado? ¿Ha realizado
pruebas que lo corroboran?
Se establecieron las condiciones en las acciones para que cumpliera el enunciado pero no
se realizaron pruebas en código para verificar.

1.3.2. El código ¿es íntegramente original o se basa en algún otro previo? Indique la fuente
con claridad y las modificaciones realizadas que sean propias.
Se tomó como base el ejercicio realizado en clase, la lógica para verificar el espacio en el
tren y las localizaciones como fábricas y almacenes fue sugerencia en un grupo de estudio
por parte de compañeros, sin embargo no se compartió código. En este sentido, fue
necesario agregar las acciones de descargar-limit, descarga-unlimit, procesar y enviar.

1.3.3. ¿Cuál ha sido la ejecución del planificador? Describa la búsqueda empleada y las
métricas correspondientes: longitud del plan, número de nodos generados, número de
nodos expandidos, búsqueda utilizada.

Los resultados del plan fueron:

Total tiempo 2.062 segundos

Nodos Generados 18604

Nodos Expandidos 1035

Costo del plan 85

1.3.4. El plan generado, ¿es óptimo? ¿por qué? Indique si la búsqueda le parece eficiente o
no, y cualquier otra consideración de interés.

La búsqueda no me parece eficiente ya que realiza varios movimientos entre localizaciones


sin aprovechar la capacidad de almacenamiento de las fábricas y del tren. El tren tiene
capacidad para 4 contenedores pero máximo solo utiliza 3, además cuando realiza la
descarga en fábrica descarga máximo un contenedor aun cuando tiene más contenedores
que puede descargar.

2. Parte 2
Figura 3. Diagrama de Situación Parte 2

Figura 4. Diagrama de Solución Parte 2


Los resultados del plan fueron:

Total tiempo 0,096

Nodos Generados 1458

Nodos Expandidos 182

Costo del plan 79

En este caso, se evidencia (ver Figura 4) que no se realizó ninguna operación en la fábrica
2, dado que la fábrica 1 tenía conexión directa con el almacén y el puerto, se entiende que
el planificador evitó usar la fábrica 2 para evitar movimientos.

Por otro lado, se ve que el planificador solo carga un único contenedor procesado en la
fábrica pero es extraño que no se plantee la posibilidad de mantener dos contenedores
procesados en el vagón para descargar luego un contenedor en el almacén y enviarlo y
luego descargar el otro y enviarlo.

3. Parte 3

Figura 5. Diagrama de Situación Parte 3


Figura 6 Diagrama de Solución Parte 3

Los resultados del plan fueron:

Total tiempo 0,364

Nodos Generados 2931

Nodos Expandidos 195

Costo del plan 76

En este caso, aunque se pusieron a disposición 2 trenes, el segundo tren solo participó en
la gestión de un único paquete, esto pudo pasar por el hecho de que el tren al quedarse en
el almacén no se encontró una instrucción directa para que volviera al puerto.

Luego la gestión solo estuvo a cargo del tren 1, aunque este tren tenía capacidad para
almacenar 3 contenedores, en ningún momento se utilizaron todos los vagones y
nuevamente, al momento de realizar la descarga en las fábricas tampoco se aprovechó la
capacidad, utilizando solo una bodega.
ANEXOS.

1. Capturas de Pantalla

a. Ejecución del Código Parte 1


b. Ejecución del Código Parte 2
c. Ejecución del Código Parte 3

También podría gustarte