Вы находитесь на странице: 1из 19

INSTITUTO TECNOLGICO SUPERIOR DE LA

MONTAA

CARRERA: INGENIERA CIVIL

MATERIA: MODELO DE OPTIMIZACION

UNIDAD III

ALGORITMOS ESPECIALES DE PROGRAMACION LINEAL

GRADO/GRUPO: 3 B

ALUMNO: JUAN CARLOS PACHECO FRANCISCO

DOCENTE: ING. JUAN CASTRO HURTADO

TLAPA DE COMONFORT, GRO. ABRIL DE 2017.


ACTIVIDAD 2

INSTRUCCIN. REALIZAR UN ENSAYO POR CADA UNO DE LOS TEMAS QUE SE


MENCIONAN, EL CUAL DEBE TENER PORTADA, INTRODUCCIN, CONTENIDO Y
CONCLUSIONES; LA ENTREGA SER DE MANERA DIGITAL, CON UN TAMAO DE
LETRA 12 PARA EL TEXTO Y 14 PARA LOS TTULOS, INTERLINEADOS A 1.5,
TEXTO JUSTIFICADO.

EL MODELO DEL CAMINO MAS CORTO


Camino ms corto
El problema de la ruta ms corta es uno de los problemas ms importantes
de optimizacin combinatoria con muchas aplicaciones, tanto directas como
subrutinas en otros algoritmos de optimizacin combinatoria.
Beneficios
I.-La amplia variedad de aplicaciones prcticas como es el envo de algn
material entre dos puntos especficos de la forma ms eficiente,
econmica o rpida

II.- La amplia variedad de aplicaciones prcticas como es el envo de algn


material entre dos puntos especficos de la forma ms eficiente,
econmica o rpida.
Se puede utilizar como inicio en el estudio de modelos complejos de redes,
esto es, cuando no se conoce la estructura de la red se pueden
aplicar algoritmos para conocer algunas caractersticas de la red
(presencia de ciclos negativos).
Se utiliza frecuentemente como subproblemas (subrutinas) en la solucin de
problemas combinatorios y redes, as en el caso de problemas para los
cuales no existe un algoritmo de solucin exacto (p. e. problemas NP-
completos), la aplicacin de algoritmos de ruta ms corta, resultan
auxiliares para encontrar una buena solucin.
APLICACIONES
El problema de ruta ms corta tiene muchas aplicaciones prcticas, algunas
son: encontrar la ruta ms corta o ms rpida entre dos puntos en un
mapa, redes elctricas, telecomunicaciones, transporte, planeacin de
trfico urbano, trasbordo, diseo de rutas de vehculos, planeacin de
inventarios, administracin de proyectos, planeacin de produccin, horarios
de operadores telefnicos, diseo de movimiento en robtica, redes de
colaboracin entre cientficos, reemplazo de equipo, etc.

1
IMPORTANCIA DEL PROBLEMA
El problema de la Ruta ms Corta es fundamental en muchas reas, como
son:
investigacin de operaciones, ciencia de la computacin e ingeniera.
En qu consiste el Modelo de Ruta ms corta?
El problema de la ruta ms corta incluye un juego de nodos conectados
donde slo un nodo es considerado como el origen y slo un nodo es
considerado como el nodo destino. El objetivo es determinar un camino de
conexiones que minimizan la distancia total del origen al destino.
Pasos a seguir
1. Elaborar un cuadro con todos los nodos y los ramales que salen de l.
2. Partiendo del origen, debemos encontrar el nodo ms cercano a l.
3. Anular todos los ramales que entren al nodo ms cercano elegido.
4. Comenzando en el origen se debe encontrar el nodo ms cercano a l,
por intermedio del(los) nodo(s) ya elegido(s) y volver al tercer paso hasta
llegar al destino
Mtodo simplex
Construir un modelo matemtico que permita representar con la mejor
exactitud una situacin real para encontrar soluciones ptimas.
Determinar dicha solucin haciendo uso de la metodologa aprendida como
lo es el mtodo simplex.

