Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
DESCOMPOSICION DE BENDERS APLICADA A UN MODELO
MULTIOBJETIVO PARA LA SELECCIÓN Y PROGRAMACIÓN DE
PROYECTOS
SANTIAGO ALEJANDRO GALEANO PINEDA (200713472)
PROYECTO DE GRADO PARA OPTAR EL TITULO DE
INGENIERO INDUSTRIAL
ASESOR: LUIS FERNANDO ZULUAGA
UNIVERSIDAD DE LOS ANDES
FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA INDUSTRIAL
BOGOTA DC., Diciembre de 2010
AGRADECIMIENTOS
Con este proyecto finaliza una de las etapas más importantes de mi vida, en la
cual tuve la oportunidad de crecer académicamente y crecer como persona.
Pero esta culminación marca un nuevo inicio en mi vida profesional, que
seguramente estará lleno de nuevas experiencias y retos que me harán seguir
creciendo y mejorando cada día más.
Quiero agradecer primeramente a mis padres y a mi hermano que me han
brindado un apoyo incondicional a lo largo de toda mi carrera y que fueron
quienes por medio de los grandes valores y virtudes transmitidos e inculcados,
me llevaron a lograr mis metas y a ser quien soy en este momento.
Por otro lado quiero agradecer inmensamente a mi asesor Luis Fernando
Zuluaga quien me tendió la mano y me guió y soportó incondicionalmente a lo
largo de todo mi proceso de proyecto de grado. Asimismo agradezco a los
profesores Andrés Medaglia y Jorge A. Sefair quienes me brindaron también su
apoyo y conocimiento para sacar adelante a este proyecto.
Finalmente agradezco a Dios, a mis familiares y amigos que estuvieron en todo
momento apoyándome y alentándome para salir adelante en las dificultades
presentadas a lo largo de este camino.
TABLA DE CONTENIDO
1. Introducción
2. Descomposición de Benders
3. Definición modelo origina
3.1 Conjuntos
3.2 Parámetros
3.3 Variables de decisión
3.4 Modelo
4. Descomposición de Benders aplicada al modelo
4.1 Inicialización
4.2 Problema maestro
4.3 Problema auxiliar
4.4 Dual asociado al problema auxiliar
4.5 Restricción de vértice interesante
4.6 Restricción de dirección extrema
5. Creación de datos
5.1 Interpretación de instancias originales
5.2 Interpretación de instancias finales
5.3 Supuestos y conversiones
6. Resultados y análisis de resultados
6.1 Benders mejorado
6.2 Comparación de los 3 modelos con y sin el uso del Pre-Solve y el
Cut-Strategy de Xpress-MP
6.3 Comparación de los modelos SEPS y Benders mejorado para las
instancias de 30 proyectos
6.3.1 Test de diferencia de medias
6.3.2 Test de proporciones
6.4 Comparación de los modelos SEPS y Benders mejorado para las
instancias de 100 proyectos
7. Conclusiones
8. Referencias
9. Anexos
9.1 Diagrama de flujo
9.2 Tabla 1
9.3 Tabla 2
9.4 Tabla 3
9.5 Imagen MENU de las macros
Implementación de un modelo multiobjetivo para la selección y
programación de proyectos
En ocasiones, las empresas del sector público se enfrentan al problema de
seleccionar determinado número de proyectos entre un banco de proyectos
disponibles, enfocándose en maximizar los beneficios generados por los
mismos. Estos beneficios hacen referencia al impacto que pueden tener dichos
proyectos sobre una población en particular, es decir, es posible evaluar el
impacto económico, educativo, social, el impacto en la movilidad, en la
seguridad, entre muchos otros factores medibles por medio de índices
determinados.
Ahora bien, la selección optima de estos proyectospuede verse afectada por
una serie de restricciones de presupuesto, de tiempo, de recursos, de
influencias políticas y sociales, licencias necesarias para la realización de los
mismos, permisos por parte del gobierno, entre muchos otros requisitos que no
permiten la realización de todos los proyectos disponibles o por lo menos no
con la mejor programación de los mismos en un horizonte de tiempo
determinado.
Además, las herramientas y modelos computacionales utilizados para definir la
programación de los proyectos y recursos a lo largo de un horizonte de tiempo
determinado, dejan de ser eficientes a medida que el tamaño del banco de
proyectos incrementa su tamaño considerablemente.Esto sucede porque a
medida que se incrementa el número de proyectos,se aumenta de manera
acelerada el número de variables y restricciones del modelo y por lo tanto, el
tiempo de ejecución del mismo puede llegar a aumentar hasta el punto de no
ser viable o aceptable para la toma de decisiones.
El modelo SEPS1 busca obtener la óptima selección de proyectos públicos que
maximice la suma ponderada de los índices económico, financiero y social que
1. Medaglia, A. L.,Hueth, D., Mendieta, J. C. and Sefair, J.A. Multiobjective Model for
the Selection and Timing of Public Enterprise Projects. Socio-
EconomicPlanningSciences. 42(1):34, 2008.
genera cada proyecto si se inicia en un tiempo determinado. Los índices
económico, financiero y social se entenderán como el valor presente neto
económico, el valor presente neto financiero y el número de personas que se
encuentran bajo la línea de pobreza (BPL por sus siglas en
inglés)respectivamente.
El problema que se pretende resolver, es un problema de gran escala y por lo
tanto se busca implementar un modelo de optimización que utilice el principio
de descomposición de Benders, basados en el modelo “A multiobjective model
for the selection and timing of public Enterprise projects”2, con el fin de evaluar
si la implementación de dicha descomposición tiene un impacto positivo en la
solución del modelo original en términos de tiempo computacional.
DESCOMPOSICION DE BENDERS
Este método de descomposición fue propuesto por Benders en los años 60´s
para resolver problemas lineales mixtos enteros (MIP por sus siglas en ingles).
El método consiste en descomponer un problema entero mixto en 2 problemas
con variables complicantes y variables nocomplicantes respectivamente3.
Teniendo dicha descomposición se pretende resolvervarias veces un problema
auxiliar (variables no complicantes) para así ir generando cortes interesantes
que se van agregando alproblema maestro (variables complicantes). La
descripción algebraica del proceso de la descomposición se presenta a
continuación:
Considérese el siguiente problema4:
2. Medaglia, A. L., Hueth, D., Mendieta, J. C. and Sefair, J.A. Multiobjective
Model for the Selection and Timing of Public Enterprise Projects. Socio-
Economic Planning Sciences. 42(1):31-45, 2008.
3. Caner, Z. Benders Decomposition. Bogazici University, 34342 Bebek,
Istanbul, Turkey.
4. ÍDEM.
Si fijamos las variables como , obtenemos el siguiente problema lineal, es
decir, un problema fácil:
Ahora bien, al hallar el problema dual asociado de obtenemos el
problema , que se llamara de ahora en adelante como problema auxiliar
para ir relacionando esta explicación con el modelo de nuestro interés:
De esta manera tenemos que la región factible para es un poliedro W tal
que y por lo tanto no depende de . Si asumimos que W es
acotado, tendríamos que W es un politopo, por lo tanto:
Utilizando la representación de vértices y los multiplicadores se puede
reescribir el problema dual como }, es decir, el i-esimo
vértice que maximiza la expresión correspondiente a . Para poder
“adicionar” esta versión del problema al problema original, es necesario
reescribir la misma en términos de minimización de la manera que se presenta
a continuación:
Adicionando entonces esta nueva versión del problema dentro del
problema original obtenemos el problema que se llamara de ahora en adelante
el problema maestro:
Como podemos observar, se han eliminado las variables no complicantes y el
proceso a seguir es resolver el auxiliaryproblem para generar cortes para el
master problem (lower bound por ser un problema menos restringido) hasta
que la diferencia entre el upper bound ( (función objetivo el dual
asociado al auxiliar evaluado en ), por ser una solución factible) y el
lowerbound sea cero o muy pequeña, es decir cuando se cumpla que:
Es importante aclarar que para nuestro problema de estudio se presenta en
varias ocasiones que el poliedro es NO acotado y por lo tanto en este caso
el corte enviado desde el auxiliary problem hacia el master problem, representa
una restricción relacionada con una dirección extrema y no con un vértice
interesante. Esto se encuentra explicado de manera más detallada en la
aplicación de la descomposición de Benders al problema de estudio.
Ahora bien, conociendo de manera general el proceso a seguir para realizar la
descomposición, entramos a definir el modelo y a presentar la posterior
aplicación de la descomposición de Benders en el mismo. A continuación se
presenta entonces la descripción del modelo por medio de sus
correspondientes conjuntos, parámetros, variables de decisión, restricciones y
función objetivo y una explicación del papel que juega cada una de las
restricciones dentro del modelo:
Conjuntos:
: Conjunto de proyectos candidatos para realizar
:Conjunto de periodos de tiempo dentro del horizonte de tiempo
durante los cuales se puede iniciar un proyecto determinado.
Conjunto de índices para los factores económico, financiero y social.
Parámetros:
Variables de decisión:
Modelo
s.a.
En el modelo anterior, se puede observaren la ecuación (1)que el objetivo de
maximizar la suma ponderada de los valores económico, financiero y social
normalizados dentro del portafolio está restringido de distintas formas. Primero
que todo el modelo debe seleccionar como máximouna fecha de inicio para
cada uno de los proyectos y estos tienen la libertad de ser realizados o no (2);el
número total de proyectos a incluir dentro del portafolio no puede ser menor a
al número mínimo de proyectos a seleccionar, ni mayor al número máximo
de proyectos a seleccionar. Si el valor de y de son iguales, se tendría
entonces definido un número de proyectos fijo.(3).Por otro lado se debe tener
en cuenta las posibles precedencias existentes entre los distintos proyectos, es
decir, que si el proyecto i precede al proyecto j, entonces , lo cual
implica que el proyecto j sólo se puede realizar justo cuando termina el
proyecto i ; cuando hayan pasado periodos desde la finalización del
proyecto i o cuando falten periodos para finalizar el proyecto i
(4). El modelo tiene también en cuenta los recursos que se
transfieren al periodo siguiente, los cuales representan el neto de los recursos
utilizados en el periodo actual, del presupuesto asignado para dicho periodo y
de los flujos netos generados por los distintos proyectos (5). Finalmente se
debe tener en cuenta que los recursos para cada uno de los periodos dentro
del horizonte de inversión son mayores o iguales a cero (6) y que las variables
son variables definidas como variables binarias (7).
DESCOMPOSICION DE BENDERS APLICADA AL MODELO
Teniendo definido el modelo de nuestro interés, podemos observar que dicho
modelo cuenta básicamente con dos tipos de variables de decisión. Las
primeras son las variables que corresponden a las decisiones relacionadas
con la selección y programación de proyectos a lo largo del horizonte de
inversión. Las segundas corresponden a las variables que hacen referencia a
los recursos disponibles en cada uno de los periodos. Así mismo, tenemos que
las variables son variables binarias, mientras que las variables son
variables continuas, lo cual nos permite dividir este modelo en variables
complicantes ( ) y variables no complicantes ( ).
Esta división nos permite crear un problema maestro que contiene la función
objetivo y las restricciones relacionadas con las variables , es decir, las
decisiones relacionadas con la selección de proyectos. Por otro lado, se cuenta
con un problema auxiliar que contiene todo lo relacionado con las variables ( ),
es decir, las decisiones con respecto a los recursos en cada uno de los
periodos del horizonte de inversión. El fin de crear por separado el problema
maestro y el problema auxiliar es el poder resolver varias veces el problema
auxiliar y pocas veces el problema maestro, ya que como el problema auxiliar
solo tiene variables continuas se puede resolver más rápido que el problema
maestro, pues la integralidad del mismo obliga a utilizar Branch &Bound5 para
encontrar soluciones enteras.
Como se puede observar en la explicación del proceso de la descomposición
de Benders presentada anteriormente, también es necesario obtener el modelo
Dual del problema auxiliar y hacer una pequeña transformación del mismo que
permita reescribir el problema original de una manera adecuada. Este proceso
5. Wolsey, L.A. (1998). Integer Programming. John Wiley & Sons.
se encuentra explicado de una manera detallada a medida que se va
presentando la definición de cada uno de los modelos.
Ahora bien, la comunicación entre el problema maestro y el problema dual del
modelo auxiliar (Para una mayor comprensión, se nombrará el dual del
problema auxiliar como el Modelo/problema Auxiliar, ya que es el modelo que
juega un papel importante en la comunicación entre los dos modelos), se
realiza por medio de archivos de texto, donde básicamente, el problema
maestro imprime en un archivo de texto el vector solución que contiene los
valores de las variables de decisión del maestro, es decir, el periodo de inicio
de cada uno de los proyectos sin tener en cuenta las restricciones de
presupuesto. Este archivo es leído por el problema auxiliar y por lo tanto
tomado como un parámetro para dicho modelo.
Debido a que la función objetivo del problema original no involucraba las
variables , la función objetivo del modelo auxiliar se convierte en minimizar 0
(cero), por lo tanto este modelo únicamente está evaluando si la distribución de
proyectos (Vector de enviado por el maestro), es factible con los recursos
disponibles. Dependiendo de la factibilidad de dicho vector, el problema auxiliar
genera un archivo de texto (VectorAux.txt) con un corte que se agrega al
problema maestro.
A continuación se describe de una manera más detallada cada uno de los
pasos y modelos utilizados para llevar a cabo la descomposición:
Inicialización
Para inicializar el modelo, se debe correr el problema maestro sin ninguna
restricción de recursos y sin haber agregado ningún corte enviado por el
problema auxiliar, por esta razón, al ser el maestro un problema de
minimización, la función objetivo del mismo representa una cota inferior, pues
este no cuenta con todas las restricciones. A medida que se le van agregando
cortes esta cota inferior va tomando un mayor valor, mejorándose la misma
cada vez más. A continuación se presenta el modelo del problema maestro:
Problema maestro
s.a.
Si observamos, este problema cuenta con menos restricciones que el problema
original y al resolverlo lo que vamos a obtener es el valor de las variables de
decisión . Este vector es enviado como parámetro al problema auxiliar tal y
como se mencionó anteriormente.
Problema auxiliar
Al realizar la descomposición de Benders, el problema auxiliar se convierte en
un problema fácil y en este caso en particular se convierte en un problema que
solo evalúa factibilidad. A continuación se presenta el problema auxiliar:
s.a
En este caso, las variables son fijas y por medio de ellas se podrian
calcular los valores de los . Si observamos con detenimiento aún no se ha
mejorado mucho el problema, pues aun contamos con las dos variables
aunque de manera independiente. Por esta razón, se hace necesario obtener el
problema dual y “transformarlo” de tal manera que se pueda reescribir el
problema original como la “unión” de estos dos problemas. A continuación se
presenta entonces el problema dual asociado al problema auxiliar
Dual asociado al problema auxiliar
s.a
Adicional a esto, se debe agregar al dual asociado del problema auxiliar una
restricción que permita obtener las coordenadas de la dirección extrema, ya
que en Xpress-MP, cuando el problema es no acotado, simplemente da el
status de “unbounded”, mas no presenta la dirección extrema:
Como podemos observar en este modelo, se han eliminado las variables y al
resolver el mismo, se están obteniendo los valores correspondientes a las
nuevas variables de decisión Estas variables pueden representar dos
posibles resultados dependiendo del estado de solución del problema, es decir,
si el problema es factible y por lo tanto acotado, las variables representan
un vértice interesante para agregar una restricción al problema maestro y si la
solución es no acotada, entonces las variables representan una
dirección/rayo extremo y por lo tanto se debe agregar otro tipo de restricción al
problema maestro. La última restricción de este modelo se utilizó solo para
efectos de programación en Xpress, pues sin ella, no se podría saber las
coordenadas de la dirección extrema, debido a que Xpress solo arroja el status
de “Unbounded”, más no la dirección extrema.
Ahora bien, como se pueden generar dos tipos de restricciones distintas para
agregar al maestro y el problema auxiliar genera solo un vector con los valores
de las variables , es necesario crear un valor (“fact” en Xpress) que
diferencie que está representando en cada iteración dicho vector. Por lo tanto,
si el valor de la función objetivo del problema auxiliar es cero, “fact” tomara el
valor de 1 y esto le indicará al problema maestro que el vector auxiliar
representa un vértice interesante. Si por el contrario, el valor de la función
objetivo del problema auxiliar es 1, “fact” tomara el valor de 0 y esto le indicará
al problema maestro que el vector auxiliar representa una dirección extrema. A
continuación se presentan las restricciones que se agregan al problema
maestro en cada uno de los casos:
Restricción para vértice interesante:
Dado que se va a “adicionar” el problema dual al problema maestro, es
necesario reescribir el mismo en forma de minimización. Por esta razón
se utiliza la estrategia de minimizar una nueva variable q que sea mayor
que todo posible valor en la función objetivo. De esta manera, el corte
que se estaría agregando al problema maestro seria el presentado a
continuación:
Restricción para dirección extrema:
Como es posible que el dual asociado al problema auxiliar sea no acotado
es necesario agregar una restricción que permita obtener las coordenadas
de la dirección extrema. La función objetivo de este problema puede
expresarse como , donde es un punto
factible y es una dirección extrema. Ahora bien, como tanto ,
como son valores positivos, la única forma de que la función objetivo sea
no acotada es obligando a que se cumpla una restricción de la forma
. A continuación se muestra la restricción que se agrega al
problema maestro en el caso descrito anteriormente:
De esta manera, se van agregando restricciones al problema maestro en cada
una de las iteraciones. Agregada la restricción, se resuelve nuevamente el
problema maestro penalizando la función objetivo tal y como se muestra a
continuación:
Dado que al resolver el problema maestro no se están teniendo en cuenta
todas las restricciones, el valor de la función objetivo arrojado por el mismo en
cada iteración representa una cota inferior. Por otro lado, a medida que se van
encontrando soluciones enteras factibles, el valor de la función objetivo del
problema original evaluada con dicha soluciónsumada a la solución del
problema auxiliar, representa una cota superior, pues es un valor factible para
dicho problema. Como la solución del dual asociado del problema auxiliar solo
puede ser cero o infinito, tenemos que la cota superior siempre va a ser el valor
de la función objetivo del problema maestro (si el problema auxiliar es factible)
o infinito (si el problema auxiliar es No acotado).
Asimismo, a medida que se van actualizando las cotas superior e inferior, se
debe ir actualizando el gap tal y como se muestra a continuación:
Finalmente, cuando el valor del GAP es cero o toma un valor ε determinado, se
puede determinar que se ha resuelto el problema a optimalidad o a ε-
optimalidad respectivamente.
CREACION DE DATOS
Para poder evaluar la eficiencia de los distintos modelos en términos del tiempo
computacional utilizado por los mismos para obtener la solución óptima, se
utilizaron instancias de la librería PSPLIB para el problema deMRCPSP/max
(resource-constrained project scheduling problemwithmultiplemodes and time
lags), las cuales se modificaron utilizando las macros creadas
(transformaciones_30.xlsm y transformaciones_100.xlsm),de tal manera que
pudieran ser utilizadas para este problema en particular.A continuación se
presenta la interpretación de las instancias originales, la interpretación de las
instancias finales y los supuestos y transformaciones utilizadas para conformar
las instancias finales en base a las instancias originales:
Interpretación instancias originales:
Interpretación instancias finales:
Supuestos y conversiones
- Dado que las instancias originales no cuentan con un tiempo tardío
para iniciar cada proyecto, se asumirá que el tiempo tardío para cada
uno de los proyectos será el mismo horizonte de inversión ( ).
- La vida útil de cada proyecto ( ) será tomada como el “duration” del
primer modo de cada uno de los proyectos de las instancias
originales, los demás modos no se tendrán en cuenta.
- El número de periodos de inversión ( ) y la vida útil ( ) de cada
proyecto serán iguales debido a que en las instancias originales no
existen beneficios para los distintos periodos en cada proyecto.
- Las instancias originales no cuentan con valores para ninguno de los
tres índices (económico, financiero y social), por esta razón dichos
índices se generaron de manera aleatoria siguiendo los siguientes
parámetros:
Utilizando los datos (“model.dat”) de la instancia original del SEPS
(Socio-Economic Planning Sciences) se generaba un numero
aleatorio entre el mínimo y el máximo valor de dichos índices para
cada uno de los proyectos (este valor generado era también
positivo o negativo dependiendo de un segundo numero
aleatorio).
Después de obtener dicho número (para el primer periodo de
cada proyecto) se generaban los índices de los demás periodos
dependiendo del factor evaluado, es decir, si el índice
correspondía al social, entonces los índices de los demás
periodos para cada proyecto era el mismo. Si por el contrario se
tenía un índice económico o social para el primer periodo de cada
proyecto, para los demás periodos el índice era el valor para el
primer periodo multiplicado por un factor de descuento.
Los factores de descuento utilizados para los índices económico y
financiero corresponden al factor 6 , donde i se utilizó como
la tasa mes vencida correspondiente a la tasa efectiva anual
utilizada en los datos de la instancia original (“model.dat”).
- Las precedencias utilizadas en las instancias finales, corresponden a
las mismas precedencias de las instancias originales. A pesar de
esto, se eliminaron aquellas precedencias que contaban con un gap
negativo, pues de lo contrario la solución de los modelos era
infactible.
- Los costos fueron también generados de manera aleatoria siguiendo
los siguientes parámetros:
Utilizando los datos de la instancia original del SEPS (“model.dat”)
se generaba un numero aleatorio entre el mínimo y el máximo
valor de dichos costos para cada uno de los proyectos.
Se halló también la variación máxima de los costos entre periodos
por proyecto y se generó así un número aleatorio entre el valor
negativo y el valor positivo de dicha variación. Finalmente, los
6. Sullivan, W., Wicks E. y Luxhoj J. Ingenieria Económica DeGramo. 12ª Ed. Pearson
Prentice Hall. 2004.
costos para cada periodo se obtenían sumándole la variación
aleatoria (positiva o negativa) al costo base aleatorio.
Dado que las instancias originales no contaban con beneficios
para los distintos periodos de cada proyecto, se asumió que para
las instancias finales, los beneficios de cada periodo eran iguales
a cero, es decir, solo se estaría evaluando los periodos de
inversión.
- Para hallar el presupuesto por periodo se hayo un “presupuesto
base” por periodo igual al doble de la suma de los costos de la
instancia. Esta relación se utilizó debido a que en las instancias
originales existía una relación aproximada y porque al utilizar una
menor cantidad de recursos el problema se volvía infactible. Por otro
lado se generaba un segundo numero aleatorio entre el 5% y 15%
del presupuesto base, el cual era sumado al presupuesto base para
obtener así el presupuesto final de cada uno de los periodos
- Los valores de los 3 se mantuvieron siempre como 0.33 para
darles un peso proporcional a los factores económico, financiero y
social y porque el fin de la investigación era la comparación de dos
modelos en términos del tiempo computacional utilizado para llegar a
una solución óptima y no el realizar un análisis de sensibilidad de una
instancia particular.
- El horizonte de inversión ( ) utilizado en cada instancia final,
corresponde al mismo horizonte de inversión de las instancias
originales.
- El tiempo cero, el número máximo y mínimo de proyectos a ingresar
en el portafolio y el gap, son valores ingresados por el usuario y se
debe tener en cuenta que el gap es constante para cada una de
lasprecedencias.
RESULTADOS Y ANALISIS
Con el fin de evaluar una posible mejora en términos del tiempo computacional
al implementar la descomposición de Benders al modelo original, se procedió a
realizar varios experimentos con 3 modelos distintos. El primer modelo (a este
modelo se le referirá por el nombre de “SEPS”), es el modelo inicial7 en el que
se basó la investigación, el segundo modelo (a este modelo se le referirá por el
nombre de “Benders”) corresponde al modelo inicial escrito en términos de las
variables en vez de las variables y descompuesto por medio de la
descomposición de Benders. Por último, el tercer modelo (a este modelo se le
referirá como por el nombre de “Benders mejorado”) no solo cuenta con la
descomposición de Benders, sino que también utiliza la estrategia descrita a
continuación:
Benders mejorado: La estrategia utilizada por este modelo es correr el
problema maestro únicamente hasta el momento en que encuentre la
primera solución entera para el mismo, es decir, que no se esta
buscando resolver el problema a optimalidad, sino hasta que encuentre
la primera solución entera. Ésta solución es enviada al problema auxiliar
para evaluar la factibilidad de la misma teniendo en cuenta la restricción
de recursos tal y como se realiza en el Benders. El corte (restricción)
generado por el problema auxiliar, es enviado y agregado al problema
maestro para correrse nuevamente. Al correr la siguiente iteración del
problema maestro, se busca nuevamente la primera solución entera
factible. Si esta solución hallada es la misma que la generada en la
iteración anterior, se busca la siguiente solución entera que sea distinta
a la anterior y se envía al problema auxiliar para repetir el proceso.
Este ciclo se realiza hasta el momento en el que el gap definido en la
descomposición de Benders sea cero o tome un valor de ε determinado.
Para realizar esta estrategia se utilizó la variación del gap permitido,
donde en el problema maestro se permitía un gap muy alto (100%) y en
el modelo completo solo se permitía un gap de 1E-06. De esta manera
se garantizaba que al encontrar una solución entera en el problema
maestro esta fuera enviada al problema auxiliar, ahorrando así un tiempo
7. Medaglia, A. L., Hueth, D., Mendieta, J. C. and Sefair, J.A. Multiobjective
Model for the Selection and Timing of Public Enterprise Projects. Socio-
Economic Planning Sciences. 42(1):34, 2008.
computacional valioso al no tener que llegar a optimalidad cada vez que
se corriera el maestro.
Teniendo entonces definidos los modelos utilizados, se presentan a
continuación la descripción y el análisis de los experimentos que se
realizaron con los mismos:
1. Comparación de los 3 modelos con y sin el uso del Pre-Solve y
el Cut-Strategy de Xpress-MP:
Para este experimento se utilizaron 12modificaciones de las instancias
de la librería PSPLIBpara el problema MRCPSP/max_308(instancias de
30 proyectos) y se corrieron para los 3 modelos utilizando el Pre-Solvey
el Cut-Strategy de Xpress-MP y también se corrieron solamente 8 de
ellas para los 3 modelos sin utilizar el pre-Solve ni el Cut-Strategy de
Xpress-MP debido a que el tiempo computacional utilizado por los 3
modelos era sumamente alto y no generaban conclusiones más
interesantes que las que se podían generar con la corrida de solo 8
instancias.
A continuación se presentan 3 gráficas independientes para cada uno de
los modelos. En las gráficas se puede observar el tiempo computacional
utilizado por cada modelo para llegar a la solución óptima de 8 instancias
utilizando el Pre-Solve y el cut-Strategy de Xpress-MP (Barras azules) y
el tiempo computacional utilizado para llegar a la solución óptima de las
mismas instancias sin utilizar el Pre-Solve y el Cut-Strategy de Xpress-
MP (Barras rojas):
8. http://dl.dropbox.com/u/4985993/MRCPSPmax_30.zip
Como se puede observar tanto en las gráficas como en la tabla detallada de
resultados en los anexos(Tabla1), mientras en el 83,33% de las instancias
evaluadas el método SEPS incurrió en un tiempo computacional menor que el
de Benders para llegar a una solución óptima al utilizar el Pre-Solve y el Cut-
Strategy, en el 87,5% de las instancias, tanto el método de Benders cómo el
de Benders mejorado llegaron a la solución óptima en un tiempo computacional
menor que el del modelo SEPS. Esto se debe básicamente a que el Pre-Solve
y el Cut-Strategy de Xpress-MP realiza un pre-procesamiento en donde se
eliminan variables y restricciones que no estén jugando ningún papel
0500
100015002000
1 2 3 4 5 6 7 8
Tie
mp
o c
om
pu
taci
on
alIndicador de instancia
SEPS
PS y CE
No PS, CE
0
5000
10000
15000
1 2 3 4 5 6 7 8
Tie
mp
o c
om
pu
taci
on
al
Indicador de instancias
Benders
PS y CE
No PS, CE
0
5000
10000
15000
1 2 3 4 5 6 7 8
tie
mp
o C
om
pu
taci
on
al
indicador de instancias
Benders mejorado
PS y CE
No PS, CE
importante, fija valores de ciertas variables dadas las restricciones existentes,
etc., ahorrando así un tiempo computacional significativo. Por lo tanto, como el
modelo SEPS cuenta con número muy alto de variables binarias que
pueden ser fijadas en el Branch and Bound a medida que se obtiene un valor
para una variable , si no se utiliza el Pre-Solve y el Cut-Strategy, el número
de variables binarias, que en este caso son las variables complicantes, sería lo
suficientemente alto como para implicar un gran número de ramificaciones
innecesarias al realizar el Branch and Bound, por lo tanto el tiempo
computacional se incrementa de una manera acelerada. Esto no sucede con el
modelo de Benders ni con el de Benders mejorado, debido a que desde el
inicio estos modelos eliminaron las variables y que por otro lado están
resolviendo un menor número de veces el problema que contiene las variables
complicantes a cambio de resolver un problema auxiliar fácil y de aumentar
el número de restricciones.
Asimismo se puede observar en los resultados que en el 100% de las
instancias evaluadas, el método Benders mejorado, resolvió el problema a
optimalidad en un tiempo computacional menor que el del modelo Benders.
Por esta razón se tomó la decisión de enfocarse en una comparación a fondo
entre los modelos SEPS y Benders mejorado y así poder obtener un mayor
número de comparaciones que permitieran evaluar estadísticamente si un
método era mejor que el otro.
2. Comparación de los modelos SEPS y Benders mejorado para las
instancias de 30 proyectos:
Para este experimento se corrieron los dos modelos con 87 instancias distintas
de la librería PSPLIB para el problema MRCPSP/max_309 para así obtener una
comparación mucho más robusta y que se pudiera evaluar estadísticamente.
Los resultados consolidados de los tiempos computacionales en los que se
incurrió para correr cada una de las instancias por los dos modelos (Tabla 2),
nos muestran primeramente que en el 79,31% de las instancias, el modelo de
Benders mejorado llegó a la soluciónóptima en un tiempo computacional menor
que el del modelo SEPS. Ahora bien, es importante realizar unaspruebas
9. http://dl.dropbox.com/u/4985993/MRCPSPmax_30.zip
estadísticas que permitan concluir si el método de Benders mejorado, tiene
algún impacto positivo (en promedio o en general incurre en un menor tiempo
computacional) sobre el modelo original (SEPS). Para ello fue necesario
realizar los 2 test que se presenta a continuación:
Test de diferencia de medias: sabiendo que las varianzas de los dos
modelos son estadísticamente iguales, podemos utilizar un estadístico
t10 para evaluar si la media del tiempo computacional en el que incurre el
modelo de Benders mejorado para llegar a la solución óptima, es menor
que la media del tiempo computacional en el que incurre el modelo
SEPS para obtener la solución óptima en cada una de las instancias. A
continuación se presenta las hipótesis nula y alterna de la prueba y el
resultado obtenido:
Como podemos observar en el recuadro rojo de los resultados arrojados por
STATA, la probabilidad de que el valor t-calculado de la hipótesis alterna sea
mayor al t-critico es mayor que el p-value (0.05) y por lo tanto NO se rechaza la
hipótesis nula, es decir, que no existe evidencia estadística significativa que
10. Walpole, Myers, Myers, Ye (2007), Probabilidad &Estadistica para
Ingenieria&Cinecias, Prentice Hall.
µ1 µ_SEPS
µ2 µ_Benders_mejorado
demuestre que la media del tiempo computacional en el que incurre el modelo
Benders mejorado para llegar a la solución óptima es menor a la media del
tiempo computacional utilizado por el modelo SEPS para llegar a la solución
óptima.
Test de proporciones
Debido a que los 2 modelos evaluados tienen una estructura muy distinta, se
decidió realizar también un test de proporciones que permitiera concluir si en
general el modelo de Benders mejorado incurría en un tiempo computacional
menor para llegar a la solución óptima que el modelo de SEPS. A continuación
se muestran las hipótesis nula y alterna, el estadístico de prueba utilizado y los
resultados obtenidos por medio de dicha prueba:
11
Como el valor del (2.3489) es mayor al (2,3263), se rechaza la
hipótesis nula, es decir que con un nivel de confianza del 99%, la proporción de
veces que el modelo Benders mejorado incurre en un menor tiempo
computacional para llegar a la solución óptima que el utilizado por el modelo
SEPS, es estadísticamente significativo.
3. Comparación de los modelos SEPS y Benders mejorado para las
instancias de 100 proyectos:
11. Wisniewski, M., Quantitative Methods for Decision Makers, FT Prentice-Hall, 5th
edition.
Porcentaje de veces en el que el modelo
Benders mejorado incurre en un menor tiempo
computacional para llegar a la solución óptima
que el modelo SEPS.
Para este experimento se corrieron 13 instancias de la librería PSPLIB para el
problema MRCPSP/max_10012 con el fin de evaluar nuevamente el tiempo
computacional de los dos modelos. En este caso, dada la complejidad de las
instancias, los tiempos computacionales en los que incurrían ambos modelos
eran sumamente altos y nunca se llegó a optimalidad en un tiempo prudente.
Por esta razón se decidió evaluar para estas instancias no el tiempo
computacional, sino la solución a la que se llegaba con cada uno de los
modelos en un tiempo de corrida máximo de 10.000 segundos.
Los resultados resumidos en la Tabla 3 nos muestran que en el 61,53% de las
instancias corridas, la Función Objetivo obtenida después de 10.000 segundos
con el modelo Benders mejorado era más alta (mejor) que la función objetivo
obtenida después de 10.000 segundos con el modelo SEPS. A pesar de esto,
es importante resaltar que dada la baja cantidad de datos obtenidos para este
experimento, no se pueden obtener conclusiones robustas y que no vale la
pena realizar pruebas estadísticas para el mismo.
CONCLUSIONES
Al aplicar la descomposición de Benders a un modelo particular, es
posible eliminar las variables no complicantes, pero al obtener este
beneficio se incurre en el costo de correr un gran número de veces el
problema auxiliar para generar los cortes necesarios para el problema
maestro.
El uso del Pre-Solve y el Cut-Strategy de Xpress MP juega un papel muy
importante en la disminución del tiempo computacional utilizado por un
modelo particular para obtener la solución óptima. Los efectos de estas
ayudas de Xpress-MP se hacen más evidentes cuando el número de
variables enteras es alto, ya que como se pudo observar en nuestro
caso de interés, permite eliminar muchas variables y restricciones
innecesarias antes de iniciar el modelo y además permite reducir
notablemente el proceso de Branch and Bound.
12. http://dl.dropbox.com/u/4985993/MRCPSPmax%20-%20JEM.zip
Para nuestro modelo de interés, el aplicar únicamente la
descomposición de Benders no genera un buen impacto positivo
entendido como una disminución en el tiempo promedio computacional
utilizado por el modelo para obtener la solución optima de distintas
instancias. Esto se debe a que el problema maestro resultante resulta
ser tan difícil como el problema original y por lo tanto se está incurriendo
en la implementación de una comunicación de dos modelos que no
generan disminuciones marginales de tiempo computacional en cada
una de las iteraciones.
Estadísticamente, el tiempo computacional utilizado por el modelo de
Benders mejorado para llegar a la solución óptima en las instancias de
30 proyectos no es en promedio menor que el tiempo computacional
utilizado por el modelo SEPS para llegar a la misma solución tal y como
se muestra en la prueba de diferencia de medias, sin embargo,se
encontró que con un nivel de confianza del 99%, la proporción de veces
que el tiempo computacional utilizado por el modelo de Benders
mejorado para llegar a la solución óptima es estadísticamente menor
que el utilizado por el modelo SEPS. Esto se debe a que la mejora del
modelo obliga a que a medida que el problema maestro va encontrando
su primera solución entera, esta es enviada al problema auxiliar sin
esperar a llegar a optimalidad en cada una de las iteraciones, lo cual si
genera una disminución importantes en el tiempo utilizado por el método
de Branch and Bound.
No fue posible llegar a la solución óptima por medio del modelo SEPS ni
por medio del modelo de Benders mejorado para las instancias de 100
proyectos en un tiempo racional (10.000 segundos), ni se pueden
obtener conclusiones estadísticamente robustas por el tamaño de
muestra tan pequeño para este experimento. Por lo tanto de este
experimento es posible concluir que en el 61,53% de las instancias
corridas, la funciónobjetivo obtenida después de 10.000 segundos con el
modelo Benders mejorado era más alta que la función objetivo obtenido
después de 10.000 segundos con el modelo SEPS y que por lo tanto
representan una mejor cota para inicializar otros modelo.
REFERENCIAS
Medaglia, A. L., Hueth, D., Mendieta, J. C. and Sefair, J.A.
Multiobjective Model for the Selection and Timing of Public
Enterprise Projects. Socio-Economic Planning Sciences. 42(1):31-
45, 2008.
Caner, Z. Benders Decomposition. Bogazici University, 34342
Bebek, Istanbul, Turkey.
Wisniewski, M., Quantitative Methods for Decision Makers, FT
Prentice-Hall, 5th edition.
Walpole, Myers, Myers, Ye (2007), Probabilidad &Estadistica para Ingenieria&Cinecias, Prentice Hall.
Sullivan, W., Wicks E. y Luxhoj J. Ingenieria Económica
DeGramo. 12ª Ed. Pearson Prentice Hall. 2004.
Wolsey, L.A. (1998). Integer Programming. John Wiley & Sons.
ANEXOS
Diagrama de Flujo del modelo Benders
Correr el Master Problem
Guardar el valor de y
enviarlo al problema
auxiliar
Correr el dual asociado
del problema auxiliar
El dual
asociado es
factible?
Se obtiene un vértice
interesante y se agrega
entonces al master
problem una restricción
de la forma
Se obtiene una dirección
extrema y se agrega
entonces al master
problem una restricción
de la forma
Si
No
Calcular Upper Bound
Correr el Master Problem
Actualizado
Se obtiene el Lower
Bound y se calcula el GAP
? FIN
Tabla 1
Tabla 2
Instancia T Número de proyectos
Número de precedencias
Tiempo computacional
SEPS BENDERS
MEJORADO
2 39 30 38 3 0,1
3 55 30 38 25,1 18,6
4 39 30 39 1,2 0,1
5 30 30 41 0,7 0,1
6 39 30 39 18,3 13,4
7 44 30 40 2,1 0,3
8 46 30 40 5,4 8
9 39 30 39 5,6 6,3
10 38 30 38 22026,9 14978,5
11 33 30 39 0,8 0,1
12 30 30 41 5 0,1
13 36 30 38 2,1 2,9
14 42 30 38 655,3 961,8
15 33 30 38 6,9 3,5
16 31 30 39 0,5 0,1
17 50 30 38 13,2 14,8
18 33 30 39 3,9 3,1
19 40 30 38 32,9 13,4
21 38 30 38 11,8 10,3
22 37 30 39 13,6 12,6
23 39 30 38 10,7 6,9
24 33 30 38 3,4 0,4
25 28 30 39 0,3 0,1
26 30 30 39 22,8 5,4
27 38 30 38 4,1 0,1
28 32 30 38 0,6 0,1
29 38 30 38 25,9 0,5
30 22 30 39 0,6 0,1
31 38 30 39 9,8 0,1
32 27 30 38 3,2 2,3
34 38 30 38 10,6 7,3
35 42 30 40 1,1 0,2
36 40 30 39 61,2 20,4
37 37 30 39 1,6 2,3
39 38 30 41 45,2 14,5
40 38 30 40 0,7 0,1
42 28 30 40 0,7 0,1
44 32 30 41 2,1 0,1
45 31 30 43 1,5 0,1
46 20 30 43 0,7 0,3
47 31 30 38 2,2 0,1
48 37 30 38 2,6 0,3
49 21 30 39 1,2 2,4
50 28 30 39 0,5 0,1
51 31 30 41 5 3,3
52 36 30 39 2,3 0,6
53 33 30 38 2,9 3,3
54 30 30 39 0,6 0,1
55 45 30 38 28,8 29,7
56 44 30 41 5,5 5,3
57 36 30 41 0,6 0,1
58 31 30 38 1,1 0,1
59 28 30 45 0,6 0,2
61 48 30 39 19,9 19,9
62 45 30 38 5,1 0,2
63 36 30 43 4 1,5
64 43 30 41 24,6 71
65 30 30 39 1,4 0,1
66 36 30 41 3,2 8,1
67 45 30 37 31,7 15,3
68 37 30 39 12,5 18
69 38 30 39 3,6 4,4
70 26 30 39 0,7 0,1
71 39 30 39 10,4 6,6
72 24 30 40 0,3 0,1
73 40 30 38 34,6 24,7
74 46 30 38 13,1 15,1
75 39 30 39 4,3 4,2
76 36 30 39 0,9 0,1
78 30 30 43 0,6 0,1
79 48 30 45 111,3 59,9
80 44 30 39 10,1 11,7
81 34 30 39 0,5 0,1
82 31 30 44 0,6 0,1
83 30 30 41 11,2 9,7
84 30 30 40 3,7 0,6
85 36 30 42 0,6 0,1
86 34 30 38 2,2 0,4
87 36 30 41 3,7 4,9
88 45 30 39 10,5 11,1
89 37 30 38 1,6 0,1
90 34 30 39 1,5 0,7
96 34 30 38 1,8 0,2
106 24 30 45 1,2 1,2
123 39 30 39 6,2 6,1
169 22 30 40 1,3 0,1
181 27 30 41 1,8 161,2
Tabla 3
Imagen MENÚ de las macros de transformación de datos