heurística - Heuristíca

Anuncio
HEURÍSTICA
República Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación Superior
Instituto Universitario Politécnico
“Santiago Mariño”
Extensión Maracay
Escuela de Ingeniería de Sistemas
Elaborado por:
TSU. Brito Jennifer
TSU. Ramírez María
TSU. Izquierdo Paúl
Docente:
ING. Zapata José
Cátedra:
Investigación de Operaciones II
1
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
1.) HEURÍSTICA.
La Heurística es la capacidad que ostenta un sistema determinado para realizar de manera
inmediata innovaciones positivas para sí mismo y sus propósitos.
Esta capacidad es una característica inherente a los seres humanos, ya que a través de esta
los individuos podemos descubrir cosas, inventar otras tantas, resolver problemas mediante la
creatividad o el pensamiento lateral, entre otras alternativas.
2.) ETIMOLOGÍA HEURÍSTICA.
La enorme popularidad del término se le debe al matemático George Pólya, quien a
través de varias propuestas heurísticas que volcó en su libro Cómo Resolverlo, se convirtió en
una invalorable ayuda para sus alumnos a la hora de las tareas matemáticas.
Entre otras cosas, Pólya, allí les aconsejaba, que en el caso de no comprender un
problema, lo mejor sería dibujar un esquema sobre el, si el problema en cuestión es abstracto,
probar de pasarlo a un tema concreto, sin dudas,
ejemplos, que ilustran mejor que nada el concepto de
heurística.
Como buena disciplina científica, la Heurística
es plausible de ser aplicada a cualquier ciencia,
2
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
incluyendo la elaboración de medios auxiliares, reglas, principios, estrategias, programas, entre
otros, que faciliten distintas alternativas para la solución de los problemas.
El método Heurístico, entonces, está compuesto por los siguientes elementos: principios
(sugerencias para hallar la solución: analogía y reducción); reglas (ayudan a encontrar los
medios para resolver los problemas, entre las más empleadas se cuentan: separar lo dado de
aquello buscado, confección de mapas, esquemas, utilización de números, reformulación de
problemas) y estrategias (recursos organizativos funcionales al proceso de resolución, pueden
ser de dos tipos: el trabajo hacia delante o el trabajo hacia atrás).
En el ámbito de la Psicología, la heurística se encuentra estrictamente relacionada a la
creatividad y se dice que la misma es fundamental a la hora de orientar en la toma de
decisiones y para explicar cómo se llega a un juicio o a la solución de un problema
determinado. Suele estar asociada a lo que en este contexto se denomina atajo mental. Uno de
los tipos de atajo más comunes es el del estereotipo, se juzga a un individuo en relación, por
ejemplo, del grupo social al cual pertenece, aunque claro, esta cuestión puede hacernos incurrir
en errores o interpretaciones incorrectas.
3.) INTRODUCCIÓN A LOS PROCESOS HEURÍSTICOS.
Los métodos heurísticos son estrategias generales de resolución y reglas de decisión
utilizadas por los que desean solucionar problemas, basadas en la experiencia previa con
problemas similares. Estas estrategias indican las vías o posibles enfoques a seguir para
alcanzar una solución.
3
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Los métodos heurísticos pueden variar en el grado de generalidad. Algunos son muy
generales y se pueden aplicar a una gran variedad de dominios, otros pueden ser más
específicos y se limitan a un área particular del conocimiento.
3.1.) Los Procedimientos Heurísticos.
Son formas de trabajo y de pensamiento que apoyan la realización consciente de
actividades mentales exigentes. Los Procedimientos Heurísticos como Método científico
pueden dividirse en principios, reglas y estrategias.
Principios Heurísticos.
Constituyen sugerencias para encontrar (directamente) la idea de solución; posibilita
determinar, por tanto, a la vez, los medios y la vía de solución. Dentro de estos principios se
destacan la analogía y la reducción.
3.2.) REGLAS HEURÍSTICAS.
► Reglas Heurísticas: actúan como impulsos generales dentro del proceso de búsqueda y
ayudan a encontrar, especialmente, los medios para resolver los problemas. Las Reglas
Heurísticas que más se emplean son:
► Separar lo dado de lo buscado.
►
Confeccionar figuras de análisis:
esquemas, tablas, mapas, etc.
4
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
► Representar magnitudes dadas y buscadas con variables.
► Determinar si se tienen fórmulas adecuadas.
► Utilizar números (estructuras más simples) en lugar de datos.
► Reformular el problema.
3.3.) ESTRATEGIAS HEURÍSTICAS.
► Estrategias Heurísticas: se comportan como recursos organizativos del proceso de
resolución, que contribuyen especialmente a determinar la vía de solución del problema
abordado. Existen dos estrategias:
► El trabajo hacia adelante: se parte de lo dado para realizar las reflexiones que han de
conducir a la solución del problema.
5
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
► El trabajo hacia atrás: se examina primeramente lo que se busca y, apoyándose de
los conocimientos que se tienen, se analizan posibles resultados intermedios de lo que se puede
deducir lo buscado, hasta llegar a los dados.
4.) MÉTODOS HEURÍSTICOS DE SOLUCIÓN
Dadas las desventajas del método de Wagner-Whitiny la relativa complejidad de los
modelos de programación matemática, es muy útil describir algunas técnicas heurísticas que
han demostrado alta eficiencia y eficacia en la solución de problemas prácticos de inventarios
con demanda variable con el tiempo.
Un método heurístico resulta ser un enfoque que aprovecha la estructura del problema.
Mediante el uso de un conjunto de reglas “racionales”, obteniendo una solución buena, es decir
cercana a la óptima o en ocasiones la óptima.
Los métodos heurísticos se usan cuando no es posible o no es computacionalmente
factible obtener el óptimo. Se presentan 3 enfoques heurísticos.
► SILVER-MEAL SM
► COSTO UNITARIO MÍNIMO CUM
► BALANCEO DE PARTE DEL PERIODO BPF.
4.1.) El heurístico de Silver-Meal
Este método fue desarrollado por Silvery Meal (1973) y ha demostrado un
funcionamiento satisfactorio cuando el patrón de demanda es muy variable, es decir; cuando el
método del lote económico de pedido y otros métodos heurísticos no producen buenos
6
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
resultados. El criterio básico de este método es el de minimizar los costos de ordenamiento y
mantenimiento del inventario por unidad de tiempo. Como antes, las cantidades de pedido están
restringidas a lo necesario para cubrir un número entero de períodos.
Sea TRC(T) el costo total relevante asociado con un pedido que dura T períodos. El
costo total relevante por unidad de tiempo, TRCUT(T), será entonces RC(T)/T, o más
precisamente:
El método inicia con el período 1, para el cual TRC(1)/1 =A/1 =A; continúa con el período 2,
para el cual TRC(2)/2= [A+D2vr(1)]/2; luego, con el período 3, para el cualTRC(3)/3 =
[A+D2vr(2) +D3vr(1)]/3; y así sucesivamente hasta que se observe que el costo por unidad de
tiempo se incrementa de un período a otro. En este momento se para el proceso y se define la
cantidad a ordenar en el período 1 igual a la suma de las demandas de los períodos para los
cuales no se incrementó el costo total relevante por unidad de tiempo. El proceso comienza de
nuevo a partir del período T para el cual se incrementó el TRC (T) T por primera vez, y se
continúa de esta manera hasta el final del horizonte de planeación. Este método no garantiza la
optimización porque puede verse atrapado en un mínimo local, pero ha demostrado tener muy
buenos resultados en la práctica
En el siguiente ejemplo se debe comprobar que el algoritmo de Silver-Meal produce la
solución óptima.
7
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Como puede observarse, el primer período para el cual el costo total relevante por unidad
de tiempo se incrementa, es el mes 4. Por lo tanto, el método nos sugiere ordenar en el mes 1la
demanda correspondiente a los meses 1, 2 y 3. El proceso continúa entonces a partir del mes 4.
Se sugiere al lector completar los cálculos hasta el mes 12, y comprobar lo expresado
anteriormente en el sentido que este algoritmo produce la solución óptima para este ejemplo.
Cuando la demanda no es muy variable, la diferencia entre los resultados de este método
y el del EOQ no difiere significativamente. Para determinar cuando utilizar uno u otro método,
recuérdese el coeficiente VC definido anteriormente en la expresión (4.11). Se ha encontrado a
través de estudios experimentales lo siguiente:
► Si VC < 0.2, entonces puede utilizarse el método del EOQ con la demanda promedio
sobre el horizonte de planeación, ya que produce buenos resultados.
►Si VC ≥ 0.2, entonces se sugiere utilizar el heurístico de Silver-Meal.
8
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Es importante notar que se ha encontrado que la aplicación del heurístico de Silver-Meal
en casos para los cuales el patrón de demanda decrece rápidamente con el tiempo a través de
varios períodos, o cuando existe un gran número de períodos con cero demanda, no
ha producido buenos resultados. Para estos casos, por lo tanto, sería recomendable utilizar el
método de Wagner-Whitin o el de modelación matemática.
El manejo de descuentos por cantidad
Una extensión importante del heurístico de Silver-Meal es la de permitir el manejo de
descuentos por cantidad. Considérese, el ejemplo, donde el valor unitario del ítem bajo
consideración viene dado por:
En este caso, no necesariamente debe ordenarse una cantidad para cubrir los
requerimientos de un número entero de períodos, ya que es posible que la mejor política sea
ordenar una cantidad igual al punto de quiebre, Q 1, la cual no necesariamente cubre una
cantidad entera de períodos. Lamarre y Baier (1981) desarrollaron una variante del algoritmo
de
Silver-Meal para
tener
en cuenta
esta
consideración, a
través de
extensiva experimentación. Sea T1 el número de períodos (no necesariamente entero) que
podría cubrir la cantidad Q1. Se calcula entonces los costos totales por unidad de tiempo
para T1, o sea:
9
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Donde [T1] es la parte entera de T1 (por ejemplo, si T1 = 4.6, entonces [T1] = 4) y d es la
fracción de descuento obtenida por cantidades iguales o superiores aQ1. Igualmente, deben
calcularse los costos por unidad de tiempo para cantidades enteras de T, de acuerdo con las
siguientes expresiones
5.) APLICACIONES DE HEURÍSTICA EN LA CIENCIA.
10
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Como disciplina científica, la heurística es aplicable a cualquier ciencia e incluye la
elaboración de medios auxiliares, principios, reglas, estrategias y programas que faciliten la
búsqueda de vías de solución a problemas; o sea, para resolver tareas de cualquier tipo para las
que no se cuente con un procedimiento algorítmico de solución. Los Procedimientos
Heurísticos
como
Método
científico
pueden
dividirse
en
principios,
reglas
y
estrategias. Principios Heurísticos: constituyen sugerencias para encontrar (directamente) la
idea de solución; posibilita determinar, por tanto, a la vez, los medios y la vía de solución.
Dentro de estos principios se destacan la analogía y la reducción. Reglas Heurísticas: actúan
como impulsos generales dentro del proceso de búsqueda y ayudan a encontrar, especialmente,
los medios para resolver los problemas.
Ejemplo
Los métodos de búsqueda heurística disponen de alguna información sobre la proximidad
de cada estado a un estado objetivo, lo que permite explorar en primer lugar los caminos más
prometedores.
► Son características de los métodos heurísticos:
► No garantizan que se encuentre una solución, aunque existan soluciones.
► Si encuentran una solución, no se asegura que ésta tenga las mejores propiedades (que
sean de longitud mínima o de coste óptimo).
► En algunas ocasiones (que, en general, no se podrán determinar a priori), encontrarán
una solución (aceptablemente buena) en un tiempo razonable.
Actividad: Problema de Guarini (1512). En el siguiente tablero 3x3 intercambiar la
posición de los caballos blancos y negros en el menor número de movimientos.
11
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Actividad: Se trata de “girar” los caballos alrededor del tablero en la misma dirección.
Como en cada fase se mueven los 4 caballos, hacen falta 16 movimientos.
12
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
5.1) LA HEURÍSTICA EN LA INFORMÁTICA
En computación, dos objetivos fundamentales son encontrar algoritmos con buenos
tiempos de ejecución y buenas soluciones, usualmente las óptimas. Una heurística es un
algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente encuentran buenas
soluciones, aunque no hay pruebas de que la solución no pueda ser arbitrariamente errónea en
algunos casos; o se ejecuta razonablemente rápido, aunque no existe tampoco prueba de que
siempre será así.
Las heurísticas generalmente son usadas cuando no existe una solución
óptima bajo las restricciones dadas (tiempo, espacio, etc.), o cuando no existe del todo.
A menudo, pueden encontrarse instancias concretas del problema donde la heurística
producirá resultados muy malos o se ejecutará muy lentamente. Aun así, estas instancias
concretas pueden ser ignoradas porque no deberían ocurrir nunca en la práctica por ser de
origen teórico. Por tanto, el uso de heurísticas es muy común en el mundo real.
Heurísticas para encontrar el camino más corto.
Para problemas de búsqueda del camino más corto el término tiene un significado más
específico. En este caso una heurística es una función matemática, h(n) definida en los nodos
de un árbol de búsqueda , que sirve como una estimación del coste del camino más económico
de un nodo dado hasta el nodo objetivo. Las heurísticas se usan en los algoritmos de búsqueda
informada como la búsqueda egoísta. La búsqueda egoísta escogerá el nodo que tiene el valor
más bajo en la función heurística. A* expandirá los nodos que tienen el valor más bajo
13
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
para g(n)+h(n), donde g(n) es el coste (exacto) del camino desde el estado inicial al nodo
actual. Cuando h(n) es admisible, esto es si h(n) nunca sobrestima los costes de encontrar el
objetivo; A* es probablemente óptimo.
Un problema clásico que usa heurísticas es el puzzle-n. Contar el número de casillas mal
colocadas y encontrar la suma de la distancia Manhattan entre cada bloque y su posición al
objetivo son heurísticas usadas a menudo para este problema.
Efecto de las heurísticas en el rendimiento computacional.
En cualquier problema de búsqueda donde hay b opciones en cada nodo y una
profundidad
d al nodo objetivo, un algoritmo de búsqueda ingenuo deberá buscar
potencialmente entre bd nodos antes de encontrar la solución. Las heurísticas mejoran la
eficiencia de los algoritmos de búsqueda reduciendo el factor de ramificación de b a
(idealmente) una constante b*.
Aunque cualquier heurística admisible devolverá una respuesta óptima, una heurística que
devuelve un factor de ramificación más bajo es computacionalmente más eficiente para el
problema en particular. Puede demostrarse que una heurística h2(n) es mejor que otra h1(n),
si h2(n) domina h1(n), esto quiere decir que h1(n)<h2(n) para todo n</h
14
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Heurísticas en la inteligencia artificial
Muchos algoritmos en la inteligencia artificial son heurísticos por naturaleza, o usan
reglas heurísticas. Un ejemplo reciente es SpamAssassin que usa una amplia variedad de reglas
heurísticas para determinar cuando un correo electrónico es spam. Cualquiera de las reglas
usadas de forma independiente pueden llevar a errores de clasificación, pero cuando se unen
múltiples reglas heurísticas, la solución es más robusta y creíble. Esto se llama alta credibilidad
en el reconocimiento de patrones (extraído de las estadísticas en las que se basa). Cuando se
usa la palabra heurística en el procesamiento del lenguaje basado en reglas, el reconocimiento
de patrones o el procesamiento de imágenes, es usada para referirse a las reglas.
15
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
6.) PARADIGMA HEURÍSTICO.
Muchas de las tareas más interesantes y difíciles de programación implican utilizar el
ordenador para resolver problemas del tipo: "¿Cuál es el camino más corto?" "Listar todos los
casos posibles", "¿Existe una disposición de elementos que satisfaga?. Las características de
estos problemas implica potencialmente una búsqueda exhaustiva de todas las posibles
combinaciones de algún conjunto finito, que si no está controlado puede producir una
"explosión combinatoria" (incremento exponencial del espacio de búsqueda con la dimensión
del problema) imposible de tratar.
La Programación Heurística ha venido a significar el uso del conocimiento específico del
dominio para cubrir esta explosión de posibilidades guiando la búsqueda por las direcciones
más prometedoras. Se puede definir como "aquel tipo de programación computacional que
aplica para la resolución de problemas reglas de buena lógica (reglas del pulgar). denominadas
heurísticas, las cuales proporcionan entre varios cursos de acción uno que presenta visos de ser
el más prometedor, pero no garantiza necesariamente el curso de acción más efectivo."
La Programación Heurística implica una forma de modelizar el problema en lo que
respecta a la representación de su estructura, estrategias de búsqueda y métodos de resolución,
que configuran el Paradigma Heurístico.
Este tipo de programación se aplica con
mayor intensidad en el campo de la Inteligencia
16
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Artificial (IA), y en especial, en el de la Ingeniería del Conocimiento, dado que el ser humano
opera la mayor parte de las veces utilizando heurísticas, un hecho cierto que una heurística es la
conclusión del razonamiento humano en un dominio específico, por lo que es normal que este
tipo de programación que encuadrado en el área de la I.A., ya que implementa el conocimiento
humano, dado por la experiencia, utilizando reglas de buena lógica.
Como se ha señalado inicialmente, un paradigma de programación es un modelo básico
de diseño e implementación de programas. Un modelo que permite producir programas de
acuerdo con una metodología específica. Así, el paradigma de programación estructurada se
basa en estructuras modulares, con fuerte cohesión en el módulo y bajo acoplamiento entre
ellos, desarrollo "top-down", utilización de diagramas privilegiados, etc.
El Paradigma Heurístico define pues, un modelo de resolución de problemas en el que se
incorpora alguna componente heurística sobre la base de:
Una representación más apropiada de la estructura del problema para su resolución con
técnicas heurísticas
La utilización de métodos de resolución de problemas aplicando funciones de evaluación
con procedimientos específicos de búsqueda heurística para la consecución de las metas.
Por otra parte, la Programación Heurística se presenta y utiliza desde diferentes puntos
de vista.
Como técnica de búsqueda para la obtención de metas en problemas no algorítmicos, o
con algoritmos que generan explosión combinatoria (ej. damas. ajedrez, etc.).
17
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
En Herramientas
► Tratamiento fundamentalmente simbólico, dado que la mayor parte de los problemas
que precisan tratamiento heurístico tienen estructura simbólica.
► Unidades funcionales autónomas que posibiliten modelar una heurística y su
mecanismo de ejecución, definiendo módulos independientes.
► Estructuras de datos que permitan describir estados de problemas y relaciones entre
estados.
► Estructuras procedimentales de control y de proceso (o de definición) que permitan la
ejecución coherente del modelo heurístico, y posibiliten la adquisición y utilización del
conocimiento adquirido en el proceso de resolución del problema.
7.) PASOS DEL MÉTODO HEURÍSTICO
1.- Comprender el problema
Es importante reflexionar en cuestiones como “que se pide” “que se tiene” y “a donde se
quiere llegar”. Algunas preguntas que debemos hacernos: ¿Cuál es la incógnita? ¿Es la
condición suficiente para determinar la incógnita? ¿Es suficiente?
En la siguiente se muestran los siente puentes de Koninsberg ¿Es posible hacer el
recorrido sin pasar dos veces por el mismo puente?.
18
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
2.-. Concebir un plan.
Puedes usar la estrategia que creas conveniente. Cada quien puede establecer el camino
o caminos a seguir. Algunas preguntas que debemos hacernos: ¿Se ha encontrado con un
problema semejante? ¿Ha visto el mismo problema planteado en otra forma? ¿Conoce
problemas relacionados con este? ¿Se podría utilizar el problema relacionado con este ya
resuelto? ¿Podría enunciar el problema en otra forma? ¿Se necesita algún elemento auxiliar?
¿Podría emplear su resultado y método?
3.- Ejecutar el plan
En la formación de conceptos matemáticos, se requiere emplear
un pensamiento móvil y flexible, debemos ser capaces de encontrar
distintos caminos, rodeos, asociaciones, para llegar a una solución;
19
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
retornar después de un cambio al punto de partida. De esta forma debemos revisar lo que
hemos hecho y de ser necesario anularlo previamente y entonces estructurar las relaciones de lo
encontrado.
4.- Examinar la solución obtenida.
20
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Comprobar y examinar la solución obtenida debemos hacernos las preguntas siguientes:
¿Puede verificarse el resultado? ¿Puede verificarse el razonamiento? ¿Puede obtenerse el
resultado en forma diferente? ¿Puede verse de golpe? ¿Puede emplearse el resultado o el
método en otro problema? La retrospectiva permite revisar como se pensó inicialmente, como
se encamino una estrategia, como e efectuaron los cálculos; en fin, todo el camino recorrido
para obtener la solución.
En el problema de grafos que admiten un recorrido euleriano se tiene, que ocurre cuando
se tienen al menos dos puntos a los que llegan un número par de líneas.
8.) CLASIFICACIÓN MÉTODOS HEURÍSTICOS
Existen diferentes métodos heurísticos, esto está dado por su naturaleza compleja y
variada, es difícil definir una clasificación por esta razón ya que la mayoría de ellos se
construyen para un problema en particular, lo que significa que su aplicación a otros
problemas similares sea casi imposible.
El siguiente esquema muestra categorías más amplia, no excluyentes, en donde se ubican
a los métodos heurísticos más conocidos.
► Métodos de Descomposición: el problema original se descompone en sub problemas
más sencillos de resolver.
► Métodos Inductivos: es generalizar de de versiones más pequeñas a lo más
complejos.
►
Métodos de Reducción: el objetivo es restringir el espacio de soluciones
simplificando el problema.
21
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
► Métodos Constructivos: consisten en construir literalmente paso a paso la solución
del problema. Usualmente son métodos deterministas y suelen estar basados en la mejor
elección de cada iteración.
►
Métodos de
Búsqueda
Local: a diferencia de los métodos anteriores, el
procedimiento de búsqueda o mejora local, comienza con una solución del problema y la
mejoran progresivamente, el método finaliza cuando no existe ninguna solución accesible que
mejore la anterior.
Los métodos constructivos y los de búsqueda local son la base de los métodos Metaheurísticos
8.1.) MÉTODOS META-HEURÍSTICOS
En las últimas décadas han aparecidos una serie de métodos bajo el nombre de Metaheurísticos con el objetivo optar a mejores resultados que los métodos
heurísticos
tradicionales.
Los métodos Meta-heurísticos son estrategias para diseñar o mejorar procedimientos
heurísticos con miras a obtener un alto rendimiento de soluciones en dominios donde la
ejecución de procesos se vuelve compleja. Las meta-heurística se aplican a problemas
clasificados como NP-Hard, como también se aplican a problemas de combinatoria en los
cuales existe una solución de tiempo polinómico pero que no es práctica.
La Meta-heurísticas se pueden clasificar como:
► Meta-heurísticos constructivas: Este tipo de meta-heurística va incorporando
elementos a una estructura inicialmente vacía que representa la solución.
22
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
► Meta-heurísticos evolutivas: Son métodos que van construyendo un conjunto
de soluciones a diferencia de los otros métodos que solo pasan de una solución a otra en cada
iteración.
► Meta-heurísticos de búsqueda: Son métodos que presuponen que existe una solución y
realizan procedimientos de búsqueda, la diferencia con los métodos analíticos es que no
necesariamente se encontrará la solución óptima.
8.2.) METODOLOGÍA BÚSQUEDA TABÚ o TABÚ SEARSH “TS”
Es sabido que los humanos posee un mecanismo de intuición que nos permite funcionar
con un mínimo o nada de información, por lo general se introduce una variable aleatoria en
nuestras decisiones lo cual promueve un nivel de inconsistencia en nuestro comportamiento, la
tendencia de estos comportamiento suele encaminarnos a dos caminos “los errores” y a una
“buena solución”. La Búsqueda Tabú quiere emular este comportamiento humano pero sin
utilizar elementos aleatorios. De acuerdo a esto esta metodología busca la mejor solución
posible de acuerdo al planteamiento del problema.
La Búsqueda Tabú es un procedimiento de búsqueda que utiliza memoria adaptativa y un
plan estratégico de resolución de problemas, en lo medular este tipo de procedimiento metaheurístico se basa en el aprovechamiento de diversas estrategias basadas en procedimiento de
aprendizaje, en otras palabras, la Búsqueda Tabú puede ser descrita como una búsqueda
inteligente para dirigir el proceso de búsqueda lejos de las soluciones locales, de este modo
encontrar mejores soluciones. La Búsqueda Tabú mejora los métodos locales de búsqueda
usando estructuras de memoria. Una vez que la solución potencial ha sido determinada ésta es
marcada como taboo (lista tabú), así el algoritmo no visita una posibilidad iterativamente.
23
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Búsqueda Tabú da origen al enfoque basado en memoria y estrategia intensiva, en la
literatura de la meta-heurística Búsqueda Tabú esta en contraposición con los métodos que
no tienen memoria o que sólo usan una débil memoria basada en herencia, también es
responsable de enfatizar el uso de los diseños estructurados para explotar los patrones
históricos de la búsqueda. Los principios fundamentales de la Búsqueda Tabú fueron
elaborados en una serie de artículos a finales de los años 80 y principios de los 90, y han sido
unificados en el libro “Tabú Search”
La Búsqueda Tabú estipula un procedimiento de búsqueda local para la búsqueda de la
atomicidad global, su política se basa en un marco de memoria adaptativa. La Búsqueda Tabú
está basada en la premisa de que para clasificar un procedimiento de resolución de problema
como inteligente, es necesario que este incorpore Memoria Adaptativa y Exploración
Inteligente. La memoria adaptativa permite procedimientos capaces de realizar búsqueda en un
espacio de soluciones eficaces y eficientes, debido a que las decisiones locales están guiadas
por la información obtenidas del proceso de búsqueda, la Búsqueda Tabú se contrasta con
procedimientos aleatorios que buscan un muestreo de la información.
El énfasis en la exploración inteligente deriva de la estrategia, que una mala elección
entrega más información que una buena elección realizada al azar, debido a que una elección
estrategia puede guiar a zonas más prometedoras.
La arquitectura de la Búsqueda Tabú funciona mediante referencia a cuatro dimensiones
principales, consistentes en la propiedad de ser residente, en frecuencia, en calidad y en
influencia. Las memorias basadas en lo reciente y en frecuencia se complementan la una a la
24
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
otra para lograr el balance entre intensificación y diversificación, la dimensión de calidad hace
referencia habilidad para diferenciar la bondad de las soluciones visitadas a lo largo del
proceso de búsqueda. La flexibilidad de las estructuras de memorias mencionadas hasta este
momento guía la búsqueda en un entorno multi-objetivo, dado que determinan la bondad de
búsqueda particular mediante más de una función. La memoria referida a la influencia
considera el impacto a la calidad de las decisiones tomadas durante la búsqueda, no sólo en lo
referente a la calidad de las soluciones si no también referente a las mimas.
Dentro de la memoria del procedimiento de Búsqueda Tabú se almacenan las soluciones
completas, soluciones que fueron visitadas durante la búsqueda y otro segmento de memoria
almacena información sobre determinados atributos de las soluciones que cambian al pasar por
una solución a otra. De cualquier manera estos segmentos de memoria son complementarios,
puesto que uno permite expandir los entornos de búsqueda usados durante un proceso de
búsqueda local mediante la inclusión de soluciones superiores mientras que el otro segmento
reduce determinados movimientos sobre las soluciones ya buscadas.
En la Búsqueda Tabú, tienen estrategias de intensificación y diversificación las cuales
constituyen dos elementos importantes ya que se encargan de la modificación de las reglas
para favorecer la elección de buenas combinaciones de movimientos y de características de
soluciones encontradas, además por otro lado tratan de conducir la búsqueda a zonas del
espacio de soluciones no visitadas anteriormente y generar nuevas soluciones que difieran
significativamente de las ya evaluadas. Los componentes básicos de la Búsqueda Tabú son: el
entorno, la lista tabú, el criterio de aspiración y el criterio de parada. De lo anterior el proceso
interno de la Búsqueda Tabú se puede resumir del siguiente modo:
25
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
► Mientras el criterio de parada sea falso
- Generar lista de candidatos de movimientos-vecinos
- Escoger el mejor vecino no tabú o que verifique el criterio de aspiración x
- Actualizar la solución actual, x=x
► Salida: la mejor solución encontrada.
Un ejemplo clásico son las permutaciones, que son ejemplos típicos de optimización, los
ejemplos más citados de problemas de permutaciones incluyen el problema del viajante de
comercio, asignación cuadrática, secuenciación de la producción, asignación de tareas.
Un ejemplo es la permutación de tareas de una maquina en donde se persigue el objetivo
de minimizar el retraso total de en la ejecución de las tareas, secuenciando las tareas de esta, en
este ejemplo la solución inicial se basa en encontrar una permutación de las tareas lo más
cercana a la óptima, la Búsqueda Tabú funciona bajo el supuesto que se puede construir un
entorno para identificar “soluciones adyacentes” que puedan ser alcanzadas bajo la solución
actual. Para este caso los intercambios de tareas son frecuentemente usados para definir
entornos de permutaciones, identificando movimientos que conducen a una solución a la
siguiente. Los movimientos proporcionan una base fundamental para evaluar la calidad de los
mismos, teniendo encuentra que otros criterios pueden ser importantes. Un mecanismo de
Búsqueda Tabú es clasificar un conjunto de movimientos que se marcaran como tabú o
prohibidos, esta clasificación depende la búsqueda determinada por los recientes o frecuentes
que ciertos movimientos o componentes de soluciones, llamados atributos que han participado
en la generación de soluciones pasadas, por ejemplo en el Cuadro 1 muestra el intercambio de
tareas con un mismo movimiento identificando el par de movimientos como idénticos, de esta
forma se busca evitar movimientos de búsqueda repetidos.
26
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Para el caso anterior las tareas enumeras 2 y 5 se resuelven como pares ordenados (2,5)
por tanto la permutación de (5,2) debe llevar al mismo valor de búsqueda de una solución
como en par de (2,5). De esta forma se clasifica como tabú el par (5,2).
Búsqueda Tabú puede ser convenientemente caracterizado en su búsqueda por entorno
(Glover & Batista, 1986), es decir una búsqueda en el entorno identifica para cada solución x
X, un conjunto asociados de vecinos N(x) X llamado entorno de x, los entornos se asumen
simétricos, es decir x' es un vecino de x y sólo si x es un vecino de x'.
Un vecino es un posible movimiento, el cual consiste en cambiar un atributo a la solución
actual por otro y el vecindario consiste en los vecinos que se pueden acceder desde una
solución X en particular.
27
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Los pasos de búsqueda por entorno se muestran a continuación:
Paso 1 (Inicialización).
(A) Seleccionar una solución de arranque xActual X.
(B) Almacenar la mejor solución actual conocida haciendo xMejor =
xActual y definiendo MejorCoste = c(xMejor).
Paso 2 (Elección y finalización).
Elegir una solucion xSiguiente 2 N(xActual). Si los criterios de elección
empleados no pueden ser satisfechos por ningún miembro de N(xActual),
o si se aplican otros criterios de parada, entonces el método para.
Paso 3 (Actualización).
Rehacer xActual = xSi
El método de búsqueda en el entorno puede ser alterado fácilmente añadiendo
provisiones especiales para generar una variedad de procedimientos clásicos.
La Búsqueda Tabú, emplea una filosofía diferente a otros métodos heurísticos para ir más
allá del criterio de finalizar en un óptimo local. Se reduce el énfasis en que sea aleatorio y
generalmente se usa en un modo altamente restringido, con el supuesto de que la búsqueda
inteligente debería estar basada en formas más sistemáticas de dirección. Por consiguiente,
muchas implementaciones de Búsqueda Tabú son en gran parte deterministas, es decir, la
Búsqueda Tabú “determinística” selecciona movimientos según probabilidades basadas en el
estado y en las evaluaciones asignadas a estos movimientos por los principios básicos de la
Búsqueda Tabú.
28
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
En Conclusión, la Búsqueda Tabú se fundamenta en tres premisas:
1. El uso de estructuras flexibles de memorias basadas en atributos, diseñadas para
permitir una mejor explotación de los criterios de evaluación e información histórica de la
búsqueda.
2. Un mecanismo de control, para emplear las estructuras de memoria, este mecanismo se
basará en la interacción entre las condiciones que limitan y hacen más flexibles el procesos de
búsqueda. Este mecanismo se encuentra inmerso en la técnica en la forma de restricciones y
criterios de aspiración (criterio que permite que un movimiento pierda el estatus de “tabú”
debido que proporciona una mejor solución que la actual).
3. La incorporación de memorias, memorias de corto y largo plazo, para implementar
estrategias que intensifiquen la búsqueda y la diversifiquen, las estrategias de intensificación
refuerzan las propiedades de las combinaciones de movimiento que han demostrado ser buenas,
mientras que las estrategias de diversificación dirigen la búsqueda hacia nuevas regiones del
espacio de soluciones factibles. Estos dos mecanismos evitan que una solución quede en un
óptimo local, es decir, el primer mecanismo nos permite delimitar la región del espacio de
búsqueda, mientras que la segunda permite saltar a nuevas regiones del mismo.
Esta metodología parte de la premisa que ya hay una solución dada o se busca una al
azar, de este modo se trabaja sobre una solución dada aunque esta no sea óptima.
Llevando el análisis teórico de la metodología al problema de asignación de salas se
puede observar que esta metodología puede encontrar soluciones factibles de considerar
buenas, sí consideramos no aplicar ninguna restricción al hacer el proceso de búsqueda y
29
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
asignación, de otro modo este método puede transformarse en algo inmanejable debido a que
tendría que integrar las restricciones y requerimientos propios de una distribución de cursos a
las salas de clases.
8.3.) METODOLOGÍA PROCEDIMIENTO DE BÚSQUEDA BASADOS EN
FUNCIONES “GREEDY” ALEATORIZADAS ADAPTATIVAS. “GRASP”
La metodología GRASP fue desarrollada al final de la década de los 80 con el objetivo
inicial de resolver problemas de cubrimientos de conjuntos (Feo & Resende, A probabilistic
heuristic for a computationally difficult set covering problem., 1989) esta metodología ha sido
uno de los métodos meta-heurísticos más exitosos de los últimos años. El término GRASP fue
introducido por Feo y Resende en 1995 (Feo & Resende, Greedy randomized adaptive search
procedures, 1995) como una nueva técnica meta-heurística de propósito general. GRASP es el
acrónimo de Greedy Randomized Adaptive Search Procedure que significa Procedimiento de
Búsqueda Basados en Funciones “Greedy” Aleatorizadas Adaptativas.
Al definir la metodología GRASP es conveniente que podamos relacionarlo a otros
métodos, dentro del conjunto de las meta-heurísticas para entender su procedimiento, lo más
similar a este método sea referirse al método Multi-start el cual consiste en generar múltiples
soluciones iníciales aleatorias de tal forma que a cada una de ellas se le pueda aplicar una
búsqueda local. Pues bien, GRASP es similar salvo que las soluciones sobre las que se aplica la
búsqueda local no son completamente aleatorias, tienen un componente de aleatoriedad el cual
está controlado y enmarcado dentro de un proceso constructivo. Así pues, GRASP consiste en
repetir múltiples veces un esquema de dos fases: construir una solución y aplicarle búsqueda
30
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
local. La segunda fase (búsqueda local) se puede aplicar una búsqueda local convencional (o
incluso una Búsqueda en Vecindad Variables, VNS, si se desea).
Entonces GRASP consiste de dos fases: la constructiva donde se produce una solución
factible, aunque no necesariamente es óptima y la segunda fase es una búsqueda local, en la
cual se examinan vecindades de la solución de la fase anterior, esta fase usa la solución inicial
como punto de partida de la fase de búsqueda local.
8.4.) ALGORITMOS GENÉTICOS (AGS)
Los algoritmos genéticos caen dentro de los métodos evolutivos debido a que estos están
basados en poblaciones de soluciones a diferencia de los métodos basados en el seguimiento de
trayectorias. Esta técnica de algoritmo evolutivo se puede clasificar en tres categorías
principales: Algoritmo Genéticos (AG), Estrategias Evolutivas (EE) y la programación
Evolutiva (PE). Todas estas estrategias se basan en un en un esquema común que es la
generación de un conjunto de elementos llamados población inicial (conjunto de soluciones),
esta población inicial es sometida a una serie de transformaciones que da lugar a una nueva
31
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
población de soluciones, de esto se valora la adaptabilidad al medio de cada una de estas
soluciones, de esto se desprende que la elección de los mejores individuos o soluciones para
conformar la siguiente generación, este proceso se repite un número determinado de veces
(ciclos) esperando que los individuos de la población haya evolucionado hacia una mejor
adaptación al medio.
Las diferencias fundamentales entre cada una de las técnicas antes mencionadas radica en
los tipo de alteraciones que se realizan en las soluciones para obtener nuevos individuos y en
los métodos empleados para la selección de la nueva generación.
En los años 1970, de la mano de John Henry Holland, surgió una de las líneas más
prometedoras de la inteligencia artificial, la de los Algoritmos Genéticos (AG), son llamados
así porque se inspiran en la evolución biológica y su base genético molecular. Estos algoritmos
hacen evolucionar una población de individuos sometiéndola a acciones aleatorias semejantes
a las que actúan en la evolución biológica (mutaciones y recombinaciones genéticas), así
como también a una selección de acuerdo con algún criterio, en función del cual se decide
cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que son
descartados. También este algoritmo es denominado “algoritmo evolutivo” e incluye las
estrategias de evolución, la programación evolutiva y la programación genética.
Los Algoritmos genéticos ocupan un lugar determinante dentro de la Programación
Evolutiva debido a:
► Son flexibles y adaptables a una gran cantidad de problemas diferentes y distintas
áreas, este algoritmo permite ser combinado con otros técnicas diferentes aunque no sean
evolutivas.
32
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
► Los algoritmos genéticos tienen una mejor base teórica.
► Poseen una gran versatilidad ya que no necesitan mayor conocimientos específicos del
problema para su resolución.
Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para
resolver problemas de búsqueda y optimización. Un algoritmo genético consiste en una
función matemática o una rutina de software que toma como entradas una población de
ejemplares y retorna como salidas cuáles de ellos deben generar descendencia para la nueva
generación. Versiones más complejas de algoritmos genéticos generan un ciclo iterativo que
directamente toma a la especie (el total de los ejemplares) y crea una nueva generación que
reemplaza a la antigua una cantidad de veces determinada por su propio diseño. Una de sus
características principales es la de ir perfeccionando su propia heurística en el proceso de
ejecución, por lo que no requiere largos períodos de entrenamiento especializado por parte del
ser humano, principal defecto de otros métodos para solucionar problemas, como los Sistemas
Expertos.
Los Algoritmos Genéticos trabajan con una población de individuos, cada uno de los
cuales representa una solución factible a un problema dado. A cada individuo se le asigna un
valor ó puntuación, relacionado con la bondad de dicha solución. En la naturaleza esto
equivaldría al grado de efectividad de un organismo para competir por unos determinados
recursos. Cuanto mayor sea la adaptación de un individuo al problema, mayor será la
probabilidad de que el mismo sea seleccionado para reproducirse, cruzando su material
genético con otro individuo seleccionado de igual forma. Este cruce producirá nuevos
individuos, descendientes de los anteriores, los cuales comparten algunas de las características
de sus padres. Cuanto menor sea la adaptación de un individuo, menor será la probabilidad de
33
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
que dicho individuo sea seleccionado para la reproducción, y por tanto de que su material
genético se propague en sucesivas generaciones.
De esta manera se produce una nueva población de posibles soluciones, la cual reemplaza
a la anterior y verifica la interesante propiedad de que contiene una mayor proporción de
buenas características en comparación con la población anterior. Si el Algoritmo Genético ha
sido bien diseñado, la población convergerá hacia una solución óptima del problema.
El poder del Algoritmo Genético proviene del hecho de una técnica robusta y pueden
tratar una gran variedad de problemas provenientes de diferentes áreas, sin embargo esto no
garantiza una solución óptima del problema, si existe evidencia empírica de que se encuentran
soluciones aceptables en un tiempo competitivo con el resto de los algoritmos de optimización
combinatoria.
Los componentes básicos de un algoritmo genético son:
► Operadores genéticos (mutación y cruzamiento).
► Una representación apropiada del problema a resolver.
► Una función de oportunidad o bien llamada de Aptitud.
► Un procedimiento de inicialización.
El Algoritmo Genético en su versión más básica, necesita una codificación o
representación del problema, que resulte adecuada al mismo. Además se requiere una función
de ajuste o adaptación al problema, la cual asigna un número real a cada posible solución
codificada. Durante la ejecución del algoritmo, los padres deben ser seleccionados para la
reproducción, a continuación dichos padres seleccionados se cruzaran generando dos hijos,
34
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
sobre cada uno de los cuales actuara un operador de mutación. El resultado de la combinación
de las anteriores funciones será un conjunto de individuos (posibles soluciones al problema),
los cuales en la evolución del Algoritmo Genético formaran parte de la siguiente población.
A continuación se muestra código algorítmico genético básico:
En la codificación del algoritmo genético supone que los individuos (posibles soluciones
al problema)
pueden representarse como un conjunto de parámetros utilizando una
codificación binaria de 0 y 1 los cuales agrupados forman una lista de valores. Si bien el
alfabeto utilizado para representar los individuos no debe necesariamente estar constituido por
el (0; 1), buena parte de la teoría en la que se fundamentan los Algoritmos Genéticos utiliza
dicho alfabeto.
35
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Un punto importante dentro del Algoritmo genético es la adaptación de un individuo el
cuál dependerá de su genotipo, la cual puede inferirse a partir del fenotipo, es decir, puede ser
computada usando una función de evaluación. La función de adaptación debe ser diseñada para
cada problema de manera específica asignando un número real, que se supone refleja el nivel
de adaptación al problema del individuo.
En la siguiente figura se ve reflejado un esquema general del algoritmo genético, donde
en la fase reproductiva se seleccionan los individuos de la población para cruzarse y producir
descendientes, que constituirán, una vez mutados, la siguiente generación de individuos.
La selección de padres se efectúa al azar usando un procedimiento que favorezca a los
individuos mejor adaptados, ya que a cada individuo se le asigna una probabilidad de ser
seleccionado que es proporcional a su función de adaptación. Este procedimiento se dice que
está basado en la ruleta sesgada. Según dicho esquema, los individuos bien adaptados se
36
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
escogerán probablemente varias veces por generación, mientras que los pobremente adaptados
al problema, no se escogerán más que de vez en cuando.
Una vez seleccionados dos padres, sus cromosomas se combinan, utilizando
habitualmente los operadores de cruce y mutación. Las formas básicas de dichos operadores
se describen a continuación.
El operador de cruce, coge dos padres seleccionados y corta sus conjuntos de
cromosomas en una posición escogida al azar, para producir dos subconjuntos iniciales.
Después se intercambian las subconjunto iniciales, produciéndose dos nuevos cromosomas
completos. Ambos descendientes heredan genes de cada uno de los padres. Este operador se
conoce como operador de cruce basado en un punto. Habitualmente el operador de cruce no se
aplica a todos los pares de individuos que han sido seleccionados para emparejarse, sino que se
aplica de manera aleatoria, normalmente con una probabilidad comprendida entre 0.5 y 1.0.
8.5.) SISTEMAS BASADOS EN EL CONOCIMIENTO (SBC)
Un sistema basado en el conocimiento es aquel que basa la solución de un problema en el
conocimiento experto humano. Los sistemas basados en el conocimiento (SBC) son parte del
área de la inteligencia Artificial “IA” que es una rama de la informática, estos sistemas imitan
las actividades de un ser humano para la solución de un problema utilizando para ello el
conocimiento declarativo (hechos sobre objetos, situaciones) y el conocimiento de control
(información sobre el seguimiento de una acción) mientras operan y se adaptan a dominios
dinámicos e inciertos que no están completamente especificados.
37
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
La IA está dividida en una serie de áreas de investigación, cada una con propósitos
específicos que permite contribuir e un propósito de un objetivo general. Entre estos están las
redes neuronales, procesamiento del lenguaje natural, robótica y sistemas basados en el
conocimiento.
Los Sistemas Basados en el Conocimiento (SBC) tratan problemas complejos en área o
dominio este sistema intenta imitar el comportamiento que podría tener un experto humano en
dominio del problema, ante los cual los SBC tienen metodologías que intentan reflejar el
conocimiento y el razonamiento que posee el experto para tomar decisiones ente una situación
puntual. Dentro de estas metodologías se encuentran los “Sistemas Expertos SE” estos
nacieron en la década de los 60, durante esta década los investigadores Alan Newell y Herbert
Simon desarrollaron un programa llamado GPS (General Problem Solver; solucionador
general de problemas), los SE son representativos de los SBC debido a su calidad y cantidad de
conocimiento que manejan en relación al experto humano.
Dentro de la definición de un SE tiene varias acepciones dentro de las cuales encontramos
las siguientes:
► Es un software que imita el comportamiento de un experto humano en la solución de
un problema. Pueden almacenar conocimientos de expertos para un campo determinado y
solucionar un problema mediante deducción lógica de conclusiones.
► Programas que manipulan conocimiento codificado para resolver problemas en un
dominio especializado, en un dominio que generalmente requiere de experiencia humana
► Programas que contienen tanto conocimiento declarativo (hechos a cerca de objetos,
eventos y/o situaciones) como conocimiento de control (información acerca de los cursos de
38
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
una acción), para emular el proceso de razonamiento de los expertos humanos en un dominio
en particular y/o área de experiencia.
► Software que incorpora conocimiento de experto sobre un dominio de aplicación dado,
de manera que es capaz de resolver problemas de relativa dificultad y apoyar la toma de
decisiones inteligentes en base a un proceso de razonamiento simbólico.27
Estas definiciones no son exclusivas una de otras sino que pueden conjugarse para hacer
una sola y tener más claro cuál es el comportamiento de un SE.
Los SBC se aplican por lo general, en problemas que implican procedimientos basados
en heurística, es decir un procedimiento de solución que utiliza estructuras que contienen
conocimiento y experiencia de los expertos humanos, deducción lógica de conclusiones,
capacidad de interpretar información ambigua y manipulación del conocimiento afectados por
datos de poca fiabilidad y evento probabilístico.
Arquitectura general de SBC
39
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
9.) Ejemplos de heurísticas
La vida cotidiana nos presenta distintas situaciones que nos llevan a reflexionar y a
generar cierta soluciones para sortear y superar estos problemas.
Comúnmente, situaciones aunque parezcan simples, nos llevan a enfrentar una
problemática interesante que desafía nuestra inteligencia y capacidad imaginativa para resolver
cualquier adversidad
Aquí hay unos ejemplos de ciertos problemas que de alguna manera su solución ha
ayudado a resolver situaciones aun más complejas
9.1.) 8 REINAS.
El problema de las 8 reinas fue propuesto por el ajedrecista alemán Max Bezzel en el año
1848. Consiste en la manera de situar 8 reinas en un tablero de ajedrez, sin que puedan
"amenazarse", es decir, que ninguna esté en la misma fila, columna o diagonal que la otra.
Es interesante estudiar esta problemática que ha sido resuelta de varias maneras, pero
siempre con una premisa por delante, usar una estrategia heurística para resolverla. La formula
mas común consiste en el Back Tracking. Este procedimiento consiste en ir ubicando las piezas
recordando la posición de las anteriores. Si por algún motivo una no puede ser ubicada, volver
hacia movimientos anteriores para seguir tratando por otro camino
40
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
9.2.) PROBLEMA A*
Desde
siempre
hemos
tratado
de
resolver de mejor manera un problema tan
común como un laberinto. La idea es que
dado un par de puntos dentro de un lugar,
buscar el camino más corto entre ellos. Al
ser una búsqueda por amplitud, el algoritmo
A* es un algoritmo completo, es decir, si
existe
una
solución,
el
algoritmo
la
encontrará. La forma en que se modela la
solución es a través de un grafo en donde cada nodo es una posición valida dentro del espacio.
La función que se evalúa es de la forma F(n) = g(n) + h'(n), en donde g(n) representa el costo
total del recorrido antes de llegar al nodo n y h'(n) es el costo heurístico del nodo a evaluar.
9.3.) VENDEDOR VIAJERO.
Este es la problemática más cotidiana y más complicada de solucionar dentro de los
problemas logísticos para cualquier empresa. ¿Cual es la manera optima para repartir o recorrer
ciertos lugares de la manera más rápida y menos costosa? Esta problemática pertenece a la
categoría de NP - Completo, por ende, no posee una solución polinomial optima. Existen
aproximaciones heurísticas para esto, que llegan a buenos resultados, pero no podemos tener la
certeza de que sean óptimos.
41
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Una solución intuitiva para resolver esto sería evaluar cada una de las opciones, pero a
través de un cálculo simple podemos darnos cuenta que este proceso es una permutación de
todos los nodos y la complejidad de esto es de n!, lo que si utilizáramos 8 nodos, ya tenemos
que evaluar más de 40000 posibilidades. Con 20 o más, ya se hace prácticamente imposible
manejar esta cantidad de datos manualmente. Incluso a través de una computadora,
necesitamos bastante tiempo y capacidad de procesamiento para calcular estas posibilidades
Para modelar este problema se utiliza un grafo multidireccional, con un peso o costo o
determinado entre cada nodo
Aquí podemos ver 4 destinos y la oficina principal, con el costo asociado a cada camino.
Para resolver esta situación utilizaremos un software muy usado en temas de estadística y
cálculos numéricos, llamado WINQSB.
Para esto, creamos la matriz de adyacencia de este grafo
42
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
La forma en que calculara la solución es buscando todos los ciclos posibles para este
grafo y retornara el resultado menos, es decir, el menos costoso.
Luego de calcular, el programa nos retorna la siguiente información
43
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
El recorrido optimo seria entonces Oficina Central - Lugar 3 - Lugar 4 - lugar 2 - Lugar 1
- Oficina central. El costo total del ciclo es de 195. Gráficamente, el camino se ve así
44
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
9.4.) Búsqueda en anchura.
En Ciencias de la Computación, Búsqueda en anchura (en inglés BFS - Breadth First
Search) es un algoritmo para recorrer o buscar elementos en un grafo (usado frecuentemente
sobre árboles). Intuitivamente, se comienza en la raíz (eligiendo algún nodo como elemento
raíz en el caso de un grafo) y se exploran todos los vecinos de este nodo. A continuación para
cada uno de los vecinos se exploran sus respectivos vecinos adyacentes, y así hasta que se
recorra todo el árbol.
Formalmente, BFS es un algoritmo de búsqueda sin información, que expande y examina
todos los nodos de un árbol sistemáticamente para buscar una solución. El algoritmo no usa
ninguna estrategia heurística.
45
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Si las aristas tienen pesos negativos aplicaremos el algoritmo de Bellman-Ford en alguna
de sus dos versiones.
Procedimiento
► Dado un vértice fuente s, Breadth-first search sistemáticamente explora los vértices de
G para “descubrir” todos los vértices alcanzables desde s.
►
Calcula
la
distancia
(menor
número
de
vértices)
desde s a
todos
los vértices alcanzables.
►
Después
produce
un
árbol BF con
raíz
en s y
que
contiene
a
todos
los vértices alcanzables.
► El camino desde s a cada vértice en este recorrido contiene el mínimo número
de vértice. Es el camino más corto medido en número de vértices.
► Su nombre se debe a que expande uniformemente la frontera entre lo descubierto y lo
no descubierto. Llega a los nodos de distancia k, sólo tras haber llegado a todos los nodos a
distancia k-1.
Pseudocódigo
La nomenclatura adicional utilizada es: Q = Estructura de datos cola.
46
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
47
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
HEURÍSTICA
Descargas
Un programa muy utilizado para hacer cálculos para cada uno de los algoritmos usados en
informática y estadística es WinQSB
•
www.pcdigital.org/descargar-winqsb-20/
Visite:
•
http://psmheuristica.webnode.com.ve/
•
http://www.youtube.com/watch?feature=player_embedded&v=_HjvV5nQziw&noredirect=1
•
http://www.youtube.com/watch?feature=player_embedded&v=upoXlf_g-nE
•
http://www.youtube.com/watch?feature=player_embedded&v=y5jQpOXEj78
•
http://www.youtube.com/watch?feature=player_embedded&v=K1fgnN0WCYQ
48
Elaborado: Brito Jennifer – Ramírez María –Izquierdo Paúl // Docente: Zapata José //Catedra: Investigación de
Operaciones II // Maracay 2012 // PSM Extesion Maracay // [email protected] //
twitter: @psmheuristica // facebook: psm.heuristica / Heuristica IPSM-Maracay
Descargar