Está en la página 1de 56

COMACO S.A.

Departamento de Planificación de Transporte

Planificación estratégica de
transporte y abastecimiento

Mauricio Valdivia Durán


23 de Febrero del 2018
Resumen ejecutivo
El Sistema de transporte desempeña un papel fundamental en muchas empresas, superando en algunos
casos el 40 % de sus costos totales. Se presentan enormes potenciales en esta área de estudio, debido a su
complejidad y a las posibilidades existentes para generar soluciones en su funcionamiento a largo plazo. Una
correcta planificación, permitirı́a reducir considerablemente los costos incluidos en el Sistema de transporte
dentro de la empresa, además de un mejor uso de los recursos disponibles.
En el área forestal, el transporte cumple un rol determinante en el cumplimiento de los objetivos. Es
trascendental para las empresas forestales determinar los factores que lo afectan y ası́, modelar el sistema
y obtener una planificación estratégica que contribuya a la toma de decisiones de largo plazo y reduzca
significativamente los costos totales de transporte y operación. Para efectos de este informe, los costos de
transporte y operación se subdividen en: Costos por transporte (desplazamiento de madera), costos de carga-
descarga, costo de reparación y creación de vı́as de acceso y costo en camiones aljibes.
En este informe, se establece un modelo de optimización de largo plazo que considera todos los factores que
interrumpen el funcionamiento ideal del sistema de transporte en Comaco, además de ofrecer una planificación
general de largo plazo que permita una mejor toma de decisiones y una mejor gestión del sistema, junto con
una propuesta diseñada para resolver el problema planteado mediante una metaheurı́stica, la que se enfoca
directamente a encontrar una buena solución factible del problema en un tiempo razonable.
En la sección 1, se introduce a grandes rasgos el contexto en el que se desenvuelve el problema mencionado.
En la sección 2, se presentan algunos conceptos importantes utilizados en la modelación, como lo son la
regresión lineal múltiple y el tamaño muestral requerido para obtener estimaciones confiables.
En la sección 3, se describe la empresa como un sistema Pull, como las necesidades se desencadenan aguas
arriba para llenar los buques de astillas en las fechas requeridas. Además, se mencionan los factores que
afectan el sistema de transporte y sus posibles soluciones.
En la sección 4 se presenta detalladamente el modelo de optimización que integra los factores mencionados
en la sección 3.2 con el fin de generar una planificación estratégica del sistema y minimizar sus costos totales.
Se explican los supuestos del modelo, sus limitaciones, alcances, parámetros, variables, funciones, restricciones
y función objetivo.
En la sección 5 se muestra como pueden calibrarse los parámetros y funciones utilizadas en el modelo,
utilizando como base la regresión lineal múltiple. Es importante extraer de esta sección los datos requeridos
para establecer una buena aproximación, tanto de parámetros como funciones, que permitan acercar el modelo
al comportamiento real del sistema. Además, se detalla como puede modelarse correctamente el problema de
la lluvia.
En la sección 6, se presenta la propuesta de resolución del problema modelado. En esta sección además,
se detalla el diagrama presentado, además de explicar el plan piloto desarrollado.
En la sección 7, se menciona como pueden analizarse algunas oportunidades de inversión utilizando la
misma propuesta presentada en la sección 6.
En la sección 8, se mencionan los eventuales pasos a seguir y las conclusiones obtenidas en este primer
avance.
Se espera que el contenido de este informe represente una base a lo que en un futuro puede ser un diseño
formal de planificación estratégica que permita contribuir con los objetivos de la empresa a mı́nimo costo.

1
Índice
1. Introducción 3

2. Algunos conceptos teóricos importantes 4


2.1. Regresión lineal múltiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Modelos de elección discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Tamaño muestral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3. Descripción de la empresa como un sistema Pull 5


3.1. Requerimientos para llenar los buques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Factores que afectan el sistema de transporte y soluciones . . . . . . . . . . . . . . . . . . . . 7

4. Presentación del Modelo de optimización para la gestión de transporte a largo plazo 8


4.1. Supuestos, limitaciones y alcances del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2. Parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.4. Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.5. Función objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5. Presentación y calibración de parámetros y funciones 16


5.1. Parámetros de búsqueda simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2. Parámetros de búsqueda con dificultad media . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.3. El problema de la lluvia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6. Resolución del problema 30


6.1. ¿Qué es una metaheurı́stica y por qué es necesaria? . . . . . . . . . . . . . . . . . . . . . . . . 30
6.2. ¿Como se resuelve el problema? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.3. Detalle de la metaheurı́stica de solución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3.1. Inicialización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.3.2. Inicialización en el tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.3.3. Búsqueda de la mejor decisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.3.4. Ejecución de la mejor decisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.3.5. Actualización de las variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.3.6. Evaluación de cumplimiento de requerimientos . . . . . . . . . . . . . . . . . . . . . . 46
6.4. Plan piloto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.5. Alternativas que pueden integrarse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7. Análisis de oportunidades de inversión 49

8. Eventuales pasos a seguir y Conclusiones 49


8.1. Eventuales pasos a seguir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2
1. Introducción
El Sistema de transporte actualmente desempeña un papel fundamental en la gran mayorı́a de las empre-
sas. La principal importancia de esta área de estudio radica en que la demanda de este servicio se caracteriza
por ser derivada, es decir, depende netamente de otra necesidad.
El continuo crecimiento de las empresas y la importancia de optimizar recursos de todo tipo, las obliga
a realizar mejoramiento continuo dentro de todas sus áreas. Los costos de transporte y logı́stica en algunos
casos supera el 40 % de los costos totales.
En el área forestal, el sistema de transporte cumple una función imprescindible. Los árboles ya descor-
tezados deben trasladarse desde varios sectores hacia las plantas para poder ser procesados y ası́, cumplir
correctamente con el plan de abastecimiento. Según Sofofa 1 , los costos de transporte en las empresas fores-
tales chilenas, en algunos casos duplica los costos de los paises competidores. Esto no es un resultado muy
sorprendente dado el contexto geográfico y la forma de Chile territorial, lo que ofrece grandes desventajas en
cuanto a las distancias, la accesibilidad de las distintas zonas y la irregularidad meteorológica, lo que dificulta
en gran medida cumplir los objetivos de transporte de manera planificada y a bajo costo.
Comaco, de manera similar a las demás empresas del rubro forestal, funciona como un sistema Pull, en
el que la empresa responde a una demanda conocida y determinı́stica en el largo plazo (aunque los buques
puedan adelantarse o atrasarse, el modelo asumirá que se planifica cada uno de ellos para la fecha mı́nima
en la que puede llegar, lo que permite considerar un margen de seguridad). De esta forma, considerando el
funcionamiento de la empresa como una cadena de suministro, en el que cada eslabón alimenta al que viene
aguas abajo, desde el último eslabón, se gatillan las operaciones y los procedimientos aguas arriba hasta llegar
al primer eslabón. Ası́, cada uno de los eslabones responderá al comportamiento de sus eslabones sucesores,
con el fin de mantener el flujo continuo de madera e impedir los cuellos de botella dentro de todo el proceso
para que este funcione de manera fluida.
Este informe se enfoca en detectar los principales factores que afectan el sistema de transporte en el área
forestal, con el fin de plantear correctamente la situación y realizar una planificación estratégica que permita
tomar mejores decisiones a largo plazo.
Tan importante como plantear correctamente el problema, es diseñar una solución adecuada que permita
mejoras en los resultados.
De esta manera, el proyecto visto de manera global, en primer lugar plantea y diseña el problema a resol-
ver, considerando todos los factores que afectan al sistema de transportes tanto directa como indirectamente.
Luego, se plantea una solución al problema de optimización mediante una heurı́stica, considerando comple-
tamente su funcionamiento y factibilidad. Para evaluar a grandes rasgos el funcionamiento de la heurı́stica,
se resuelve un plan piloto, de complejidad mucho menor, donde varios datos no son reales, con el objetivo
de tener un mecanismo de resolución del problema. A partir de aquı́, se pueden ir trabajando los datos con
el tiempo con el fin de obtener parámetros cada vez más precisos para el problema y, junto con ello, mejores
soluciones.
En primer lugar, se mencionan algunos conceptos teóricos importantes utilizados en el informe, luego
se describe el funcionamiento de la empresa como un sistema Pull y se destaca la importancia que tiene el
sistema de transporte dentro de esta, además, se mencionan los principales factores que afectan el sistema
de transporte en el contexto de la empresa. A continuación, se presenta en detalle el modelo de optimización
considerado hasta el momento, el cual está sujeto a cambios y mejoras. Se mencionan sus supuestos, limita-
ciones, alcances, parámetros, variables, funciones utilizadas, restricciones y función objetivo. En la siguiente
sección se presentan y calibran los parámetros y funciones especificadas en el modelo, se menciona como
pueden obtenerse cada uno de ellos y que caracterı́sticas deben cumplir. Para algunos de los parámetros, se
detallan algoritmos matemáticos que permiten obtener una aproximación de ellos. Además, se explica como
resolver y modelar correctamente los efectos de la lluvia. A continuación, se presenta en detalle la propuesta
de resolución del problema. Se define el concepto de metaheurı́stica y el foco utilizado para resolver el proble-
ma. A continuación, se explica en detalle el algoritmo diseñado, junto con el plan piloto que explica mejor su
funcionamiento, además de alternativas que pueden integrarse con esta metodologı́a. En la siguiente sección,
se presentan algunas oportunidades de análisis de inversiones que pueden resolverse utilizando el algoritmo.
Finalmente se mencionan las conclusiones rescatadas de todo el proyecto y los eventuales pasos a seguir.
1 Disponible en: http://web.sofofa.cl/noticia/costo-en-transporte-para-forestales-en-chile-duplica-al-de-paises-competidores/

3
2. Algunos conceptos teóricos importantes
2.1. Regresión lineal múltiple
El objetivo de una regresión lineal múltiple, es predecir el valor de una variable dependiente Y ∈ R como
una función lineal de n variables independientes X1 , X2 , ..., Xn .
Dados K datos en total, se tendrá que:
i=n
X
Y k = β0 + βi · Xik +k k = 1, 2, ..., K
i=1
| {z }
E[Y k |X1k ,X2k ,...,Xn
k]

Donde k ∼ N ormal(0, σ2 ) corresponde al error de predicción.


Utilizando un software como Stata o R Studio, se pueden determinar los estimadores de los parámetros
que minimizan el error cuadrático medio de los K datos, es decir:
k=K
1 X 2
{βˆ0 , βˆ1 , ..., βˆn |min · Y k − E[Y k |X1k , X2k , ..., Xnk ] }
K
k=1

Es importante que estos estimadores sean validados con otros datos aleatorios, para determinar el com-
portamiento efectivo del modelo según algunas medidas de desempeño como el error absoluto medio, el error
cuadrático medio, el error porcentual absoluto medio, etc.

2.2. Modelos de elección discreta


A diferencia del modelo de regresión lineal múltiple, un modelo de elección discreta busca predecir una
variable dependiente no continua. Especı́ficamente, un modelo de elección discreta determina la probabilidad
de que la variable dependiente pertenezca a cualquiera de los J estados disponibles, es decir, P r(Y = j)
Dadas n variables independientes X1 , X2 , ..., Xn y K datos en total, se define la utilidad del estado
j = 1, 2, ..., J para el dato k como:
i=n
X
Ujk = βj,0 + βj,i · Xik k = 1, 2, ..., K j = 1, 2, ..., J
i=1

Usualmente, para cualquiera de los J estados, se fija su utilidad en cero. De esta manera, las utilidades
de los demás estados serán relativas a la del estado base.
Obtenidas las utilidades, se determina la probabilidad de que el dato k pertenezca al estado j como:
k
k eUj
P r(Y = j) = Pw=J k
k = 1, 2, ..., K j = 1, 2, ..., J
w=1 eUw
Los estimadores para este cálculo, pueden determinarse usando el software R Studio

2.3. Tamaño muestral


Al realizar una regresión lineal múltiple, se cumple lo siguiente según Smith (1979)2 :

CV 2 · Zα2
K=
E2
Donde K es el tamaño de la muestra para realizar la regresión (número de datos), CV es el coeficiente
de variación de la variable de interés σµ (este dato puede fijarse en 1 para conocer el K mı́nimo requerido).
Zα es el valor de la distribuciñon normal estándar para un nivel de significancia α, dado por la tabla Normal
estándar (Por ejemplo, si α = 0,05 → Zα = 1, 645. E es el nivel de exactitud del modelo (como proporción).
2 Juan de Dios Ortuzar, Modelos de demanda de Transporte

4
Por ejemplo, un modelo de regresión al 95 % de confianza (α = 1 − 0,95 = 0,05) y 5 % de exactitud,
requerirá de:

12 · 1,6452
K= = 1084 datos
0,052
Se requieren 1084 datos para estimar con un 5 % de error máximo (E) el 95 % de las veces (1 − α).

3. Descripción de la empresa como un sistema Pull


3.1. Requerimientos para llenar los buques
La empresa desde comienzo de año, tiene una idea general de cuantos buques exportará y tiene una noción
de las fechas en las que debe hacerlo.
A continuación, se presenta una primera aproximación numérica para dimensionar a grandes rasgos el
comportamiento necesario que debe tener el transporte para cumplir con el abastecimiento de las plantas.
La empresa compra madera directa desde los bosques en una unidad conocida como metro ruma. Un
metro ruma es igual a 2.44 metros cúbicos de madera descortezada y arrumada. Por otro lado, la venta de
astillas se realiza en otra unidad de medida, la que corresponde a una tonelada de astilla seca, conocida como
BDMT por su sigla en inglés “Bone Dried Metric Ton”. Un BDMT equivale a 1,2 metros ruma de madera
aproximadamente en el caso del Eucalyptus Globulus y a 1,23 metros ruma aproximadamente en el caso del
Eucalyptus Nitens.
Además de estos factores, por ley, un camión cargado que transporte madera no debe exceder las 50
toneladas de peso, lo que corresponde aproximadamente a una carga de 23,5 metros ruma de madera. Se
pueden utilizar los registros de recepción para calcular exactamente el promedio de metros ruma que hay en
un camión completamente cargado.
Por ahora, solo por simplicidad, dadas las conversiones ya mencionadas, la unidad utilizada que referencia
cantidades de madera o astillas en este informe, será una camionada completamente cargada con madera no
procesada, es decir, 23,5 metros ruma de madera.
La manera correcta de determinar la cantidad de madera (en metros ruma) que viene en un camión
cargado de 50 toneladas, dependiendo del tipo de madera, es resolviendo la siguiente regresión lineal simple
utilizando los datos de recepción:

P eso camión con madera tipo k[T ON ] = βˆ0 + βˆ1k ·Cantidad de madera tipo k en el camión[M etros ruma]+

Al resolver la regresión se obtendrá: βˆ0 : Peso en toneladas de un camión descargado, βˆ1k : Peso en
toneladas de un metro ruma de madera tipo k, donde k = {N itens, Globulus}. Para determinar cuanta
madera de tipo k (en metros ruma) tiene un camión de 50 toneladas, se debe calcular:

50[T ON ] − βˆ0
Cantidad de madera tipo k en el camión de 50 T ON S[M etros ruma] =
βˆk1
En un año cualquiera, la empresa exportará Nn buques llenos de Nitens y Ng buques llenos de Globulus.
Un buque contiene aproximadamente 35000 metros ruma de madera, lo que corresponde a 1489.36 camio-
nadas. Diremos también que se conoce toda la planificación anual. Enumerando los dı́as hábiles del año,
los dı́as en los que deberán cargarse los buques de Nitens serán {tn1 , tn2 , ..., tnNn }, mientras que los dı́as que
deberán cargarse los buques de Globulus serán {tg1 , tg2 , ..., tgNg }. Para efectos de planificación, los conjuntos
{tn1 , tn2 , ..., tnNn } y {tg1 , tg2 , ..., tgNg } pueden indicar los dı́as que la empresa desee tener la carga de los buques
lista y no necesariamente los dı́as que los buques deben ser cargados, considerando por supuesto los lı́mites
operacionales de todos los eslabones de la cadena.
Al conocer estos dı́as, se conoce la curva acumulada de exportación de madera (en camionadas), la que
se puede describir como:

t < tn1

0 si
An (t) =
1489,36 · (i − 1) si ti−1 ≤ t < tni ; i = 2, ..., Nn
n

5
Para el caso del Eucalyptus Nitens y:

t < tg1

0 si
Ag (t) =
1489,36 · (i − 1) si tgi−1≤ t < tgi ; i = 2, ..., Ng
Para el caso del Eucalyptus Globulus.
Ak (t) representa la cantidad de camionadas acumuladas de madera de tipo k (k = n, g) exportadas hasta
el dı́a hábil t.
De esta forma, la planificación para lograr el primer objetivo, considerando que el nivel de inventario de
la planta se mantiene regular se calcula como:

An (t) Ag (t)
{t∗n , An (t∗n )| max } {t∗g , Ag (t∗g )| max }
t>0 t t>0 t
An (t∗
n)
De manera que, hasta el dı́a hábil t∗n deberı́an llegar a la planta al menos t∗ camiones de Nitens
n
Ag (t∗ )
cada dı́a hábil. Análogamente, hasta el dı́a hábil t∗g
deberı́an llegar a la planta al menos t∗ g camiones de
g
Globulus cada dı́a hábil.
Cuando t ≥ t∗n se debe realizar la transformación t := t − t∗n y An (tn ) := An (tn ) − An (t∗n ) para volver
a realizar el cálculo de los requerimientos de Nitens. El procedimiento para el Globulus es análogo, cuando
t ≥ t∗g se debe realizar la transformación t := t − t∗g y Ag (tg ) := Ag (tg ) − Ag (t∗g ) para volver a realizar el
cálculo.
A modo de ejemplo, supongamos que para un tipo especı́fico de madera, la planta desea tener cargados
cuatro buques, especı́ficamente los dı́as hábiles {25, 34, 36, 45}. De esta manera, la curva A(t) está dada por:


 0 si t < 25
 1489,36 si 25 ≤ t < 34


A(t) = 2978,72 si 34 ≤ t < 36
4468,08 si 36 ≤ t < 45




5957,44 si t ≥ 45

6
El siguiente gráfico, muestra la forma de A(t) para el ejemplo descrito :

Figura 1: A(t) para el ejemplo descrito

Al calcular:

A(t) 1489,36 2978,72 4468,08 5957,44


{t∗ , A(t∗ )| max } ↔ {t∗ , A(t∗ )| max { , , , }}
t>0 t 25 34 36 45
A(t∗ )
Se obtiene: t∗ = 45, A(t∗ ) = 5957,44, t∗ = 132,39
De manera que, para cumplir con los requerimientos, hasta el dı́a hábil 45, deberán ingresar a la planta
al menos 132,39 camiones de este tipo de madera cada dı́a hábil. Una vez determinados t∗ y A(t∗ ), deberá
realizarse la transformación mencionada anteriormente.
La planificación de los requerimientos corresponde al primer gatillo del sistema Pull. De esta manera se
determina la cota inferior de cuantos camiones de cada tipo de madera deben llegar diariamente a la planta.
La necesidad de cumplir con este requerimiento, gatilla el segundo evento, que corresponde a la gestión y
coordinación del sistema de transporte, el que corresponde al foco principal de este informe.

3.2. Factores que afectan el sistema de transporte y soluciones


Precipitaciones: La lluvia es un factor importante que afecta el sistema de transporte cuando se presenta
y los dı́as posteriores. Es muy compleja de modelar, y dificulta en gran medida una planificación de largo
plazo. La única solución que permite resolver el problema de la lluvia son las predicciones y el desarrollo
de buenas funciones que permitan indicar aproximadamente como será el comportamiento de esta en
los distintos lugares, en los distintos momentos del año. En este informe se ahonda profundamente en
la modelación del comportamiento climático con el fin de incluir correctamente este factor en el modelo
de planificación.

7
Vecinos aledaños: Los vecinos y habitantes que residen en las cercanı́as de los predios, se sienten inva-
didos por la circulación de camiones. Los vecinos sufren molestias principalmente por tres razones:
i) Levantamiento de partı́culas de tierra y polvo: Debido a que los caminos para acceder a los predios
nunca están pavimentados, el recorrido que realizan los camiones es por caminos de ripio o de tierra.
Al ser pesados, levantan muchas partı́culas de tierra y polvo, generando molestia en las personas que
habitan cerca de los caminos. La solución a este problema son los camiones aljibes, los que solo serán
requeridos en algunos lugares y deberán circular mientras los camiones accedan al predio a buscar
madera. El modelo toma este factor en cuenta.
ii) Contaminación acústica: La contaminación acústica es otro problema provocado por la circulación
de los camiones. Es lógico que a los vecinos les moleste el ruido excesivo y constante que causa el flujo
de vehı́culos pesados en caminos no pavimentados. La solución a este problema es conversar con los
vecinos y establecer acuerdos, principalmente de horarios y de cantidad de flujo. El modelo considera
la contaminación acústica, ya que permite controlar el máximo de camiones que podrı́a acceder a un
predio determinado en un momento determinado.
iii) Daño de los camiones a las vı́as: Es evidente que el peso de 50 toneladas que tiene un camión
cargado daña las vı́as. Con el tiempo se rompen las capas de asfalto, mientras que los caminos de ripio
y tierra sufren ahuellamiento. La solución a este problema es, al igual que con la contaminación acústica,
establecer acuerdos con los vecinos, además de optar por caminos alternativos. En el modelo se puede
restringir el máximo de camiones semanales que pueden acceder a un predio determinado (como se
mencionó en el punto anterior) además de considerar eventuales cambios en los caminos. Además, se
considerará un gasto por reparación de caminos debido a la circulación de camiones.
Tocones y accesibilidad dentro de las faenas: Es inevitable el ahuellamiento que forman los camiones
dentro del lugar de cosecha. Junto con los tocones de árboles cosechados dificultan el acceso a los
rodales. Además, con estos problemas, los camiones se vuelven propensos a sufrir daños en el chası́s. La
solución a este problema es la inversión en maquinaria, principalmente motosierras y retroescavadoras.
El modelo considera un gasto en reparación de caminos y su comportamiento se describe como una
función.