MTODO DIJKSTRA
La idea subyacente en este algoritmo consiste en ir explorando todos los
caminos ms cortos que parten del vrtice origen y que llevan a todos los
dems vrtices; cuando se obtiene el camino ms corto desde el vrtice
origen, al resto de vrtices que componen el grafo, el algoritmo se detiene.

2
MTODO BELLMAN-FORD
El algoritmo de Bellman-Ford determina la ruta ms corta desde un nodo
origen hacia los dems nodos para ello es requerido como entrada un grafo
cuyas aristas posean pesos. La diferencia de este algoritmo con los dems
es que los pesos pueden tener valores negativos ya que Bellman-Ford me
permite detectar la existencia de un ciclo negativo.

Grfica.
G = (V, E), es una grfica formada por el conjunto de nodos (vrtices) V y el
conjunto de arcos (aristas) E.
Grfica No Dirigida.
En una grfica no dirigida un arco es un par no ordenado de nodos, las
conexiones son bidireccionales, es decir, el orden no importa.
Nodos Adyacentes. Son los nodos conectados por un arco.
Arcos Incidentes. Una ruta en una grfica dirigida es una secuencia de nodos y
arcos, adems se requiere que todos los nodos sean diferentes. En el caso de
que algunos nodos o arcos se repitan en la secuencia, se conoce como
camino.
Del nodo fuente s al nodo sumidero t. Para que exista solucin se debe
cumplir
i. Existe al menos una trayectoria entre s y t.
ii. No existen circuitos negativos tales que haya una ruta de s a algn nodo del
circuito y otra de algn nodo del circuito a t.
Del nodo fuente s a todo nodo de la red i. Para que exista solucin se debe
cumplir:
i. Existen rutas de s a i.
ii. No existen circuitos negativos en la red.
Los problemas conocidos como problemas del camino mnimo o camino ms
corto, tratan como su nombre indica de hallar la ruta mnima o ms corta

3
entre dos puntos. Este mnimo puede ser la distancia entre los puntos origen y
destino o bien el tiempo transcurrido para trasladarse desde un punto a otro.
Se aplica mucho para problemas de redes de comunicaciones.
Este tipo de problemas pueden ser resueltos por el mtodo del Simplex, sin
embargo existen otros mtodos ms eficientes como por ejemplo el algoritmo
de Dijkstra o el de Bellman-Ford.
Este algoritmo calcula el camino mnimo de un nodo a a otro nodo z en
particular, a la vez que calcula los caminos mnimos desde el nodo
inicial a dado hasta cada uno de los otros nodos del grafo.
Consiste en encontrar la ruta ms corta entre dos nodos dados de un grafo
dirigido y valuado (con capacidades). Veremos dos algoritmos, por un lado el
algoritmo de Dijkstra, que encuentra el camino ms corto entre el nodo origen
y cada uno de los otros nodos de la red, y por otro lado el algoritmo de Floyd,
que encuentra el camino ms corto entre cualquier par de nodos de la red.

Algoritmo de DIJKSTRA
Tendremos a lo largo de todo el proceso dos conjuntos y dos vectores:

Conjunto C: Conjunto de vrtices candidatos. Inicialmente contiene todos


los nodos menos el nodo origen.

Conjunto S: Conjunto de vrtices seleccionados, es decir, aquellos para los


que ya conocemos su camino mnimo desde el nodo origen. Inicialmente
contiene el nodo origen.

Vector D: Almacenar la longitud del camino ms corto desde el origen a


cada nodo. Tendr tantas posiciones como nodos tenga el grafo. El coste de
ir del nodo origen a s mismo lo estimaremos como cero.

Vector P: Almacenar el nodo predecesor a cada nodo en el camino ms


