• No results found

Interna(onaliza(on! at!home!

3 Research methods

3.3 Data collection and analysis

Se implementaron los modelos matem´aticos anteriormente descritos en el lenguaje de progra- maci´on del optimizador Xpress-MP versi´on 20.00.21.

Este optimizador para solucionar problemas enteros lo primero que hace es el preprocesamiento que consta por defecto de las siguientes operaciones:

1. Singleton column removal. 2. Singleton row removal. 3. Forcing row removal. 4. Dual reductions.

5. Redundant row removal. 6. Duplicate column removal. 7. Duplicate row removal. 8. Strong dual reductions. 9. Variable eliminations.

Despu´es se resuelve el problema lineal. Para esto utiliza por defecto el dual simplex method, pero dependiendo de las condiciones del problema puede utilizar tambi´en el primal simplex method. Despu´es el optimizador empieza un procedimiento llamado global search para encontrar una soluci´on entera. El optimizador utiliza los m´etodos de Branch-and-Bound, Branch-and-Cut o Cut-and-Branch dependiendo de las condiciones del problema.

EnBranch-and-Bound por defecto la estrategia de selecci´on de variable consiste en:

1. Asignarle a cada variable un priority for branching value que autom´aticamente ser´ıa 500 ´

o puede ser fijado por el usuario. (Un valor bajo significa que es m´as probable que la variable se selecciones para ramificar.)

2. Calcular un pseudo costo alto upj y un pseudo costo bajo downj asociado a cada variable j,

que son una estimaci´on de la cantidad por la cual la funci´on objetivo empeorar´ıa si la variable es forzada a ser entera.

3. Seleccionar de las variables con mayor prioridad que todav´ıa no haya sido seleccionada la que tenga el mayor costo estimado.

Este costo estimado se puede calcular de cualquiera de las siguientes formas: 1. min(upj, downj)

2. upj+ downj

3. 2 · min(upj, downj) + max(upj, downj)

4. max(upj, downj)

5. downj

6. upj

7. λ · upj+ (1 − λ) · downj donde λ depende de que tan fraccional es la variable.

8. upj· downj

Y la estrategia de selecci´on de nodo por defecto es la n´umero 4 de las siguientes estrategias de selecci´on de nodo que tiene el optimizador:

1. Local first : Escoger entre los hijos y descendientes del nodo actual si es posible; de no ser as´ı seleccione uno de los nodos activos destacados.

2. Best first : Seleccione uno de todos los nodos activos destacados.

3. Local depth first : Escoger entre los hijos y descendientes del nodo actual si es posible; de lo contrario elegir entre los nodos m´as profundos.

4. Best first y luego local first : Primero Best first se usa con un n´umero de nodos espec´ıfico y despu´es usa local first.

5. Pure depth first : Elegir entre los nodos m´as profundos.

Cuando el conjunto de nodos a seleccionar incluye todos los nodos activos por defecto se se- lecciona el de mejor valor de la funci´on objetivo. Pero tambi´en se puede seleccionar un nodo activo aleatoriamente, seleccione el primer nodo activo creado, seleccione el ´ultimo nodo activo creado, seleccione el nodo con la mejor soluci´on estimada o seleccione el nodo cuya relajaci´on LP contiene el menor n´umero de variables fraccionales.

Para Branch-and-Cut y Cut-and-Branch los tipos de cortes que hace este optimizador son: 1. Clique cuts.

2. Gomory cuts.

3. Mixed Integer Rounding (MIR) cuts. 4. Lifted cover cuts.

5. Flow path cuts. 6. Implication cuts.

7. Turn on automatic Lift-and-Project cutting strategy. 8. Disable cutting from cut rows.

9. Lifted GUB cover cuts. 10. Zero-half cuts.

11. Indicator constraint cuts.

Para encontrar una soluci´on al caso de aplicaci´on presentado anteriormente primero se conside- ra una instancia de 3 periodos. Donde el conjunto de tareas es A = {1, . . . , 10}, el conjunto de zonas es Z = {1, . . . , 20}, los conjunto de d´ıas espec´ıficos Bn⊆ T, ∀n ∈ {1, 2, 3, 4}, los conjuntos

de tar´eas espec´ıficas Ap ⊆ A, ∀p ∈ {1, 2, 3}, el horizonte de planeaci´on es T = {1, . . . , 198}, el

conjunto de periodos es M = {1, 2, 3} y los d´ıas totales del proceso K = 90.

Despu´es se soluciona una instancia de 12 periodos, dividiendola en instancias de a 3 periodos. En esta instancia el onjunto de tareas es A = {1, . . . , 10}, el conjunto de zonas es Z = {1, . . . , 20}, los conjunto de d´ıas espec´ıficos Bn ⊆ T, ∀n ∈ {1, 2, 3, 4}, los conjuntos de tar´eas espec´ıficas

Ap ⊆ A, ∀p ∈ {1, 2, 3}, el horizonte de planeaci´on es T = {1, . . . , 432}, el conjunto de periodos

es M = {1, . . . , 12} y los d´ıas totales del proceso K = 365.

A continuaci´on se presentan los resultados para las dos instancias.

En los ´arboles de Branch-and-Bound que se presentan tenga en cuenta que: los nodos blancos son nodos que est´an activos, los rojos son infactibles, los nodos amarillos han sido podados, los 10 nodos recientemente explorados se encuentran en color azul, donde el m´as claro es m´as lejano y el m´as oscuro es el m´as cercano y los nodos verdes representan las soluciones enteras, la mejor soluci´on es la m´as grande y entre m´as brillante sea su color m´as reciente fue su hallazgo.

Instancia de 3 Periodos: Formulaci´on 1:

Para ´esta formulaci´on hay 5,514 restricciones y 83,680 variables de decisi´on. El tiempo de solu- ci´on fue de 686.8 segs.

Figura1: ´Arbol de Branch-and-Bound para la Formulaci´on 1. Formulaci´on Intermedia:

Esta formulaci´on consiste en cambiar solamente la restricci´on (13) de la Formulaci´on 1 por la restricci´on (18) de la Formulaci´on 2. El n´umero de restricciones para esta formulaci´on es de 4,317 y 83,680 variables de decisi´on. El tiempo de soluci´on fue de 275.0 segs.

Formulaci´on 2:

Con esta formulaci´on se tien 4,317 restricciones y 83,680 variables de decisi´on. El tiempo de soluci´on fue de 270.7 segs.

Figura 3: ´Arbol de Branch-and-Bound para la Formulaci´on 2.

Formulaci´on 2 - Restricci´on (19):

Lo que se hace es quitar la restricci´on (19). El n´umero de restricciones disminuye a 3,717 y hay 83,680 variables de decisi´on. El tiempo de soluci´on fue de 177.3 segs.

Formulaci´on 3:

Con esta formulaci´on se tien 6,997 restricciones y 83,681 variables de decisi´on. El tiempo de soluci´on fue de 530.8 segs.

Figura 5: ´Arbol de Branch-and-Bound para la Formulaci´on 3.

Formulaci´on 4:

Con esta formulaci´on se tien 6,397 restricciones y 83,681 variables de decisi´on. El tiempo de soluci´on fue de 2,340.3 segs.

Tabla 1: Resultados computacionales para todas las formulaciones de la instancia de 3 periodos.

Gr´afica 1: D´ıas totales del proceso instancia de 3 meses para diferentes formulaciones cercanos a K = 90.

An´alisis de los resultados computacionales instancia de 3 periodos.

Las soluciones para cada una de las formulaciones para la instancia de 3 periodos se encontraron a optimalidad.

Se observa que el tiempo computacional es menor para la Formulaci´on 2 que para la Formulaci´on 1 y la Formulaci´on Intermedia, es decir que como las restricciones (18) y (19) proveen mejores cortes, se llegue al ´optimo m´as r´apido.

Se creer´ıa que al agregar la restricci´on (19) el tiempo se soluci´on ser´ıa menor, pero la evidencia demuestra que no es as´ı, ya que al quitar ´esta restricci´on de la Formulaci´on 2 el tiempo pas´o de 270.0 segundos a 177.3 segundos. Por esta raz´on para la instancia de 12 periodos se decide quitar la restricci´on (19), sumada al hecho que probablemente en los d´ıas determinados por dminl y

dmaxl para cada periodo la asignaci´on de todas las tareas para todas las zonas no es posible.

La principal utilidad de la Formulaci´on 3 es encontrar el menor n´umero de d´ıas en el cual se puede realizar la asignaci´on de las 10 tareas, para las 20 zonas en 3 periodos. El valor de la funci´on objetivo: 148, representa esta cantidad de d´ıas. La suma de los d´ıas de desfase es la m´as alta de todas, lo cual evidencia que con ´esta formulaci´on el objetivo de que los d´ıas totales del proceso est´en cerca de 90 no se est´a teniendo en cuenta.

El valor de la funci´on objetivo para las Formulaciones 1, Intermedia, 2 y 2-Restricci´on (19) es de 619 que si lo descomponemos ser´ıa: 17 asociado a la suma de los d´ıas de desfase de 90 y 602 correspondiente al costo de asignaci´on de las tareas.

La formulaci´on 4 es la que tiene el mayor tiempo computacional, y esto se refleja en el ´arbol de Branch-and-Bound que es el m´as grande de todos (tiene m´as nodos). Se ve que es el ´arbol con mayor n´umero de soluciones factibles (17). El valor de la funci´on objetivo para esta formu- laci´on es 1,935 que se descomponen en: 17 asociado a la suma de los d´ıas de desfase de 90, 602 correspondiente al costo de asignaci´on de las tareas y 1,316 de la suma de los ´ultimos d´ıas de realizaci´on de cada tarea.

Para las Formulaciones Intermedia y 2 solo se encontr´o una soluci´on entera y los ´arboles de Branch-and-Bound son m´as peque˜nos para estas dos formulaciones que el de la Formulaci´on 1 para la cual se encontraron 2 soluciones enteras.

El ´arbol de la Formulaci´on 2 - Restricci´on (19) es m´as grande que el de la formulaci´on 2, esto es de esperarse ya que al quitar esta restricci´on la cantidad de d´ıas en los que se pueden asignar las tareas aumenta, luego hay m´as variables que considerar en el Branch-and-Bound.

En la gr´afica 1 se ve como la mayor variaci´on en el n´umero de d´ıas de desfase est´a en la Formula- ci´on 3.Solo hay dos zonas cuyo desfase es de 0 d´ıas. El resto de las formulaciones se comportan de formas similares manteniendo en 90 los d´ıas de la zona 2 a la 10 y por debajo de 90 para el resto de zonas. La Formulaci´on 4 es la que mejor cumple el objetivo de hacer que el desfase sea lo menor posible dado que es la formulaci´on que deja el mayor n´umero de zonas (12) con desfase de 0 d´ıas.

Instancia de 12 Periodos:

Esta instancia se dividi´o en 4 instancias de 3 periodos y a cada una tiene un valor de K asociado, de tal manera que la sume de todos es 365. A continuaci´on se presentan los resultados:

Primeros 3 periodos:

Con K = 90 se corre primero la instancia con la Formulaci´on 3 y despu´es con el resultado se restr´ıngen los d´ıas en los que se puede realizar la asignaci´on de las tareas y se corre la instancia con la Formulaci´on 2, sin la restricci´on (19).

Gr´afica 2: D´ıas totales del proceso por zona para los primeros 3 periodos.

Segundos 3 periodos:

Con K = 92 y los resultados del ´ultimo periodo de la instancia anterior se corre primero la instancia con la Formulaci´on 3, sin la restricci´on (19), y despu´es con el resultado se restr´ıngen los d´ıas en los que se puede realizar la asignaci´on de las tareas y se corre la instancia con la Formulaci´on 2, sin la restricci´on (19).

Tabla 3: Resultados computacionales para los segundos 3 periodos.

Gr´afica 3: D´ıas totales del proceso por zona para los segundos 3 periodos.

Terceros 3 periodos:

Con K = 92 y los resultados del ´ultimo periodo de la instancia anterior se corre primero la ins- tancia con la Formulaci´on 3, sin la restricci´on (19), despu´es con el resultado se restr´ıngen los d´ıas en los que se puede realizar la asignaci´on de las tareas y se corre la instancia con la Formulaci´on 2, sin la restricci´on (19), como no se obtien ning´un resultado despu´es de aproximadamente 20 horas se corre la instancia con la Formulaci´on 4.

Tabla 4: Resultados computacionales para los terceros 3 periodos.

Gr´afica 4: D´ıas totales del proceso por zona para los terceros 3 periodos.

Cuartos 3 periodos:

Con K = 91 y los resultados del ´ultimo periodo de la instancia anterior se corre la instancia con la Formulaci´on 4, sin las restricciones (15), dado que se identifica que es causantes de infactibilidad de la instancia.

Tabla 5: Resultados computacionales para los cuartos 3 periodos.

Gr´afica 6: D´ıas totales del proceso por zona cercanos a 365.

An´alisis de los resultados computacionales instancia de 12 periodos.

Las soluciones para cada una de las instancias peque˜nas de 3 periodos se encontraron a optima- lidad.

La importancia de dividir la instancia de 12 periodos est´a en encontrar una soluci´on factible parara el problema, sin importar que no sea el ´optimo. Para la compa˜n´ıa la asignaci´on de estas tareas en el horizonte de tiempo establecido cumpliendo con las condiciones es necesaria, luego una soluci´on factible que sea buena es suficiente.

La suma de los d´ıas de desfase con respecto al K correspondiente para cada una de las ins- tancias peque˜nas de 3 periodos es de: 17 (primeros 3 periodos), 21 (segundos 3 periodos), 2 (terceros 3 periodos) y 26 (cuartos 3 periodos). Con respecto a 365 la suma de los d´ıas de desfase es 38. Se observa que el desfase total con respecto a 365 no es muy alto, en promedio el proceso toma 363.5 d´ıas y tiene una varianza de 4.8. Para 4 zonas el proceso toma 365 d´ıas y para el resto oscila entre 359 y 368. De las 20 zonas 2 est´an por encima de 365 y 14 por debajo. Restringir el n´umero de d´ıas en los que se hace la asignaci´on de las tareas utilizando la Formu- laci´on 3 para los primeros y los segundos 3 periodos, es necesario para encontrar una soluci´on a la instancia de 12 periodos. De no ser as´ı para los cuartos 3 periodos no se podr´ıan asignar todas las tareas dentro de los d´ıas que quedan despu´es de hacer la asignaci´on de los 9 periodos anteriores.

Todas las restricciones del problema se cumplen para los primeros 9 periodos, solo para los ´

ultimos la restricci´on (15) se quito. Esto quiere decir que la soluci´on encontrada finalmente no est´a dentro de la regi´on factible inicial para la instancia de 12 periodos, pero como se men- cion´o antes esta es una soluci´on aceptada por la compa˜n´ıa. El problema con todas las restric- ciones para la instancia de 12 periodos al parecer es infactible.

5.

Conclusiones

Se presenta una revisi´on de los algoritmos de branch-and-bound, cutting-planes y branch-and-cut. Para el algoritmo de cutting-planes se muestra como todas las desigualdades v´alidas se pueden construir aplicando el procedimiento de Chv´atal-Gomory un n´umero finito de veces. Tambi´en se estudian: Gomory’s fractional cuts y 0-1 Knapsack inequalities. Se muestra que Gomory’s fractional cuts son desigualdades v´alidas para los problemas enteros y se construyen las cover inequalities, extended cover inequalities, lift cover inequalities, separation cover inequalities y GUB cover inequalities para el problema de la mochila (Knapsack ).

Para el caso de aplicaci´on de elaboraci´on del cronograma de trabajo de un proceso que una compa˜n´ıa lleva a cabo en una ciudad, se presentan 4 foulaciones de modelos de optimizaci´on con enteros para resolver el problema. Para la Formulaci´on 1 se encontraron dos grupos de de- sigualdades que proveen mejores cortes, haciendo que el tiempo de soluci´on sea menor (como se observa en la Formulaci´on 2). Implementando estos modelos en el lenguaje del optimizador Xpress-MP se encuentra el calendario de asignaci´on de tareas para una instancia de 3 periodos. Dado que las formulaciones tienen diferentes objetivos o diferencias en algunos grupos de restric- ciones se comparan los tiempos computacionales, ´arboles de branch-and-bound y resultados (d´ıas de desfase de K) de cada uno de los modelos. Para una instancia de 12 periodos se encuentra una soluci´on dividiendo esta en instancias peque˜nas de 3 periodos, que se resuelven de forma secuencial (alimentando la siguiente instancia con los resultados de la instancia anterior). Como trabajo futuro queda seguir aprendiendo sobre los tipos de desigualdades v´alidas que hay en la literatura, pues los mencionados en este trabajo para el algoritmo de Cutting-Planes son solo unos pocos. Investigar el funcionamiento del optimizador para poder definir las estrategias o cortes a utilizar. Esto con el fin de saber c´omo cambia la soluci´on de un problema determinado si no se usaran las opciones por defecto del optimizador. Finalmente realizar mejoras en la Formulaci´on 4 para que los elementos que se est´an ponderando sean comparables. Esto podr´ıa ser por medio de la inclusi´on de costos reales para la asignaci´on de las tareas, para los d´ıas de desfase y para la realizaci´on de todas las tareas en el m´ınimo tiempo posible. Tambi´en se puede determinar coeficientes de ponderaci´on reales para cada uno de los objetivos del problema que se encuentran en la funci´on objetivo.

Referencias

Bertsimas, D. & Tsitsiklis, J.N., (1997). Introduction to Linear Optimization.(Tercera Impre- si´on). Nashua, U.S.A.: Athena Scientific.

Ibaraki, T., (1976). Computational efficiency of approximate branch-and-bound algorithms. Mat- hematics of operations research;1(3):1-13.

Nemhauser, G.L. & Wolsey, L.A., (1999). Integer and Combinatorial Optimization. New York, U.S.A.: Wiley.

Mart´ın, Q., (2003). Investigaci´on Operativa. Madrid, Espa˜na: Prentice Hall.

Ramusio Mora, S., (2010). Un algoritmo branch and cut para el problema de asignaci´on de frecuencias en sistemas de radio punto a multipunto. (Tesis de Licenciatura en Ciencias de la Computaci´on) .Facultad de Ciencias Exactas y Naturales. Departamento de Computaci´on. Uni- versidad de Buenos Aires.

Wolsey, L.A., (1998). Integer Programing. New York, U.S.A.: Wiley.

Zonghao, G., Nemhauser, G.L., & Savelsbergh, M.W., (1998). Lifted cover inequalities for 0-1 integer programs: Computation. Informs journal on computing;10(4):427-437.