4. Presentación del Modelo de optimización para la gestión de


transporte a largo plazo
4.1. Supuestos, limitaciones y alcances del modelo
El modelo considerará una planificación durante un año, no limitándose a un periodo de planificación
distinto, cuyas variables de decisión serán semanales. Se considera un año como horizonte ya que
representa correctamente un ciclo. Además, es un buen periodo para realizar una correcta planificación
estratégica.
Un año se compondrá por 53 semanas, las que comenzarán el Lunes y terminarán el Domingo, inde-
pendiente de los dı́as que tengan la primera y la última semana del año. De esta manera, la semana del
1 de Enero será la primera, y la semana del 31 de Diciembre será la última, incluso aunque tengan un
dı́a ( Por ejemplo, el 1 de Enero es Domingo). Se considera que una semana es un tiempo razonable
para planificación de corto plazo y la capacidad de respuesta frente a objetivos operacionales.
El objetivo del modelo será minimizar el costo total generado por operaciones relacionadas al transporte.
Este costo se desagrega en: Costo de transporte y movimiento de madera, costo de carga y descarga,
costo de maquinaria en la reparación de accesos, costo de camiones aljibes.
Los camiones cargados pesarán 50 toneladas en total. De esta manera, el modelo considerará el peso
máximo que estos deben tener.
Se asume que cada viaje se realiza desde el origen al destino. Luego de eso, el camión regresa al origen.
Ambos trayectos se realizan a una velocidad promedio ν, independiente del camión.

8
La lluvia implicará un aumento en el costo de reparación de caminos y restringirá las operaciones.
Producto del ahuellamiento y la generación de tocones, se considerará que los camiones que circulan en
un predio determinado, también aumentarán el costo de reparación de caminos. El gasto en maquinaria
dependerá de los camiones que circulen en el predio.
El modelo considera que el presupuesto para reparar caminos crecerá continuamente mientras la madera
no sea retirada completamente. La magnitud de estos aumentos, dependerá de la lluvia y la circulación
de camiones.
Las unidades de medida para la madera en cualquiera de los casos, serán camionadas de un camión
completamente cargado de árboles descortezados.
El modelo asume que se conocen desde principio de año los predios que estarán disponibles durante ese
año, y desde la fecha que estarán operativos.
Cada predio posee solo un tipo de madera.
El modelo asume que todas las variables semanales, se reparten de manera uniforme en los dı́as hábiles
de la semana. Aunque esto no es necesariamente ası́, permite tener una idea general de como deben ser
asignadas las decisiones.
El modelo asume que la fecha en la que el predio expira no puede ser postergada.
El modelo asume que se conoce el programa y la cantidad de madera cosechada en cada semana en
cada uno de los predios (ya que puede ser cosechada independiente de la lluvia). Este parámetro está
sujeto a las capacidades operativas. En caso de que no sea conocido, se asumirá que corresponde a una
variable uniforme discreta como se menciona en la siguiente sección. Al final del informe, se menciona
la opción de incluir el plan de cosecha como parte del plan de abastecimiento.
El modelo asume que la capacidad de almacenaje de astillas es infinita, aunque este supuesto está
controlado por el modelo, ya que la cantidad de camiones transportados está acotada superiormente.
El modelo supone que no existen costos de inventario en ninguno de los predios, canchas ni plantas.
Sin embargo, restringe la capacidad máxima de inventario en cada uno de ellos, aunque esta capacidad
puede ser infinita. Al final del informe se menciona la opción de incluir costos de inventario.
El modelo considera que la madera no se verá afectada por la humedad. Al final del informe se menciona
la opción de incluir la humedad en el problema.
El subı́ndice i denotará el id del conjunto que incluye todos los predios y canchas modeladas (lugares
de origen de transporte).
El subı́ndice j denotará el id del conjunto que incluye todas los canchas y plantas modeladas (lugares
de destino de transporte).
En el Anexo 1 se presenta una tabla con todos los predios, canchas y plantas consideradas para el
modelo presentado, ası́ como sus ı́ndices i y j en cada uno de los casos.
El subı́ndice k denotará el tipo de madera. Para el caso de la planta de Dinahue, Eucalyptus Globulus
(k = 1) y Eucalyptus Nitens (k = 2).
El subı́ndice t denotará la semana dentro del año, t = 1, 2, ..., 53.
El modelo permite integrar todas las plantas, canchas y predios de Comaco, no limitándose exclusiva-
mente a la planta de Dinahue.
El modelo permite evaluar opciones de inversión. Se pueden mencionar como ejemplos, inversión en
maquinarias y activos fijos, capacidades de operación, inversión el caminos de ripio, terrenos para usar
como canchas, espacio destinado para arrumar la cosecha, entre otros. Se destina una sección del informe
para la explicación de esto con mayor detalle.

9
El modelo permite incluir transporte ferroviario de madera.
Otro alcance importante que permite el modelo, es que puede segregar los predios en rodales en caso
de que esto represente mejor la realidad. Supongamos que en un predio especı́fico hay un rodal acce-
sible y otro que requiere reparación o alteración de las vı́as para poder ser accedido. En este caso, el
modelo permite separar este predio en dos lugares distintos, donde compartirán ubicación pero tendrán
caracterı́sticas diferentes.
En ninguno de los casos, la lluvia afectará el transporte desde las canchas a las plantas. Tampoco las
canchas tendrán costos en la reparación de sus caminos.
El modelo es factible de implementarse en tiempo real mediante la actualización de los movimientos
reales (cada dos semanas o un mes, por ejemplo). Es importante destacar que este modelo sirve como
un panorama general de funcionamiento y planificación a largo plazo.
Dependiendo del predio y los habitantes que vivan cerca del sector, se asumirá que cada predio tiene
un costo en camiones aljibe por camión de madera que acceda al predio.
El modelo asumirá un tiempo fijo de carga-descarga por camión, es decir, asumirá que no hay cola de
camiones en las plantas y considerará un tiempo promedio.

El costo marginal por reparación de caminos, será proporcional a la longitud de camino de tierra en el
acceso. Este valor cuantificará la magnitud del terreno y los caminos que deben arreglarse.

4.2. Parámetros
A continuación se enuncian los parámetros del modelo de optimización. En la sección siguiente, se habla
de ellos con mayor detalle y se explica como pueden obtenerse.

αt : Dı́as hábiles que tiene la semana t [dı́as].


*Observación: Este parámetro no es ocupado directamente en el modelo. Cumple la función de deter-
minar que proporción de la semana será efectiva para determinar el valor de algunos otros parámetros.
δi : Corresponde al tipo de madera que tiene el predio i. En caso de que sea Globulus, δi = 1, mientras
que si es Nitens, δi = 2.
Ti0 : Semana desde la que está disponible el predio i para retirar toda la madera.

Tif : Semana hasta la que está disponible el predio i para retirar toda la madera.
Ci,k,Ti0 : Total de camionadas requeridas inicialmente, equivalentes a toda la madera de tipo k disponible
para ser transportada en el predio i al comienzo de su disponibilidad, independiente del estado de los
caminos y si la madera está accesible. [camionadas]

Wi,k,t : Total de madera cosechada (en camionadas) de tipo k en la semana t en el predio i. [ camionadas
semana ]

$
qi,j : Costo de transporte por camionada que va desde el origen i hasta el destino j. [ camionada ]
hi,Ti0 : Requerimiento en maquinaria, y otros costos, para reparar el camino del predio cuando este
comienza a estar disponible i. [$]
Vi,t : Máximo de presupuesto semanal que se puede destinar al predio i la semana t para reparar caminos
$
asumiendo condiciones ideales (sin lluvia) debido a capacidades operacionales. [ semana ]
$
r : Costo promedio de carga + descarga por camionada. [ camionada ]
mm
Pi,t : Precipitación histórica semanal en el predio i para la semana t . [ semana ]

10
Si,j,t : Máximo de camionadas que pueden transportarse desde i hasta j la semana t, suponiendo que no
llueve, debido a restricciones de operación (disponibilidad de choferes y maquinas de carga) y acuerdos
con los vecinos. Esta restricción también incluye el caso de que no hay acuerdo con el dueño de realizar
transporte en el predio i la semana t, en este caso, Si,j,t = 0 ∀j. [ camionadas
semana ]

Di,j : Distancia desde el origen i hasta el destino j. [Km]

Lj,k,t : Mı́nimo de camionadas acumuladas de madera de tipo k que deben haber llegado a la planta j
hasta la semana t por restricción de requerimientos necesarios para llenar los buques. [camionadas]
Uj,t : Máximo de camionadas de madera que pueden llegar a la planta j en la semana t por restricción
de capacidad operacional. [ camionadas
semana ]

Gi : Máximo de madera (en camionadas) que puede haber en el lugar i por restricciones de capacidad
espacial. [camionadas]
Bi,k,Ti0 : Cantidad de madera (en camionadas) de tipo k = δi en el predio i que queda por cosechar al
comienzo de la disponibilidad del predio. [camionadas]
Se puede establecer como parámetro auxiliar:

t̄=t−1
X
Bi,k,t = Bi,k,Ti0 − Wi,k,t̄ ; ∀i ∈ P redios k = δi t ≥ Ti0 + 1
t̄=Ti0

Que indicará la cantidad de madera (en camionadas) de tipo k = δi por cosechar en el predio i al
comienzo de la semana t
Ij,k,1 : Inventario inicial de madera (en camionadas) de tipo k en la planta o cancha j. [camionadas]
Ai : Costo promedio de camiones aljibes por cada camión de madera que transporta en ese predio.
$
[ Camión de madera ]

Jj,k,t : Total de madera (en camionadas) de tipo k astillada la semana t en la planta j. [ camionadas
semana ]

ωi : Longitud del camino propenso a problemas de reparación en el predio i (principalmente de tierra)


[metros]

λi,t : Proporción histórica de tiempo que llueve en el predio i la semana t.


F LOT A : Cantidad de camiones con los que cuenta el sistema para su funcionamiento. [camiones]
ν : Velocidad promedio de un camión de madera, independiente del camión y de si este va cargado o
Km
descargado. [ hora ]
HCt : Horas de disponibilidad de cada camión en la semana t. [horas]
TC : Tiempo promedio de carga + descarga de una camionada completa. [horas]
Ri (t) : Aumento de costo semanal en maquinaria para reparación de caminos en el predio i la semana
$
t. [ semana ]
Se refiere a un costo marginal que se considerará semanalmente en cada predio para la reparación de
sus caminos. Es importante mencionar que el valor de Ri (t) es pequeño, sin embargo, mientras no se
incurra en gastos de reparación, el modelo asumirá que los predios no podrán ser accedidos. De esta
manera, si el modelo considera óptimo invertir en reparación en algún predio y semana determinada,
lo realizará automáticamente.

11
Si i corresponde a un predio, se tiene que:
XX 
Ri (t) = ωi · β0 + βLluvia · Pi,t + βCamiones transportados · Xi,j,k,t
j k

∀i ∈ P redios ∀t

Mientras que si i corresponde a una cancha, Ri (t) = 0 ; ∀i ∈ Canchas ∀t, es decir, no se


considera presupuesto de reparación de accesos para las canchas.
Diremos que cada semana, aumentará el costo de reparación de caminos y uso de maquinaria debido a
tres factores:
i) La lluvia: Se considerará que a mayor lluvia histórica, mayor aumento en el presupuesto restante de
reparación.
ii) Los camiones que circularon la semana anterior: Debido al peso de los camiones, el camino en
general se daña debido al ahuellamiento, impidiendo la circulación de los demás. Aunque el parámetro
que acompaña este valor no debiese ser muy significativo, debe considerarse en los costos.
iii) La longitud del camino que puede sufrir daños debido a la lluvia y a la circulación de camiones
(en particular, caminos de tierra). Se considerará que la longitud del camino propenso a daños será
directamente proporcional al valor que tome Ri (t).
Se considera que los parámetros no dependen ni del tiempo ni de el predio para que el modelo no sea
demasiado complejo. Los parámetros de esta función deben ser calibrados con datos reales mediante
una regresión lineal múltiple. En caso de que alguna de las variables no sea significativa, debe salir de
la función y probablemente reemplazarse por otra que pueda ser más explicativa.
fi,t : Proporción del tiempo en que los camiones pueden operar en el predio i la semana t.
Corresponde a la proporción del tiempo en que los camiones podrán acceder a buscar madera por efectos
de la lluvia.
Si i corresponde a un predio, se tiene que:

fi,t (Pi,t ) ∈ [0, 1] ∀i ∈ P redios ∀t

Mientras que si i corresponde a una cancha, fi,t = 1 ; ∀i ∈ Canchas ∀t, es decir, las canchas
siempre estarán completamente operativas para realizar transporte.
Independiente de si los caminos están reparados, esta función considerará que proporción de la semana
aproximadamente los caminos podrán ser transitados, considerando que hay cotas máximas tanto para trans-
porte como para reparación netamente por efectos de la lluvia y dı́as post-lluvia, en cada predio, en cada
instante de tiempo, las que consideran que la semana completa está operativa. En la sección “Presentación y
calibración de parámetros y funciones”se explica con detalle como se aborda esta función y como los valores
son calculados.

4.3. Variables
Ci,k,t : Total de camionadas equivalentes a toda la madera de tipo k arrumada, al comienzo de la semana
t en el predio i, independiente del estado de los caminos y si la madera está accesible. [camionadas]
Ij,k,t : Total de madera (en camionadas) de tipo k en la planta (o cancha) j al comienzo de la semana
t. [camionadas]
Xi,j,k,t : Total de madera (en camionadas) de tipo k transportada desde i hasta j en la semana t.
[ camionadas
semana ]
*Observación: Si i ∈ P redios, entonces Xi,j,k,t ≡ Xi,j,δi ,t .
Además, se cumplirá que Xi,j,3−δi ,t = 0 ; ∀j ∀t

12
$
Yi,t : Dinero invertido en reparación de caminos la semana t en el predio i. [ semana ]
hi,t : Requerimiento restante en maquinaria para reparar el camino del predio i en el periodo t [$].

4.4. Restricciones
Conservación de flujo en los predios:
En un predio especı́fico, para un tipo de madera especı́fico, la madera disponible será igual a la madera
disponible la semana anterior, más la madera cosechada la semana anterior, menos la madera retirada
del predio a cualquiera de las plantas o canchas la semana anterior.
X
Ci,k,t = Ci,k,t−1 + Wi,k,t−1 − Xi,j,k,t−1 ; ∀i ∈ P redios k = δi t≥2
j

Conservación de flujo en planta:


En una planta especı́fica, para un tipo de madera especı́fico, la madera disponible será igual a la madera
disponible la semana anterior, más la madera que llegó desde cualquiera de los predios y canchas la
semana anterior, menos la madera que fue astillada la semana anterior.
X
Ij,k,t = Ij,k,t−1 + Xi,j,k,t−1 − Jj,k,t−1 ; ∀j ∈ P lantas ∀k t≥2
i

Conservación de flujo en canchas:


En una cancha especı́fica, para un tipo de madera especı́fico, la madera disponible será igual a la
madera disponible la semana anterior, más la madera que llegó desde cualquiera de los predios la
semana anterior, menos la madera que se fue a cualquiera de las plantas la semana anterior.
X X
Ij,k,t = Ij,k,t−1 + Xi,j,k,t−1 − Xj,i,k,t−1 ; ∀j ∈ Canchas ∀k t≥2
i i

Máximo inventario en predios:


El total de madera en un predio, en una semana cualquiera, no debe exceder el inventario máximo
permitido para ese predio.

Ci,k,t ≤ Gi ; ∀i ∈ P redios k = δi ∀t

Máximo inventario en planta - canchas:


El total de madera en una planta / cancha, en una semana cualquiera, no debe exceder el inventario
máximo permitido para esa planta / cancha.
X
Ij,k,t ≤ Gj ; ∀j ∀t
k

Mı́nimo de madera para cumplir con la planificación:


Según lo mencionado en la sección 3.1., para un tipo de madera especı́fico en una planta especı́fica,
se requiere un mı́nimo para cumplir con la planificación de los buques y que estos puedan llenarse los
dı́as correspondientes. La expresión de la izquierda indica la madera de tipo k proveniente de todos los
predios acumulada en la planta j hasta el dı́a t.

t̄=t X
X
Xi,j,k,t ≥ Lj,k,t ; ∀j ∈ P lantas ∀k ∀t
t̄=1 i

13
Máximo de madera que puede recibir la planta (cancha) por su capacidad operacional:
El total de madera que llega desde todos los predios y canchas, no debe exceder la capacidad operacional
de la planta (o de la cancha), es decir, la planta debe recibir a todos los camiones que lleguen.
XX
Xi,j,k,t ≤ Uj,t ; ∀j ∀t
i k

Máximo de madera que puede transportarse desde los predios no debe exceder la cantidad disponible:
Para un tipo especı́fico de madera, en una semana especı́fica, en un predio especı́fico, el total de madera
transportada desde ese predio a cualquiera de las canchas y plantas no debe exceder el total de madera
disponible.
X
Xi,j,k,t ≤ Ci,k,t ; ∀i ∈ P redios k = δi ∀t
j

Disponibilidad de los predios:


No podrá existir transporte ni reparación de caminos en un predio antes de que este sea vinculado, ni
después de que este sea desvinculado.

Xi,j,k,t = 0 ; ∀i ∈ P redios ∀j k = δi t < Ti0 ∧ t > Tif

Yi,t = 0 ; ∀i ∈ P redios t < Ti0 ∧ t > Tif

Requerimiento restante en maquinaria:


Para un predio especı́fico, una semana especı́fica, el requerimiento restante en maquinaria para repa-
ración de camiones, será igual al requerimiento al comienzo de la semana anterior, menos el dinero
invertido en reparación la semana anterior, más el costo agregado debido a precipitaciones y camiones
que circularon la semana anterior, ponderado por la longitud del camino propenso a reparación, en
particular, camino de tierra.

