Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RESUMEN
En este documento se pretende solucionar un problema especfico de programacin lineal, aplicando
el mtodo de Recocido Simulado con el objetivo principal de obtener la respuesta que permita optimizar
la(s) funcin(es) resultado, garantizando con ello una buena solucin al problema planteado sin que
necesariamente sea la mejor, a sabiendas que el proceso de optimizacin de una funcin lineal implica que
las variables de cada una de las funciones estn condicionadas a una serie de restricciones las cuales sern
obtenidas con el anlisis que se estar aplicando.
Palabras Claves: Recocido simulado, algoritmo, optimizacin, probabilidad, solucin, incertidumbre,
programacin lineal.
ABSTRACT
This article aims to solve a specific problem of linear programming, using the Simulated Annealing
method with the main objective to get the answer to optimize the result function, thereby ensuring a good
solution to the problem without necessarily the better, knowing that the process of optimizing a linear
function implies that the variables of each of the functions are conditional on a number of restrictions
which will be obtained from the analysis it will be applied.
Keywords: Simulated annealing, algorithm, Optimization, probability, uncertainty, linear programming.
INTRODUCCIN
Con la evolucin acelerada que ha presentado el campo de la inteligencia artificial en la bsqueda y
aplicacin de mtodos que permitan modelar matemticamente el comportamiento humano de manera que
cada vez parezcan ms reales, como tambin en la aplicacin de estos modelos en la solucin de problemas
reales cotidianos, obteniendo respuestas buenas sin que necesariamente resulte ser la mejor aplicable.
El modelo de funcionamiento del algoritmo a implementar, procede del proceso fsico del templado
de metales; para conseguir que la estructura molecular del metal tenga las propiedades deseadas de
resistencia o flexibilidad, se hace necesario controlar la velocidad del proceso de templado (enfriamiento),
el cual hecho adecuadamente, conduce al estado final del metal es un estado de mnima energa.
Toda la optimizacin del procedimiento anterior es posible gracias al algoritmo de Recocido
Simulado pues ste, est basado en una analoga entre el proceso de enfriamiento de slidos y la
problemtica de resolver problemas de optimizacin combinatoria de gran escala.
CONCEPTOS GENERALES
Como punto de partida en este escrito, se toman fundamentos bsicos del proceso de recocido de un slido, los cuales
sern citados en la terminologa utilizada en el desarrollo de esta temtica; el recocido se refiere a un proceso de calentamiento
de un slido a una temperatura en la que sus granos deformados recristalizan para producir nuevos granos. La temperatura de
recocido o de recristalizacin, depende del tipo de material, del grado de deformacin del mismo, adems de su uso futuro.
Seguida a la fase de calentamiento, viene un proceso de enfriamiento en donde la temperatura se baja poco a poco. De esta
manera, cada vez que se baja la temperatura, las partculas se reacomodan en estados de ms baja energa hasta que se obtiene un
slido con sus partculas acomodadas conforme a una estructura de cristal. Si se comienza con un valor mximo de la
temperatura, en la fase de enfriamiento del proceso de recocido, para cada valor de la temperatura T debe permitirse que se
alcance su equilibrio trmico. Sin embargo, si el proceso de enfriamiento es demasiado rpido y no se alcanza en cada etapa el
equilibrio trmico, el slido congelar en un estado cuya estructura ser amorfa en lugar de la estructura cristalina de ms baja
energa. La estructura amorfa est caracterizada por una imperfecta cristalizacin del slido.
PROGRAMACIN LINEAL
La programacin lineal estudia el problema de minimizar o maximizar una funcin lineal en la presencia de
desigualdades lineales. George B. Dantzig desarroll el mtodo simplex en 1947, desde ah la programacin lineal se ha utilizado
extensamente en el rea militar, industrial, gubernamental y de planificacin urbana, entre otras. La popularidad de la
programacin lineal se puede atribuir a muchos factores, incluyendo su habilidad para modelar problemas grandes y complejos,
y la habilidad de los usuarios para resolver problemas a gran escala en un intervalo de tiempo razonable mediante el uso del
mtodo simplex y de computadoras.
Un problema de programacin lineal es un problema de minimizar o maximizar una funcin lineal en la presencia de
restricciones lineales del tipo desigualdad, igualdad o ambas.
3
El RS aplicado a problemas de optimizacin surgi en los trabajos independientes de Kirkpatrick et al. (1983) y Cerny
(1985), en donde se aplic esta tcnica a la solucin de problemas como el particionamiento de grafos y el diseo de circuitos
VLSI. Corresponde a uno de los algoritmos de bsqueda local en el que no se preocupa por los caminos sino que se enfoca en su
gran parte en el estado actual y se mueve de un estado vecino hacia otro, tiene ventajas importantes como, que es ahorrativo toda
vez que usa poca memoria porque no guarda la secuencia de estados, es razonable puesto que ofrece buenas soluciones a un
problema cuando el espacio de los estados es infinito y ptimo, porque encuentra el mejor estado posible con base a una funcin
objetivo.
La forma en la que funciona un algoritmo de bsqueda local como el recocido simulado, es intentando mejorar una
solucin ya dada y encontrar la mejor de las soluciones posibles en el menor tiempo, pero para ello necesita de operadores, estos
pueden maximizar o minimizar la solucin combinando tambin las restricciones del problema. Una funcin maximiza un
problema cuando su solucin corresponde directamente al objetivo, es decir que para hacer ms ptima una respuesta se trata de
maximizar el objetivo. Una funcin minimiza un problema cuando su solucin se basa en los costos, por lo cual es necesario
hacerlos lo ms mnimos posibles.
Este tipo de algoritmo bsico de bsqueda local, tiene como desventaja que es susceptible a quedar atrapado con
facilidad en ptimos locales. Para evitar este problema, usualmente se permite que algunos movimientos produzcan
configuraciones que empeoran la solucin actual. Dichos movimientos ayudan a escapar de ptimos locales, pero se deben
realizar de manera controlada. En el recocido simulado esto se lleva a cabo de manera probabilstica.
Las soluciones de un problema de optimizacin combinatoria son equivalentes a los estados de un sistema fsico. El
costo de una solucin es equivalente a la energa de un estado. Adems, se introduce un parmetro que juega el papel equivalente
de la temperatura. Este parmetro se llama el parmetro de control. El algoritmo de recocido simulado puede verse como una
iteracin del algoritmo de Metropolis1, evaluado en valores decrecientes del parmetro de control.
En la Tabla 1 se muestra la analoga entre el sistema fsico del RS y un problema de optimizacin, en la cual se puede
observar que cada parmetro de la versin computacional del recocido representa un componente del sistema fsico que se aplica
al recocido de metales. El RS es fcil de implementar, pero requiere de un cuidadoso proceso de sintonizacin tanto de sus
componentes como de sus parmetros con la finalidad de
lograr
su
mejor desempeo.
1 El algoritmo de Metropolis realiza un muestreo usando el factor de Boltzmann para aceptar o descartar configuraciones. Metropolis funciona
bien si todas las configuraciones posibles del sistema se encuentran dentro de un rango relativamente angosto de energas. Si por el contrario la
separacin entre las configuraciones de menor energa y las de ms alta energa es muy grande el algoritmo de Metropolis tender a quedarse
atrapado en algunos de los mnimos locales del sistema.
4
En el algoritmo 1 se puede observar el pseudocdigo del RS que se propone para dar solucin al problema de MAG, el
cual es llamado RS-MAG
Algoritmo 1 RS
Mtodo para
Funcin
de
Ms an para mantener el avin balanceado, el peso de la carga en los respectivos compartimientos debe ser
proporcional a su capacidad. Se tienen ofertas para transportar cuatro cargamentos en un vuelo prximo ya que se cuenta con
espacio:
Se puede aceptar cualquier fraccin de estas cargas. El objetivos es determinar cul cantidad de cada carga debe
aceptarse (si se acepta) y como distribuirla en los compartimientos para maximizar la ganancia de vuelo.
Z (Max) = 320 (X1D + X1C + X1T) + 400 (X2D + X2C + X2T) + 360 (X3D + X3C + X3T) +
+ 290 (X4D + X4C + X4T)
Restricciones a tener en cuenta
1.
2.
6
3.
Restricciones de Proporcionalidad
XID + X 2 D+ X 3 D+ X 4 D X 1C + X 2C + X 3 C+ X 4 C X 1 T + X 2T + X 3 T + X 4 T
=
=
12
18
10
XID + X 2 D+ X 3 D+ X 4 D X 1C + X 2C + X 3 C+ X 4 C
=
12
18
18 X 1 D+18 X 2 D+ 18 X 3 D+18 X 4 D=12 X 1C +12 X 2 C+ 12 X 3 C+ 12 X 4 C
X 1 C+ X 2C + X 3 C+ X 4 C X 1 T + X 2 T + X 3 T + X 4 T
=
18
10
XID+ X 2 D+ X 3 D+ X 4 D X 1T + X 2 T + X 3 T + X 4 T
=
12
10
IMPLEMENTACIN DEL ALGORITMO DEL SIMULATED ANNEALING
RESULTADOS OBTENIDOS
GRAFICAS DE LA SALIDA EN EL SIMULATED ANNEALING
CONCLUSIONES
BIBLIOGRAFA
http://www.tamps.cinvestav.mx/~ertello/theses/MScThesis-LuisBetancourt2011.pdf
Universidad Autnoma Metropolitana. Optimizacin con Recocido Simulado para el Problema de
Conjunto Independiente. Recuperado el 10 de noviembre de 2015, de
http://www.azc.uam.mx/publicaciones/enlinea2/3-2rec.htm
Departamento de Ciencias de la Computacin. 2012-2013. Simulated Annealing, Un algoritmo
estocstico de bsqueda local. Recuperado el 1 de noviembre de 2015, de
http://www.cs.upc.edu/~mabad/IA/SIMULATED%20ANNEALING.pdf