34
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

DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 2: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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.

Page 3: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 4: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 5: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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.

Page 6: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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.

Page 7: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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:

Page 8: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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:

Page 9: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

Variables de decisión:

Modelo

s.a.

Page 10: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 11: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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.

Page 12: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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:

Page 13: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 14: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 15: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 16: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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.

Page 17: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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:

Page 18: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 19: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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.

Page 20: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 21: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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.

Page 22: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 23: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 24: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 25: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 26: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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.

Page 27: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 28: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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.

Page 29: DESCOMPOSICION DE BENDERS APLICADA A UN 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.

Page 30: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 31: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 32: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 33: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

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

Page 34: DESCOMPOSICION DE BENDERS APLICADA A UN MODELO

Imagen MENÚ de las macros de transformación de datos