E. SECURITY TECHNICAL IMPLEMENTATION GUIDES
2. Commercial Mobile Device Policy Security Technical
en una vecindad Trabajo 1 2 3 4 5 6 Tiempo de procesamiento Fecha de entrega 10 15 3 16 16 24 8 30 4 35 10 37 Solución
Paso 1. Se construye una secuencia FEC y se evalúa su tardanza total. Se denota la secuencia por S * y su tardanza por T*. Se establecen i = 1 y y = 2
Paso 2. Se intercambian los trabajos en la posición i yj de la secuencia S *; la secuencia es 5" con tardanza total T\ Si T' < T*, se va al paso 4.
La secuencia FEC es 1 -2-3-4-5-6 con vector de tardanza (0,0,5,7,6,14) y tardanza total de 32. Los resultados de la búsqueda en una vecindad están dados en la tabla 8-24. El primer intercambio 2-1 (en negritas en la tabla) no cambia la tardanza. El segundo, 3-2, de hecho la aumenta. El cuarto vecino que se examinó (de los cinco posibles) disminuye la tardanza a 30, por lo que se convierte en la nueva semilla y el procedimiento se repite. En la tabla 8-24 se observa que no hay un vecino de IAP con tardanza menor que 30.
La mejor secuencia para el ejemplo 8-14 es 1-2-4-5-6-3 con tardanza de 27. El algoritmo de búsqueda en una vecindad que se usó no encuentra la mejor secuencia comenzando con la secuencia FEC. Una semilla inicial diferente pudo haber producido la mejor secuencia. Recuerde que el heurístico de R&M obtuvo una secuencia con tardanza de 27, de manera que habría sido una semilla inicial excelente. Una vecindad distinta puede mejorar la calidad de la secuencia generada. Para este problema, tanto IP como INS hubieran producido una secuencia con tardanza de 27. Evaluar todas las vecindades y elegir el mejor vecino también puede dar mejores resultados. Aceptar otro vecino con la misma tardanza (T' <T* en el paso 2) también puede mejorar las soluciones. Realizar la búsqueda en una vecindad con diferentes semillas iniciales y elegir el mejor resultado también puede mejorar las soluciones. Todos estos cambios requieren más cálculos que no garantizan una mejor solución. El esfuerzo computacional no es importante para un problema con seis trabajos, pero puede serlo para problemas grandes.
Cuando es posible, el esfuerzo computacional se reduce si se actualiza el valor de un vecino a partir del valor de la semilla, en lugar de calcularlo completo. Asimismo, en el paso 4, se establecen i = 1 y j = 2,que no siempre es necesario. La estructura de un problema específico también reduce el esfuerzo; por ejemplo, los problemas de tardanza pueden prohibir un intercambio que viole las condiciones de Emmons.
Si la búsqueda en una vecindad no proporciona soluciones suficientemente cercanas al óptimo, puede ser necesario aplicar otros métodos. Se estudiará una variación llamada simulación de recocido.
3.8.2 Simulación de recocido
La mayor desventaja de la búsqueda en una vecindad es que, una vez que se encuentra un mínimo local, el procedimiento se detiene. Al permitir algunos movimientos a vecinos con soluciones peores, la simulación de recocido explora una parte mayor del espacio de soluciones, y encuentra (se espera) una mejor solución que la búsqueda en una vecindad.
La simulación de recocido se origina en las ciencias físicas; el recocido es el proceso de enfriamiento controlado de un líquido hasta que se solidifica. Al reducir la temperatura lentamente, se resaltan las propiedades de la sustancia. En un principio, el material está a una temperatura alta y es fácil cambiar sus estados. Conforme se enfría, el material se solidifica y el cambio de estados es más difícil. Por último el material se congela y no es posible hacer más cambios. Esto nos proporciona la terminología de simulación de recocido. La aceptación de un
vecino como nueva semilla es una función de la temperatura. Se comienza a una temperatura alta, lo que permite que se acepten como semilla muchos vecinos que no mejoran la solución. Un programa que se está enfriando disminuye la temperatura, lo que reduce el número de mo- vimientos que no mejoran. Por último, la temperatura se reduce lo suficiente para congelar el procedimiento, de manera que sólo se acepten soluciones que mejoran.
Igual que en la búsqueda en una vecindad, existen muchas maneras de implantar la simula- ción de recocido; deben elegirse muchos valores de parámetros. Se presenta un enfoque directo que sigue las ideas de Johnson et al. (1989). Sea
c* = costo de la mejor secuencia encontrada hasta ahora (la incumbente) c = costo de la secuencia semilla
c = costo de la vecindad que se examina
T = temperatura inicial (T > 0) R = factor de enfriamiento (R > 0)
A = c - c = diferencia en costo entre un vecino y la semilla
Igual que en la búsqueda en una vecindad, si A < 0, el vecino es una mejora y se puede convertir en una nueva semilla. Sin embargo, si A > 0, de todas maneras el vecino puede susti- tuir a la semilla. Existe una probabilidad de que se acepte una solución más pobre. Esta proba- bilidad depende de qué tanto peor es el vecino comparado con la semilla. Si A es negativa, con- viene moverse, pero entre más grande sea A, menos atractivo será cambiar la semilla. La probabilidad también debe depender de cuántas iteraciones lleva la búsqueda, según lo deter- mina la temperatura. Al principio de la búsqueda se debe estar más dispuesto a hacer movi- mientos "malos", mientras que más adelante deben evitarse. La duración de la búsqueda está determinada por la temperatura, la cual al principio tiene un valor positivo y disminuye al avanzar la búsqueda, hasta que finalmente la congela.
Considere la función e~A/T; si A < 0 y T > 0, entonces e~Ah > 1. Si A es positivo y T > 0, e-
A h e (o? iy Mientras más grande sea A y más pequeño sea T,más cerca de cero estará e~~A/T. Sea q un número aleatorio generado a partir de una distribución uniforme (0,1). Si q < e~A/T, el vecino sustituye a la semilla. Esto siempre acepta los movimientos para mejorar, y acepta los movimientos que empeoran si no son "demasiado" malos o si la temperatura es alta.
Los algoritmos de simulación de recocido también requieren un programa de enfriamiento para controlar la temperatura. Se presenta uno muy sencillo, el programa de enfriamiento geo- métrico (Collins, Eglese y Golden, 1988). Después de una pasada completa por el conjunto de trabajos, la temperatura se sustituye por la temperatura que se tiene multiplicada por una cons- tante. Esta constante, llamada tasa de enfriamiento, se denota por R y es menor que 1. Cada pa- sada completa por el conjunto de trabajos da como resultado una disminución de la temperatu- ra. Se han propuesto métodos más complicados, como un programa logarítmico. Se dice que el proceso está "congelado" cuando el procedimiento ha realizado K "pasadas" consecutivas por el conjunto de trabajos sin mejorar el costo.
Como el costo de la semilla puede aumentar, el algoritmo guarda el costo menor que se ha- ya descubierto en alguna iteración. Esto se llama secuencia incumbente, y asegura que la so- lución con el menor costo esté disponible, aun cuando el proceso termine con una semilla de costo más alto.
Se puede establecer un algoritmo para la simulación de recocido para el problema de la tar- danza en una sola máquina. Como antes, se usa IAP para generar vecinos, FEC como la semilla
inicial y se elige el primer vecino que acepte el criterio de la simulación de recocido que se ana- lizó.
Paso 1. Sea T = 1 la temperatura inicial, R = 0.95 la tasa de enfriamiento y K = 5 el límite de