corto desde el origen hasta l. Tendr tantas posiciones como nodos tenga
el grafo. La posicin del nodo predecesor al origen estableceremos que sea
cero para indicar que es el nodo origen.

Llamaremos al nodo origen o, y el coste de ir del nodo i al nodo j lo


denotaremos como COSTEij .

Hay que seguir los siguientes pasos:

Seleccionamos el nodo que sea destino de la arista con menor valor que
salga del nodo o, llammoslo u. Introducimos el nodo u en S y lo sacamos

4
de C. Almacenamos en la posicin u del vector D el valor COSTEou y en la
posicin u del vector P el valor del nodo predecesor, es decir, o.

Seleccionamos el siguiente nodo al que podamos llegar con menor coste,


bien directamente desde o, bien a travs del otro nodo seleccionado u.
Llamamos al nuevo nodo seleccionado v. Introducimos el nodo v en S y lo
sacamos de C. Introducimos en la posicin v del vector D el coste de llegar
al nodo v, si es directamente desde o ser COSTEov, si es a travs
de u ser D[u]+COSTEuv. Por ltimo, en la posicin v del
vector P introducimos el valor del nodo predecesor, ya sea o o u.

Repetiremos este proceso hasta que todos los nodos hayan sido
seleccionados, es decir, hasta que el conjunto C est vaco, o lo que es lo
mismo, hasta que en el conjunto S se encuentren todos los nodos del grafo.
En ese momento en el vector D tendremos almacenado el coste mnimo
para llegar desde el nodo origen a cualquier nodo del grafo, y podremos
obtener el camino ms corto mediante el vector P.

Ejemplo: Aplicar el algoritmo de Dijkstra sobre el siguiente grafo siendo el


nodo origen el 1:

5
Algoritmo DE FLOYD
El algoritmo de Floyd es ms general que el de Dijkstra, ya que determina la
ruta ms corta entre dos nodos cualquiera de la red.

El algoritmo representa una red de n nodos como una matriz cuadrada de


orden n, la llamaremos matriz C. De esta forma, el valor Cij representa el
coste de ir desde el nodo i al nodo j, inicialmente en caso de no existir un
arco entre ambos, el valor Cij ser infinito.

Definiremos otra matriz D, tambin cuadrada de orden n, cuyos elementos


van a ser los nodos predecesores en el camino hacia el nodo origen, es
decir, el valor Dij representar el nodo predecesor a j en el camino mnimo
desde i hasta j. Inicialmente se comienza con caminos de longitud 1, por lo
que Dij = i.

6
Las diagonales de ambas matrices representan el coste y el nodo
predecesor para ir de un nodo a si mismo, por lo que no sirven para nada,
estarn bloqueadas.

Los pasos a dar en la aplicacin del algoritmo de Floyd son los siguientes:

Formar las matrices iniciales C y D.

Se toma k=1.

Se selecciona la fila y la columna k de la matriz C y entonces, para i y j,


con ik, jk e ij, hacemos:

Si (Cik + Ckj) < Cij Dij = Dkj y Cij = Cik + Ckj


En caso contrario, dejamos las matrices como estn.

Si k n, aumentamos k en una unidad y repetimos el paso anterior, en


caso contrario paramos las iteraciones.

La matriz final C contiene los costes ptimos para ir de un vrtice a otro,


mientras que la matriz D contiene los penltimos vrtices de los caminos
ptimos que unen dos vrtices, lo cual permite reconstruir cualquier camino
ptimo para ir de un vrtice a otro.

I. EL MDELO DE FLUJO MXIMO


Existe un flujo que viaja desde un nico lugar de origen hacia un nico
lugar de destino a travs de arcos que conectan nodos intermediarios. Los
arcos tienen una capacidad mxima de flujo y se trata de enviar desde la
fuente al destina la mayor cantidad posible de flujo.