hi,t = hi,t−1 − Yi,t−1 + Ri (t − 1) ; ∀i ∈ P redios ∀t ≥ 2

** Observación: La función objetivo minimizará la sumatoria de Yi,t , por lo tanto no es necesario


restringir hi,t ≥ 0
Si hi,t 6= 0, entonces no podrá haber transporte en el predio i en el periodo t:
Si los caminos no están completamente reparados, se asume que no podrá existir transporte en un
predio especı́fico, una semana especı́fica.

hi,t · Xi,j,k,t = 0 ; ∀i ∈ P redios ∀j k = δi ∀t

** Observación: Al tomar en cuenta esta restricción y la anterior, si el modelo lo considera óptimo,


incurrirá en inversión en caminos en predios definidos para poder transportar madera.
Restricción máxima de presupuesto de reparación:
El gasto en reparación en un predio especı́fico, una semana especı́fica, no podrá exceder el gasto por
restricciones de capacidad, multiplicado por la proporción del tiempo que que no estará lloviendo en el
predio esa semana según la proporción histórica.

Yi,t ≤ (1 − λi,t ) · Vi,t ; ∀i ∈ P redios ∀t

14
Capacidad máxima de transporte debido a los niveles de operación y los dı́as de lluvia:
En un predio especı́fico, una semana especı́fica, el total de madera transportada a una planta o una
cancha, no podrá exceder la capacidad operacional del predio en condiciones ideales, multiplicado por
la proporción del tiempo que el predio estará operativo esa semana.

Xi,j,k,t ≤ Si,j,t · fi,t (Pi,t ) ; ∀i ∈ P redios k = δi ∀j ∀t

Capacidad máxima de transporte debido a la flota de camiones:


El tiempo de viaje total de transporte, más los tiempos de carga y descarga, no debe exceder el tiempo
en que la flota total de camiones está disponible en cada periodo
D 
i,j
XXX
2 · Xi,j,k,t · + TC ≤ F LOT A · HCt ; ∀t
j i
ν
k

** Observación: Se puede notar que la cantidad de madera transportada desde un predio en condiciones
ideales (sin lluvia y con caminos disponibles) está acotada superiormente por la capacidad operacional
de transporte (carga / descarga, disponibilidad de choferes o acuerdo de máximo de transporte), por
la cantidad de madera arrumada en ese momento y por la flota de camiones disponible.
Toda la madera debe ser retirada antes de que el predio esté desvinculado:
Dentro del periodo en que cada predio esté disponible, toda la madera debe ser retirada.
En el instante Ti0 , en que el predio i es vinculado, habrán Ci,k,1 + Bi,k,1 camionadas de madera de tipo
k en el predio i en total, especı́ficamente Ci,k,Ti0 estarán habilitadas para ser retiradas, mientras que
Bi,k,Ti0 aun no han sido cosechadas. De esta manera:

t=Tif
X X
Xi,j,k,t = Ci,k,Ti0 + Bi,k,Ti0 ; ∀i ∈ P redios k = δi
t=Ti0 j

Naturaleza de las variables:

Ci,k,t ∈ R0 ; ∀i ∈ P redios k = δi ∀t ≥ 2

Ij,k,t ∈ R0 ; ∀j ∀k ∀t ≥ 2

Xi,j,k,t ∈ N0 ; ∀i ∀j ∀k ∀t

Yi,t ∈ R0 ; ∀i ∀t

hi,t ∈ R0 ; ∀i ∀t ≥ 2

** Observación: Las variables representadas por los camiones serán reales positivas a excepción de los
camiones transportados, caso en el que se representa movimiento de madera y debe ser considerada
como una variable entera positiva. A modo de contraejemplo, perfectamente un predio puede tener
en alguna semana madera cosechada equivalente a 4,5 camiones. Esto no tendrá consecuencias en la
resolución del problema.

15
4.5. Función objetivo
La función objetivo corresponde a minimizar el costo total en el que se incurre al cumplir el objetivo de
transporte.

XXXX XXXX XX XXXX


M in qi,j · Xi,j,k,t + r · Xi,j,k,t + Yi,t + Ai · Xi,j,k,t
t k j i t k j i t i t k j i
| {z } | {z } | {z } | {z }
Costo de reparación
Costo de T ransporte Costo de
de caminos
Costo de
Carga−Descarga camiones aljibes

5. Presentación y calibración de parámetros y funciones


5.1. Parámetros de búsqueda simple
αt
Corresponde a los dı́as hábiles que tiene la semana t [dı́as].
Este dato puede conocerse muy fácilmente utilizando un calendario, y no representa ninguna dificultad
para el problema.

δi
Corresponde al tipo de madera que tiene el predio i. En caso de que sea Globulus, δi = 1, mientras que
si es Nitens, δi = 2.
Debido a que la empresa conoce las condiciones del predio y su tipo de madera, la búsqueda de este
parámetro no representa ninguna dificultad.
Ti0 y Tif
Corresponde a las semanas entre las que estará disponible el predio i.
Como ya se mencionó, uno de los supuestos del modelo es que el programa se estructura a comienzo de
año y estas fechas son conocidas desde un principio.

Ci,k,Ti0
Corresponde al total de camionadas requeridas inicialmente, equivalentes a toda la madera de tipo k
disponible para ser transportada en el predio i al comienzo de su disponibilidad, independiente del
estado de los caminos y si la madera está accesible. [camionadas]
La empresa conoce en tiempo real la cantidad de madera que hay en cada uno de sus predios, por lo
que este parámetro es un dato conocido y no es difı́cil de integrar en el modelo.
Di,j
Corresponde a la distancia desde el origen i hasta el destino j. [Km]
La distancia entre dos lugares puede conocerse con facilidad utilizando Google Maps. Además, con
la misma plataforma se puede determinar la ruta que recorrerá cada camión entre cada par origen -
destino.
r
$
Corresponde al costo promedio de carga + descarga por camionada. [ camionada ]
De manera similar al costo de transporte, este parámetro puede estimarse con los datos de transporte.
No se realizarán supuestos relacionados a que este dato puede explicarse mediante una regresión simple.
De esta manera, r corresponderá al costo promedio de carga y descarga por camión, considerando que
algunos camiones requieren grúas y otros poseen auto-cargante. Este costo promedio puede obtenerse
de los datos.

16
Lj,k,t
Corresponde al mı́nimo de camionadas acumuladas de madera de tipo k que deben haber llegado
a la planta j hasta la semana t por restricción de requerimientos necesarios para llenar los buques.
[camionadas]
Este parámetro viene determinado por lo que se menciona al comienzo del informe en la sección 3.1.
Dada la programación de los buques para cada tipo de madera, utilizando las curvas acumuladas de
producción requerida y considerando la cantidad de dı́as hábiles cada semana, se pueden determinar
los parámetros Lj,k,t .
La obtención de Lj,k,t no representa ninguna dificultad si el programa es conocido a comienzo de año.
** Observación: Estos parámetros permiten integrar un margen de seguridad en las plantas ante cual-
quier eventualidad.
Gi
Corresponde al máximo de madera (en camionadas) que puede haber en el lugar i por restricciones de
capacidad espacial. [camionadas]
No serı́a correcto suponer que cada uno de los predios, canchas y plantas tiene capacidad infinita de
almacenamiento. Sobre todo en el caso de las plantas, si el almacenamiento es excesivo se vuelve más
costoso y complicado. Ocurre algo similar en las canchas, las que evidentemente tienen restricciones
de capacidad. En el caso de los predios, podrı́a considerarse capacidad máxima solo en el caso de
que efectivamente sus condiciones lo requieran, en el caso de que este no presente limitaciones, puede
considerarse su capacidad máxima como infinita, ya que de todas maneras, la madera disponible es la
que estuvo sembrada en un comienzo.

Bi,k,Ti0
Corresponde a la cantidad de madera (en camionadas) de tipo k = δi en el predio i que queda por
cosechar al comienzo de la disponibilidad del predio. [camionadas]
Una vez que Comaco compra el predio, conoce aproximadamente cuanta madera hay en pie y paga por
ella, por lo que este parámetro es un dato conocido.

Ij,k,1
Corresponde al inventario inicial de madera (en camionadas) de tipo k en la planta o cancha j.
Este parámetro debe estar en los datos de la empresa y no presentar ninguna dificultad en su obtención.
ωi
Corresponde a la longitud del camino propenso a problemas de reparación en el predio i (principalmente
de tierra) [metros]
El valor de la longitud de caminos de tierra en los accesos de cada predio, puede conocerse utilizando
Google Maps, o bien el mapa en detalle del Predio. Corresponde a información del lugar y su búsqueda
no representa dificultades.

F LOT A
Corresponde a la cantidad de camiones con los que cuenta el sistema para su funcionamiento. [camiones]
Este dato corresponde a información de la empresa. El algoritmo que soluciona el problema, prueba
distintos valores de FLOTA para encontrar la FLOTA con la que se alcanza el menor costo total en la
solución.

HCt
Corresponde a las horas de disponibilidad de cada camión en la semana t.
Esta cantidad depende de los dı́as hábiles de la semana t y de la duración de la jornada diaria de cada
camión.

17
ν
Corresponde a la velocidad promedio de un camión de madera, independiente del camión y de si este
Km
va cargado o descargado.[ hora ]
Utilizando los datos proporcionados por el GPS, se puede determinar la velocidad promedio de viaje
independiente de cuales sean los lugares de origen y destino.
TC
Corresponde al tiempo promedio de carga / descarga de una camionada completa. [horas]
Usando los datos de operación, o bien, midiendo en terreno, se puede determinar en promedio, cuanto
demora un camión en ser cargado o descargarse. Es importante notar que dentro de este tiempo, no se
considera el tiempo que el camión estará esperando en la planta o en la cancha.

5.2. Parámetros de búsqueda con dificultad media


Wi,k,t
Corresponde al total de madera cosechada (en camionadas) de tipo k en la semana t en el predio i.
[ camionadas
semana ]
Este parámetro depende de los contratos realizados con los dueños de los predios. El modelo asumirá que
el programa de cosecha se conoce desde comienzo de año, ya que las condiciones climáticas difı́cilmente
pueden impedirlo, a diferencia del transporte. En caso de que no se conozca el programa para alguno
de los predios, puede estimarse como una variable uniforme discreta durante el plazo en el que el predio
estará disponible. Por ejemplo, si un predio P está disponible desde la semana TP0 hasta la semana TPf
y tiene una cantidad de árboles (de especie δi ) equivalente a NA camiones, entonces se podrá asumir
que desde la semana TP0 hasta la semana TPf , se cosecharán T f −T
NA
0 +1
. Aunque este supuesto no es muy
P P
confiable, puede ayudar a la resolución del problema. Al final del informe, se menciona la opción de
incluir W como una variable que permita considerar el problema de abastecimiento desde su origen.
hi,Ti0
Corresponde al requerimiento en maquinaria, y otros costos, para reparar el camino del predio cuando
este comienza a estar disponible i. [$]
En caso de que el predio esté vinculado desde el inicio (Ti0 = 1), puede determinarse aproximadamente
el costo necesario en los proyectos de reparación y accesibilidad de caminos en cada uno de ellos
dependiendo del contexto en el que se encuentren y la magnitud de los problemas de acceso.
En caso de que algún predio sea vinculado en un futuro no cercano, se pueden utilizar los datos históricos
de precipitaciones para predecir el estado de sus caminos tal como lo hace el modelo.
qi,j
$
Corresponde al costo de transporte por camionada que va desde el origen i hasta el destino j. [ camionada ]
Este parámetro puede estimarse con datos, realizando una regresión lineal simple del costo de transporte
por camionada en función de los kilómetros que este recorre.
De esta manera, se puede suponer que para un viaje entre dos nodos cualquiera (i, j): qi,j = β̂0 + β̂D ·
R
Di,j + i,j
R
Donde qi,j es el costo total de transporte para el viaje entre (i, j), Di,j es la distancia recorrida por el
camión entre el origen y el destino, β̂0 y β̂D son los estimadores de la regresión lineal, mientras que i,j
es el error de predicción, donde i,j ∼ N ormal(0, σ2 ).
Esta regresión lineal puede realizarse con datos reales, a modo de predecir el costo de transporte (pagado
realmente al transportista) en función de la distancia recorrida por el camión entre el origen y el destino
y el peso del camión (en toneladas) P¯i,j , de manera que:

qi,j = β̂0aux + β̂D · Di,j


R
+ β̂P · P¯i,j + i,j

18
Estimados los parámetros, como el modelo supone que el camión será de 50 toneladas, P¯i,j no será una
variable y se debe utilizar la siguiente regresión:

qi,j = β̂0aux + 50 · β̂P +β̂D · Di,j


R
| {z }
β̂0

Vi,t
Corresponde al máximo de presupuesto semanal que se puede destinar al predio i la semana t para
$
reparar caminos asumiendo condiciones ideales (sin lluvia) debido a capacidades operacionales. [ semana ]
Este parámetro se refiere netamente a las capacidades operacionales del predio y cuantas máquinas
existen en los sectores cercanos que estén disponibles cada semana para realizar reparaciones en los
caminos en caso de que sea necesario.
La empresa puede estimar aproximadamente cuanto es factible gastar en reparación en cada uno de los
predios.
A la empresa le conviene conocer la planificación e información de sus proveedores y trabajar en conjunto
con ellos. Esto permitirá conocer algunos de estos parámetros con mayor exactitud.
Si,j,t
Corresponde al máximo de camionadas que pueden transportarse desde i hasta j la semana t, supo-
niendo que no llueve, debido a restricciones de operación (disponibilidad de choferes y maquinas de
carga) y acuerdos con los vecinos. Esta restricción también incluye el caso de que no hay acuerdo con
el dueño de realizar transporte en el predio i la semana t, en este caso, Si,j,t = 0 ∀j. [ camionadas
semana ]
Este parámetro depende de los factores mencionados. La planta deberá conocer la disponibilidad de los
choferes y maquinas, para ello, es conveniente que tenga una buena relación con este tipo de proveedores,
a modo de conocer su información y trabajar en conjunto con ellos. Es por esto, que el problema
considera encontrar la flota que permita el desarrollo de la solución y, de esta manera, generar contratos
de largo plazo con los transportistas. Este parámetro incluye por ejemplo que por acuerdos con los
vecinos, el transporte máximo a un predio esté acotado, con le fin de no generar problemas con ellos
(en este caso Si,j,t no se verá afectado por fi,t . Si,j,t además puede estar acotado por acuerdos de
transporte con el dueño del bosque. Finalmente, depende de la empresa tener un panorama general de
como será el comportamiento de este parámetro en el corto, mediano y largo plazo. Eventualmente,
podrı́a definirse solamente como la capacidad máxima operacional, para gestionar los acuerdos con los
choferes y los dueños según lo que indiquen las variables al resolver el problema (en el caso de que no
hayan restricciones ni problemas con habitantes aledaños).
También considera de que, en algunos casos, los choferes podrı́an realizar más viajes a una cancha que
a una planta en el mismo periodo de tiempo, por eso el parámetro es dependiente de j.
Uj,t
Corresponde al máximo de camionadas de madera que pueden llegar a la planta j en la semana t por
restricción de capacidad operacional. [ camionadas
semana ]
Este parámetro está determinado por el cuello de botella en el circuito que recorren los camiones al
interior en la planta. Depende de los dı́as hábiles de la semana y permite evaluar eventuales inversiones
futuras en la capacidad operacional de recepción de los camiones dentro de las plantas y canchas, si
se supone que la inversión estará operativa desde una semana conocida. En este sentido, el modelo
permite identificar si eventualmente es conveniente invertir en la capacidad operacional del cuello de
botella y como esto se verı́a reflejado en los costos a largo plazo, además de identificar que tan urgente
debe ser esta inversión. De esta manera, para una planta j y una semana t, si el circuito del camión
desde que entra hasta que sale de la planta está configurado por NE etapas, donde cada etapa w tiene
una capacidad de operación de µw,j,t [ camiones
semana ], entonces:

Uj,t = min{µ1,j,t , µ2,j,t , ..., µNE ,j,t } ; ∀j ∀t

19
Ai
Corresponde al costo promedio de camiones aljibes por cada camión de madera que transporta en ese
$
predio. [ Camión de madera ]
Este parámetro, dependerá de las caracterı́sticas del sector y de cuantos camiones aljibes aproximada-
mente se requerirán en el predio, dependiendo de las condiciones del camino y la cantidad de habitantes
aledaños.
Este costo debe estimarse con datos reales y puede hacerse usando una regresión lineal múltiple.
Se define θi,t como el costo total en camiones aljibes utilizados en el predio i la semana t, y ηi,t como
el total de camiones que transportaron en el predio i la semana t (ηi,t 6= 0).
De esta manera:

θi,t
Ai = = βˆ0 + βHA
ˆ · XHA + βˆD · XD
ηi,t

Donde XHA es la cantidad aproximada de habitantes afectados y XD es la longitud del tramo que
deben regar los camiones aljibes.
Una vez que estos datos se obtienen y se realiza el modelo de regresión, se obtienen sus estimadores los
que permiten estimar Ai para cualquier predio que sea incluido en el futuro en función de la cantidad
de habitantes afectada y la distancia que deben regar los camiones.
En un mal caso, se puede aproximar este valor considerando cuanto se gastarı́a eventualmente en
camiones aljibes.
Jj,k,t
Corresponde al total de madera (en camionadas) de tipo k astillada la semana t en la planta j.
[ camionadas
semana ]
El modelo considera que se conoce la planificación de astillamiento en cada una de las plantas, en cada
periodo de tiempo. Se puede suponer perfectamente que la astilladora funcionará en todo momento
los dı́as hábiles de la semana y que, dependiendo de la planificación, se repartirá esa cantidad entre
Globulus y Nitens.

5.3. El problema de la lluvia


El problema de la lluvia es uno de los principales factores que afectan en el desarrollo natural del flujo
de transporte de madera hacia la planta para que esta sea procesada. El comportamiento impredecible de la
lluvia no permite a la empresa realizar una buena planificación estratégica y dimensionar sus capacidades de
transporte en el largo plazo.

Pi,t
mm
Corresponde a la precipitación histórica semanal en el predio i para la semana t . [ semana ]
La fuente Explorador Climático 3 muestra distintos puntos geográficos con datos meteorológicos históri-
cos, dentro de los cuales aparecen las precipitaciones registradas mes a mes durante un tiempo prolon-
gado. Este tiempo desde el que existen datos dependerá del punto marcado en el mapa.
Diremos que existirán NM puntos en el mapa de la fuente, dado por el conjunto de coordenadas
{(xM M M M M M
1 , y1 ), (x2 , y2 ), ..., (xNM , yNM )}.
En este caso, el eje X estará representado por el meridiano de Greenwich desde la linea del Ecuador
hacia el Norte, mientras que el eje Y estará representado por la lı́nea del ecuador desde el meridiano
de Greenwich hacia el Este (en Greenwich).
3 Disponible en: http://explorador.cr2.cl/

20
La siguiente figura detalla el eje de coordenadas para que no existan confusiones:

Figura 2: Eje de coordenadas utilizado

Además, se considerará que en el problema, existirán NP predios en algún momento durante el año,
dados por el conjunto de coordenadas {(xP P P P P P
1 , y1 ), (x2 , y2 ), ..., (xNP , yNP )}.
Conocidos ambos conjuntos, el objetivo es determinar las precipitaciones semanales históricas de cada
uno de los predios. Para esto, cada coordenada del conjunto de predios, se explicará mediante tres
coordenadas del conjunto en los datos de la fuente. Especı́ficamente, estos tres puntos serán los más
cercanos al predio, siempre y cuando el predio se encuentre dentro del triangulo formado por los tres
puntos. En caso de que algún predio especı́fico no esté contenido dentro de tres puntos existentes, por
estar muy cerca de alguna frontera por ejemplo, se considerarán sus dos puntos más cercanos para
obtener los valores de sus precipitaciones.
Antes de detallar el algoritmo que le asignará los tres puntos de la base de datos a cada predio. Es
importante detallar que la distancia vertical entre dos paralelos consecutivos, se puede aproximar a
111 km. Mientras que, según la fuente Tu Tiempo 4 por la forma de la tierra, la distancia entre dos
meridianos dependerá del coseno de la Latitud, y estará dado por:

Longitud de un grado de longitud = Cos(latitud) · 111,325 [kilometros]

** Observación: La latitud se encuentra en grados, y va desde los -90o en el polo Sur hasta los +90o en
el polo Norte.
Para efectos prácticos, debido a que las distancias verticales no son demasiado significativas en el
conjunto total de predios, se tomará el promedio de los valores de x y se determinará la longitud de un
grado de longitud considerando este valor.
Se tiene que x̄ = −37,476 → cos(x̄ = −37,476) = 0,7936.
De esta manera, la distancia horizontal entre dos meridianos consecutivos será de 0,7936 · 111,325 =
88,3482[km]
4 Disponible en: https://www.tutiempo.net/Foro/viewtopic.php?t=2804

21
Con los datos mencionados, se puede aproximar la distancia Euclidiana entre dos puntos (xP P
i , yi ) y
M M
(xj , yj ) como:
s
  2   2
Di,j [Km] = 111 · xP
i − x M
j + 88,3482 · yi
P − yM
j

Para cada predio i, se ordenan las distancias desde el predio hasta los NM puntos en la fuente, de tal
manera que Di,1 ≤ Di,2 ≤ ... ≤ Di,NM
Dada la ubicación del predio P y de dos puntos cercanos M1 y M2 . Se definen los ángulos ∠X, P, M1 = α
y ∠X, P, M2 = β.
Como se aprecia en la figura, la ubicación de P estará dentro del triangulo formado por M1 , M2 y M3
si y solo si ocurre una de las siguientes dos condiciones:

i) |β − α| ≥ 180o y [ (γ + 180) %360 ≤ min {α, β} ó (γ + 180) %360 ≥ max {α, β}]

