INDICE
1. INTRODUCCIN - pgina 2
CPM y RPWM.
Optimizar es encontrar la mejor forma de realizar una tarea. Esto normalmente involucra asignar
recursos limitados (pe. materias primas), para lograr un objetivo (pe. maximizar beneficios), en un
ambiente con limitaciones (pe. un presupuesto de gastos)
Utilizando un mtodo que se base en la fuerza bruta -construir un modelo en una hoja de clculo y
realizar cambios a mano para obtener la mejor solucin- solo puede funcionar con problemas muy
simples. Realizar el anlisis de esta forma, es una tarea larga y tediosa, y no garantiza la mejor
solucin.
Los problemas reales, necesitan del poder que pueden brindar los mtodos matemticos de
optimizacin. Estos mtodos estn automatizados en programas de computacin llamados "solvers".
Para usarlos, es necesario informar cual es la funcin objetivo, las restricciones a respetar y las
variables que se pueden controlar. El sistema encontrar automticamente la mejor solucin.
Estos sistemas tienen un campo de aplicacin muy amplio. No importa cual sea la lnea de trabajo; en
algn punto se encontrar con un problema de optimizacin. Puede ser la maximizacin de un valor
(pe. beneficios, market share, etc.) o minimizar otro (pe. costos, riesgos, etc. )
Las ltimas versiones de estos sistemas incluyen la resolucin de problemas lineales y no lineales.
Los problemas no lineales pueden adems tratar a variables que se multiplican entre s y operaciones
matemticas ms complejas (pe. Potenciacin), antes de tratarlas conjuntamente.
Algoritmos Genticos
Los Algoritmos Genticos son algoritmos matemticos de optimizacin de propsito general basados
en mecanismos naturales de seleccin y gentica, proporcionando excelentes soluciones en problemas
complejos con gran nmero de parmetros.
Permite obtener soluciones a un problema que no tiene ningn mtodo de resolucin descrito de forma
precisa, o cuya solucin exacta, si es conocida, es demasiado complicada para ser calculada en un
tiempo aceptable. Es el caso particular de cuando se encuentran restricciones mltiples y complejas e
incluso contradictorias que deben ser satisfechas simultneamente como por ejemplo para formar
equipos de trabajo, planificar rondas de entregas, implantar puntos de venta de manera ptima,
construir modelos estadsticos.
1. Se usan parmetros codificados como una cadena de longitud finita sobre un alfabeto finito.
2. Son algoritmos de funcionamiento paralelo.
3. Usan operadores probabilsticos.
4. Se afectan menos por los mximos locales.
5. Estn menos restringidos por continuidad, derivadas y unimodalidad.
Programacin lineal
Un programa lineal es aquel en el cual la funcin objetivo es lineal y las restricciones estn dadas por un
conjunto de ecuaciones e inecuaciones tambin lineales.
El hecho de que la funcin objetivo del problema sea lineal y el espacio de soluciones factibles sea
interseccin de hiperplanos y semiespacios, implica, entre otras cosas, que todo programa lineal es
convexo, por lo que se cumple que:
Scheduling (planificacin).
La planificacin de un proyecto es establecer un plan de accin y marcos de tiempos para llevarlo a cabo.
Para la planificacin de proyectos un mtodo muy usado es dibujar un diagrama de red para las
actividades a realizar y obtener utilizando el CPM (mtodo del camino crtico) el camino crtico de
dicho proyecto.
El mtodo llamado RPWM (ranked positional weight method) es utilizado en lneas de ensamblaje. Y
ha demostrado un mejor desempeo que otros mtodos como el CPM.
Todo mtodo no informado carece de material heurstico, y para ordenar sus nodos utiliza algn
criterio arbitrario.
Son mtodos de bsqueda exhaustiva, y para encontrar un camino hasta el nodo objetivo establecen
una bsqueda en algn orden prefijado, sin importar si la bsqueda se encuentra bien orientada.
Tanto el grado de eficiencia de estos algoritmos, como su costo (en clculos y memoria necesaria)
tienen relacin directa con el grado de complejidad del problema. Por ello estos mtodos son
inaplicables para problemas en que el nmero de posibles soluciones crece exponencialmente.
Estrategias retroactivas
Estas estrategias son utilizadas para problemas que requieren una bsqueda pequea. Son, normalmente, las
ms sencillas de implementar y requieren menos almacenamiento de informacin.
El procedimiento Backtrack puede no terminar nunca, es decir, puede generar nuevas bases no
terminales indefinidamente o puede meterse en un ciclo. Esto puede subsanarse imponiendo un lmite
de profundidad a la recurrencia, y manteniendo una lista de las bases de datos producidas hasta el
momento y comprobando que las nuevas no coincidan con alguna de las de esa lista (aunque es un
poco impracticable por la cantidad de memoria que se necesita). Si se quiere agregar alguna heurstica
a este algoritmo, se podra hacer ordenando las reglas de la ms apropiada a la menos, para evitar
vueltas atrs excesivas, ya que, por definicin, si se coloca siempre una regla correcta en el primer
lugar en la ordenacin, no habr que realizar ninguna vuelta atrs.
Este control retroactivo implica olvidar todas las bases de datos de los caminos que conducen a fallos.
El algoritmo recuerda slo las bases de datos del camino que va hacia atrs desde el punto alcanzado
hasta el inicial.
Un grafo es un conjunto (no necesariamente finito) de nodos. Ciertos pares de nodos estn conectados
por arcos, y estos arcos estn dirigidos desde un miembro del par a otro. Para nuestro caso de estudio,
los nodos representarn bases de datos y los arcos a las reglas que se aplican a ellas. Algunas veces, se
le asociar un costo a cada arco, que representara el costo de aplicar esa regla a la base de datos
correspondiente. Si un arco est dirigido desde un nodo A a otro B, se dice que B es un sucesor de A y
que A es un antecesor de B. Puede ocurrir que los nodos de un par sean cada uno sucesor del otro; en
este caso, el par de arcos dirigidos que los enlazan puede reemplazarse por una arista.
Una estrategia de control de exploracin de grafos puede, debido a todo lo anterior dicho, considerarse
como un proceso para hacer explcita una porcin de un grafo implcito, suficiente para que incluya un
nodo objetivo. Es decir, que se puede pensar a una estrategia de control de exploracin de grafos como
un medio de encontrar un camino en un grafo que vaya desde un nodo que representa la base de datos
inicial a otro que represente una base de datos que satisfaga la condicin de terminacin del sistema de
produccin.
Uno de los procedimientos existentes para encontrar la trayectoria ms corta en una red consiste en
encontrar todas las trayectorias posibles y seleccionar la mejor de ellas. Si la amplitud y profundidad
del rbol son pequeas, no hay ningn problema, pero si el rbol tiene medidas considerables, el
mecanismo se hace impracticable, por lo que a continuacin desarrollaremos otras tcnicas ms
efectivas.
Procedimientos de exploracin de grafos sin informacin
Estos mtodos son exhaustivos para encontrar caminos hasta un nodo objetivo. Ellos proporcionan una
solucin para el problema de encontrar caminos, pero suelen ser impracticables para su uso en la IA, porque el
sistema expande demasiados nodos antes de encontrar un camino. Sin embargo, detallaremos los ms comunes
slo para dar una idea de su existencia.
Exploracin en profundidad
Este mtodo se basa tomar uno de los hijos en cada nodo que se visita y avanzar a partir de ese hijo, de
esa manera, se recorre el rbol desde los nodos ms profundos hasta los menos. En previsin de que se
pueda caminar indefinidamente a lo largo de un camino infructuoso, se impone un lmite de
profundidad, por esto, los nodos con profundidad mayor que ese lmite en el rbol no se generan
nunca. El algoritmo puede terminar cuando se genere algn nodo objetivo.
El proceso de exploracin en profundidad progresa a lo largo de un camino hasta que alcanza el lmite
de profundidad y entonces comienza a considerar caminos alternativos de la misma o menor
profundidad, que difieran slo en el ltimo paso, despus los que difieren en los dos ltimos, etc.
Este mtodo resulta bueno cuando se sabe que todos los caminos llegan a callejones sin salida o al
objetivo despus de un nmero razonable de pasos. En cambio, cuando las trayectorias son muy largas
y no llegan a callejones sin salida ni al objetivo, resulta impracticable.
Exploracin a lo ancho
Este mtodo funciona aun con rboles infinitamente profundos, pero constituye un desperdicio cuando
todas las trayectorias conducen a la meta aproximadamente a la misma profundidad. Adems, tampoco
es una buena idea si el factor de expansin es grande debido a la expansin exponencial de la que ya se
ha hablado. En cambio, cuando el factor de ramificacin es pequeo, es una tcnica muy
recomendable.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
NCOLA* crear_cola(void)
{
return(NULL);}
if (raiz->izq || raiz->der){
Bsqueda no determinista
Cuando se tiene tan poca informacin del problema que no se puede decir si el factor de
ramificacin ser grande o si las trayectorias sern largas, lo ms deseable es buscar un trmino medio
entre la bsqueda en profundidad y la bsqueda en amplitud. Este trmino medio se denomina
bsqueda no determinista, en la cual, los nodos que se expanden, son escogidos al azar, de manera de
evitar la posibilidad de revisar infinitas ramas o niveles.
Debido a que siempre hay lmites prcticos en las cantidades de tiempo y memoria disponibles para la
exploracin, a continuacin detallaremos alternativas ms eficientes que las antes expuestas.
La posibilidad de agregarle algn tipo de heurstica al procedimiento, hace posible, en la mayora de los casos,
una considerable baja en el costo de exploracin, de sta manera, se puede mejorar en gran medida la eficiencia
de la bsqueda. Una forma de aplicar esta heurstica, es usando un mtodo para calcular cuan prometedor es
cada nodo (de manera que los nodos ms prometedores se exploren primero), por ejemplo, con una funcin de
valores reales definida sobre los nodos que se llama funcin de evaluacin, donde f(n) ser el valor de la
funcin en el nodo n.
La eleccin de la funcin de evaluacin determina crticamente los resultados de la exploracin. El uso de una
funcin de evaluacin que falla al reconocer el carcter verdaderamente prometedor de algunos nodos, puede
conducir a caminos de costo no mnimo, por el contrario, el uso de una funcin que sobrestima lo prometedor
de todos los nodos da lugar a la expansin de demasiados nodos.
Se procede como en el caso de bsqueda en profundidad, excepto que se ordenan las selecciones de acuerdo
con alguna medicin heurstica sobre la competitividad de cada nodo. Algunas veces, agregarle heurstica a un
algoritmo reduce el tiempo de bsqueda permitiendo replantear un problema en trminos de una red ms
pequea y fcil de explorar.
El ascenso de la colina genera problemas que afloran cuando el algoritmo se usa para optimizar parmetros
ajustables, donde se tiene una cantidad medida que indica la calidad o desempeo asociado con cualquier
disposicin particular de los parmetros ajustables.
Para efectuar un ascenso de colina orientado a parmetros, se realiza un ajuste de un paso, hacia arriba y hacia
abajo, a cada valor del parmetro, luego se mueve hacia la mejor de las alternativas resultantes de acuerdo con
la medida apropiada de calidad o desempeo, y, por ltimo, repite el proceso hasta que encuentra una
combinacin de valores de parmetros que produce una mejor calidad o desempeo que todas las alternativas
cercanas.
Los problemas que surgen con este mtodo son:
El problema de la falda de colina: Sucede cuando hay picos secundarios, es decir, se encuentra un punto ptimo, pero
ste puede ser un mximo local y no uno global, lo que puede llevar a que el algoritmo no encuentre la solucin
objetivo. Una forma de solucionar este problema puede ser realizar una bsqueda no determinista cada vez que se
encuentre un mximo local.
El problema de la meseta: Se presenta cuando hay un rea casi plana que separa picos. En ste caso, para todas las
posiciones (o casi todas) las pruebas de paso normal dejan intacta la medicin de calidad.
El problema del reborde: En este caso, cada paso normal lleva hacia abajo, aun cuando no hay ningn mximo local o
global. Esto puede solucionarse aumentando el nmero de direcciones que se utilizan en los pasos de prueba.
Bsqueda en haz
Este mtodo es parecido a la bsqueda en amplitud, ya que avanza nivel a nivel, pero se mueve hacia abajo
slo a travs de los mejores nodos de cada nivel (los otros nodos son ignorados). De esta manera, el nmero
de nodos explorados se mantiene pequeo, an cuando haya una gran cantidad de ramificaciones y el rbol
sea muy profundo.
Esta bsqueda es buena cuando se tiene una medida natural de la distancia a la meta, y es probable que una
buena trayectoria se encuentre entre los caminos parciales que parecen ser buenos en todos los niveles.
El movimiento se realiza siempre a partir del mejor nodo sin expandir que se tiene hasta ese punto, sin
importar donde est ese nodo en el rbol.
Es probable que los caminos encontrados por sta bsqueda sean ms cortos que los hallado con otros
mtodos, ya que siempre avanza desde el nodo que parece estar ms cercano al nodo meta. Esto depende del
conocimiento que se tenga del problema.
La bsqueda primero el mejor es buena cuando existe una medida de la distancia a la meta, y una buena
trayectoria parcial puede parecer una mala opcin antes de que trayectorias parciales ms prometedoras se
hayan explorado.
Exploracin bidireccional
En este algoritmo, la exploracin se realiza simultneamente partiendo a la vez del nodo inicial y de un
conjunto de nodos objetivos. El proceso termina cuando las dos fronteras de exploracin se encuentran en
forma apropiada. Los procesos de exploracin bidireccional a lo ancho son ms ventajosas que las
unidireccionales puesto que se expanden muchos menos nodos. Sin embargo, cuando se comparan
exploraciones heursticas bidireccionales, la situacin es ms compleja, ya que si las funciones heursticas
usadas son ligeramente inseguras, las fronteras de exploracin pueden sobrepasarse una a otra sin concordar
nunca. En ese caso el proceso de exploracin puede dar lugar a la expansin del doble nmero de nodos que
unos de exploracin unidireccional.
Cuando el grafo es tan grande, que se agota la memoria disponible, puede ser deseable podar el grafo para
liberar el espacio de almacenamiento que se necesite para proseguir la exploracin. El proceso puede
continuar en etapas, separadas por operaciones de poda para liberar espacio. Al final de cada etapa, los
nodos con mejores funciones heursticas se marcan, y el resto del grafo se destruye. La exploracin se
reanuda con esos nodos escogidos. El proceso contina hasta que se encuentra un nodo objetivo o se agotan
los recursos nuevamente.
Limitacin de sucesores
Una tcnica para ahorrar esfuerzos consiste en considerar, despus de la expansin de un nodo slo los
sucesores con mejor valor heurstico. El problema es que en alguno de los nodos ignorados podra estar
el camino hasta el objetivo, por los que hay que descartar los nodos con mucho cuidado. Para poder
determinar que nodos podar, hay que tener un gran conocimiento sobre el dominio del problema.
Hay algunos problemas de exploracin en los que se pueden enumerar los sucesores de un nodo y
calcular sus valores de heurstica sin hallar explcitamente las correspondientes bases de datos, de esta
manera, el proceso no llega a calcular las bases de datos de los sucesores no expandidos por el
algoritmo.
Una forma relativamente ptima de utilizar este mtodo se basa en que siempre se mantiene un registro
de todas las trayectorias parciales que compiten para su consideracin posterior. La ms corta de ellas
se extiende un nivel, crendose tantas trayectorias nuevas como ramas existan. Luego se consideran las
nuevas trayectorias junto con las anteriores restantes, y se extiende la ms corta. Para asegurar que la
primera trayectoria encontrada sea la ms corta, hay que extender todas las trayectorias parciales hasta
que tengan una longitud igual o mayor que la trayectoria completa ms corta.
Una forma de mejorar este mtodo consiste en utilizar una funcin heurstica que represente una
estimacin de la distancia restante desde ese nodo hasta el objetivo, de manera que, cuando se llega a
que una trayectoria completa es ms corta que todas las estimaciones restantes, se encuentra el camino
ptimo.
Puede mejorarse an ms, si adems de una conjetura acerca de las distancias restantes, se utiliza una
Adems, si se encuentra una trayectoria total no se necesitar seguir adelante una vez que todos los
clculos de distancias parciales sean mayores que la mejor distancia de trayectoria completa encontrada
hasta ese punto, debido a que la distancia real no puede ser menor que una subestimacin de esa
distancia.
Principio de programacin dinmica
El mejor camino a travs de un lugar intermedio especfico es el mejor camino hacia este desde el
lugar de inicio, seguido del mejor camino desde este a la meta. No hay necesidad de buscar
cualesquiera otras trayectorias hacia, o desde el punto intermedio.
Algoritmo Gentico
Requiere una funcin de ajuste adaptacin al problema, la cual asigna un nmero real a cada posible
solucin codificada. Durante la ejecucin del algoritmo, los padres deben ser seleccionados para la
reproduccin, a continuacin dichos padres seleccionados se cruzarn generando dos hijos, sobre cada
uno de los cuales actuar un operador de mutacin. El resultado de la combinacin de las anteriores
funciones ser un conjunto de individuos (posibles soluciones al problema), los cuales en la evolucin
del Algoritmo Gentico formarn parte de la siguiente poblacin.
Dado que la probabilidad que un individuo se reproduzca es proporcional a la bondad de la solucin que
representa, la calidad de las soluciones mejora automticamente en las generaciones sucesivas. El proceso
se termina cuando una solucin es aceptable o se determina el ptimo para la funcin.
Reproduccin. - Las cadenas con valores ms altos tienen probabilidades ms altas de contribuir con uno o
ms sucesores en la siguiente generacin. Este operador es una versin artificial de la seleccin natural de
Darwin. En las poblaciones naturales la aptitud esta determinada por la habilidad de organismo de sobrevivir
y de llegar a la madurez y su subsecuente reproduccin. En el sistema artificial, la funcin objetivo es l
arbitro final en la vida o muerte de una cadena dada.
Cruza.- Una vez que se ha realizado la reproduccin, se procede a la reproduccin sexual o cruza de los
individuos seleccionados. La poblacin nueva intercambia material cromosmico y sus descendientes forman
la siguiente generacin.
Mutacin.- Cuando un sistema se ha detenido en una estructura gentica que se sospecha no es la ptima, o
cuando el sistema se ha viciado con diversas cadenas muy parecidas, es necesario infiltrar mutaciones que
reanimen el sistema. La mutacin no permite la estabilizacin de poblaciones en soluciones locales.
Tamao de la poblacin
Una cuestin que uno puede plantearse es la relacionada con el tamao idneo de la poblacin. Parece intuitivo
que las poblaciones pequeas corren el riesgo de no cubrir adecuadamente el espacio de bsqueda, mientras
que el trabajar con poblaciones de gran tamao puede acarrear problemas relacionados con el excesivo costo
computacional.
Poblacin inicial
Habitualmente la poblacin inicial se escoge generando ristras al azar, pudiendo contener cada gen uno de los
posibles valores del alfabeto con probabilidad uniforme. Nos podramos preguntar que es lo que sucedera si
los individuos de la poblacin inicial se obtuviesen como resultado de alguna tcnica heurstica o de
optimizacin local. En los pocos trabajos que existen sobre este aspecto, se constata que esta inicializacin no
aleatoria de la poblacin inicial, puede acelerar la convergencia del Algoritmo Gentico. Sin embargo en
algunos casos la desventaja resulta ser la prematura convergencia del algoritmo, queriendo indicar con esto
la convergencia hacia ptimos locales.
Otra posibilidad consiste en reconstruir aquellos individuos que no verifican las restricciones. Dicha
reconstruccin suele llevarse a cabo por medio de un nuevo operador que se acostumbra a denominar
reparador.
Otro enfoque est basado en la penalizacin de la funcin objetivo. La idea general consiste en dividir la
funcin objetivo del individuo por una cantidad (la penalizacin) que guarda relacin con las restricciones que
dicho individuo viola. Dicha cantidad puede simplemente tener en cuenta el nmero de restricciones violadas
bien el denominado costo esperado de reconstruccin, es decir el coste asociado a la conversin de dicho
individuo en otro que no viole ninguna restriccin.
Otra tcnica que se ha venido utilizando en el caso en que la computacin de la funcin objetivo sea muy
compleja es la denominada evaluacin aproximada de la funcin objetivo. En algunos casos la obtencin de n
funciones objetivo aproximadas puede resultar mejor que la evaluacin exacta de una nica funcin objetivo
(supuesto el caso de que la evaluacin aproximada resulta como mnimo n veces ms rpida que la, evaluacin
exacta).
Por qu esta tcnica es interesante?
El AG necesita un gran poder de clculo pero a la vez posee la inmensa ventaja de proporcionar soluciones no
muy lejos de lo ptimo. No exige ningn conocimiento acerca de la manera ms idnea de resolver el
problema; slo es necesario la capacidad de evaluar la calidad de una solucin. Tambin es muy ligero para
ponerlo en prctica (el "motor es comn, no hay mucha programacin especfica que hacer).
Tabla de comparacin.
Las tcnicas de anlisis estadstico, desarrolladas hace tiempo, permiten obtener ciertas
informaciones tiles, pero no inducir relaciones cualitativas generales, o leyes, previamente
desconocidas; para esto se requieren tcnicas de anlisis inteligente.
Tambin es posible hacer evolucionar los datos por algoritmo gentico ("induccin").
El mecanismo de estimulacin de lo ms apto permite entonces la aparicin del previsor
que reordenar los datos lo mejor posible.
Se define una funcin de evaluacin f tal que su valor f(n) en cualquier nodo n es una
estimacin de la suma del costo mnimo del camino desde el inicio al nodo n y desde el nodo n
al nodo meta. Sea K (ni, nj) la funcin que da el costo real de un camino de mnimo costo entre
dos nodos cualquiera ni, nj, y sea h*(n) el mnimo de todos los costos K desde n hasta un nodo
meta. De esta manera, cualquier camino entre n y un nodo objetivo que alcance el costo mnimo
h*(n) es un camino ptimo desde n al objetivo.
f(n)= g(n)+h(n)
Donde g es una estimacin de g*, y su valor se calcula como la sumatoria de los costos de los
arcos que se encuentran siguiendo el camino desde el nodo n hasta el nodo raz (la definicin
implica que g(n)>=g*(n)); y h es una subestimacin de h* (h es minorante de h*), teniendo en
cuenta que para realizar la subestimacin se utiliza la informacin heurstica sobre el dominio
del problema.
f1(n)=g1(n)+h1(n)
f2(n)=g2(n)+h2(n)
FUNCIN DE EVALUACIN:
Primero que nada ntese que en este contexto la programacin no se refiere a un sinnimo de
computacin sino ms bien a uno de planificacin, aunque para efectos prcticos se utilice mucho la
computacin. Luego surgen dos preguntas bsicas sobre la programacin lineal:
Cul es la naturaleza de la programacin lineal?
A qu clase de problemas esta dirigida?
Para responder a estas preguntas y dar un breve panorama Hiller y Liberman afirman que la
programacin lineal tpicamente trata del problema de asignar recursos limitados entre actividades
competidoras en la mejor forma posible(ptima). La naturaleza de los problemas que resuelve la
programacin lineal surge siempre que se deba seleccionar el nivel de ciertas actividades que
compiten por recursos escasos pero necesarios para realizar esas actividades.
El hecho de que, de existir ptimo, ste se alcanza al menos sobre alguno de los vrtices del espacio
de soluciones, permite establecer un primer mtodo de resolucin de programas lineales:
1. Localizar los vrtices del espacio de soluciones factibles.
2. Evaluar la funcin objetivo sobre todos los vrtices.
3. Elegir el vrtice sobre el que la funcin objetivo tome el menor valor (si el problema es de minimizacin) o
el mayor valor (si el problema es de maximizacin).
4. De existir solucin, sta se alcanza en el vrtice seleccionado. Si existen varios vrtices en los que la
funcin toma el mismo valor que en el seleccionado, tambin se alcanzara el ptimo sobre cualquier
combinacin lineal convexa de esos vrtices.
Esta forma de proceder puede resultar satisfactoria en problemas pequeos. Sin embargo para
problemas de talla media la complejidad del clculo de todos los vrtices puede desaconsejar su
utilizacin. Sirva como ejemplo que para un problema de 10 variables y 50 restricciones, podran
Sobre esa matriz, se realizan una serie de operaciones matemticas que dan como resultado la
asignacin buscada (Ver resolucin del problema de TSP por P.L.).
El mtodo Simplex
Ya se ha comentado la propiedad de que todos los programas lineales alcanzan un ptimo, si ste
existe, en una de sus soluciones bsicas factibles (vrtice del espacio de soluciones factibles). Adems
el nmero de tales soluciones bsicas es siempre finito. Por tanto, un mtodo de resolucin de este tipo
de problemas es la construccin de todas las soluciones bsicas factibles y la seleccin de aquella que
minimice la funcin objetivo. Por supuesto, este mtodo resulta claramente ineficiente cuando se
trabaja con problemas con gran nmero de variables de decisin (como ocurre en los casos que
normalmente aparecen en situaciones reales).
La idea del mtodo Simplex, ideado por G.B. Dantzing en 1947, consiste en llegar a encontrar esa
solucin bsica ptima sin necesidad de construirlas todas, nicamente seleccionando un subconjunto
de ellas que converja a la solucin. De una forma muy resumida el mtodo Simplex consiste en:
Es necesario disponer de un test de optimalidad que permita reconocer cuando una solucin bsica factible
es ptima, sin necesidad de conocer el resto de soluciones bsicas.
Se necesita tambin un sistema efectivo de paso de una solucin bsica a otra, mejorando el valor de la
funcin objetivo.
Este es un clsico problema de la Inteligencia Artificial donde se observa que al aumentar el nmero de
componentes el objetivo se torna inalcanzable mediante mtodos estndar de bsqueda.
Planteo:
Un viajante debe recorrer una cantidad n de ciudades las cuales se encuentran todas unidas entre s (grafo
completo) y separadas por cierto costo conocido (distancia, tiempo, etc.).
Objetivo:
Se debe lograr recorrer todas las ciudades sin pasar dos veces por ninguna y regresar a la ciudad de la que se
parti con el menor costo posible. Cualquiera de las ciudades puede ser el nodo inicial.
Ejemplo de TSP
A
6
3
Ejemplo de TSP que utilizaremos 4 1
C E
Estructura:
Matriz de 5x5 que contiene las distancias a recorrer entre las ciudades.
Ventajas:
Encuentra la opcin ptima porque prueba todas las combinaciones posibles y las compara entre s.
Desventajas:
Programacin lineal
Planteo: En una matriz cuadrada, se colocan las distancias entre los diferentes nodos (ciudades). Las
diagonales se rellenan con un numero M de muy alto valor para impedir su asignacin.
Metodologa:
Resolucin:
Min 1 2 2 6 1 12
Matriz 1 A B C D E Min
A M 3 4 6 1 1
B 3 M 2 6 5 2
C 4 2 M 7 8 2
D 6 6 7 M 9 6
E 1 5 8 9 M 1
Como la suma de los mnimos da los mismo tanto para fila como para columna (12), se elije
arbitrariamente el vector a restar (en este caso se eliji restar por fila). La matriz 2 es el resultado de la
matriz 1 menos el vector columna de mnimos.
Luego de hacer la resta, se procede a la asignacin de los ceros independientes y al tachado de las
filas/columnas correspondientes:
Matriz 2 A B C D E
A M-1 2 3 5 0
B 1 M-2 0 4 3
C 2 0 M-2 5 6
D 0 0 1 M-6 3
E 0 4 7 8 M-1
Posteriormente, se toma el menor de los valores no tachados (4) y se resta a estos mismos,
obteniendose la matriz 3.
Con esta matriz se vuelve a realizar la asignacin y el tachado:
Matriz 3 A B C D E
A M-1 2 3 1 0
B 1 M-2 0 0 3
C 2 0 M-2 1 6
D 0 0 1 M-10 3
E 0 4 7 4 M-1
Se busca el valor menor no tachado, se le resta a los no tachados y se le suma a los doblemente
tachados, obtenindose la matriz 4.
Luego, se procede a hacer la asignacin de ceros.
Matriz A B C D E
4
A M-1 2 2 0 0
B 2 M-1 0 0 4
C 2 0 M-3 0 6
D 0 0 0 M-11 3
E 0 4 6 3 M-1
Debido a que la cantidad de ceros asignados es igual a la cantidad de tachas, igual a 5, la asignacin
realizada sobre la matriz 4 es el resultado buscado.
CAMINO RESULTANTE:
A-E-A
D-B-C-D
Este camino es ptimo pero es desconexo, por lo tanto no cumple con los requerimientos del problema.
Por ello este mtodo, aplicado en su forma conceptual pura, es inadecuado para una efectiva resolucin
del problema.
Acotando los caminos que le problema debe considerar podemos resolver este inconveniente pero de
todos modos la cantidad de operaciones y comparaciones ha hacer hace de este mtodo imposible de
utilizar en un entorno de trabajo real.
Min Z= cI
I11
I12
I= I13
:
Inn
Es el vector columna de n componentes. A este vector se le denomina vector de actividades y sus n
componentes son las variables de decisin.
c= (c11, c12,c13,......,cnn)
Es el vector rengln c, que se denomina vector de precios unitarios, y en nuestro caso, representar las
distancias entre los nodos.
b1
b2
b= b3
:
bm
Condiciones de No Negatividad:
I11, I12, I13,...., Inn>=0 (son variables binarias que slo pueden tomar valores 0 o 1)
Objetivo:
Debido a que el polgono de solucin slo tiene un nmero finito de puntos extremos, para obtener la
solucin de un programa lineal habr que ver qu valor tiene la funcin objetivo en cada punto extremo
y seleccionar el mejor. Si se tiene en cuenta que la regin factible proveniente de un programa lineal
con p actividades y m restricciones puede tener un mximo de
p = p!
m m! (p-m)!
puntos extremos, se ver que para este caso particular, donde p=(n-1)*n y m=n+1, la cantidad de puntos
a evaluar puede llegar a ser, cmo mximo
(n-1)!
(n+1) (n2 -2n-1)!
Planteo
Para desarrollar, de forma prctica,el problema del viajante utilizando el Algoritmo A* planteo
un grafo completo y voy abriendo los hijos de los nodos a medida en que cumplen con la
condicin de que
h(n)<= h*(n)
Donde h*(n) es el costo de un camino de costo mnimo desde n al nodo objetivo (es un camino
ptimo desde n al objetivo). Y h(n) es una estimacin de h*(n).
Tambin conocemos un camino ptimo entre el nodo inicio y un nodo n, esta funcin se
denomina g*(n), y su estimacin la conocemos como g(n).
Adems para abrir los nodos nos guiaremos por el principio de la programacin dinmica y la
bsqueda de ramificacin y cota.
Conclusin
El nmero de operatorias a realizar se ve sustancialmente reducido, pero no quita la posibilidad
de que a la solucin a la que se llegue no sea una solucin desconexa y por lo tanto que no
cumpla las condiciones del problema.
Planteamiento
La meta es encontrar el camino ms corto para recorrer N diferentes ciudades sin pasar dos veces por ninguna. La
complejidad de este problema nace porque todas las ciudades se encuentran relacionadas entre s, luego por cada
ciudad deben considerar N-1 caminos.
SOLUCION UTILIZANDO AG
Un algoritmo gentico (AG) puede ser usado para encontrar una solucin en mucho menos tiempo. Pero es
probable de que esta no sea la mejor solucin, puede encontrar una casi perfecta solucin en menos de un minuto.
Se crea un grupo de caminos generados al azar llamados poblacin inicial. Estos caminos sern guardados
como una secuencia de nmeros.
Se eligen dos de los mejores (mas cortos) caminos de la poblacin inicial, ellos se aparean para obtener dos
nuevas soluciones (hijos) con la esperanza de que estas sean mejores soluciones que sus padres. El apareo se
realiza escogiendo un punto al azar de las secuencias padres y cambiando todos los nmeros de la secuencia, a
partir de ese punto.
La idea del AG es simular el modo de evolucin que usa la naturaleza, las buenas soluciones se reproducen para
formar (en lo posible) mejores soluciones en la poblacin, mientras que las malas soluciones son dejadas de lado.
Eventualmente el AG hace que todas las soluciones se vean idnticas. Esto no es ideal y para evitarlo, se puede
crear una poblacin inicial muy grande o utilizar las mutaciones. Este mtodo permite al AG cambiar de forma
aleatoria una de las soluciones. Algunas veces una mutacin llega a una mejor solucin que el apareo no habra
alcanzado.
Por ejemplo:
Todo nmero del padre 1, antes del punto de apareo es, copiado en igual orden al hijo 1 y todo nmero, despus
del punto de apareo, del padre 2 es copiado a continuacin en el mismo hijo.
Lo opuesto es hecho con el hijo 2.
Padre 1 12345
Padre 2 35214
Hijo 1 12314
Hijo 1 35245
Como se puede observar en el ejemplo el nro. 1 es usado dos veces en el hijo 1 mientras que falta el nro. 5.
Por ello se llega a la conclusin de que el esfuerzo del AG tiene que estar particularmente desarrollado en una
buena codificacin de las posibles soluciones y una funcin de apareo que sea productiva.
Para as asegurar que las adyacencias entre las ciudades sean preservadas de los padres a los hijos.
Adems un buen AG no debe considerar dos veces los recorridos que se hallen repetidos.
la percepcin del entorno a travs de sus sensores - de modo que le permita crear una abstraccin del
mundo
la planificacin de una trayectoria libre de obstculos - para alcanzar el punto destino seleccionado
el guiado del vehculo - a travs de la referencia construida.
En consecuencia con las definiciones del prrafo anterior, el robot mvil debe poseer una arquitectura que coordine los
distintos elementos de a bordo (sistema sensorial, control de movimiento y operacin) de forma correcta y eficaz para la
realizacin de una misin.
Realizar una tarea de navegacin para un robot mvil significa recorrer un camino que lo conduzca
desde una posicin inicial hasta otra final, pasando por ciertas posiciones intermedias o submetas.
El problema de la navegacin se divide en las siguientes cuatro etapas:
Percepcin del mundo: Mediante el uso de sensores externos, creacin de un mapa o modelo del
entorno donde se desarrollar la tarea de navegacin.
Planificacin de la ruta: Crea una secuencia ordenada de objetivos o submetas que deben ser
alcanzadas por el vehculo. Esta secuencia se calcula utilizando el modelo o mapa de entorno, la
descripcin de la tarea que debe realizar y algn tipo de procedimiento estratgico.
Generacin del camino: En primer lugar define una funcin continua que interpola la secuencia de
objetivos construida por el planificador.
Posteriormente procede a la discretizacin de la misma a fin de generar el camino.
Seguimiento del camino: Efecta el desplazamiento del vehculo, segn el camino generado mediante
el adecuado control de los actuadores del vehculo.
Estas tareas pueden llevarse a cabo de forma separada, aunque en el orden especificado.
La complejidad del sistema necesario para desarrollar esta tarea depende principalmente del
conocimiento que se posee del entorno de trabajo.
Cuando el modelo del entorno del que dispone el robot adolece de ciertas imperfecciones al
omitir algunos detalles del mismo.
El esquema anterior resulta ineficaz, al no asegurar la construccin de un camino libre de
obstculos.
Este es un esquema de navegador utilizado
en aplicaciones, donde la informacin acerca
del entorno de trabajo vara desde un perfecto
conocimiento del mismo hasta poseer un
cierto grado de incertidumbre.
Lo novedoso reside en el desdoblamiento de
a tarea de planificacin en dos subtareas:
La construccin de la ruta global puede realizarse antes de que el vehculo comience a ejecutar la tarea, mientras
que la planificacin local se lleva a cabo en tiempo de ejecucin.
El esquema empleado recurre a un uso ms intenso del sistema sensorial, y se responsabiliza de la coordinacin
de la percepcin, planificacin y control del vehculo para guiarlo por el camino especificado, mientras verifica el
entorno, y realizar el sorteo de obstculos.
Por tanto, la ruta al tan slo asegurar continuidad en posicin, supone que nicamente los
robots mviles omnidireccionales puedan seguir una referencia de tales caractersticas.
Se definen como una proyeccin del espacio libre del entorno en una red de curvas
unidimensionales yacientes en dicho espacio libre.
Formalmente se definen como una retraccin con preservacin de la continuidad.
Si el conjunto C l define las posiciones libres de obstculos de un entorno, la funcin
retraccin RT construye un subconjunto C v continuo de C l .
De esta forma, se dice que existe un camino desde una configuracin inicial q a
hasta otra final q f , supuestas ambas libres de obstculos, si y solo si existe una curva
continua desde RT(q a ) hasta RT(q f ).
Al igual que los grafos de visibilidad, este mtodo tambin trabaja en entornos totalmente
conocidos y con obstculos modelados mediante polgonos.
Al igual que los diagramas de Voronoi, con el uso de los cilindros rectilneos generalizados
(CRG) se pretende que el vehculo navegue lo ms alejado de los obstculos. De forma que la
ruta que lleve al robot desde una configuracin inicial hasta otra final estar compuesta por una
serie de CRG interconectados, de tal modo que la configuracin de partida se encuentre en el
primer cilindro de la sucesin y la final en el ltimo.
Este tipo de mtodos se fundamenta en una descomposicin en celdas del espacio libre. As, la
bsqueda de una ruta desde una postura inicial q a hasta otra final q f , consiste en encontrar
una sucesin de celdas que no presente discontinuidades, tal que la primera de ellas contenga a
q a y la ltima a q f .
No encuentra una serie de segmentos que modele la ruta, sino una sucesin de celdas; por
ello, se hace necesario un segundo paso de construccin de un grafo de conectividad,
encargado de definir la ruta.
Para la planificacin segn el mtodo de descomposicin en celdas, se precisa la resolucin de dos problemas:
I mplica construir unas celdas con determinada forma geomtrica tal que resulte fcil de
calcular un camino entre dos configuraciones distintas pertenecientes a la celda, y la
comprobacin para averiguar si dos celdas son adyacentes debe disfrutar de la mayor simpleza
posible. Aparte de estas caractersticas, la descomposicin global del espacio libre implica que
no deben existir solapamientos entre celdas y que la unin de todas ellas corresponde
exactamente al espacio libre.
Su construccin est asociada a la descomposicin en celdas efectuada en el paso anterior, del tal forma, que los nodos van a
ser cada una de las celdas, existiendo un arco entre dos celdas si y solo si son adyacentes.
Los distintos mtodos basados en este principio, se distinguen por la forma en la cual realizan
la descomposicin en celdas y como se construye el grafo de conectividad.
Generacin de caminos.
Sin embargo, a menudo se precisa realizar una planificacin de la velocidad que desarrollar el
vehculo en su recorrido por el camino construido. A la fusin de una curva de velocidad con el
camino especificado se denomina construccin de la trayectoria. Esta se define como el resultado de la
composicin de una planificacin espacial (camino) con otra temporal (curva de velocidad). De esta
forma, la trayectoria engloba un conjunto de posturas temporales, las cuales resultan de la suma de
una componente de velocidad con cada una de
la posturas que conforman el camino.
La planificacin se define como la bsqueda de una ruta libre de obstculos desde una posicin
inicial hasta otra final a travs del entorno de trabajo del robot mvil. Esta operacin se realiza
mediante el uso de la informacin que se posee del entorno actualmente, la descripcin de la
tarea de navegacin y algn tipo de metodologa estratgica. As, el planificador se define por el
modelo del entorno y el algoritmo de bsqueda utilizado. El caso ms simple consiste en
considerar un entorno conocido en su totalidad, esttico y modelado de forma geomtrica
mediante polgonos. Con estas apreciaciones resulta factible la aplicacin un algoritmo de
bsqueda en grafos, que emplee cierta funcin de coste para la obtencin de la ruta. Sin
embargo, la aplicacin directa de esta metodologa para utilizar la ruta resultante como camino
que se debe seguir, implica efectuar ciertas consideraciones acerca del vehculo. De esta
manera, se supone un vehculo puntual, omnidireccional, y que recorre los caminos consignados
de forma perfecta.
De este modo, dos nodos estn conectados si y solo si son visibles, es decir, se puede
alcanzar el segundo nodo desde el primero (o viceversa) al seguir la lnea recta que los une, sin
interceptar algn obstculo del entorno. Tambin se consideran visibles si el segmento que une
los dos nodos yace sobre una arista del polgono que modela a un obstculo.
La ruta consiste en la sucesin de nodos por los cuales deber pasar el robot al seguir los arcos,
para llegar a la configuracin final q f partiendo desde la de inicio q a . As, esta se define por
un conjunto ordenado de nodos del grafo:
Se caracteriza por no generar el grafo completo, sino el subgrafo necesario para encontrar el
objetivo. Suponiendo que el robot se encuentra en el nodo inicial, desde ste elige de la gama
de nodos visibles aquel que posea la distancia eucldea menor con respecto al nodo final.
El nodo de partida y el nodo elegido se marcan como visitados, y se introducen en la ruta
solucin. En el caso de que el nodo actual no posea nodos visibles y tampoco sea el nodo meta,
se retroceder al nodo anterior y se seleccionar, entre los visibles, el ms cercano al nodo
final que no est visitado.
Existen fuertes restricciones para llevar este algoritmo a la prctica de la forma descrita, sin
embargo resulta posible utilizar una versin modificada como algoritmo de planificacin de
rutas admisibles. En algunos casos mejora la relacin existente entre el clculo de la ruta
ptima y el tiempo empleado en localizarla, ante la utilizacin conjunta de un algoritmo de
generacin de grafos de visibilidad y bsqueda heurstica tipo A * .
visitados y camino, los cuales almacenan los nodos evaluados y el camino actual
respectivamente.
G={g 1 ,g 2 ,g 3 ,g 4 ,g 5 }
ha sido planificada mediante el uso de grafos de visibilidad y una versin sobredimensionada del modelo del
entorno. La obtencin de este nuevo modelo implica la utilizacin de un factor de expansin que garantice que la
ruta planificada resulte segura. En la mencionada figura se considera un arquetipo de robot circular, por lo que se
ha utilizado un factor de expansin igual al radio de la circunferencia que lo modela. Por tanto, se procede a la
construccin de una ruta que impide la colisin del robot con algn obstculo del entorno.
i) Por cada arista del polgono original construir una recta paralela a cierta distancia hacia el
Sin embargo, con polgonos no convexos, el algoritmo anterior resulta incompleto, por lo que
se precisa incorporar un paso adicional. La problemtica que conlleva realizar la
expansin se refleja a continuacin:
Para la resolucin de este problema, una vez efectuado el paso i), en el paso ii) se aaden los
puntos de corte entre dos aristas no consecutivas, de forma que se construye un grafo
compuesto por dos tipos de nodos: los vrtices originales del polgono expandido, y los puntos
de corte entre dos aristas no consecutivas. Las aristas se definen como los segmentos del
polgono expandido que unen dos nodos, como se en la siguiente figura:
De este modo:
iii) Eliminar del grafo del polgono expandido las aristas interiores. Se define
una arista interior como aquella en la que al menos uno de los dos vrtices que
la definen es interior al polgono envolvente.
A medida que el robot avanza, su sistema sensorial se encuentra alerta para detectar obstculos en
el camino planificado, estos pueden ser evitados utilizando tcnicas de planificacin local. As, mientras el
planificador global realiza una primera construccin del camino a recorrer, el planificador local, una vez
detectado un obstculo, debe modificar el camino original para rodearlo.
Las tcnicas de planificacin a utilizar, sern las que realizan la construccin a priori del camino
propuesto. Esta accin se efecta en dos etapas: a) especificacin de la ruta local que define una va por la
cual se evita el obstculo detectado y b) ajuste de una curva sobre la ruta construida, de tal modo que el
camino obtenido a partir de ella resulte admisible desde el punto de vista cinemtico.
Este proceso puede obtener dos resultados distintos:
Si se supone el empleo de un punto de referencia como modelo de obstculo, los parmetros utilizados para la
planificacin local seran:
Camino construido Q mediante la planificacin y generacin global. Este se considera definido a partir de la funcin
camino P().
Configuracin actual q s del robot mvil sobre el camino Q.
Punto de referencia gn que define la nueva ruta a seguir (que es proporcionado por el sistema sensorial del robot).
Configuracin de aterrizaje q e en la cual el camino local se encuentra con el global.
De este modo, la ruta libre de obstculos se define por el tro (q s , g n , q e ).
en donde B j se denomina funcin peso, y su definicin especifica el tipo de curva spline en particular, y
los puntos cartesianos V i+j , conforman el polgono de control, que define la topologa de una
instanciacin de la curva en concreto.
De este modo, la construccin de Po () queda transformada en el clculo de un polgono Vc={v c1 ,v
c2 ,...,v cm }, a partir de un sistema de ecuaciones .
2) Discretizacin de la curva:
El segundo problema que surge con el empleo de curvas tipo spline consiste en la bsqueda del
conjunto L necesario para la realizacin de la conversin a un camino Qo de la funcin Po (). La
problemtica se debe a la necesidad que manifiesta el seguidor de caminos de que las distintas
configuraciones que forman el camino alternativo Qo se encuentren separadas por una misma distancia .
La eleccin del tipo de curva spline que se ha de utilizar resulta fundamental para la construccin del
camino. La clase de spline queda determinada por la naturaleza de las funciones peso, que confieren a la
curva ciertas caractersticas en relacin a su polgono de control.
Los criterios que pueden emplearse para la eleccin del tipo de curva que se utilizar son:
Facilidad del clculo del polgono de control.
Relacin lo mas lineal posible entre el parmetro de la curva y su longitud de arco.
La curva spline ms sencilla es la cbica. Ella se compone de funciones de tercer grado que interpolan
La figura representa una curva spline cbica P(t), formada por dos segmentos P k (t) y P k+1 (t) que
mantienen su continuidad hasta la segunda derivada en el punto de unin P k+1 . Ello se debe al hecho de
haber calculado un vector tangente P k+1 que define la orientacin en dicho punto.
Debido a que las curvas Spline presentan grandes problemas al ser utilizadas para problemas reales, se
utilizar un tipo de curva llamada -Spline que posee las siguientes ventajas:
Est construida en base a segmentos de un mismo orden, lo que implica que cualquier modificacin en el
polgono de control de la curva slo requiere una reconstruccin de la curva local en los segmentos
afectados.
Posee la posibilidad de introducir vrtices de control adicionales para la imposicin de condiciones
iniciales, lo que permite que el camino comience o termine en ciertas en ciertas posturas especificadas.
Posee un parmetro que controla el grado del polinomio y por lo tanto la suavidad del mismo.
Estas propiedades se deben a la sencillez y flexibilidad de la definicin de las funciones peso,
modeladas como polinomios de tercer orden, teniendo en cuenta, que el orden de la curva se mantiene
constante e independiente del nmero de vrtices de control.
Las mejores prestaciones de las curvas Spline, en lo referido a la variabilidad lineal de la
curvatura, se obtienen utilizando su versin cbica (1=1, 2=0).
La principal ventaja que presenta esta aproximacin consiste en la acotacin de la curvatura en lo que
se refiere al recorrido a travs de los diferentes arcos circulares.
En la siguiente propiedad se expone una importante caracterstica de las curvas Splines cuando el
polgono de control que las define yace sobre un arco circular.
Sea V={V -2 , V -1 ,V 0 ,V 1 } un conjunto de los cuatro vrtices de control situados sobre el permetro
de un crculo de radio , y separados entre s por una distancia , que es menor o igual a la mitad del
radio por Pi. El segmento de curva -Spline definido por V se encuentra acotado entre el crculo en el que
yace dicho conjunto y otro concntrico al anterior con radio definido por:
Esta propiedad proporciona un rea en el plano en la cual se incluye la curva -Spline cuando viene
definida a travs de un conjunto de vrtices de control que cumplen las especificaciones mencionadas. La
distancia introducida en la definicin de esta propiedad asegura que los vrtices de control se
encuentran equidistantes en el crculo de radio .
Los cuatro puntos de control de V abarcan un arco de crculo de longitud D, el cual define una seccin
de crculo de ngulo .
La conclusin directa de esta propiedad consiste en la posibilidad de asegurar una zona en la cual se
situar la curva cuando el polgono de control yace sobre un crculo. Por otra parte, mediante
comprobaciones experimentales, se demuestra que la curva adopta la forma de un arco circular de
curvatura constante igual a la inversa del radio .
El crculo de circunnavegacin Cm se define como aquel que tiene su centro situado en la recta y que
pasa a travs de un punto a situado a una distancia d sobre dicha recta.
Una vez construido el crculo encargado de esquivar el obstculo rodendolo, se procede al clculo de los crculos
de despegue y aterrizaje. Dichos crculos deben contener las siguientes caractersticas:
La recta s () divide al plano en dos regiones, de tal modo que el crculo que se ha de calcular (Cs Ce )
estar contenido por completo en una de estas dos regiones. Hay que tener en cuenta, que por cuestiones de planteo
matemtico, alguna porcin del crculo de circunnavegacin debe localizarse en la regin donde se desea construir
el crculo de despegue o aterrizaje. En caso contrario, el resultado obtenido no sera el correcto, es decir, no puede
suceder ninguna de las siguientes cosas:
La construccin del polgono de control de la curva se realiza a partir de numerosos vrtices separados
entre s por una misma distancia . Esta configuracin del polgono de control permite un mayor control
de las variaciones de la curvatura. Adems, la separacin homognea de los vrtices evita saltos
indeseados en la curvatura.
Teniendo en cuenta la propiedad de acotacin cartesiana de la curva -Spline cuando los vrtices de
control se encuentran sobre un arco circular de radio , sta comprende una curvatura acotada por los
valores -1 y -1. De esta forma, la curvatura del camino se encuentra acotada. Por lo tanto, si se conocen
los valores de los radios de los crculos de despegue, circunnavegacin y aterrizaje, se puede determinar si
el camino especificado resulta admisible desde el punto de vista cinemtico. Sin embargo, queda por
determinar que el nuevo camino libre de obstculos P n (), definido por la composicin del camino
original P() y del camino alternativo P o () cumpla con las restricciones de continuidad en posicin,
orientacin y curvatura. El problema consiste en la definicin de ciertas condiciones de inicio sobre el
primer segmento de curva -spline, y otras finales que debe cumplir el ltimo segmento de P o (). Estas
condiciones salen a la luz con el clculo de una serie de puntos de control adicionales que se aadirn al
inicio y al final de los ya construido sobre los tres crculos.
Gracias a propiedades especiales que poseen las curvas -Spline se pueden calcular los puntos de
control precisos para que al inicio y al final de la curva se verifiquen las restricciones de posicin,
orientacin y curvatura. Con ello, se asegura que no se presentarn discontinuidades entre el camino
original y el alternativo que esquiva el obstculo en los puntos de unin.
El ltimo paso que debe llevarse a cabo, una vez construida la curva P o () que define el nuevo
camino, consiste en la discretizacin de la misma para convertirla en un conjunto de posturas que pueda
emplear el algoritmo de seguimiento. Esta discretizacin debe realizarse de modo que la posturas
generadas resulten aproximadamente equidistantes.
Luego, hay que elaborar un algoritmo para que el robot lo ejecute. Este algoritmo, en el caso de no
obtener ninguna situacin errnea, debe devolver el conjunto de posturas Q o que representa el camino
alternativo que esquiva el obstculo aparecido en el camino original. Por otro lado debe asegurarse con ello
que este nuevo camino, libre de obstculos, se muestra continuo en posicin, orientacin y curvatura en
relacin al original en los puntos de unin de despegue y aterrizaje. Sin olvidar que debe asegurar una
curvatura acotada entre ciertos valores proporcionados por el modelo cinemtico del vehculo, de tal modo
que el nuevo camino resulte admisible desde los supuestos cinemticos.
Ante estas dos cuestiones resulta necesario adoptar cierta postura inicial o final oportunas para la
curva -Spline. El objetivo consiste en encontrar una expresin que relacione los valores de las
derivadas (x,y) y (x,y). Los valores de estas derivadas deben ser tales que impongan una
configuracin inicial o final a la funcin camino y permitan una transicin de curvatura sin cambios
bruscos.
Como
se puede constatar, la figura ilustra una ruta G={g 1 ,g 2 ,g 3 ,g 4 ,g 5 } calculada mediante grafos de
visibilidad en un entorno expandido (lnea discontinua). Sobre ella se muestra el mtodo utilizado para la
construccin del camino de referencias (en trazo grueso) mediante la concatenacin de segmentos y arcos
circulares.
En la mencionada figura se encuentra representada una ruta de cinco vrtices. Sobre el polgono
G, se ha construido una serie de crculos de giro C i , separados cierta distancia de los vrtices del camino
de referencia. Esta separacin se crea por la distancia existente entre el crculo de circunnavegacin C m y
el crculo que modela el obstculo C o. Todo ello permite que la curva -Spline, que se construir en un
segundo paso, interpole los vrtices g i . Por otra parte, la continuidad en posicin y orientacin, se
garantiza mediante el uso de rectas tangentes para la unin de dos crculos consecutivos.
Estos crculos permiten el cambio de direccin entre dos segmentos consecutivos de la ruta
proporcionada por el planificador. El primer paso de la construccin de un crculo C i , queda reflejado la
siguiente figura:
Con esta expresin se denomina a la unin de los crculos consecutivos, que no sean tangentes,
mediante rectas que proporcionen una continuidad en la posicin y la orientacin. Al finalizar este paso
queda definido un camino compuesto por arcos circulares y segmentos rectilneos que conforman el
denominado camino de referencias.
Entre dos crculos consecutivos C i y C i+1 , se puede trazar el conjunto de rectas tangentes
representado en la siguiente figura:
Como se puede constatar, la pendiente de la recta buscada queda definida como la tangente del ngulo .
Ya que las rectas que contienen a los radios i y i+1 resultan ser paralelas, los tringulos formados por c i
A D, c i+1 E B y EAC son semejantes, por lo que se deduce que el valor de la pendiente se define como
sigue:
En la figura se
distinguen los
siguientes tringulos
semejantes: c i AD, c i AC, c i+1 CB y c i+1 BE. As pues, la pendiente de la recta buscada se identifica por la
tangente del ngulo . Dicha razn trigonomtrica se define por la expresin:
Este paso resulta similar al descrito en el sorteo de obstculos. Se trata de la construccin de una
curva -spline a partir de un conjunto de vrtices de control
equidistantes, definidos sobre los arcos y segmentos que conforman el camino de referencia. Para la
imposicin de una postura inicial y una final, se utilizan vrtices de control adicionales al comienzo y final
del conjunto generado sobre el camino de referencias. Para garantizar una mayor suavidad en la transicin
de la curvatura, se utiliza un crculo de despegue sobre g 1 y uno de aterrizaje sobre g p , lo que confiere a
este mtodo un aspecto de algoritmo de sorteo de obstculos generalizado. El uso de estos crculos al
comienzo y final del camino facilita la unin entre dos caminos globales, en el caso de estar navegando con
una informacin limitada del entorno.
Una vez definida la curva a partir de su polgono de control, se procede a la discretizacin de la
misma para formar el camino. Para ello se sigue el mismo criterio que en la generacin de caminos locales.
El algoritmo que construye caminos globales se puede esquematizar del modo siguiente:
El conjunto de tramos realizables T r se define como la agrupacin de aquellos que pueden ser
empleados en la construccin de la ruta solucin. Estos se caracterizan por permitir la construccin de un
camino. Por lo tanto, se denomina grafo de visibilidad cinemtico GVC a la terna (T r ,, ), donde T r es el
conjunto de tramos realizables, es la funcin radio (que en este caso, toma en cuenta si existe algn
obstculo en el entorno)y la funcin de visibilidad entre tramos.
Los nodos en un grafo de visibilidad cinemtico resultan ser tramos, y por lo tanto el algoritmo de
bsqueda se fundamentar en la expansin de tramos. Esta expansin debe realizarse de tal forma que los
nuevos tramos aadidos al rbol de bsqueda del camino solucin pertenezcan al conjunto de los tramos
realizables.
Al igual que el algoritmo A * , el propuesto emplea un conjunto de nodos abiertos y otro conjunto
de nodos cerrados. Con el primer conjunto quedan indicadas las prximas direcciones de bsqueda, y con
el segundo se especifican los tramos que ya han sido visitados. La funcin de coste heurstica f(t i )
utilizada para concluir la bsqueda, se define como la suma de las funciones g(t i ) y h(t i ), donde
La funcin g(t i ) es la distancia recorrida sobre la ruta hasta el final del tramo actual.
La funcin h(t i ) es la distancia eucldea desde el nodo del tramo actual hasta el nodo destino.
Debido a que la funcin h(t i ) resulta una estimacin optimista de la distancia que resta por recorrer
En el tiempo de bsqueda tambin es necesario corroborar que la sucesin de tramos que forma la
ruta solucin se componga por tramos realizables. Asimismo se verifica que el camino de referencias
generado a partir de la ruta resulta admisible. Esta admisibilidad se fundamenta en la comprobacin de
que es libre de obstculos.
La generacin del camino de referencias asociado a un tramo consiste en la unin del crculo de giro
del tramo anterior con el actual mediante un segmento tangente a ambos
crculos. Si dicho segmento
est libre de obstculos, yace por completo en el espacio libre del entorno, ste se evala como
admisible, ya que, en caso contrario, se procede a reducir el radio de los crculos de giro al
valor mnimo admisible y se realiza una segunda comprobacin. Si en este segundo intento el
segmento no yace por completo en el espacio libre, entonces el camino de referencias se
califica como inadmisible y, por tanto, se obvia el tramo asociado.
CPM
Dejando de lado un factor muy importante en la planificacin como ser los recursos. El CPM
considera a los recursos como inagotables.
El mtodo se basa en un diagrama de red que define un camino crtico el cual pasa por tareas
crticas las cuales al retrasare harn que todo el proyecto tambin lo haga.
Implementacin:
Cada estado se representa de forma grfica como nodos donde cada nodo est dividido en
fecha comienzo/fin temprana y fecha de comienzo/fin tarda. Y cada tarea se
representa en forma de flechas que van de un estado a otro.
3. Luego queda definidas las tareas crticas, las cuales al unirse forman uno o
ms caminos crticos.
Mtodos de bsqueda, optimizacin y planificacin en IA Pgina 51 de 53
Los nodos que forman el camino crtico adems de ser tareas crticas,
deben cumplir con que:
RPWM
Ranked positional weight method - Mtodo de peso relativo ordenado
Este mtodo fue desarrollado para lneas de ensamblaje. Es ms fcil de aplicar que el CPM
(mtodo del camino crtico).
La principal diferencia es que el CPM considera a todos los recursos como ilimitados.
Planificar es crear un plan de accin y un marco de tiempo para llevar adelante las actividades
del trabajo en un proyecto.
Cmo funciona?
1. Se establecen elementos de trabajo, y s grafican mediante la implementacin de
una red de trabajo lgica que muestra en forma grfica las precedencias entre
tareas.
4. Se ordenan las actividades por su peso relativo en orden descendiente con las ms
pesadas primero.
Luego si los recursos no se han agotado se prosigue con la tarea con el prximo
mayor peso, pero antes de todo esta debe cumplir todas las condiciones de
Mtodos de bsqueda y optimizacin en IA Pgina 52 de 53
precedencia para poder ser llevada adelante.