Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Planificación estratégica de
transporte y abastecimiento
1
Índice
1. Introducción 3
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]
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.
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
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 − α).
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 :
Al calcular:
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.
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.
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 ]
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 ]
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, 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
Ci,k,t ≤ Gi ; ∀i ∈ P redios k = δi ∀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
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.
** 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
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.
δ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.
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:
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:
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.
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:
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:
** 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 {α, β}]
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
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
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):
Dada esta notación para representar correctamente los datos, se calcula lo siguiente:
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
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
−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.
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:
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:
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:
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].
A continuación, se detallan los procedimientos realizados para ambos modelos de regresión mencionados.
j=24
fˆi,q
X
R = βˆ + βˆj · Xj
0
j=1
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
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
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.
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
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:
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.
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:
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.
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:
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
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:
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:
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
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:
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:
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
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:
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
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”:
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:
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).
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.
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.
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.
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:
∀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
45
6.3.6. Evaluación de cumplimiento de requerimientos
A continuación, el algoritmo define las variables:
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:
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.)
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.
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.
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:
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
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
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
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