ii) |β − α| ≤ 180o y (γ + 180) %360 ∈ [min {α, β}, max {α, β}]

Donde % representa el módulo, es decir, a %b representará el resto que resulta al dividir a en b.


Como se muestra en la figura, el punto M3 debe ubicarse dentro de la región opuesta por el vértice al
ángulo ≤ 180o formado por ∠M1 , P, M2

Figura 3: En este caso, se cumple que |β − α| ≤ 180o , además α ≤ β de manera que si se cumple
(γ + 180) %360 ∈ [α, β], lo que es equivalente a decir que M3 se encuentre en la región sombreada, entonces
P ∈ 4M1 , M2 , M3

El objetivo del siguiente algoritmo, es elegir la terna de puntos tal que la suma de las distancias
Euclidianas entre el predio y cada una de ellas sea mı́nima, siempre y cuando el predio esté contenido
en el triángulo formado por los tres puntos.

22
Algoritmo de resolución

i) Para cada predio i, localizado en (xP P


i , yi ), determinar el orden de las distancias a los puntos y
ordenarlos
de manera que Di,1 ≤ Di,2 ≤ ... ≤ Di,NM .

Establecer di,j = Di,j+1 − Di,j j = 1, 2, ..., NM − 1 ∀i.

Asignar A = 1, B = 2, C = 3.

y M −y P y M −y P y M −y P 
ii) Definir α = arctan( xAM −xiP ), β = arctan( xBM −xiP ), γ = arctan( xCM −xiP ) + 180o %360o
A i B i C i

Donde % representa el módulo, es decir, a %b representará el resto que resulta al dividir a en b.

iii) Si |β − α| ≥ 180o y [ γ ≤ min {α, β} ó γ ≥ max {α, β}] → ST OP . A, B, C es la terna de puntos.


Si no, continuar.

Si |β − α| ≤ 180o y γ ∈ [min {α, β}, max {α, β}] → ST OP . A, B, C es la terna de puntos.


Si no, continuar.

iv) Si dA ≤ dB y dA ≤ dC y A + 1 6= B → A := A + 1

Si dB ≤ dA y dB ≤ dC y B + 1 6= C → B := B + 1

En otro caso C := C + 1

Volver a ii)

Una vez que cada predio i está asignado a tres puntos representados por el conjunto P untosi =
{Ai , Bi , Ci }, donde cada uno tiene precipitaciones históricas en el mes q dadas por {PqAi , PqBi , PqCi }
se determinarán las precipitaciones históricas del predio i el mes q como la ponderación de las pre-
cipitaciones en los tres vértices del triángulo, por el inverso de su distancia Euclidiana al predio i,
especı́ficamente:

−1
Pqsi · Di,s
P
s∈P untosi
Pi,q = P −1
s∈P untosi Di,s
−1 1
Donde Di,s = Di,s

Finalmente, para una semana t cualquiera cuyos 7 dı́as sean del mes q, simplemente se tendrá que:

7
Pi,t = · Pi,q
Dı́as del mes q
Mientras que si una semana t se compone por αq dı́as del mes q y αq+1 dı́as del mes q + 1, tal que
αq + αq+1 = 7 entonces:

αq αq+1
Pi,t = · Pi,q + · Pi,q+1
Dı́as del mes q Dı́as del mes q + 1

23
**Observación: Debido al calentamiento global actual, es posible que utilizar el promedio de los datos
históricos sea poco confiable. Probablemente, sea adecuado comprender de manera global el compor-
tamiento de las precipitaciones para un mejor pronóstico, el que puede ser una ponderación de las
precipitaciones anteriores en distintas medidas. Al final del informe se detallan algunas opciones que
permiten predecir las precipitaciones desde otro punto de vista.
fi,t y λi,t
fi,t corresponde a la proporción del tiempo en que los camiones pueden operar en el predio i la semana
t.
λi,t corresponde a la proporción histórica de tiempo que llueve en el predio i la semana t.
A continuación, se detalla especı́ficamente como obtenerlas.
Obtención de los nuevos datos

La función f y el parámetro λ son relevantes para la resolución estratégica del problema, considerarlos y
modelarlos correctamente es fundamental para que el problema esté planteado de la manera adecuada.
Conocido como obtener Pi,t , el procedimiento para estimar fi,t junto con λi,t es el siguiente:
Usando los datos de la página, para cualquier punto disponible, se obtienen los ml de lluvia caı́dos
en ese lugar cada dı́a desde algún dı́a en especifico. Es probable que no estén todos los dı́as del año,
sin embargo, por la cantidad de los datos que hay para la mayorı́a de los puntos, esto no representa
mayores complicaciones para la resolución del problema.
En los datos que se pueden exportar de la página, se presenta un archivo Excel para cada uno de los
puntos disponibles. El archivo incluye una columna con las fechas y otra columna con los ml de lluvia
caı́dos cada dı́a en ese lugar. Para las definiciones correspondientes, se emplea la siguiente notación de
los datos del problema (no confundir con la notación utilizada en el modelo de optimización):

N : Total de datos utilizados.

Xj : Valor del dato j [ ml dedı́alluvia ] ∀j = 1, ..., N .



1 si Xj > 0
Yj = ∀j = 1, ..., N
0 si Xj = 0

1 si Xj corresponde a un dato del mes q
Zj,q = ∀j = 1, ..., N ∀q = 1, ..., 12
0 si Xj no corresponde a un dato del mes q

Dada esta notación para representar correctamente los datos, se calcula lo siguiente:

i) Total de datos de lluvia para cada mes:

j=N
X
Sq = Zj,q ∀q = 1, ..., 12
j=1

ii) Total de dı́as en los que efectivamente llovió, para cada mes:

j=N
X
Rq = Yj · Zj,q ∀q = 1, ..., 12
j=1

iii) Probabilidad histórica de que llueva un dı́a particular, para cada mes:

Rq
λq = ∀q = 1, ..., 12
Sq

24
iv) Intensidad de lluvia: Promedio de ml llovidos en un dı́a, los dı́as que llovió, para cada mes:

Pj=N
j=1 Zj,q · Xj
Iq = ∀q = 1, ..., 12
Rq

De los cálculos obtenidos, Iq y λq son relevantes para la definición de la función fi,t


Especı́ficamente, se puede notar que Iq y λq son una desagregación de Pq
Si un mes especı́fico tiene βq dı́as, entonces se cumple que:

ml dı́as ml
Pq [ ] = βq [ ] · λq · Iq [ ]
mes mes dı́a
En otras palabras, las precipitaciones mensuales en un lugar especı́fico serán iguales a los dı́as esperados
llovidos en el mes (βq · λq ), multiplicado por la intensidad promedio de lluvia los dı́as que llueve en ese
lugar.
Ahora bien, es necesario llevar estos datos a un predio especı́fico i.
De manera análoga a la presentada anteriormente para las precipitaciones, dada la terna óptima
P untosi = {Ai , Bi , Ci } en cuyo triángulo está contenido el predio i, se definen:
{λA Bi Ci
q , λq , λq } como las probabilidades de que llueva un dı́a cualquiera en el mes q en los puntos
i

Ai , Bi , Ci respectivamente ∀q = 1, ..., 12.


ml
{IqAi , IqBi , IqCi } como la intensidad promedio de lluvia diaria [ dı́a ] los dı́as que efectivamente llueve, en
el mes q en los puntos Ai , Bi , Ci respectivamente ∀q = 1, ..., 12.
El procedimiento es similar al anterior, donde se pondera cada uno de los valores con el inverso de su
distancia Euclidiana al predio i, a modo de aproximar sus parámetros correctamente. De esta manera:

−1
Iqs · Di,s
P
s∈P untosi
Ii,q = P −1
s∈P untosi Di,s

Pi,q
λi,q =
βq · Ii,q
−1 1
Donde Di,s , representa la distancia Euclidiana entre el predio i y el punto s, y Di,s = Di,s representa
el inverso de la distancia.

Aplicación de los nuevos datos

Hasta ahora solo se ha mencionado como obtener los datos para cada predio, pero no como estos deben
utilizarse. A continuación, se detalla el procedimiento realizado.
Utilizando los datos de precipitaciones de Marı́a Dolores, Los Ángeles, región del Bı́o-Bı́o, se obtienen
los ml de agua caı́dos desde el 31 de Diciembre del 1951.
Para este punto particular, se obtienen los valores de Iq y λq usando las ecuaciones presentadas ante-
riormente, para cada uno de los meses.
Para entender el procedimiento utilizado, en primer lugar, es importante saber que es y como se define
una cadena de Markov discreta.
Una cadena de Markov discreta es la descripción estocástica (probabilı́stica) de un proceso que cambia
entre n estados distintos, en saltos discretos de tiempo.
En este caso, el proceso corresponde al tiempo climatológico en un lugar determinado. Diremos que
hay solo dos estados, lluvia y no lluvia, y los saltos discretos en el tiempo serán dı́as, de manera que la
cadena de Markov permitirá describir los estados del tiempo climatológico en un lugar especı́fico cada
dı́a.

25
Sea Xn el estado del sistema en la etapa n. Por definición, una cadena de Markov debe cumplir con
dos propiedades:
i) Propiedad Markoviana: El futuro depende del pasado solo a través del presente:

P r{Xn+1 = j|Xn = in , ..., X0 = i0 } = P r{Xn+1 = j|Xn = in }

Esta propiedad se conoce como la falta de memoria, ya que el proceso “no recuerda”su estado en el
tiempo pasado. Por lo tanto, su estado en la próxima etapa (n + 1) solo dependerá de su estado actual
(n).
ii) Propiedad de estacionariedad:

P r{Xn+1 = j|Xn = in } no depende de n

Si un proceso cumple con ambas propiedades, entonces se puede representar mediante una cadena de
Markov discreta, especı́ficamente a través de dos herramientas:
i) Un grafo de transición, en el que cada nodo representa un estado, y cada arco representa la proba-
bilidad de pasar del estado i al estado j en la etapa siguiente. Se puede observar que en este caso, el
proceso puede no cambiar de estado entre dos etapas. Para un mes especı́fico q, el grafo que representa
la cadena de Markov es el siguiente:

Figura 4: Cadena de Markov representada mediante un grafo

Es importante notar que necesariamente la suma de los arcos que salen de cada nodo, deben ser 1
debido a las probabilidades totales.
ii) Una matriz de transición P , en la que cada posición pi,j denota la probabilidad de pasar desde el
estado i al estado j la próxima etapa, es decir, P r{Xn+1 = j|Xn = in }. Para un mes especı́fico q, la
matriz de transición estará dada por:
   
PN o Lluvia,N o Lluvia PN o Lluvia,Lluvia 1 − λq λq
P= =
PLluvia,N o Lluvia PLluvia,Lluvia 1 − λq λq

Al igual que con el grafo, la suma de los valores de cualquier fila de la matriz, debe ser 1 debido a las
probabilidades totales.
Se puede obtener mucha información valiosa representando procesos como cadenas de Markov, sin
embargo, para este caso, solo se utilizará como descripción del problema, ya que la resolución de este se
hará usando la simulación del proceso estocástico para describirla a través de un modelo de regresión
lineal múltiple.

26
Usando los datos de probabilidades e intensidades promedio de Mará Dolores (Los Ángeles) cada mes
(λq , Iq ∀q = 1, ..., 12), diremos que un dı́a w cualquiera del mes q lloverá Bw = Iq [ dml ía
] con una
ml
probabilidad λq . Ası́, para una permeabilidad k[ dı́a ] del terreno, su estado el dı́a w estará dado por:

max{Ew−1 + Bw − k, 0} si llueve el dı́a w
Ew = ∀w = 1, ..., 365
max{Ew−1 − K, 0} si no llueve el dı́a w

Además, se supondrá que Ew=0 = 0, lo que es lógico dado que el dı́a 0 corresponde al 31 de Diciembre,
dı́a de verano en Chile.
De esta manera, se dirá que el lugar está disponible el dı́a w, si Ew = 0
Sean Hw,q = 1 si el dı́a w corresponde al mes q (0 si no) y Fw = 1 si Ew = 0 (0 si Ew > 0), entonces,
la función fi,q para el lugar i estará dada por:
P
w Fw · Hw,q
fi,q =
βq

Donde βq es el total de dı́as del mes q. De esta manera, fi,q representa la proporción del tiempo en que
el predio i estará operativo en el mes q.
A continuación, se proceden a simular 200 réplicas para un año completo para 30 valores posibles de
permeabilidad k = 1, 2, ..., 30. En cada simulación, cada dı́a lloverá con una probabilidad λq dependiendo
del mes, y esto actualizará el estado del dı́a correspondiente. Cada dı́a, el lugar tendrá un drenaje igual
a k (como se presentó en la función de estados) independiente de si llueve o no. De esta manera se
obtiene fi,q como el promedio del valor en sus 200 réplicas. Considerando 12 meses y 30 valores para
la permeabilidad, se obtiene un total de 360 datos, con los que es posible realizar una regresión lineal
múltiple.
Se plantean dos modelos de regresión para resolver este problema, los que se describen a continuación:

i) Una regresión lineal múltiple que dependa de k, λq e Iq usando directamente los 360 datos. El
problema de realizar esto, es que la regresión no sabe que los valores de f están acotados entre 0 y 1.

ii) Un modelo de elección discreta, logit múltinomial, que identifique el estado discreto de la función f .
Especı́ficamente estos estados son tres: f = 0, f ∈]0, 1[, f = 1. Seguido de esto, si f ∈]0, 1[, se realiza
una regresión lineal múltiple con los datos en los que efectivamente f cumple con este criterio. Para
esta alternativa, necesariamente f ∈ [0, 1].

Implementación de los modelos

A continuación, se detallan los procedimientos realizados para ambos modelos de regresión mencionados.

i) Elección continua. Modelo de regresión lineal múltiple.

La regresión planteada es de la forma:

j=24
fˆi,q
X
R = βˆ + βˆj · Xj
0
j=1

Los datos utilizados para X se describen en el Anexo 2


Al resolver la regresión utilizando R Studio, se obtuvo que el modelo puede explicarse significativamente
de la siguiente manera:

fˆi,q
p
R = 0,99196 + 0,038583 · k − 0,00073 · k · I + 0,02501 · k · λ − 1,71427 · λq
q q

27
Como está escrito, este modelo tiene un R2 = 0,8044, lo que indica que es un buen predictor para los
valores de f , sin embargo, no está truncado en las cotas de la función, por lo tanto, el estimador de f
estará dado por:

fˆi,q

R <0
 0
 si
ˆ
fi,q = fˆi,q
R si 0 ≤ fˆi,q
R ≤1 ∀i, q
fˆR > 1

1 si

i,q

ii) Modelos de elección discreta y continua. Logit multinomial y regresión lineal múltiple.