7
Hay problemas donde lo importante es la cantidad de flujo que pasa a travs
de la red.
Ejemplo: en las lneas de oleoductos, redes elctricas o de transmisin de
datos. Por esta razn en dichos problemas se determina el flujo mximo que
pasa a travs de una red.

Definiciones bsicas

Flujo: Circulacin de unidades homogneas de un lugar a otro.

Capacidad de flujo: es la capacidad de unidades que pueden entrar por el nodo


fuente y salir por el nodo destino.

Origen o fuente de flujo: nodo por el cual el flujo ingresa.

Destino o Sumidero de flujo: nodo por el cual el flujo sale.

Capacidades residuales: capacidades restantes unas vez que el flujo pasa el arco.

Ford Fulkerson
Para la resolucin de problemas de flujo mximo se requiere el uso
del mtodo Ford Fulkerson. Este mtodo propone buscar caminos en los que se
pueda aumentar el flujo hasta que se alcance el flujo mximo, la idea es encontrar
una ruta de penetracin con un flujo positivo neto que una los nodos de origen y
destino.

El flujo es siempre positivo y con unidades enteras.


El flujo a travs de un arco es menor o igual que la capacidad.
El flujo que entra en un nodo es igual al que sale de l.

Resolucin de problema

Para resolver un problema de flujo mximo se debe seguir los siguientes pasos:

8
1. Se identifica el nodo origen y destino.
2. Se parte desde el nodo de origen y se escoge el arco que posea mayor flujo
3. Se identifica los nodos de transbordo.
4. Repetir como si el nodo intermediario fuera el nodo origen.
5. Se calcula "k" y las capacidades nuevas.
6. Dado el resultado se cambian las capacidades y se repite el mismo
procedimiento desde el inicio.
Formulario
Cij,ji =(Ci-K, Cj+K), donde:

C: capacidad
Ij: ndices de los nodos
K: es el minimo flujo que pasa por el nodo, se calcula como k=
min(capacidades de la ruta).

Hallar el flujo mximo del siguiente problema:

Mtodo Ford Fulkerson


El nodo de origen como se puede observar es el numero 1 de color amarillo, y
el nodo de destino es el numero 5 de color azul.

9
Se escoge desde el nodo de origen aquel flujo que sea el mayor, en este caso
es 30, y va dirigido al nodo numero 3.

Se identifica el nodo de transbordo como [30,1], 30 es la capacidad, y 1 es el


nodo del cual proviene la capacidad y luego repetimos todo el proceso, como si
el nodo intermediario fuese el nodo de origen. Se tiene como flujo mayor 20
del nodo numero 3 al nodo numero 5, con el nodo de transbordo como [20,5].

10
Ahora que hemos llegado al nodo de destino, procedemos a calcular "k" y las
capacidades nuevas.

K=min(,30,20)
K=20

C13,31 =(30-20, 0+20)


C13,31 =(10, 20)

C35,53 =(20-20, 0+20)


C35,53 =(0, 20)

Luego de haber calculado las nuevas capacidades, es necesario reemplazarlas.

11
Se realiza el proceso otra vez, haciendo la ruta con los mayores flujos.

K=min(,20,40,10,20)
K=10

C12,21 =(20-10, 0+10)


C12,21 =(10, 10)

C23,32 =(40-10, 0+10)


C23,32 =(30, 10)

C34,43 =(10-10, 5+10)


C34,43 =(0, 15)

C45,54 =(20-10, 0+10)


C45,54 =(10, 10)

Volvemos a hacer el proceso y escogemos el camino 1,2. Como se puede


observar si se tomara rumbo del nodo 2 al nodo
3 terminara trancado, obligndose a volver al nodo origen, por lo que se toma
el camino 2,5.

12
K=min(,10,20)
K=10

C12,21 =(10-10, 10+10)


C12,21 =(0, 20)

C25,52 =(20-10, 0+10)


C25,52 =(10, 10)

Se actualizan las capacidades y procedemos a resolver de nuevo. Esta vez


