¿Cómo puedo aumentar la velocidad de la simulación de mi modelo de ruta de menor costo

Al usar la extensión de red, el siguiente código crea la ruta de menor costo entre dos polígonos (compuesto de varios parches):

to calculate-LCP [ID-polygon-1 ID-polygon-2] 
let path []
let path-cost -1

;;;;;;;;;;;;;;;;;;;;;;;;
;; Define polygon edges
ask patches with [plabel != ID-polygon-1] [
 ask neighbors with [plabel = ID-polygon-1] [
  ask nodes-here [
    set color red ] ] ]

ask patches with [plabel != ID-polygon-2] [
 ask neighbors with [plabel = ID-polygon-2] [
  ask nodes-here [
    set color red ] ] ]

;;;;;;;;;;;;;;;;;;;;;;;;
;; Build least-cost path
ask nodes with [color = red] [
 foreach sort nodes-on patches with [ID-polygon = ID-polygon-1] [ 
  let node-on-polygon-1 ?  
  foreach sort nodes-on patches with [ID-polygon = ID-polygon-2] [ 
   let node-on-polygon-2 ? 

   ask node-on-polygon-1 [ 
    let cost nw:weighted-distance-to node-on-polygon-2 "link-cost" 
    if path-cost = -1 or cost < path-cost [ 
     set path-cost cost 
     set path nw:weighted-path-to node-on-polygon-2 "link-cost" ] ] ] ] ] 

;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Draw least-cost path
foreach path [ ;; trace le least-cost path 
  ask ? [ set color red
    set thickness 0.2 ] ]
end 

Apliqué este código con dos polígonos que están representados por rectángulos negros en la figura. Al usar la extensión del generador de perfiles, este código se ejecutó durante 14 minutos.

Para cada lobo, me gustaría construir el camino de menor costo entre un polígono donde hay un lobo y todos los polígonos que se encuentran en un radio de 3 km alrededor del lobo. Aquí mi código:

ask wolves [ 
 set my-list-of-polygons-in-buffer ( [plabel] of patches in-radius 3 ) 
 set my-list-of-polygons-in-buffer remove-duplicates my-list-of-polygons-in-buffer 
 set my-list-of-polygons-in-buffer remove [plabel] of patch-here my-list-of-polygons-in-buffer 
 set my-list-of-polygons-in-buffer remove "" my-list-of-polygons-in-buffer 

 foreach my-list-of-polygons-in-buffer [ 
 let ID-polygon-in-buffer ?

  ask patches with [plabel = ID-polygon-in-buffer] [ 

   let LCP calculate-LCP [my-ID-polygon] of myself ID-polygon-in-buffer ] ] ]

El problema es que mi procedimiento "Calculate-LCP" se ejecuta muy lentamente para definir rutas de menor costo en buffers alrededor de lobos (tengo 100 lobos en mi modelo). ¿Cómo puedo aumentar la velocidad de la simulación de mi modelo?

Muchas gracias por su ayuda.

Respuestas a la pregunta(1)

Su respuesta a la pregunta