A diferencia del modelo de regresión lineal múltiple, el modelo logit multinomial busca predecir una
variable que tiene estados discretos. Especı́ficamente, determina la probabilidad de que la variable
dependiente Y , tome cierto estado.
Para este caso, la variable dependiente es f y se busca predecir la probabilidad de que f = 0 (estado
1), f ∈]0, 1[ (estado 2) o bien f = 1 (estado 3).
El modelo Logit define una Utilidad para cada uno de los estados, de manera que la utilidad del estado
n estará dada por:
X
ˆ +
Un = βn,0 ˆ · Xj
βn,j
j

Necesariamente, el modelo establece un estado como base, fijando su utilidad en 0, a modo que las
demás utilidades sean relativas a la utilidad del estado base. En este caso U1 = 0
Ası́, se define la probabilidad de que la variable dependiente fi,q tome el estado n como:

eUn
P r(fi,q ) ∈ Estado n = P Uw
we

Para estimar el modelo Logit, se utiliza nuevamente R Studio y las mismas variables del Anexo 2.
En la base de datos, se define la variable Z como el estado discreto de cada dato en particular, de esta
manera, Z = 1 si f = 0, Z = 2 si f ∈]0, 1[ y Z = 3 si f = 1.
En primer lugar se utiliza la función glm de R Studio para identificar cuales son las variables explicativas
del modelo. Luego, se utiliza la función multinom de la librerı́a nnet de R para identificar los valores
de los estimadores de las utilidades en cada caso.

De glm se obtuvo que las variables que explican correctamente el modelo son, k, k·λq , Iq ·λq k 2 , k, e−k , e−Iq .
De esta manera, se realiza el modelo logit considerando solo estas variables. Utilizando multinom se
obtienen los valores de los coeficientes, de manera que las utilidades están dadas por:

U1 = 0


U2 = −27,315 − 9,246 · k − 1,714 · k · λq + 0,080 · Iq · λq + 0,299 · k 2 + 30,349 · k + 13,024 · e−k + 0,876 · e−Iq


U3 = −51,768 − 9,919 · k − 1,589 · k · λq − 1,282 · Iq · λq + 0,305 · k 2 + 39,765 · k − 31,687 · e−k + 0,121 · e−Iq

De esta manera, en la validación, cada dato caera en la categorı́a para la cual sus variables ofrezcan
una mayor utilidad.

28
En la predicción, se tendrá que:

si U1 ≥ U2 , U1 ≥ U3

 0
ˆ
fi,q = fˆR si U2 ≥ U1 , U2 ≥ U3 ∀i, q
 i,q
1 si U3 ≥ U1 , U3 ≥ U2
R
En este caso, fi,q estará determinado por una regresión lineal múltiple utilizando solo los datos en los
que n = 2 ↔ f ∈]0, 1[.
Al realizar la regresión con las variables del Anexo 2, se obtiene que el modelo está definido correcta-
mente por:

R∗
p
fi,q = 1, 460 + 0,028 · k − 0,001 · k · Iq + 0,059 · k · λq − 2,523 · λq
R∗
Sin embargo, fi,q tampoco está acotado entre 0 y 1, de esta manera.

R∗

 0 si fi,q <0
fˆi,q
R = f R∗ R∗
si 0 ≤ fi,q ≤1 ∀i, q
 i,q R∗
1 si fi,q >1

Validación de los modelos presentados

A continuación, se ocupan los modelos anteriormente presentados para validar su comportamiento frente
a una nueva base de datos. La base de validación corresponde a un sector llamado Encimar Malleco,
cerca de Victoria en la región de la Araucanı́a.
El procedimiento es similar, se obtienen los valores de Iq y λq para cada mes y se realiza la misma
simulación. Los valores de f son pronosticados con los modelos descritos anteriormente.
Para el primer modelo (solo regresión lineal múltiple), se obtuvo un error cuadrático medio de 0,02648835
y un error absoluto medio de 0,11623965.
Mientras que para el segundo modelo (Logit y regresión lineal múltiple), se obtuvo, en primer lugar,
que el modelo Logit acierta al 81,39 % de los estados en los datos de validación, lo que es un resultado
bastante importante. En la segunda etapa, del modelo de regresión lineal múltiple se obtiene un error
cuadrático medio de 0,02206088 y un error absoluto medio de 0,080059.
De acuerdo con estos resultados, la mejor opción es el segundo modelo utilizado, con un error absoluto
medio de solo 0,08, se puede realizar un buen pronóstico para el valor de f conociendo la permeabilidad
del sector k, y usando la base de datos para obtener Iq y λq .
Una vez obtenido el pronóstico de fi,q para un predio i y un mes q determinado, se debe obtener fi,t
con un procedimiento similar al enunciado en el primer informe.
Para una semana t cualquiera cuyos 7 dı́as sean del mes q, simplemente se tendrá que:

fi,t = fi,q

Mientras que si una semana t se compone por αq dı́as del mes q y αq+1 dı́as del mes q + 1, tal que
αq + αq+1 = 7 entonces:

αq αq+1
fi,t = · fi,q + · fi,q+1
7 7
Los valores de k pueden estimarse con la temperatura promedio de los lugares y la calidad de la tierra
usando muestras para comprobar su drenaje. Serı́a efectivo conocer este valor antes de que el predio
sea vinculado.

29
Ri (t)
Corresponde al aumento de costo semanal en maquinaria para reparación de caminos en el predio i la
$
semana t.[ semana ]
Como se mencionó anteriormente, si i corresponde a un predio, se tiene que:
XX 
Ri (t) = ωi · β0 + βLluvia · Pi,t + βCamiones transportados · Xi,j,k,t
j k

∀i ∈ {P redios} ∀t

Mientras que si i corresponde a una cancha, Ri (t) = 0 ; ∀i ∈ {Canchas} ∀t, es decir, no se


considera presupuesto de reparación de accesos para las canchas.
Los parámetros β0 , βLluvia , βCamiones transportados pueden estimarse utilizando datos históricos relacio-
nados con los costos en reparación de caminos, mediante una regresión lineal múltiple.

6. Resolución del problema


En esta sección, se detalla con claridad la metodologı́a utilizada para resolver el problema recién planteado.
En primer lugar, se define el concepto de metaheurı́stica y porque es necesario utilizar este foco en este tipo
de problemas. Luego se explica el funcionamiento de la solución a grandes rasgos y posteriormente se define
con detalle. Se realiza un plan piloto de menores dimensiones a las reales para probar el comportamiento de
la solución. Finalmente, se mencionan algunas alternativas que pueden integrarse.
Se recomienda encarecidamente realizar la lectura de esta sección en conjunto con el diagrama de flujo
del algoritmo.

6.1. ¿Qué es una metaheurı́stica y por qué es necesaria?


Una metaheurı́stica, es un método heurı́stico que busca resolver un problema de manera eficiente, tanto
en la solución que encuentra, como en el tiempo que tarda en hacerlo.
Considerando el tamaño del problema, suponiendo que se resuelve como un problema de optimización para
3 plantas, 2 canchas y 40 predios, el problema tendrı́a 27710 parámetros, 18460 variables y 51641 restricciones
en total. Debido al nivel de complejidad y la magnitud del problema planteado, se vuelve muy complejo y
costoso de resolver mediante métodos computacionales convencionales.
Además, el problema no es lineal en algunas de sus restricciones, y una de sus variables esta restringida a
ser entera no negativa, lo que dificulta mayormente resolver el problema mediante algoritmos estándares de
optimización.
Para resolver problemas de optimización lineales, se puede utilizar el algoritmo SIMPLEX, el que tiene
orden de resolución (tiempo que demora en resolverse) exponencial según su cantidad de variables y res-
tricciones. Esto solo se menciona con el fin de comprender la necesidad de crear un algoritmo que entregue
buenos resultados en un tiempo razonable.

6.2. ¿Como se resuelve el problema?


El algoritmo diseñado para resolver el problema planteado, funciona a grandes rasgos de la siguiente
manera:
Comienza con una flota mı́nima definida, y en t inicial. Para pasar al siguiente t, necesariamente se deben
cumplir los requerimientos de todas las plantas integradas. Para ello, el algoritmo buscará, para todas las
plantas que aún no hayan cumplido sus requerimientos, cual es la manera factible de menor costo unitario
para abastecerse. Esta opción puede estar en el mismo t o en cualquier instante de tiempo antes de eso.
Dentro de todas las opciones, la más barata será ejecutada y se actualizarán las variables del problema. Una
vez que el problema llegue al t final, se calcula su costo final y se aumenta en uno el valor de la flota para
volver a realizar el procedimiento. El algoritmo itera hasta que no hay cambios en el costo final y su output,
es la opción que entrega el menor de ellos.

30
Es importante mencionar que en cada uno de los pasos, se comprueba la factibilidad de las opciones, ya
sean para transporte a planta o a canchas, o para reparación. En la siguiente subsección se explica esto con
detalle.
El algoritmo se concentrará en los movimientos de las variables X e Y denotadas en el problema, ya que
las demás, vendrán dadas por equilibrio, y dependerán directamente de X e Y .
Este algoritmo funciona en base a dos observaciones principales:
i) Se repara solo para transportar: Inmediatamente después de que el algoritmo opta por reparar el predio
i en t, se transporta desde i en t hacia algún lugar, es decir, el algoritmo decidirá reparar para transportar el
contenido del predio, siempre y cuando el transporte y la reparación sean factibles. No tiene sentido reparar
un predio para no transportar la madera que hay en el.
ii) Uso de las canchas: El algoritmo decidirá transportar a cancha en algún instante anterior a t siempre
y cuando en t no tenga opciones factibles de transporte debido a la lluvia. Por la desigualdad triangular y
el pago extra en carga / descarga, nunca será más barato pasar por la cancha si se puede ir directamente a
la planta. Lo que es posible es que no sea factible transportar directamente a la planta por horas de flota o
bien por el parámetro S, que limita la capacidad máxima.
Otro detalle importante de mencionar, es que, en cualquiera de los casos en que el algoritmo estime que
la mejor opción es transportar, transportará tanta madera como sea posible.

6.3. Detalle de la metaheurı́stica de solución


Es importante mencionar que el diagrama creado, especı́ficamente la codificación de su lenguaje, está
diseñado para resolverse en Python, aunque el código puede adaptarse a otro lenguaje computacional sin
problemas, ya que la lógica sigue siendo la misma. En Python, el primer ı́ndice de las variables siempre es
cero, por lo que es necesario realizar algunas transformaciones con respecto al problema original.
El diagrama resuelve el problema para cantidades algebraicas, no limitándose en la cantidad de predios,
canchas, plantas, periodo operacional de planificación (definido en el problema como una semana) y horizonte
de planificación (definido en el problema como un año).
Se resolverá este problema para T periodos de tiempo. Cada periodo estará representado por
t = 0, 1, ..., T − 1. Existirán un total de NP REDIOS predios, NC canchas y NP LAN T AS plantas, los que se
reducen en el algoritmo a No = NP REDIOS + NC orı́genes y Nd = NC + NP LAN T AS destinos.
i = 0, 1, 2, ..., No − 1 denotará los lugares de origen y j = 0, 1, 2, ..., Nd − 1 denotará los lugares de destino
respectivamente. Por conveniencia, se enumerarán las canchas antes de los predios al usar el subı́ndice i y,
de la misma manera, se enumerarán las canchas antes de las plantas al usar el subı́ndice j. Especı́ficamente,
se tiene que:
(
Canchas si 0 ≤ i < NC
i∈
P redios si NC ≤ i < No
(
Canchas si 0 ≤ j < NC
j∈
P lantas si NC ≤ j < Nd

En el diagrama, cada rectángulo representará cambios en las variables definidas, mientras que cada rombo
representará una decisión de carácter binario. Dependiendo de lo que ocurra en cada decisión, el diagrama
se irá por distintos caminos.
Se puede observar que para cualquier variable n de dimensión N , al comenzar en cero, terminará en N −1,
por esto, en las decisiones de iteración en el diagrama es usual observar “ ¿n < N ? ”para las iteraciones
dentro de la variable n. De ser ası́, el algoritmo realizará cambios, actualizará la variable n en n + 1 y volverá
a preguntar. Cuando esto no ocurra, entonces el algoritmo ya habrá recorrido todos los valores permitidos de
n y pasará al siguiente paso.

31
El algoritmo considera un supuesto importante, que con algunas modificaciones en su estructura puede
adaptarse a un caso más realista. Se considerará que Ti0 = 0 y Tif = ∞ ∀i ∈ P redios. Lo que relaja
automáticamente la restricción:

t=Tif t=∞
X X XX
Xi,j,k,t = Xi,j,k,t = Ci,k,Ti0 + Bi,k,Ti0 ; ∀i ∈ P redios k = δi
t=Ti0 j t=0 j

Sin embargo, con los requerimientos, el algoritmo notará en su solución en que instantes son desvinculados
cada uno de los predios (el último instante en el que son utilizados), lo que permite establecer buenos contratos
con los dueños de los predios. Este supuesto no afecta a los bosques de patrimonio, ya que en estos casos,
efectivamente Ti0 = 0 y Tif = ∞.
Explicada la notación inicial, se puede proceder a explicar en detalle la metaheurı́stica diseñada.

6.3.1. Inicialización
En Python, a = b quiere decir, a la variable a se le asigna el valor b. Cada vez que en el diagrama aparezca
el signo igual en un recuadro, representará directamente asignación de un valor a una variable.
Una pregunta binaria en Python es denotada por un ı̀f’ y un doble igual (if a == b). Este será el caso
de las preguntas en los rombos.
El algoritmo comienza a resolver con un valor de flota mı́nima. Usando la notación del problema presentado
en la sección 4, el conjunto de plantas requerirá un total de madera dada por:
XX
LT OT AL = Lj,k,T [camionadas]
k j

Lo que entrega un promedio por periodo igual a:


LT OT AL
L̄ = [camionadas]
T
Para simplificar el cálculo, se considerará el mejor tiempo de transporte posible, que corresponde a una
planta que es abastecida completamente con su predio más cercano. Esta distancia se puede representar como:

d¯ = min Di,j [km]


i∈P redios
j∈P lantas

De esta manera, el tiempo total de transporte por camionada estará dado por:

2 · d¯
tcamionada =
+ TC [horas]
ν
Finalmente, en promedio, en un periodo cada camión estará disponible durante:
Pt=T −1
t=0 HCt
HC = [horas]
T
De manera que la F LOT A tendrá una disponibilidad de:

HDT OT AL = F LOT A · HC [horas]


Necesariamente debe cumplirse:

tcamionada · L̄
tcamionada · L̄ ≤ HDT OT AL ↔ F LOT A ≥
HC
Por lo tanto, se define la flota mı́nima como:
& '
tcamionada · L̄
F LOT A M IN IM A =
HC

32
Donde dxe representa el entero superior de x, mientras que bxc representa el entero inferior de x. En el
diagrama se representa a//b como la división entera entre a y b. Esto será explicado más adelante.
Es claro que para la flota mı́nima, es poco probable que el problema sea factible. En este caso, el algoritmo
detectará la infactibilidad, aumentará la flota en 1 y volverá a comenzar, sin calcular el costo total.
En la inicialización además, se declara ULTIMO COSTO = 0, que será el criterio de salida del algoritmo,
especı́ficamente cuando no existan cambios entre el costo actual (considerando una flota de tamaño F LOT A)
y el último costo (considerando una flota de tamaño F LOT A − 1), es decir, cuando el incremento de un
camión en la flota, no produzca daños en los costos totales del sistema.
Además, se declara la variable M EJOR COST O = ∞, que es el valor inicial que se utiliza en la búsqueda
de mı́nimos.

6.3.2. Inicialización en el tiempo


Un diccionario en Python, funciona como una base de almacenamiento de datos. Relaciona distintas llaves
con sus respectivos valores, separados por dos puntos. Cada tupla es separada por una coma, especı́ficamente,
un diccionario tiene la siguiente forma:

DICCION ARIO = {llave0 : valor0 , llave1 : valor1 , ..., llaveN −1 : valorN −1 }


Los valores pueden ser otras bases de almacenamiento, como tuplas, listas o bien, otro diccionario. El
diccionario tiene la caracterı́stica de que cada valor es accedido mediante su llave. Especı́ficamente:

DICCION ARIO[llavei ] = valori


Una lista, funciona como una base de almacenamiento que simplemente guarda datos. Cada dato es
accedido según su ı́ndice. Pueden declararse listas multidimensionales (listas dentro de listas).
Una lista unidimensional de tamaño N tiene la siguiente forma.

LIST A = [valor0 , valor1 , ..., valorN −1 ]


Como ya se mencionó, los ı́ndices en Python comienzan en cero. El dato en la posición i de la lista estará
dado por:

LIST A[i] = valori


Tanto los diccionarios como las listas son objetos mutables, es decir, el programa puede modificar sus
valores internos (variables). La principal diferencia entre ellos es que un valor dentro del diccionario es
accedido desde su llave, y una llave puede crearse en cualquier momento junto con su valor respectivo . Un
dato de la lista es accedido desde su ı́ndice, el cual debe estar creado desde un comienzo, aunque pueden
agregarse objetos a la lista.
Conocido el valor de la F LOT A, se declaran las instancias iniciales en la búsqueda de una solución factible
para la flota.
Se especifican las siguientes variables en el recuadro:

HD = {} : Un diccionario vacı́o, cuyas llaves serán los ı́ndices de tiempo. Para cada llave, su valor
serán las horas disponibles de flota que quedan en ese periodo de tiempo.
decisiones tomadas = [ ] : Una lista vacı́a que almacenará todos los movimientos realizados con cada
uno de sus detalles.

V F = {} : Un diccionario vacı́o, cuyas llaves serán los ı́ndices de tiempo. Para cada llave, su valor será
otro diccionario con el estado inicial de las variables y parámetros para ese periodo de tiempo.
C ik : Una lista bidimensional, o bien, una matriz. La lista tendrá dimensión No , aunque el valor
de C ik solo afectará a los predios y no a las canchas. Cada valor de la lista C ik será otra lista de
dimensión 2. El dato C ik[i][k] será el valor del parámetro Ci,k,0 , que representa la cantidad de madera
de tipo k inicialmente arrumada en el predio i.

33
X ijk : Una lista tridimensional. La lista tendrá dimensión No . Cada valor de la lista X ijk será otra
lista de dimensión Nd . Mientras que cada valor de la lista X ijk[i] será otra lista de dimensión 2. El
dato X ijk[i][j][k] será 0, ya que inicialmente no habrá transporte de ningún tipo.
V f i : Una lista unidimensional. La lista tendrá dimensión No . El dato V f i[i] será Vi,0 · λi,0 , lo que
representará el gasto máximo en reparación en cada predio en el instante t = 0

Sf ij : Una lista bidimensional, o bien, una matriz. La lista tendrá dimensión No . Cada valor de la
lista Sf ij será otra lista de dimensión Nd . El dato Sf ij[i][j] será el valor del parámetro Si,j,0 · fi,0 ,
que representa el máximo de madera que puede transportarse desde i hasta j en el instante t = 0 por
restricciones operacionales.
I jk : Una lista bidimensional, o bien, una matriz. La lista tendrá dimensión Nd . Cada valor de la lista
I jk será otra lista de dimensión 2. El dato I jk[j][k] será el valor del parámetro Ij,k,0 , que representa
el inventario inicial de madera tipo k en la planta o cancha j.
R i : Una lista unidimensional. La lista tendrá dimensión No . El dato R i[i] será 0 ∀i. Representará
el valor de Ri en t = 0. En cada iteración los valores de R serán actualizados por equilibrio, por lo que
no es necesario comenzar con un valor más complejo.

Y i : Una lista unidimensional. La lista tendrá dimensión No . El dato Y i[i] representará el gasto en
reparación en el predio i. Inicialmente será 0 ∀i, ya que no hay gastos en reparación en ninguno de
los predios.
h i : Una lista unidimensional. La lista tendrá dimensión No . El dato h i[i] será hi,0 , que representará
el gasto requerido en reparación en el predio i en el instante t = 0

HD[0] = HC0 ∗F LOT A : Se crea la primera componente del diccionario HC, con la llave 0, se accederá
al valor inicial de horas disponibles de la flota.
V F [0] : Se crea la primera componente del diccionario VF, con la llave 0, se accederá a otro diccionario.
En este diccionario, cada llave será una variable o parámetro y su valor corresponderá a la lista con la
que esta variable fue definida, como se puede apreciar en el diagrama.
Por ejemplo, si se quiere acceder a la variable Xi,j,k,t , en el diagrama estará representada como
V F [t][‘X’][i][j][k].
t = 1 : Se declara t = 1 solo para crear una copia inicial en cada tiempo del diccionario VF[0]. Se puede
ver que al salir del recuadro, el algoritmo itera para cada t, y en cada caso, crea una copia independiente
de VF[0] usando “deepcopy”.

Al crear las copias de VF para cada t, se asigna t = 0 y el algoritmo comienza a operar. Es importante
mencionar que t representará el instante de tiempo para el que se buscará cumplir sus requerimientos. Estar
en el instante t significa que los requerimientos estarán cumplidos en todas las plantas en todos los instantes
anteriores a t.
Se crean las siguientes variables:

requerimientos = {} : Un diccionario inicialmente vacı́o, donde requerimientos[j][k] será T rue si


la planta (cancha) j cumplió sus requerimientos de madera tipo k en el presente periodo, y será
F alse en el caso contrario. Como se puede apreciar en el próximo paso, para cada j ∈ Cancha,
inicialmente requerimientos[j] = [T rue, T rue], mientras que para cada j ∈ P lanta, inicialmente
requerimientos[j] = [F alse, F alse], ya que son las plantas las que tienen necesidades de abasteci-
miento y no las canchas.
OT = {} : Un diccionario inicialmente vacı́o (Opciones Totales) donde sus llaves serán cada una de
las plantas (canchas). Para cada llave j, su valor será inicialmente una lista vacı́a. En esta lista se
almacenarán todos los movimientos factibles de madera que pueden hacerse hacia el lugar j en el
cualquier t bar = 0, 1, ..., t y desde cualquier lugar de origen i = 0, 1, ..., No .

34
Se puede ver que al continuar, el algoritmo creará una lista vacı́a en el diccionario OT, para cada j ∈
P lantas y declarará sus requerimientos como no cumplidos. Mientras que para cada j ∈ Canchas no creará
una lista de opciones totales y declarará sus requerimientos como cumplidos.
Seguido de esto, se declara t bar = 0, este valor iterará hasta t bar = t. En cada t bar, el algoritmo buscará
opciones factibles que puedan realizarse. De esta manera, para satisfacer los requerimientos del presente, se
buscarán opciones tanto en el presente como en el pasado.
A grandes rasgos, el algoritmo iterará para cada t bar = 0, ..., t, para cada i ∈ P redios, o equivalentemente,
para cada i = NC , NC + 1, ..., No − 1 (ya se explicará por qué), y para cada j = 0, ..., Nd − 1.

6.3.3. Búsqueda de la mejor decisión


Dados t bar, i y j, se presentan cuatro opciones distintas, las que se explican a continuación:

i) j es una planta y V F [t bar][‘h’][i] = 0


Si j es una planta y hi,t bar = 0, los caminos del predio i estarán disponibles en t bar y no requerirán
reparación. Si esto ocurre, es necesario evaluar cuanta madera puede transportarse como máximo desde i
hasta j, y a que costo unitario.
Se establecen las variables auxiliares:
P 
X P = i2 V F [t bar][‘X’][i2][j][0] + V F [t bar][‘X’][i2][j][1]

Representará el total de madera que ha sido transportada hasta la planta j en t bar desde cualquier
lugar hasta ese momento. Se ocupa i2 en la sumatoria para no confundirlo con i, que es el predio desde
el que se realizará transporte.
P
X J = j2 V F [t bar][‘X’][i][j2][deltai ]

Representará toda la madera que ha salido del predio i en t bar hasta el momento, hacia cualquier
lugar. Se ocupa j2 en la sumatoria para no confundirlo con j, que es la planta hacia la que se realizará
transporte. Como i es necesariamente un predio, se puede utilizar en este caso k = δi .

Ahora, se define MTP como el máximo de madera que podrá transportarse desde el predio hasta la planta.
Se declara como el máximo entre 0 y una expresión, solo con el fin de asegurar que el valor no sea negativo.
La expresión es el mı́nimo entre varios valores, que están definidos directamente por las restricciones del
problema. Se mencionan a continuación cada uno en detalle:

No puede trasladarse más madera de la que hay en el predio.


V F [t bar][‘C’][i][deltai [i]] − XJ : Para cualquiera de los t bar, el valor de V F [t bar][‘C’][i][deltai [i]] será
actualizado por equilibrio y representará la cantidad inicial de madera tipo k = δi arrumada en t bar
en el predio i. Para que no existan confusiones, si los periodos de tiempo son semanas, como en el
caso original, entonces V F [t bar][‘C’] representará los estados el dı́a lunes a las 8 AM cuando no han
existido movimientos durante ese periodo. A esta cantidad hay que restarle X J para conocer el total
de madera que queda disponible en el predio y ası́ cumplir con la restricción “Conservación de flujo en
los predios”:
X
Ci,k,t = Ci,k,t−1 + Wi,k,t−1 − Xi,j,k,t−1 ≥ 0 ; ∀i ∈ P redios k = δi t≥2
j

En este caso, W ya estará incluido en el valor de C. La cantidad de nuevo flujo se agregará a X J y


necesariamente C ≥ 0
No puede usarse más tiempo del disponible debido a la flota.
HD[t bar]/((2 ∗ D ij[i][j]/v) + TC ) : HD[t bar] representará las horas de flota disponibles en ese mo-
mento en t bar, mientras que (2 ∗ D ij[i][j]/v) + TC representa el tiempo de viaje y de carga-descarga

35
por camionada transportada. Como necesariamente la cantidad de camionadas (X) debe ser un núme-
ro entero no negativo, estará limitado por esta condición para cumplir con la restricción “Capacidad
máxima de transporte debido a la flota de camiones”:
D 
i,j
XXX
2 · Xi,j,k,t · + TC ≤ F LOT A · HCt ; ∀t
j i
ν
k

No pueden superarse las capacidades operacionales entre i y j.


V F [t bar][‘Sf’][i][j] : Representa la cantidad máxima de transporte restante entre i y j, lo que también
acotará superiormente el flujo buscado. Esto permite cumplir con la restricción “Capacidad máxima de
transporte debido a los niveles de operación y los dı́as de lluvia”:

Xi,j,k,t ≤ Si,j,t · fi,t (Pi,t ) ; ∀i ∈ P redios k = δi ∀j ∀t

La planta no puede recibir más que su capacidad operacional.


U jt[j][t bar] − X P : Representa la cantidad máxima de camionadas que puede seguir recibiendo la
planta, dado que ya ha recibido X P durante ese periodo. Esto permite cumplir con la restricción
“Máximo de madera que puede recibir la planta (cancha) por su capacidad operacional”:
XX
Xi,j,k,t ≤ Uj,t ; ∀j ∀t
i k

La planta no puede exceder su inventario máximo.


G j[j] − V F [t bar][‘I’][j][0] − V F [t bar][‘I’][j][1] − X P : Representa la cantidad máxima de camionadas
que puede recibir la planta j debido a su capacidad espacial de inventario. G j[j] es el máximo que
puede tener la planta. V F [t bar][‘I’][j][0] + V F [t bar][‘I’][j][1] es el inventario con el que comenzó el
periodo t bar. X P es lo que ha recibido hasta ese momento durante el periodo. Esto permite cumplir
con la restricción “Máximo inventario en planta - canchas”:
X
Ij,k,t ≤ Gj ; ∀j ∀t
k

Determinada la cantidad máxima de madera que puede transportarse, se evalúa si M T P//1, que repre-
senta la división entera entre MTP y 1, (lo que es equivalente a bM T P c ) es mayor que 0, ya que por su
naturaleza, X necesariamente debe ser un entero no negativo. Si M T P//1 = 0 no tiene sentido que la opción
sea agregada dentro de las opciones factibles. Si M T P//1 > 0, se calcula el costo unitario de transporte a la
planta. Cada camionada tendrá costo de transporte, carga-descarga y camiones aljibes, en caso de que sean
requeridos en el predio. El costo unitario estará dado por: CU = q ij[i][j] + r + A i[i]
Se considera también que la cantidad de madera será M = M T P//1
Finalmente, se agrega esta opción como una opción factible para la planta j, en la lista OT [j].
Las etiquetas que se agregaran a la lista de opciones factibles, siempre será de la siguiente forma:

[P redio de origen, Cancha de paso, T ipo de transporte, M, CU, Costo de reparación, t bar, tiempo de reparación]

En este caso, no hay reparación y no hay cancha de paso, el tipo de transporte se denota por ‘TP’ que
significa “Transporte a Planta”. Para este caso, la etiqueta tendrá la forma:

[i, N one, ‘T P 0 , M, CU, N one, t bar, N one]


Finalmente, se aumenta j en 1 y se vuelve a evaluar.

36
ii) j es una planta y V F [t bar][‘h’][i] 6= 0
Si j es una planta y hi,t bar 6= 0, los caminos del predio i no estarán disponibles en t bar y requerirán
reparación. Si esto ocurre, es necesario evaluar si el camino del predio i puede ser reparado antes de t bar
para que en este periodo esté disponible. De ser ası́, es necesario conocer cuanta madera puede transportarse
como máximo desde i hasta j y a que costo unitario.
Si ocurre este caso, se crea una etiqueta TRANSPORTE = [‘P’,j], la que representará que el transporte
es a una planta, ya que se puede acceder a esta parte del diagrama desde otro origen.
* Observación: El signo distinto (6=), se representa en Python como !=.
En primer lugar, se evalúa la factibilidad de reparar el camino del predio. Para ello, es necesario conocer
el último periodo en el que el predio estuvo habilitado, si es que lo estuvo:
Se declara el costo de reparación CR = V F [t bar][‘h’][i] y una variable auxiliar t U = t bar − 1 que irá
recorriendo hacia atrás para encontrar si existe V F [t U ][‘h’][i] = 0.
Si existe t U tal que V F [t U ][‘h’][i] = 0, se declara U R = t U (última reparación), t i rep = t U como el
periodo en el que se podrá iniciar la reparación y t f rep = t bar − 1 como el tiempo en el que finalizará la
reparación.
Si en algún momento t U = −1 significa que el predio no ha sido reparado anteriormente (al menos no
completamente en alguno de sus periodos). En este caso U R = F alse, t i rep = 0 y t f rep = t bar − 1.
Para comprender esto de mejor manera, supongamos que el algoritmo detecta en t bar = 3 que es factible
reparar un predio que hasta ahora no ha sido completamente reparado en ninguno de sus periodos. Ası́, las
variables mencionadas tomarán los valores U R = F alse, t i rep = 0 y t f rep = t bar − 1 = 2, es decir,
eventualmente se podrá reparar desde el periodo 0 hasta el periodo 2.
Por definición, para un predio particular i, se tendrá que:

hi,1 = hi,0 + Ri (0) − Yi,0 ≥ 0 ↔ Yi,0 ≤ hi,0 + Ri (0)


Yi,0 representa el gasto total en reparación en 0 hasta el momento. No se conoce hasta esta iteración si
B N B
es que existe algún gasto anteriormente, por lo tanto, esta variable se divide en: Yi,0 = Yi,0 + Yi,0 , donde Yi,0
N
representará la inversión realizada en el predio en las iteraciones anteriores (B: Before), mientras que Yi,0 es
el potencial gasto a realizar en la iteración actual (N:Now).
La desigualdad queda de la siguiente forma:
N B
0 ≤ Yi,0 ≤ hi,0 + Ri (0) − Yi,0
Además, se debe cumplir que Yi,0 ≤ V F [0][‘Vf’][i], que representa el estado actual de presupuesto restante
para las reparaciones en el predio en t = 0, de esta manera:
N
0 ≤ Yi,0 B
≤ min{hi,0 + Ri (0) − Yi,0 , V F [0][‘V f 0 ][i]}
N B
Tomando el máximo valor posible, Yi,0 = min{hi,0 + Ri (0) − Yi,0 , V F [0][‘Vf’][i]}, se obtiene el gasto en
reparación total en el predio en el instante t = 0.
Extendiendo este procedimiento, se tendrá que, para un predio que no ha sido completamente reparado
anteriormente, para que esté reparado en t = t bar, es decir, para que V F [t bar][‘h’][i] = 0, las reparaciones
deben cumplir las siguientes condiciones:

s=t∗
X t bar−1
X
Yi,t∗ = max{0, min{V F [t∗][‘V f 0 ][i], hi,0 + Ri (s) − Yi,s , V F [t bar][‘h0 ][i] − Yi,s }}
s=0 s=0

∀t∗ = 0, ..., t bar − 1


Especı́ficamente, la cantidad reparada será el máximo entre 0 y una expresión, para evitar que Y sea
negativa. Esta expresión será el mı́nimo entre lo que es posible reparar por lo que ya ha sido reparado, lo que
es posible reparar por la restricción “Restricción máxima de presupuesto de reparación”, y lo que queda por
reparar para que finalmente V F [t bar][‘h’][i] = 0.

37
Si el predio ha sido reparado completamente antes, el procedimiento es análogo desde t i rep hasta t f rep.
Lo que hace el algoritmo es lo siguiente:
Crea una lista Y aux, que contendrá un valor para cada periodo que es posible reparar, es decir, es de
dimensión t f rep − t i rep + 1. Se crea una variable P RESU P U EST O, la que inicialmente toma el valor
cero. Se crea t W = t i rep. Si existe reparación antes o no, el algoritmo calculará los valores de Y en la lista
Y aux de la manera que se mencionó, tomando el máximo valor posible. Para ello, se itera en t W , con el fin
de determinar cuanto es el máximo de reparación que puede realizarse en ese periodo de tiempo. Finalmente,
al determinar los máximos valores posibles para las reparaciones desde t i rep hasta t f rep, se evalua si el
costo de reparación no supera el presupuesto determinado por la suma de los valores en la lista Y aux, de ser
ası́, la reparación será factible, de lo contrario, automáticamente se puede pasar a evaluar el siguiente predio,
ya que este no podrá ser reparado debido a las condiciones, al menos no para que esté disponible en t bar.
Al determinar la factibilidad de la reparación, el procedimiento es similar al del primer caso. En primer
lugar, el algoritmo pregunta si el primer valor de la etiqueta T RAN SP ORT E es igual a ‘P’, de ser ası́, el
algoritmo determina al igual que en el caso i las variables auxiliares:
P 
X P = i2 V F [t bar][‘X’][i2][j][0] + V F [t bar][‘X’][i2][j][1]

Representará el total de madera que ha sido transportada hasta la planta j en t bar desde cualquier
lugar hasta ese momento. Se ocupa i2 en la sumatoria para no confundirlo con i, que es el predio desde
el que se realizará transporte.
P
X J = j2 V F [t bar][‘X’][i][j2][δi ]

Representará toda la madera que ha salido del predio i en t bar hasta el momento, hacia cualquier
lugar. Se ocupa j2 en la sumatoria para no confundirlo con j, que es la planta hacia la que se realizará
transporte. Como i es necesariamente un predio, se puede utilizar en este caso k = deltai .
MTP en este caso, se define al igual que en el caso i. Determinada la cantidad máxima de madera que
puede transportarse, se evalúa si M T P//1 es mayor que 0, ya que por su naturaleza, X necesariamente debe
ser un entero no negativo. De ser ası́, se considera que la cantidad de madera será M = M T P//1.
Luego, se calcula el costo unitario de transporte a la planta. Cada camionada tendrá costo de transporte,
carga-descarga y camiones aljibes, en caso de que sean requeridos en el predio. Además, se repartirá el
costo de reparación entre todas las camionadas que pueden transportarse. El costo unitario estará dado por:
CU = q ij[i][j] + r + A i[i] + (CR/M )
Finalmente, se agrega esta opción como una opción factible para la planta j, en la lista OT [j].
En este caso, hay reparación y no hay cancha de paso, el tipo de transporte se denota por ‘RP’ que
significa “Reparación para transporte a Planta”. Para este caso, la etiqueta tendrá la forma:

[i, N one, ‘RP 0 , M, CU, CR, t bar, t i rep]


Finalmente, se aumenta j en 1 y se vuelve a evaluar.

iii) j es una cancha y V F [t bar][‘h’][i] = 0


Cuando j es una cancha, el algoritmo creará una nueva variable, llamada j aux. Como se puede apreciar,
solo servirán los casos en que j aux sea una planta. Lo que se evaluará, será la opción de llevar madera desde
el predio i hasta la cancha j en t bar, y llevar esa misma cantidad desde la cancha j hasta la planta j aux
en t. Por la observación mencionada en un comienzo, el algoritmo solo recurrirá a las canchas cuando no
encuentre opciones disponibles directamente desde los predios.
Dados i, t bar, j y j aux, se evalúa si V F [t bar][‘h’][i] = 0
La cantidad máxima de madera que puede transportarse en este caso, estará limitada por más opciones.
En primer lugar, el algoritmo determina las siguientes variables auxiliares:
P 
X C = i2 V F [t bar][‘X’][i2][j][0] + V F [t bar][‘X’][i2][j][1]

Representará el total de madera que ha sido transportada hasta la cancha j en t bar desde cualquier
lugar hasta ese momento. Se ocupa i2 en la sumatoria para no confundirlo con i, que es el predio desde
el que se realizará transporte.

38
P 
X aux = i2 V F [t][‘X’][i2][j aux][0] + V F [t][‘X’][i2][j aux][1]

Representará el total de madera que ha sido transportada hasta la planta j aux en t desde cualquier
lugar hasta ese momento. Se ocupa i2 en la sumatoria para no confundirlo con i, que es el predio desde
el que se realizará transporte.

Ahora, se crea la variable M I = ∞ (máximo inventario). Se iterará desde t n = t bar hasta t n = t con el
fin de evaluar el máximo de madera que puede enviarse a la cancha, para que en ninguno de estos periodos
su inventario máximo permitido sea superado.
Para ello, se determina en primer lugar:
P 
XC t = i3 V F [t n][‘X’][i2][j][0] + V F [t n][‘X’][i2][j][1]

Representará el total de madera que ha sido transportada hasta la cancha j en cualquiera de los t n
desde cualquier lugar hasta ese momento. Se ocupa i3 en la sumatoria para no confundirlo con i, que
es el predio desde el que se realizará transporte.

El máximo de madera que podrá transportarse para cumplir con la restricción de inventario, estará dada
por:

MI = min (G j[j] − V F [t n][‘I 0 ][j] − XC t)


t bar≤t n≤t

Lo que representará el máximo de inventario permitido en la cancha, menos el inventario con el que
comenzó la cancha el periodo t n, menos lo que ha sido transportado hasta la cancha durante ese periodo,
es decir, el espacio restante de la cancha. Esto permitirá cumplir con la restricción “Máximo inventario en
planta - canchas”:

X
Ij,k,t ≤ Gj ; ∀j ∀t
k

Determinado MI, se crea la variable:


P
X J = j2 V F [t bar][‘X’][i][j2][δi ]

Representará toda la madera que ha salido del predio i en t bar hasta el momento, hacia cualquier
lugar. Se ocupa j2 en la sumatoria para no confundirlo con j, que es la cancha hacia la que se realizará
transporte. Como i es necesariamente un predio, se puede utilizar en este caso k = deltai .

Ahora, se define MTC como el máximo de madera que podrá transportarse desde el predio hasta la
cancha, que será la misma cantidad que posteriormente se transportarı́a desde la cancha hasta la planta. Se
declara como el máximo entre 0 y una expresión, solo con el fin de asegurar que el valor no sea negativo.
La expresión es el mı́nimo entre varios valores, que están definidos directamente por las restricciones del
problema. Se mencionan a continuación cada uno en detalle:

No puede trasladarse más madera de la que hay en el predio.


V F [t bar][‘C’][i][deltai [i]] − XJ : Para cualquiera de los t bar, el valor de V F [t bar][‘C’][i][deltai [i]] será
actualizado por equilibrio y representará la cantidad inicial de madera tipo k = δi arrumada en t bar
en el predio i. Esta término permite cumplir con la restricción “Conservación de flujo en los predios”:
X
Ci,k,t = Ci,k,t−1 + Wi,k,t−1 − Xi,j,k,t−1 ≥ 0 ; ∀i ∈ P redios k = δi t≥2
j

39
No puede usarse más tiempo del disponible debido a la flota en t bar para el transporte predio-cancha
.
HD[t bar]/((2 ∗ D ij[i][j]/v) + TC ) : HD[t bar] representará las horas actuales de flota disponibles en
ese momento en t bar, mientras que (2 ∗ D ij[i][j]/v) + TC representa el tiempo de viaje y de carga-
descarga por camionada transportada. Como necesariamente la cantidad de camionadas (‘X’) debe ser
un número entero no negativo, estarán limitadas por esta condición para cumplir con la restricción
“Capacidad máxima de transporte debido a la flota de camiones”:
D 
i,j
XXX
2 · Xi,j,k,t · + TC ≤ F LOT A · HCt ; ∀t
j i
ν
k

No puede usarse más tiempo del disponible debido a la flota en t para el transporte cancha-planta .
HD[t bar]/((2 ∗ D ij[j][j aux]/v) + TC ) : HD[t bar] representará las horas actuales de flota disponibles
en ese momento en t, mientras que (2 ∗ D ij[j][j aux]/v) + TC representa el tiempo de viaje y de carga-
descarga por camionada transportada. Como necesariamente la cantidad de camionadas (‘X’) debe ser
un número entero no negativo, estarán limitadas por esta condición para cumplir con la restricción
“Capacidad máxima de transporte debido a la flota de camiones”:
D 
i,j
XXX
2 · Xi,j,k,t · + TC ≤ F LOT A · HCt ; ∀t
j i
ν
k

No pueden superarse las capacidades operacionales entre i y j en t bar.


V F [t bar][‘Sf’][i][j] : Representa la cantidad máxima de transporte restante entre i y j, lo que también
acotará superiormente el flujo buscado. Esto permite cumplir con la restricción “Capacidad máxima de
transporte debido a los niveles de operación y los dı́as de lluvia”:

Xi,j,k,t ≤ Si,j,t · fi,t (Pi,t ) ; ∀i ∈ P redios k = δi ∀j ∀t

La cancha no puede recibir más que su capacidad operacional.


U jt[j][t bar]−X C : Representa la cantidad máxima de camiones que puede seguir recibiendo la cancha
en t bar, dado que ya ha recibido X C durante ese periodo. Esto permite cumplir con la restricción
“Máximo de madera que puede recibir la planta (cancha) por su capacidad operacional”:
XX
Xi,j,k,t ≤ Uj,t ; ∀j ∀t
i k

La planta no puede exceder su inventario máximo en el periodo t.


G j[j aux] − V F [t][‘I’][j aux][0] − V F [t][‘I’][j aux][1] − X P : Representa la cantidad de máxima de ca-
mionadas que puede recibir la planta j aux en el periodo t debido a su capacidad espacial de inventario.
Esto permite cumplir con la restricción “Máximo inventario en planta - canchas”:
X
Ij,k,t ≤ Gj ; ∀j ∀t
k