agarraremos el camino de 1,3.

13
K=min(,10,10,10)
K=10

C13,31 =(10-10, 20+10)


C13,31 =(0, 30)

C32,23 =(10-10, 30+10)


C32,23 =(0, 40)

C25,52 =(10-10, 10+10)


C25,52 =(0, 20)

Y por ultimo escogemos el camino 1,4.

K=min(,10,10)
K=10

C14,41 =(10-10, 0+10)


C14,41 =(0, 10)

C45,54 =(10-10, 10+10)


C45,54 =(0, 40)

14
Reemplazando las nuevas capacidades, nos queda de la siguiente forma, las
capacidades del nodo de origen quedan como 0, por lo cual seguimos a sumar
a todas las K y ahi conseguimos el flujo mximo.

Flujo Mximo = K
Flujo Mximo = 20+10+10+10+10
Flujo Mximo = 60
El flujo mximo que puede pasar del nodo origen 1 hasta el nodo destino es de
60.
En teora de grafos, un grafo dirigido con pesos es tambin conocido como una
red. En los problemas de flujo en redes, las aristas representan canales por los que
puede circular cierta cosa: datos, agua, coches, corriente elctrica, etc. Los pesos
de las aristas representan la capacidad mxima de un canal: velocidad de una
conexin, volumen mximo de agua, cantidad mxima de trfico, voltaje de una
lnea elctrica, etc.; aunque es posible que la cantidad real de flujo sea menor. El
problema del flujo mximo consiste en lo siguiente: dado un grafo dirigido con
pesos, G = (V, A, W), que representa las capacidades mximas de los canales, un
nodo de inicio s y otro de fin t en V , encontrar la cantidad mxima de flujo que
puede circular desde s hasta t.
II. EL MODELO DE EXPANSIN MNIMA
rbol de Expansin
Dado un grafo conexo, no dirigido G. Un rbol de expansin es un rbol
compuesto por todos los vrtices y algunas (posiblemente todas) de las aristas
de G. Al ser creado un rbol no existirn ciclos, adems debe existir una ruta
entre cada par de vrtices.

15
Un grafo puede tener muchos arboles de expansin, veamos un ejemplo con el
siguiente grafo:

En la imagen anterior se puede observar que el grafo dado posee 3 arboles de


expansin, dichos arboles cumplen con las propiedades antes mencionadas
como son unir todos los vrtices usando algunas aristas.

rbol de Expansin Mnima


Dado un grafo conexo, no dirigido y con pesos en las aristas, un rbol de
expansin mnima es un rbol compuesto por todos los vrtices y cuya suma de
sus aristas es la de menor peso. Al ejemplo anterior le agregamos pesos a sus
aristas y obtenemos los arboles de expansiones siguientes:

16
De la imagen anterior el rbol de expansin mnima seria el primer rbol de
expansin cuyo peso total es 6.

El problema de hallar el rbol de Expansin Mnima (MST) puede ser


resuelto con varios algoritmos, los mas conocidos con Prim y Kruskal ambos
usan tcnicas voraces (greedy).

rbol: Es un grafo en el que existe un nico nodo desde el que se puede


acceder a todos los dems y cada nodo tiene un nico predecesor, excepto
el primero, que no tiene ninguno. Tambin podemos definir un rbol como:

o Un grafo conexo y sin ciclos.

o Un grafo sin ciclos y con n-1 aristas, siendo n el nmero de vrtices.

Grado de un nodo en un rbol es el nmero de subrboles de aquel nodo


(en el ejemplo, el grado de v1 es 2 y de v2 1).

Denominamos hojas en un rbol a los nodos finales (v3, v5 y v6).

17
Un rbol de mximo alcance es aquel que obtenemos en un grafo conexo y
sin ciclos.

rbol de mnima expansin: rbol de mximo alcance cuyo valor es mnimo,


es decir, la suma de sus aristas es mnima.

18

Вам также может понравиться