La cancha no puede exceder su inventario máximo en ninguno de los periodos entre t bar y t.
M I : El inventario máximo de cancha recién calculado, representa la cantidad de máxima que puede
recibir la cancha j en el periodo t bar para que su capacidad espacial no sea excedida desde que llega
la madera hasta que sale. Esto permite cumplir con la restricción “Máximo inventario en planta -
canchas”:
X
Ij,k,t ≤ Gj ; ∀j ∀t
k

40
No pueden superarse las capacidades operacionales entre j y j bar en t.
V F [t][‘Sf’][j][j aux] : Representa la cantidad máxima de transporte restante entre j y j aux, lo que
también acotará superiormente el flujo buscado. Esto permite cumplir con la restricción “Capacidad
máxima de transporte debido a los niveles de operación y los dı́as de lluvia”:

Xi,j,k,t ≤ Si,j,t · fi,t (Pi,t ) ; ∀i ∈ P redios k = δi ∀j ∀t

La planta no puede recibir más que su capacidad operacional.


U jt[j aux][t] − X aux : Representa la cantidad máxima de camiones que puede seguir recibiendo la
planta en t, dado que ya ha recibido X aux durante ese periodo. Esto permite cumplir con la restricción
“Máximo de madera que puede recibir la planta (cancha) por su capacidad operacional”:
XX
Xi,j,k,t ≤ Uj,t ; ∀j ∀t
i k

Determinada la cantidad máxima de madera que puede transportarse, se evalúa si M T C//1 es mayor que
0. De ser ası́, se calcula el costo unitario de transporte a cancha. Cada camionada tendrá costo de transporte
desde el predio a la cancha, costo de transporte desde la cancha a la planta, 2 veces costo de carga-descarga
(carga en predio, descarga en cancha, carga en cancha, descarga en planta) y camiones aljibes, en caso de que
sean requeridos en el predio. El costo unitario estará dado por: CU = q ij[i][j] + q ij[j][j aux] + 2 ∗ r + A i[i]
Se considera también que la cantidad de madera será M = M T C//1
Finalmente, se agrega esta opción como una opción factible para la planta j aux, en la lista OT [j aux].
En este caso, no hay reparación y hay cancha de paso, el tipo de transporte se denota por ‘TC’ que
significa “Transporte que incluye paso por cancha”. Para este caso, la etiqueta tendrá la forma:

[i, j, ‘T C 0 , M, CU, N one, t bar, N one]


Finalmente, se aumenta j en 1 y se vuelve a evaluar.

iv) j es una cancha y V F [t bar][‘h’][i] 6= 0


Al igual que en el caso iii, el algoritmo itera en distintos j aux y evalúa si estas son plantas. Si se da este
caso, se crea la etiqueta T RAN SP ORT E = [‘C’, j, j aux]
Para determinar la factibilidad de la reparación, el procedimiento es idéntico al del caso ii. Cuando este
procedimiento acaba y el algoritmo determina que el presupuesto es suficiente para cubrir los costos de
reparación para que el predio esté disponible en t bar y ası́ transportar a cancha (de lo contrario pasará al
siguiente predio), el algoritmo pregunta si el primer elemento de la etiqueta T RAN SP ORT E es ‘P’, lo que
en este caso, es Falso.
Cuando esto ocurre, como se puede apreciar en el diagrama, el algoritmo calculará M I tal como en el
caso iii, y luego determinará MTC exactamente de la misma manera.
Se evalúa si M T C//1 es mayor que 0. De ser ası́, se considera que la cantidad de madera será
M = M T C//1
Luego, se calcula el costo unitario de transporte a cancha. Cada camionada tendrá costo de transporte
desde el predio a la cancha, costo de transporte desde la cancha a la planta, 2 veces costo de carga-descarga
(carga en predio, descarga en cancha, carga en cancha, descarga en planta) y camiones aljibes, en caso de que
sean requeridos en el predio. Además se considera que el costo de reparación se reparte entre toda la madera
que puede ser transportada. El costo unitario estará dado por:
CU = q ij[i][j] + q ij[j][j aux] + 2 ∗ r + A i[i] + (CR/M )
Finalmente, se agrega esta opción como una opción factible para la planta j aux, en la lista OT [j aux].
En este caso, hay reparación y hay cancha de paso, el tipo de transporte se denota por ‘RC’ que significa
“Reparación y posteriormente transporte que incluye paso por cancha”. Para este caso, la etiqueta tendrá la
forma:

[i, j, ‘RC 0 , M, CU, CR, t bar, t i rep]

41
Finalmente, se aumenta j en 1 y se vuelve a evaluar.

Una vez obtenidas todas las opciones disponibles para el abastecimiento de cada una de las plantas en cada
t bar ≤ t, el algoritmo creará las variables costo minimo = ∞ y mejor decision = N one. A continuación,
iterará en cada planta-cancha y en cada tipo de madera. Recordar que inicialmente
requerimientos[j][k] = False para las plantas y requerimientos[j][k] = True para las canchas, independiente
del tipo de madera.
Dados j y k, el algoritmo preguntara si requerimientos[j][k] = False, esto significa, que el destino j aún
no está completamente abastecido de madera tipo k en el periodo t.
Si esto ocurre, el algoritmo creara una lista vacia opciones actuales. Como se puede apreciar a continua-
ción, se revisarán las opciones factibles en la lista OT [j], y se agregarán a la lista opciones actuales todas
las opciones cuyos predios tengan madera tipo k (cada predio tiene solo un tipo de madera, k = δi ). En cada
opción factible guardada en OT [j], el primer indicador es el predio desde el cual eventualmente se abastecerı́a
la planta, si delta i[predio de la opción] = k, entonces esta opción será agregada a la lista opciones actuales.
El procedimiento se repite hasta recorrer completamente la lista OT [j].
Una vez finalizado el procedimiento, para un par j, k especı́fico, se ocupa el comando
opciones actuales.sort(key = itemgetter(4)), el que, especificamente, ordena los elementos de la lista
opciones actuales de manera creciente, según el valor en la posición 4 de cada elemento. Recordar que cada
elemento de la lista opciones actuales es una opción que puede abastecer de madera tipo k a la planta j en
un periodo t bar ≤ t. Estas opciones están representadas por una etiqueta de la forma:

[P redio de origen, Cancha de paso, T ipo de transporte, M, CU, Costo de reparación, t bar, tiempo de reparación]

Por lo tanto, en la posición 4 (comenzando desde el 0, se encuentra el costo unitario de la opción (CU),
por lo tanto, el comando ordenará las opciones según su costo unitario, dejando en primer lugar la menos
costosa, la que será denotada por decisión = opciones actuales[0].
El algoritmo evalúa si el costo unitario de decisión, dado por decisión[4] es menor que costo minimo y si
[j, decisión] no está incluida en la lista decisiones tomadas (ya que las opciones en decisiones tomadas serán
agregadas con este formato, como se puede observar a continuación) . De ser ası́, se actualizan las variables
costo minimo = decisión[4], que será el costo unitario de la mejor opción encontrada hasta el momento y
mejor decisión = [j, decisión], una lista cuyo primer elemento indicará la planta que será abastecida y cuyo
segundo elemento será la lista con el resto de las especificaciones de la opción.
Ocurrido esto, se aumenta el valor de j en 1 y, como ya se mencionó, se realiza lo mismo para cada
j = 0, 1, .., Nd − 1 y para cada k = 0, 1.
Cuando la mejor decisión es encontrada, se evalua si mejor decisión = N one, lo que significarı́a que
el algoritmo no encontró opciones factibles en las plantas que aún no cumplı́an con sus requerimientos y
mejor decisión conserva su valor inicial N one. En este caso, el algoritmo actualizará el valor de la F LOT A
en F LOT A + 1 y volverá al paso “Inicialización en el tiempo”(sección 6.3.2.), como se puede apreciar en el
diagrama.
Por el contrario, si existe la mejor decisión, entonces esta opción será ejecutada por el algoritmo. Por lo
tanto, se agrega la mejor decisión a la lista decisiones tomadas usando el comando
decisiones tomadas.append(mejor decision) .
* Observación: Para agregar un elemento a una lista, la notación es lista.append(elemento).

6.3.4. Ejecución de la mejor decisión


A continuación, se explica la manera en la que es ejecutada la decisión para cada uno de los casos:

i) La decisión es Transporte directo a planta (‘TP’)


En este caso, el algoritmo creará las siguientes variables:

M = mejor decision[1][3] : Corresponderá a la cantidad factible de madera que puede transportarse.


predio = mejor decision[1][0] : Corresponde al predio desde el que se transportará la madera.

42
T AC = mejor decision[1][6] : Representa el valor de t bar, periodo en el que se realizará el movimiento.
planta destino = mejor decision[0] : Representa la planta de destino a la que se llevará la madera.

A continuación, se ejecutarán los siguientes movimientos:

V F [T AC][‘X’][predio][planta destino][delta i[predio]]+ = M


En Python, a+ = b es equivalente a decir a = a + b, es decir, que la variable a es actualizada por su
valor actual, más b. Análogamente, a− = b es equivalente a decir a = a − b.
En este caso, el flujo de madera entre predio y planta destino en el periodo T AC de madera tipo
k = delta i[predio] aumentará en una cantidad M .
V F [T AC][‘Sf’][predio][planta destino]− = M
‘Sf’ entre predio y planta destino en el periodo T AC, disminuirá una cantidad M , restringiendo futuras
opciones de transporte entre este par origen - destino en el periodo. Se puede apreciar que la variable
‘Sf’ será actualizada cada vez que la decisión sea ejecutada.
HD[T AC]− = (2 ∗ M ∗ ((D ij[predio][planta destino]/v) + T C))
Finalmente, el tiempo utilizado por los viajes y carga-descarga entre predio y planta destino en el
periodo T AC por las M camionadas, además de los tiempos de carga-descarga serán descontados de
las horas disponibles de flota en el periodo T AC.

ii) La decisión es Transporte a cancha sin reparación (‘TC’)


En este caso, el algoritmo creará las siguientes variables:

M = mejor decision[1][3] : Corresponderá a la cantidad factible de madera que puede transportarse.


predio = mejor decision[1][0] : Corresponde al predio desde el que se transportará la madera.
T AC = mejor decision[1][6] : Representa el valor de t bar, periodo en el que se realizará el movimiento
(transporte a cancha).
planta destino = mejor decision[0] : Representa la planta de destino a la que se llevará la madera en
el periodo t.
cancha = mejor decision[1][1] : Es la cancha a la que se transportará madera en el periodo T AC, para
posteriormente ser transportada desde ahı́ hacia planta destino en el periodo t.

A continuación, se ejecutarán los siguientes movimientos:

V F [T AC][‘X’][predio][cancha][delta i[predio]]+ = M
El flujo de madera entre predio y cancha en el periodo T AC de madera tipo k = delta i[predio]
aumentará en una cantidad M .
V F [t][‘X’][cancha][planta destino][delta i[predio]]+ = M
De la misma manera, el flujo de madera entre cancha y planta destino en el periodo t de madera tipo
k = delta i[predio] aumentará en una cantidad M .
V F [T AC][‘Sf’][predio][cancha]− = M
‘Sf’ entre predio y cancha en el periodo T AC, disminuirá una cantidad M , restringiendo futuras
opciones de transporte entre este par origen - destino en el periodo.
V F [t][‘Sf’][cancha][planta destino]− = M
‘Sf’ entre cancha y planta destino en el periodo t, disminuirá una cantidad M , restringiendo futuras
opciones de transporte entre este par origen - destino en el periodo.

43
HD[T AC]− = (2 ∗ M ∗ ((D ij[predio][cancha]/v) + T C))
El tiempo utilizado por los viajes entre predio y cancha en el periodo T AC por las M camionadas,
además de los tiempos de carga-descarga serán descontados de las horas disponibles de flota en el
periodo T AC.
HD[t]− = (2 ∗ M ∗ ((D ij[cancha][planta destino]/v) + T C))
Finalmente, el tiempo utilizado por los viajes entre cancha y planta destino en el periodo t por las M
camionadas, además de los tiempos de carga-descarga serán descontados de las horas disponibles de
flota en el periodo t.

iii) La decisión es una reparación (‘RP’ ó ‘RC’)


En este caso, el algoritmo ejecutará la reparación de manera similar a como su presupuesto fue calculado.
Se definen las siguientes variables:

predio = mejor decision[1][0] : Corresponde al predio desde el que se transportará la madera.


CR aux = mejor decision[1][5] : Corresponde al costo total de reparación del predio en un comienzo.
Con los gastos en reparación, este valor se irá actualizando. Representará el gasto restante en reparación
para que el predio esté completamente reparado
t i r = mejor decision[1][7] : Es el periodo de tiempo en el que comenzará la reparación del predio.

t f r = mejor decision[1][6] − 1 : Es el periodo de tiempo en el que finalizará la reparación del predio.


Recordar que mejor decision[1][6] = t bar, es el periodo en el que se realizará transporte (a planta o a
cancha). Para ello, la reparación deberá terminarse en t bar − 1

Luego, el algoritmo iterará en los periodos de reparación utilizando la variable t W . Al igual como se
realizó con el cálculo del presupuesto, en cada caso, evaluará el máximo de reparación posible (esta cantidad
se denota como Y potencial y los movimientos se ejecutarán de la siguiente manera:

V F [t W ][‘Vf’][predio]− = Y potencial
‘Vf’ en el predio en el periodo t W , disminuirá una cantidad Y potencial, restringiendo futuras opciones
de reparación en el predio en el periodo t W . Se puede apreciar que la variable ‘Vf’ será actualizada
cada vez que la decisión sea ejecutada, al igual que ‘Sf’.
V F [t W ][‘Y’][predio]+ = Y potencial
La variable Y aumentará en el periodo t W para el predio en la misma cantidad Y potencial.
CR aux− = Y potencial
CR aux disminuirá en Y potencial, de esta forma, se actualizará la cantidad que queda por reparar en
el predio.

Al iterar en t W = t i r, ..., t f r, el algoritmo habrá reparado el predio completamente.

6.3.5. Actualización de las variables


Una vez que el algoritmo ejecuta la decisión, las demás variables serán actualizadas según sus restricciones
de equilibrio.
El algoritmo itera para cada t k ≤ t y para cada i = 0, 1, ..., No − 1.
En primer lugar, se actualizan los valores de R. Si i es una cancha, simplemente, V F [t k][‘R’][i] = 0. Por
el contrario, si i es un predio, se crea la variable:
X
X T = V F [t k][‘X 0 ][i][j][delta i[i]]
j

44
Que representará el total de camionadas que han salido del predio i hacia cualquier destino en el instante
t k. Finalmente, se actualiza R según:

V F [t k][‘R0 ][i] = omega i[i] ∗ (beta0 + beta1 ∗ P it[i][t k] + beta2 ∗ X T )


Esto es idéntico a la definición de la función Ri (t), dada por:
XX 
Ri (t) = ωi · β0 + βLluvia · Pi,t + βCamiones transportados · Xi,j,k,t
j k

∀i ∈ P redios ∀t
Se puede apreciar que al terminar esto, el algoritmo itera para cada t k = 1, ..., t
En un comienzo, se itera para cada i = 0, 1, ..., No − 1, con el fin de actualizar, por equilibrio, las variables
C y h.
Si i, es una cancha, el algoritmo simplemente asignará V F [t k][‘h’][i] = 0.
Por el contrario, si i es un predio, se puede apreciar que al igual que como se hizo con R, se actualizan
las variables C y h incluyendo los nuevos movimientos, para cumplir con las restricciones “Conservación de
flujo en los predios” y “Requerimiento restante en maquinaria”, dadas por:
X
Ci,k,t = Ci,k,t−1 + Wi,k,t−1 − Xi,j,k,t−1 ; ∀i ∈ P redios k = δi t≥1
j

hi,t = hi,t−1 − Yi,t−1 + Ri (t − 1) ; ∀i ∈ P redios ∀t ≥ 1


* Observación: En este caso, se declara t ≥ 1, ya que la notación está adaptada a la programación, y t
comienza en 0 y no en 1.
En el diagrama se puede observar que se regula el valor de h. Se pregunta si | V F [t k][‘h’][i] | < 0,1.
Si esto ocurre, se definirá que V F [t k][‘h’][i] = 0. Esto se realiza debido a que, si bien todas las variables
son definidas como reales no negativas, a excepción de X, es completamente necesario para la operación del
algoritmo que cuando se ejecuta la reparación, V F [t k][‘h’][i] sea 0. Esto no siempre ocurre debido a que en
el programa, las variables incluyen muchos decimales, por lo que la diferencia en el equilibrio puede entregar
un número muy cercano a 0 (del orden de 10−10 en gran parte de los casos, que sin embargo, no es 0). Para
determinar las opciones factibles en un comienzo, el algoritmo pregunta especı́ficamente si h = 0, por lo que
realizar este arreglo es fundamental para el correcto funcionamiento del algoritmo.
Una vez se actualizan estas variables, para el mismo t k, el algoritmo itera en j y k para determinar,
por equilibrio, los inventarios de las plantas y las canchas, para cada tipo de madera para cumplir con las
restricciones “Conservación de flujo en planta” y “Conservación de flujo en cancha”, dadas por:
X
Ij,k,t = Ij,k,t−1 + Xi,j,k,t−1 − Jj,k,t−1 ; ∀j ∈ P lantas ∀k t≥1
i
X X
Ij,k,t = Ij,k,t−1 + Xi,j,k,t−1 − Xj,i,k,t−1 ; ∀j ∈ Canchas ∀k t≥1
i i

Se declara t ≥ 1, ya que la notación está adaptada a la programación, y t comienza en 0 y no en 1.


No se explicarán muchos detalles de este procedimiento ya que es análogo a los anteriores. Para cualquier
j, se crea una variable EN T RADA, la que representa cuanta madera entró a j en el periodo anterior. Si j es
una planta, se considerará que en cada periodo el inventario disminuye en la cantidad de madera astillada,
mientras que en el caso de las canchas, se calcula una variable SALIDA, que indica la cantidad de madera
que salió de la cancha en el periodo anterior.

45
6.3.6. Evaluación de cumplimiento de requerimientos
A continuación, el algoritmo define las variables:

predio = mejor decision[1][0] : Para identificar el predio en el que se ejecutó la decisión.


planta = mejor decision[0] : Para identificar la planta que la decisión abasteció o pretende abastecer
(en el caso de que la decisión haya sido reparar).
madera = delta i[predio] : Para identificar el tipo de madera que la decisión transportó o pretende
transportar(en el caso de que la decisión haya sido reparar).
Pt r=t P
X T = t r=0 i V F [t r][‘X’][i][planta][madera] :
X T representará el total de madera de tipo k que ha llegado a la planta hasta el periodo t.

De esta manera, el algoritmo evalúa si X T ≥ L j, k, t[planta][madera][t], es decir, si se cumplen los


requerimientos de madera tipo k = madera para la planta j = planta en el periodo t. De ser ası́, se actualiza
la lista requerimientos por requerimientos[planta][madera] = T rue, que indicará que para esa planta y ese
tipo de madera, sus requerimientos estarán cumplidos en t.
Se cumplan o no los requerimientos, el algoritmo iterará en todos j y k para evaluar si se cumplen todos los
requerimientos. En caso de encontrar para cualquier j y cualquier k que requerimientos[planta][madera] =
F alse, los requerimientos del periodo no estarán completos, el algoritmo definirá las variables OT = { } y
OT [j] = [ ] para cada j ∈ P lantas. Seguido de esto, volverá al paso “Búsqueda de la mejor decisión”(sección
6.3.3)
Por el contrario, si para cada tipo de madera y para cada planta los requerimientos en t son cumplidos,
en primer lugar, el algoritmo evaluará si t = T − 1. A continuación se especifica que ocurre si esto se cumple
y que ocurre en caso contrario.

Si t = T − 1
Si esto ocurre, entonces se cumplieron los requerimientos de todo el horizonte de planificación.
El algoritmo calculará el costo total utilizando las variables guardadas con la misma fórmula que se
especifica en la función objetivo:

XXXX XXXX XX XXXX


M in qi,j · Xi,j,k,t + r · Xi,j,k,t + Yi,t + Ai · Xi,j,k,t
t k j i t k j i t i t k j i
| {z } | {z } | {z } | {z }
Costo de reparación
Costo de T ransporte Costo de
de caminos
Costo de
Carga−Descarga camiones aljibes

Luego, evaluará si este costo total (CT), es menor que la variable M EJOR COST O (recordar que la
variable M EJOR COST O se define en el input como infinito). Si esto ocurre entonces se actualizan las
variables M EJOR COST O = CT y M EJOR F LOT A = F LOT A. Además, se crean las listas X optimo e
Y optimo, estas listas almacenaran todos los valores de X e Y , que son las variables relevantes del problema,
ya que todas las demás pueden calcularse por equilibrio y el algoritmo ya determinó que todos sus valores
fueran efectivamente factibles.
Independiente de si se cumple que CT < M EJOR COST O, ahora el algoritmo evalua si
CT = U LT IM O COST O. Si esto se cumple, quiere decir que el incremento marginal de la flota no produjo
cambios en los costos, y el camión adicional agregado a la flota no será utilizado, es decir, el algoritmo
finalizará, y su output serán las variables M EJOR F LOT A, X optimo, Y optimo, M EJOR COST O.
Las variables X e Y son las únicas que representan toma de decisiones en la planificación. Las demás
serán actualizadas por equilibrio según cada una de sus restricciones.
Por el contrario, si CT 6= U LT IM O COST O, entonces se actualizará la variable U LT IM O COST O con
el nuevo valor del costo total CT . Finalmente el algoritmo actualizará el valor de la F LOT A en F LOT A + 1
y volverá al paso “Inicialización en el tiempo”(sección 6.3.2.), como se puede apreciar en el diagrama.

46
Si t ≤ T − 1
En este caso, los requerimientos del periodo t estarán completos y el algoritmo podrá pasar al siguiente
periodo. Lo que ocurre en esta parte del proceso, es que se actualizan los valores de V F [t + 1], según
corresponda: C, h e I serán actualizadas por sus restricciones de equilibrio. Los valores iniciales de X e Y serán
iguales a cero, dado que hasta el momento no hay flujos de transporte ni reparación. R será 0 para las canchas,
mientras que para los predios se cumplirá que V F [t + 1][‘R’][i] = omega i[i] ∗ (beta0 + beta1 ∗ P it[i][t + 1])
(No se considera el término de beta2 dado que no existe transporte hasta el momento).
Por otro lado, para cada par origen-destino, V F [t + 1][‘Sf’][i][j] = S i, j, (t + 1) ∗ f i, (t + 1), mientras que
para cada predio V F [t + 1][‘Vf’]= V i, (t + 1) ∗ lambda i, (t + 1). En cada caso, ‘Sf’ y ‘Vf’ comenzarán con
sus valores iniciales dados por los parámetros del problema.
Finalmente, se actualiza la variable t por t + 1, es decir, el algoritmo pasa al siguiente periodo, se crea
HD[t] = HC t ∗ F LOT A como la disponibilidad inicial de la flota en el nuevo periodo t.
El algoritmo reinicia las variables: requerimientos = { } : y OT = { }
El algoritmo creará una lista vacı́a en el diccionario OT , para cada j ∈ P lantas y declarará sus requeri-
mientos como no cumplidos. Mientras que para cada j ∈ Canchas no creará una lista de opciones totales y
declarará sus requerimientos como cumplidos (esto se hace al comienzo de cada periodo).
Seguido de esto, se declara t bar = 0, y el algoritmo volverá al paso “Búsqueda de la mejor deci-
sión”(sección 6.3.3.)

6.4. Plan piloto


Con el fin de comprobar el funcionamiento y la velocidad de este algoritmo, se programó un plan piloto,
en el cual varios de sus datos fueron inventados, teniendo especial cuidado en que fueran factibles.
Se consideraron un total de 9 predios al azar dentro de la base, especı́ficamente, los predios son: La espiga
de oro, La Gloria, Las pataguas, Palermo, El trueno, Curipiden, La silleta, Malalche y Santa Emilia.
El plan piloto considera solo la planta de Dinahue, de la misma manera considera solo la cancha de la Isla
y asume que solo existe un tipo de madera.
El modelo considera un T = 12, ya que busca reflejar una planificación mensual durante un año.
Los datos reales utilizados fueron, las distancias entre cada par origen-destino, se asumieron costos de
transporte proporcionales a las distancias y se calculó Pi,t , λi,t y fi,t como fue detallado. En cada lugar se
ml
asumió una permeabilidad igual a su temperatura promedio en grados celcius [ dı́a ] (Por ejemplo, si un predio
ml
tiene una temperatura promedio de 16 grados Celcius, su permeabilidad será de k = 16[ dı́a ]).
Todos los demás datos fueron completamente inventados, teniendo cuidado con que el problema mantu-
viera su factibilidad.
Al correr el programa, este tarda 8,0633 segundos en resolverse, su primera FLOTA factible es de 33
camiones, mientras que no hay cambios en los costos totales cuando la flota es de 51 camiones. Arroja un
costo total óptimo de 143478302,874 cuando la flota es de 46 camiones (que no representa nada, dado que la
gran mayorı́a del problema es inventado).
Lo mencionado en el parrafo anterior tiene dos conclusiones importantes, que fueron el único fin de correr
este plan piloto:
No necesariamente un aumento en la flota produce una disminución de los costos totales para efectos
del funcionamiento del algoritmo, es más, el costo total puede incluso aumentar.
El tiempo de ejecución es bastante rápido, lo que presenta buenas señales del funcionamiento del
algoritmo representado como una metaheurı́stica. Esta cumple su función, entregará buenos resultados
en un tiempo razonable de ejecución.

6.5. Alternativas que pueden integrarse


Costos de inventario.
Agregar eventuales costos de inventario al predio no representa un problema mayor y puede agregarse
sin mayor dificultad. Pueden agregarse costos de inventario distintos tanto a las plantas como las
canchas y los predios, y reflejarlos en el costo unitario de transporte de madera, para que el algoritmo
los considere en su toma de decisiones.

47
Humedad.
La humedad de la madera es un factor importante. Este factor también podrı́a predecirse considerando
las precipitaciones históricas de cada lugar. Si se estima que cierta camionada tiene un φ % de agua, se
puede establecer que, si bien el flujo de madera será una unidad por camionada, y sus costos estarán en
base a esta unidad, el transporte real de madera será de 1 − φ %. Revisando los detalles y encontrando
una buena predicción para la humedad, este factor podrı́a agregarse perfectamente al modelo.

Integrar Ti0 y Tif .


Cada vez que exista un cambio en t en el algoritmo, podrı́an integrarse los predios tales que Ti0 = t. De
la misma manera, podrı́an desvincularse los predios tales que Tif = t. Deberı́an agregarse cambios en el
algoritmo, principalmente que no pueden existir opciones factibles tanto en flujos de transporte como
en reparación para t < Ti0 . Los cálculos de factibilidad en cualquiera de los casos deberı́an cambiarse,
aunque no es una variante compleja de implementar.
Penalización por predios activos.
Si se considera el foco de evaluar el tiempo en que un predio debe ser desvinculado y, no ası́, restringir
por contrato cuando ocurrirá esto, se puede establecer en la función objetivo un costo en el que se
incurrirá en cada periodo, por cada predio que permanezca activo, es decir, que todavı́a tenga madera
para retirar.
Uno de los focos actuales de la empresa es “deshacerse”de los predios lo antes posible, o bien, reducir
el número de predios activos.
Integrar el plan de cosecha y de astillado a la planificación.
El plan completo de abastecimiento podrı́a, eventualmente, considerar los parámetros W y J del modelo
como variables, de esta manera el modelo entregarı́a en su solución, cuanto cosechar en cada predio
cada periodo y cuanto se deberá astillar en cada planta de cada tipo de madera cada periodo. Esta
variante también es interesante de agregar en el problema y en el foco de su solución.
Considerar los rodales en vez de los predios.
El modelo planteado como está, considera cada predio como un lugar de origen. Sin embargo, en la
realidad, un predio esta dividido en varios rodales con distintos comportamientos, en distintos lugares,
donde algunos estarán accesibles y otros no. El foco del problema podrı́a desagregar los orı́genes en cada
rodal por separado. La dificultad que tiene implementar esto es que los rodales de un mismo predio,
compartirán parte de sus caminos, por lo que la reparación de cada camino no podrı́a agregarse de
manera independiente, y evaluar los costos unitarios de cada una se volverı́a un poco más complejo.
Además, la resolución algorı́tmica tomarı́a más tiempo aumentando la cantidad de orı́genes. También
serı́a un importante desafió evaluar esta opción.
Integrar una tarifa dinámica.
Un alcance importante de la solución planteada, es encontrar una flota fija óptima. Esto permitirá a la
empresa generar contratos a largo plazo con ellos y, junto con esto, la fidelidad de los transportistas.
Ahora bien, dependiendo del comportamiento de los flujos y cuantas horas/periodo son utilizadas, se
podrı́a plantear la opción de resolver el problema utilizando una flota dinámica (por ejemplo una para
temporada de verano y otra para temporada de invierno). Además, la solución deberı́a ser capaz de
resolver los periodos de tiempo en que se requerirá cada una de las flotas.
Evaluar esta variante y como implementarla en el modelo puede ser un buen desafı́o.

48
7. Análisis de oportunidades de inversión
A continuación, se enuncian a grandes rasgos algunas alternativas que pueden evaluarse y preguntas que
pueden ser respondidas por la solución planteada.

Inversión en maquinarias y activos fijos


La empresa puede evaluar oportunidades de inversión en maquinarias y activos fijos. Esto producirá
un cambio en el comportamiento de los costos de reparación. Incluso, se puede por ejemplo probar el
modelo realizando el cambio del comportamiento de costos de reparación en cada uno de los predios y
ası́, identificar cual es la mejor alternativa en la que usar el activo fijo o la maquinaria (la que minimiza
los costos totales de transporte). De esta manera, la empresa deberá emplear los activos fijos en este
lugar especı́fico.
Capacidades de operación
La empresa puede evaluar como afecta al sistema, realizar inversiones en capacidades de operación.
Esto puede ser en los predios, canchas y plantas. Para ello, deberán modificarse los parámetros del
problema y revisar el cambio en el comportamiento de los costos totales.

Inversión el caminos de ripio


Principalmente en los predios que son de patrimonio, la empresa puede evaluar como afecta invertir en
caminos de ripio en los costos totales. Esto se verı́a principalmente reflejado en una disminución del
parámetro ωi .
Terrenos para usar como canchas
La empresa puede evaluar como afectarı́a la inclusión de una nueva cancha en el sistema. Uno de
los alcances importantes de la solución desarrollada, es que permite evaluar opciones para cualquier
número de predios, canchas y plantas. Cada uno de estos lugares puede ser real o ficticio, y considerar
sus propios parámetros para ser representado de la forma más realista posible.
Adquisición de nuevos predios
Al igual que con las canchas, la empresa puede evaluar como afectarı́a al sistema la adquisición de
nuevos predios, dada las caracterı́sticas y condiciones que estos tengan.
Espacio destinado para arrumar la cosecha
En el caso de desagregar los predios en rodales, se puede evaluar especı́ficamente en que lugares en
conveniente ubicar los rodales (al menos en algunos predios), y como estos cambios afectarán los costos
totales y las decisiones del sistema.

8. Eventuales pasos a seguir y Conclusiones


8.1. Eventuales pasos a seguir
Realizar un análisis de sensibilidad del modelo.

Utilizar test de hipótesis para determinar la confiabilidad de los parámetros y las funciones utilizadas,
con el fin de determinar si se están planteando de manera correcta, además de determinar los estimadores
y parámetros que las describen en cada caso.
Estimar los impactos del modelo.

Realizar una simulación de parte del problema, con el uso de la herramienta Spider de Python, por
mencionar alguna opción.
Desarrollo, validación e implementación del modelo.

49
8.2. Conclusiones
Existe un evidente Trade-off entre la complejidad del modelo y su costo. Especı́ficamente, si se considera
el error como un costo, mientras más complejo sea este, aumentará su error de medición (determinación
de parámetros y funciones de manera correcta), y disminuirá su error de especificación (los resultados
serán más exactos).
La siguiente figura5 explica el comportamiento de los errores según la complejidad del modelo y el
óptimo determinado por la intersección de estas curvas:

Figura 5: Trade-off entre la complejidad del modelo y su costo (error)

Es conveniente para la empresa conocer le programa y la manera de trabajar de sus proveedores (trans-
portistas, contratistas, empresas que arriendan máquinas para reparación de caminos, etc) y, asimismo,
establecer alianzas de mediano y largo plazo con ellos para una correcta planificación.
Los procedimientos mencionados para obtener los parámetros y funciones son referencias para guiar
a la empresa en cuanto a los datos que es necesario obtener para mejorar la calibración de estos, es
importante mencionar que ninguno de ellos estará condicionado a plantearse tal como se presentó en
este informe. El tiempo permitirá que las estimaciones de estos valores sean cada vez más precisas.
Es importante comenzar la recolección de los datos no existentes lo antes posible, con el fin de obtener
la mayor cantidad de ellos para asegurar la precisión de las estimaciones.

Por definición, un modelo es una abstracción de la realidad. En este caso, el modelo ofrece una base,
la que permite tener un panorama general de los movimientos y las decisiones que deben realizarse a
corto, mediano y largo plazo.
El modelamiento matemático tiene múltiples alcances. Esto permite describir o acercar los comporta-
mientos modelados a los reales.

Todo lo presentado en este informe está sujeto a modificaciones, mejoras o exclusiones. Se espera recibir
una buena retroalimentación, con el fin de alinear el trabajo con los objetivos y la realidad de la empresa
y, de esta manera, lograr una mejora significativa en la planificación y beneficios de esta.
Serı́a una buena alternativa desarrollar un grafo del sistema en tiempo real, cuyos nodos y arcos con-
tengan información valiosa a considerar.
5 Juan de Dios Ortuzar, Modelos de demanda de Transporte

50
Los nodos podrı́an tener información como cantidades de madera, tiempo climatológico, plan de cosecha,
etc.
Los arcos podrı́an tener información como tipo de superficie, pendiente, estado de los caminos, etc.
Las compras futuras permiten conocer mejor las condiciones del futuro predio y sus datos estarán mejor
calibrados antes de que este sea vinculado.

Es fundamental para la planificación estratégica generar contratos de largo plazo. El problema plan-
teado y su solución, apuntan directamente a esto. Es importante conocer el plan de cosecha, generar
contratos de largo plazo con los transportistas, y proveedores en general. Es determinante para cual-
quier organización, generar fidelidad y compromiso tanto con sus clientes como con sus proveedores,
compartir información con ellos y generar vı́nculos estrechos que permitan ampliar los horizontes de
crecimiento para cada parte.

51
Anexos
Anexo 1. Predios, canchas y plantas utilizados en el modelo

id Lugar Tipo de Sector Latitud Longitud


i=1 Alamos P17 Predio -38,303765 -71,985109
i=2 Aurora Predio -38,19734 -72,084105
i=3 Bdo Ohiggins Predio -38,25611 -72,045207
i=4 California P47 Predio -38,270582 -72,029869
i=5 California P48 Predio -38,268763 -72,041993
i=6 California P49 Predio -38,275819 -72,026477
i=7 Centinela Predio -36,542794 -72,705277
i=8 Coliumo Predio -36,572684 -72,925128
i=9 Curipiden Predio -37,117225 -72,704237
i = 10 El Boldo Predio -36,599762 -72,894855
i = 11 El Castano Predio -38,162268 -72,102608
i = 12 El Con Con Predio -36,675862 -72,881724
i = 13 El Porvenir Predio -36,556534 -72,652027
i = 14 El Tesoro Trinte Predio -37,94221 -72,69104
i = 15 El Trueno Predio -38,6225 -71,92028
i = 16 Hijuela Predio -38,190471 -72,182146
i = 17 La Espiga de Oro Predio -37,58812 -72,41776
i = 18 La Gloria Predio -37,73832 -71,96182
i = 19 La laguna verde Predio -37,30287 -72,333
i = 20 La Pretenciosa Predio -36,594069 -72,865063
i = 21 La Silleta Predio -35,157603 -72,197432
i = 22 La Sirena Predio -36,71687 -72,93549
i = 23 La Vaina Predio -37,43293 -71,91547
i = 24 Las Lajuelas Predio -36,50002 -72,270865

Tabla 1: Predios, canchas y plantas utilizados en el modelo. Parte I

52
id Lugar Tipo de Sector Latitud Longitud
i = 25 Las Pataguas Predio -37,60353 -71,94946
i = 26 Lomas de Larqui Predio -36,733266 -72,067413
i = 27 Los Maquis Predio -37,249319 -73,291558
i = 28 Maicoya Predio -38,00915 -72,96158
i = 29 Malalche Predio -38,154059 -72,114182
i = 30 Palermo Predio -37,79459 -72,18292
i = 31 Parcela 5 Predio -38,295493 -71,984665
i = 32 Parcela 6 Predio -38,292466 -71,99048
i = 33 Quiapo Predio -37,448789 -73,51344
i = 34 Quinahue Predio -37,68056 -73,5878
i = 35 Quitava Hijuela Predio -36,24658 -72,09435
i = 36 Roble Huacho Predio -38,292975 -71,99959
i = 37 Rosario Predio -38,212405 -72,083924
i = 38 San Luis Predio -37,76438 -71,93161
i = 39 Santa Domitila Predio -37,043112 -72,6058
i = 40 Santa Emilia Predio -38,31472 -71,86638
i = 41 Santa Rosa Predio -37,90899 -72,14859
i = 42 Tolhuaca chico Predio -38,301956 -72,001029
i = 43 Trubunquen Predio -36,77229 -72,74872
i = 44 Zona Naval Predio -36,68384 -73,12569
i = 45, j = 1 Cancha Collicura Cancha -37,12898 -72,98681
i = 46, j = 2 Cancha de la Isla Cancha -37,55163 -72,3121
j=3 Dinahue Planta -36,771554 -73,104571
j=4 Volterra Planta -37,015834 -73,178537

Tabla 2: Predios, canchas y plantas utilizados en el modelo. Parte II

53
Anexo 2. Variables utilizadas en los modelos

X Variable
X1 k
X2 Iq
X3 λq
X4 k · Iq
X5 k · λq
X6 Iq · λq
X7 k2
X8 Iq2
X9 λ2
√q
X10 pk
X11 p Iq
X12 √ λq
3
X13 p k
X14 p
3
I q
X15 3
√ λ q
4
X16 p k
X17 p
4
Iq
X18 4
λq
X19 ek
X20 eIq
X21 eλ q
X22 e−k
X23 e−Iq
X24 e−λq

Tabla 3: Variables utilizadas en regresión lineal múltiple

54
Referencias
[1] SOFOFA , Costo en transporte para forestales en Chile duplica al de paı́ses competidores, Chile, 2012. Dis-
ponible en: http://web.sofofa.cl/noticia/costo-en-transporte-para-forestales-en-chile-duplica-al-de-paises-
competidores/
[2] Ortuzar, Juan de Dios, Modelos de Demanda de Transporte, segunda edicion, Chile, 2016.
[3] Centro de Ciencias del Clima y la Resiliencia , Explorador CLimático, Chile, 2016. Disponible
en: http://explorador.cr2.cl/
[4] Tu Tiempo , Distancias entre dos puntos, 2006. Disponible en:
https://www.tutiempo.net/Foro/viewtopic.php?t=2804
[5] Wikipedia , K-Means, 2018. Disponible en: https://es.wikipedia.org/wiki/K-means

55

También podría gustarte