Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DOCENTE:
: PÉREZ CRISTIAN
ING. CASTRO
ALUMNOS:
AYALA BIZARRO, Rocky G.
CARDENAS HUAMAN, Royer J.
GAMBOA SANTANA, Hedber
RIVAS ALARCÓN, Enrrique
VARGAS ÑAUPA, Hilmar.
CIVIL YeDaRo
http://www.civilyedaro.wordpress.com
License information.
A DIOS
E por iluminar y bendecir nuestro camino. F A nue-
stros padres, quienes nos apoyan de manera incondicional
en nuestra formación académica; gracias a ellos por apostar
siempre en la educación.
H G
Índice General
INTRODUCCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Pag.1
1.1 PROBLEMA DEL MODELO DE TRANSPORTE . . . . 1
1.2 ALGORITMO PARA LA CONSTRUCCIÓN DE ÁRBOL
DE EXTENSIÓN MÍNIMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 ALGORITMO PARA LA CONSTRUCCIÓN DE LA RUTA
MÁS CORTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 ALGORITMO DE FLUJO MÁXIMO . . . . . . . . . . . . . . . . . . . . 3
Los grafos se pueden clasificar en dos grupos: dirigidos y no dirigidos. Los arboles
forman parte de los no dirigidos.
Sirven para organizar y relacionar datos en una base de datos, por ejemplo. Esto permite
realizar operaciones de manera eficiente. Por ejemplo, un árbol de definición jerárquica
se utiliza para configurar una base de datos para los registros de libros existentes en
diversas bibliotecas.
Otro ejemplo de la utilización de árboles son los diccionarios. A partir de una palabra,
se realiza una búsqueda en el árbol para saber si está incluida en el conjunto, y si existe,
se obtienen sus datos asociados (por ejemplo, si es un verbo, un sustantivo, un artículo,
etc.).
En este trabajo introducirán los siguientes temas: árboles de expansión, su definición;
arboles de expansión mínima, su definición y la explicación de los algoritmos que per-
miten hallar un árbol de expansión mínima; redes de flujo maximo, camino minimo y
por ultimo vertices atractivos en un grafo.
La organización del trabajo es la siguiente: En la capitulo 1 se encuentran las definiciones
básicas de los metodos utilizados. En el capitulo 2 se rsuelve los problemas asignados.
El GRUPO
Universidad Nacional de San Cristóbal de Huamanga
Escuela Profesional de Ingeniería Civil
Ayacucho, Diciembre del 2013.
RITMOS UTILIZADOS
MÉTODOS
NUMÉRICOS
Se tienen los nodos de una red pero no las ligaduras. En su lugar se proporcionan
las ligaduras potenciales y la longitud positiva de cada una si se insertan en la red.
(Las medidas alternativas para la longitud de una ligadura incluyen distancia, costo
y tiempo.)
Se desea diseñar la red con suficientes ligaduras para satisfacer el requisito de que
haya un camino entre cada par de nodos.
Algoritmo de Kruskal
En cada iteración agrege el siguiente arco de menor longitud del conjunto de arcos
disponibles, teniendo la precaución de no formar ningún ciclo.
El Algoritmo de Dijkstra
El Algoritmo de Floyd
El algoritmo de Dijkstra tiene por objeto determinar las rutas más cortas entre el nodo
fuente y todos los demás nodos de la red.
El algoritmo de Floyd es general. Porque permite determinar la ruta más corta entre dos
nodos cualquiera en la red.
Para ver este tema usaremos el algoritmo de Dijkstra, el cual tiene por objetivo determinar
las rutas mas cortas entre el nodo fuente y el resto de los nodos de la red.
El algoritmo de Dijkstra
Sea ui la distancia más corta del nodo fuente 1 hasta el nodo i, y se define dij (≥0 como
la longitud del arco (ij ). Entonces el algoritmo define la etiqueta de un nodo inmediato
posterior j como:
[uj , i] = [ui + dij , i] , dij ≥ 0
La etiqueta del nodo inicio es [0.−] que indica que el nodo no tiene predecesor.
Las etiquetas de nodos en el algoritmo Dijkstra son de dos clases: Temporales y Perma-
nentes.
-Una etiqueta temporal se modifica si se puede encontrar una ruta más corta a un nodo.
Cuando se ve que no se puede encontrar rutas mejores, cambia el estado de la etiqueta
temporal a permanente.
Paso 0. Etiquetar el nodo fuente (nodo 1) con la etiqueta permanente [0.−]. Igualar
i = 1.
Paso i.
a) Calcular las etiquetas temporales [ui + dij , i] para cada nodo j al que pueda
llegarse desde el nodo i, siempre y cuando no tenga etiqueta permanente. Si el nodo
j ya está etiquetado con [uj , i] por otro nodo k y si ui + dij < uj , sustituir [uj , k ]
por [uj + dij , i].
b) Si todos los nodos tienen etiquetas permanentes, detenerse. En caso contrario,
seleccionar la etiqueta [ur , s] que tenga la distancia más corta (= ur )entre todas las
etiquetas temporales (los empates se rompen en forma arbitraria). Hacer y repetir
el paso i.
La idea de los flujos, que van desde s hasta t, es muy próxima a la de un camino por el
que circula cierto fluido. Cada unidad de flujo que llega hasta un nodo, debe salir por
alguna de sus aristas. Por lo tanto, un posible algoritmo podría basarse en encontrar. Por
ese camino podemos mandar cierta cantidad de flujo.
£Cuánto? Pues todo lo que quepa. Por ejemplo, si en un grafo tomamos el camino (s, a, b,
t). El máximo flujo que podemos mandar por ese camino está limitado por el mínimo de
las capacidades por las que pasa el camino. De esta forma, el algoritmo iría encontrando
caminos los caminos, añadiendo los flujos correspondientes al grafo y quitárnoslos. Y así
seguiría hasta que no queden más caminos para enviar flujo.
La estructura del algoritmo que lleva a cabo esta idea sería la siguiente:
s 4 s 0
1 3 t 0 0 t
4 3 0 0
2 d 0
c d c
c) d)
1. Sea G = (V , A, CG) el grafo de capacidades 2 máximas. Inicializar el grafo 0
a b 40 0
a de flujos b 4
5
reales, F , con los mismos nodos y aristas de G, pero con pesos 0. Es decir, CF (v, w ) =
40 4
0; ∀ < v, w >∈ A. Este grafo guardará
s el
1 resultado t s t
3 del algoritmo. 0 0
2. Buscar un camino en G, desde 4 0 s hasta 3t, pasando2 por aristas cuyo 4 peso sea0 mayor
d 0
c d c
que 0. Este camino es denominado camino creciente. Supongamos que el camino es
(s, v1, v2, ..., vk, t). Tomamos m = min[CG(s, v1), CG(v1, v2), ..., CG(vk, t)]. Es decir,
por este camino pueden fluirFigura hasta
5.34: m unidades
Primera de del
versión flujo, como de
algoritmo máximo.
flujo máximo en redes. a) Grafo del proble-
ma, G. b) Grafo de flujos F inicial.
3. Para cada arista < v, w > del camino anterior, añadir m al coste c) Grafo G después
de dela quitar
arista elcorre-
camino (s, c, b, t). d)
spondiente en F , quitarloGrafo
en Gdey flujos después
ponerlo en Gdeenañadir el mismo
sentido camino.
contrario. Es decir,CF (v, w ) =
CF (v, w ) + m; CG(v, w ) = CG En(v, ) − m; CG
lawprimera (w, v )del
ejecución =paso
CG(2,w,sev )encuentra
+ m para todo <(s,
el camino v, c,wb,>t). Los costes de
del camino del paso 2. las aristas son: 4, 4, 4; ası́ que m = 4. Esta cantidad se añade en F (figura 5.34d) y se quita
Hay que tener en cuenta que de Gaquí
(figura 5.34c).suponiendo
estamos Si intentamosque buscar otrode
el peso camino entre sinexistente
una arista y t, en el grafo de la figura
5.34c), que pase por aristas con peso mayor que cero, vemos que no existe ninguno. Por
es 0. De esta forma, cuando sumamos m a CG(w, v ), pero < v, w > no está en G, sería
12
equivalente a crear una nueva El arista
camino estarı́a en la m.Esta
con peso pila de llamadas
nueva recursivas. Lo más
versión del adecuado no
algoritmo serı́adeja
ir almacenando en un
array los nodos que están en la rama actual de la llamada a bpp.
de ser no determinista, pero garantiza siempre la solución óptima.
Algoritmo de Ford-Fulkerson
formen parte del camino en curso. Si Si contiene algún nodo vamos al paso 3, en el caso
de que el conjunto sea vacío saltamos al paso 4.
Paso 3: Obtenemos k ∈ Si como el nodo destino del arco de mayor capacidad que salga
de i hacia un nodo perteneciente a Si. Es decir, cik = maxcij con j ∈ Si. Hacemos
ak = cik y clasificamos el nodo k con [ak, i]. Si k es igual al nodo destino o sumidero,
entonces hemos encontrado una ruta de penetración, vamos al paso 5. En caso contrario
continuamos con el camino, hacemos i = k y volvemos al paso 2.
Paso 4 (retroceso): Si i = 1, estamos en el nodo origen, y como Si es vacío, entonces
no podemos acceder a ningún nodo, ni encontrar algún nuevo camino, hemos terminado,
vamos al paso 6.
En caso contrario, i , 1, le damos al valor i el del nodo que se ha clasificado inmediata-
mente antes, eliminamos i del conjunto Si actual y volvemos al paso 2.
Paso 5: Llegados a este paso tenemos un nuevo camino: N p = {1, k1, k2, ..., n}, esta será
la p − sima ruta de penetración desde el nodo origen al nodo destino. El flujo máximo a
lo largo de esta ruta será la capacidad mínima de las capacidades residuales de los arcos
que forman el camino, es decir: f p = min{a1, ak1, ak2, ..., an}.
La capacidad residual de cada arco a lo largo de la ruta de penetración se disminuye por f p
en dirección del flujo y se incrementa por f p en dirección inversa, es decir, para los nodos
i y j en la ruta, el flujo residual se cambia de la (cij , cji ) actual a (cij − f p, cji + f p)si el
flujo es de i a j, o (cij + f p, cji − f p) si el flujo es de j a i. Inicializamos i = 1 y volvemos
al paso 2 para intentar una nueva ruta de penetración.
Paso 6 (solución): Una vez aquí, hemos determinado m rutas de penetración. El flujo
máximo en la red será la suma de los flujos máximos en cada ruta obtenida, es decir:
F = f 1 + f 2 + ... + f m. Teniendo en cuenta que las capacidades residuales inicial y final
del arco (i, j ) las dan (Cij , Cji ) y (cij , cji ) respectivamente, el flujo máximo para cada
arco se calcula como sigue: sea (α, β ) = (Cij − cij , Cji − cji ), si α > 0, el flujo óptimo de
i a j es α, de lo contrario, si β > 0, el flujo óptimo de j a i es β. Es imposible lograr que
tanto α como β sean positivas.
RESOLUCIÓN 2
2 1
DE PROBLEMAS
MÉTODOS
NUMÉRICOS
PASO 1:
PASO 2:
En este paso se procede a eliminar la fila o destino cuya oferta o demanda sea 0 después
del "Paso 1", si dado el caso ambas son cero arbitrariamente se elige cual eliminar y la
restante se deja con demanda u oferta cero (0) según sea el caso.
PASO 3:
Una vez en este paso existen dos posibilidades, la primera que quede un solo renglón o
columna, si este es el caso se ha llegado al final el método, "detenerse". La segunda es que
quede más de un renglón o columna, si este es el caso iniciar nuevamente el "Paso 1".
ITERACIÓN 1
Esquina Noroeste
Asignaremos el mayor numero de unidades posibles, en este caso 60 dado que la oferta
de Lima restringe un numero mayor
ITERACIÓN 2
Esquina Noroeste
Asignaremos el numero de unidades RESTANTES, en este caso 10 dado q la oferta de
Chimbote y la demanda de " II " lo condicionan.
ITERACIÓN 3
Esquina Noroeste
Asignaremos el numero de unidades de laoferta de Trujillo, en este caso 10 dado que
la oferta de Trujillo ya esta determinado.
RESULTADOS:
ITERACIÓN 1
Esquina Noroeste
Asignaremos el mayor numero de unidades posibles, en este caso 60 dado que la oferta
de Lima restringe un numero mayor
ITERACIÓN 2
Esquina Noroeste
Asignaremos el numero de unidades RESTANTES, en este caso 30 dado q la oferta de
Lima y la demanda de " II " lo condicionan.
Hallada dla nueva cantidad de la esquina noroeste se procede a realizar la misma operación,
quedando en este caso como 90-60=30 Ahora la cantidad asignada a la esquina noroeste
es restada a la ofertada de Lima y a la demandada en " I ", en un procedimiento muy
lógico.
ITERACIÓN 3
Esquina Noroeste
Asignaremos el numero de unidades de la oferta de Chimbote, en este caso 50 dado q
la oferta de Chimbote ya esta determinado.
ITERACIÓN 4
Esquina Noroeste
Asignaremos el numero de unidades de laoferta de Chimbote, en este caso 30 dado q
la oferta de Trujillo ya esta determinado.
RESULTADOS:
Se llama árbol ponderado a un árbol en el que cada arista tiene asignado un numero
llamado peso. En muchas situaciones, una arista en un grafo (dirigido o no dirigido) no
tiene el mismo “valor” que otra del mismo grafo: se puede definir en cada una un valor
de costo o de peso.
Este tipo de problema del Árbol de Expansión Mínima (MST) puede ser resuelto con
varios algoritmos, los mas conocidos con Prim y Kruskal ambos usan técnicas voraces
(greedy).
ALGORITMO DE KRUSKAL
Este algoritmo es de tipo voraz o greedy. Como se quiere construir un árbol generador
de peso mínimo la estrategia será ir añadiendo aristas de mínimo peso hasta conseguir
un árbol generador. En cada paso, incorporación de una nueva arista, se debe comprobar
que no se forme ningún ciclo con las aristas previamente introducidas.
ITERACIÓN 1
ITERACIÓN 2
ITERACIÓN 3
ITERACIÓN 4
ITERACIÓN 5
ITERACIÓN 6
ITERACIÓN 7
ITERACIÓN 8
El único nodo no conectado es el nodo 9. Está más cerca del nodo 8. Se conecta el nodo
8 con el nodo 9.
Todos los nodos han quedado conectados, por lo que ésta es la solución (óptima) que se
buscaba.
La longitud total de las ramas es de 46 kilómetros.
Aunque con este procedimiento a primera vista puede parecer que la elección del nodo
inicial afectará la solución final y la longitud total de las ligaduras, en realidad no es así.
Ahora compararemos la los resultados del Software WinQSB, con los resultados del
Matlab.
INGRESO DE DATOS
RESULTADOS
500
3
400 4
300 2
200
5
100
0 1
-100
-200 6
-300
9
-400
7
8
-500
-500 -400 -300 -200 -100 0 100 200 300 400 500
La compañía contratista deberá encargar la construcción de :
Esta sección presenta dos algoritmos para resolver tanto redes cíclicas (es decir, que
contienen bucles) como redes acíclicas:
1 El algoritmo de Dijkstra para determinar las rutas más cortas entre el nodo origen
y los demás nodos en la red.
2 El algoritmo de Floyd para determinar la ruta más corta entre dos nodos cua-
lesquiera en la red.
Algoritmo de Dijkstra.
Sea ui la distancia más corta del nodo origen 1 al nodo i,y defina di,j (≥ 0) como la longitud
del arco (i,j). El algoritmo define la etiqueta para un nodo j que sigue inmediatamente
como:
[ ]
uj , i = [ui + dij , i] , dij ≥ 0
La etiqueta para el nodo de inicio es [0, 2], que indica que el nodo no tiene predecesor. Las
etiquetas de nodo en el algoritmo de Dijkstra son de dos tipos: temporales y permanentes.
Una etiqueta temporal en un nodo se modifica si puede hallarse una ruta más corta al
nodo. De lo contrario, el estado temporal cambia a permanente.
Paso 0. Etiquete el nodo de origen (nodo 1) con la etiqueta permanente [0, 2]. Establezca
i = 1.
Paso general i:
1 Calcule las etiquetas temporales [ui + dij , i] ] para cada nodo dij > 0,siempre que j
no esté etiquetado
[ ] permanentemente. Si el nodo j ya tiene una [ etiqueta
] temporal
existente uj , k hasta otro nodo k y si ui + dij < uj reemplace uj , k con [ui + dij , i].
Algoritmo de Floyd.
Este algoritmo es más general que el Dijkstra porque determina la distancia entre dos
nodos cualesquiera en la red. El algoritmo representa una red de n nodos como una
matriz cuadrada con n filas y n columnas. La entrada (i,j) de la matriz da la distancia
dij del nodo i al nodo j, la cual es finita si i está vinculado directamente a j, e infinita en
caso contrario.
La idea del algoritmo de Floyd es simple. Dados tres nodos, i, j y k en la figura con
las distancias de conexión que se muestran en los tres arcos, es más corto llegar de j a i
pasando por k si.
1 2 Á j Á n
1 2 Á j Á n
1 — 2 Á j Á n
2 1 — Á j Á n
S0 = o o o o o o o
i 1 2 Á j Á n
o o o o o o o
n 1 2 Á j Á —
El paso k del algoritmo puede explicarse representando Dk−1 como se muestra en la figura
. Aquí, la fila k y la columna k definen la fila y columna pivote actuales. La fila i
representa cualquiera de las filas 1, 2,..., y k − 1, y la fila p representa cualquiera de las
filas k + 1,k + 2,..., y n. Asimismo, la columna j representa cualquiera de las columnas 1,
2,..., y k + 1, y la columna q representa cualquiera de las columnas k + 1,k + 2,..., y n. La
operación triple puede aplicarse como sigue: Si la suma de los elementos en la fila pivote y
la columna (mostrados por cuadrados) es menor que el elemento de intersección asociado
(mostrado por un círculo), entonces es óptimo reemplazar la distancia de intersección por
la suma de las distancias pivote.
Columna
Columna pivote Columna
j k q
Después de n pasos,realice
se satisface, podemoslosdeterminar la ruta
siguientes más corta entre los nodos i y j a partir
cambios:
de las matrices Dn y Sn aplicando las siguientes reglas:
2 8
2 7 8
9
9 9 5
12 3
6
1 4 6 10
7 9 4
9 8
9 8
2
3 5 9
7 12
Se llama árbol ponderado a un árbol en el que cada arista tiene asignado un numero lla-
mado peso. En muchas situaciones, una arista en un grafo (dirigido o no dirigido) notiene
el mismo "valor" que otra del mismo grafo: se puede definir en cada una un valor de costo
o de peso.
Este tipo de problema Para la Contruccion de la Ruta mas Corta puede ser resuelto con
varios algoritmos, los mas conocidos son Dijkstra y Floyd.
ALGORITMO DE DIJKSTRA:
Se dispone de un algoritmo relativamente sencillo para manejar este problema. La esencia
del procedimiento es que analiza toda la red a partir del origen; identifi ca de manera
sucesiva la ruta más corta a cada uno de los nodos en orden ascendente de sus distancias
(más cortas), desde el origen; el problema queda resuelto en el momento de llegar al nodo
destino.
La solución siguiente se realizo con el Software WinQSB, el cual utiliza el algoritmo de
KRUSKAL.Se detalla paso a paso la solución del problema Nro 03.
ITERACIÓN 1
En forma arbitraria, etiquetamos el nodo 1 como inicio. Los nodos no conectado más
cercano a 1 es 2,3,4 o 7. Se conecta el nodo 1 con el nodo 2,3,4 o 7.
ITERACIÓN 2 Etiquetamos el nodo 7 buscando una ruta mas corta,Se une el nodo 7 con
el nodo 1.
2
3
8 5 9
2
8 7
8 8
9
6
1
8 4
8 6 10
7
2
3
8 5
8 9
7
ITERACIÓN 3
Se une el nodo 7 con los nodos mas cercanos que sonlos nodos 1,2,8 o 6.
ITERACIÓN 4
El nodo no conectado más cercano a 8 o 5 es el nodo 10 y 9 se consideraar la ruta mas
cercana.
2
3
8 5
8 9
7
2 8
2
8 7
8 8
9
6
1
8 4
8 6
8 10
7
2
3
8 5
8 9
7
ITERACIÓN 5
El nodo no conectado más cercano a 8 o 5 es el nodo 10 y 9 se considerara la ruta mas
cercana.
ITERACIÓN 6
El nodo no conectado más cercano a 8 o 5 es el nodo 10 y 9 se considerara la ruta mas
cercana.
9 9 8
9 8
2 6
3 5 9
1
8 4 7
8 612
8 10
7
2
3
8 5
8 9
7
2 8
2
8 7
8 8
9
6
1
8 4
8 6
8 10
7
2
3
8 5
8 9
7
ITERACIÓN 7
El nodo no conectado más cercano a 8 o 5 es el nodo 10 y 9 se considerara la ruta mas
cercana.se concecta el nodo 5 con el nodo 9 y el nodo 8 con el nodod 10.
ITERACIÓN 8 Se etiqueta el nodo 6 y se conecta con el nodo 10, devido a que existe
una distancia mas corta del nodo 6 al nodo 10 que del nodo 8 al nodo 10.
2
3
8 5
8 9
8
7 12
2 8
2
8 7
8 8
9
6
1
8 4
8 6
8 10
8
7 4
2
3
8 5
8 9
8
7 12
ITERACIÓN 9 Como no existe una diatancia mas corta, de los nodos 9 al nodo 10,del
nodo 8 al nodo 10, se quena como distancia minima del nodo 6 al nodo 10.
Todos los nodos que contienen la ruta mas corta han quedado conectados, por lo que ésta
es la solución (óptima) que se buscaba. La ruta más corta es de de 19min.
2 8
2
8 7
8 8
9
6
1
8 4
8 6
8 10
8
7 4
2
3
8 5
8 9
8
7 12
Determine el flujo máximo que debe pasar por el arco 3,4 para
que la red se encuentre en equilibrio y puedan circular los ve-
hículos sin congestionar la ciudad.
SOLUCIÓN GRÁFICA
.
Para este problema de flujo máximo, empleamos el método de la suposición de un nodo
externo de tal forma que equilibre los nodos en los que el flujo no cumple con la condición
de entrada y salida.
ITERACIÓN 1
Creamos el nodo A como un auxiliar. Este nodo equilibra los nodos en los que tenemos
la influencia de los variables.
En el nodo 4 notamos que la salida es 70 + 60 que debera equilibrar con 70 + X .
En el nodo 2 vemos que existe el equilibrio con 70+20+30 de salida; lo cual ya no se le
toca.
en el paso de los nodos de2 y 3 hacia los ndos 4 y 5 existe solamete 70 + 20, faltando asi
120 lo cual es asignado a la variable X.
Quedando el grafico de esta manera.
ITERACIÓN 2
ITERACIÓN 3
Este algoritmo se utiliza para reducir los embotellamientos entre ciertos puntos de partida
y destino de una red, así se tiene el problema en cuestión del sistema de vías publicas de
transporte.
SOLUCION Nř1:
Considerando el tramo 1 − 3
ITERACIÓN 1
ITERACIÓN 2
Como tenemos un nodo de apoyo, entonces para poder suprimir el nodo 0 debemos abo-
carnos a analizar el nodo 1 y nos damos cuenta para la equilibrar las cargas se debe de
restar el exceso del nodo 6 al tramo 1 − 2 = 110 y así llegar a su máximo flujo permitido
en los tramos 1 − 2 − 5 − 6
ITERACIÓN 3
ITERACIÓN 4
Al haber quedado eliminado el tramo 2 − 3 nos disponemos a igualar las cargas de estas
y resultan.
ITERACIÓN 5
Observamos que en el tramo 3 − 4 se tiene una carga de 30 y para asegurar el flujo máximo
procederemos a eliminarla y así de esta manera tener una óptima circulación de cargas.
ITERACIÓN 6 − Final
Al final de todo el análisis se obtiene el flujo máximo de cargas de todos los tramos del
problema.
SOLUCION Nř2:
Excluyendo el tramo 1 − 3
ITERACIÓN 1
ITERACIÓN 2
Ahora debemos abocarnos a analizar el nodo 3 y vemos el flujo de cargas en los tramos
2 − 3 y el tramo 3 − 4, para asegurar el flujo máximo tendremos que quitar el tramo 3 − 4
de 30 en su flujo.
ITERACIÓN 3
ITERACIÓN 4
ITERACIÓN 5
Observamos que en el tramo 3 − 5 queda un desequilibrio que deja con menos carga al
tramo 3 − 6 asi que nos dispondremos a quitarlo y reducir de igual manera el tramo 5 − 7,
de esta manera tener una óptima circulación de cargas.
ITERACIÓN 6 − Final
Al final de todo el análisis se obtiene el flujo máximo de cargas de todos los tramos del
problema.
SOLUCIÓN GRÁFICA
.
En este problema de flujo máximo asignaremos el máximo valor que pueda tomar el X sin
congestionar el flujo; quiere decir, paras este caso particular X solo puede tomar valores
de 2, 1 y 0 que lo condiciona el nodo 4.
De esta manera determinamos que el flujo sera maximo cuando X = 2.
PASO Nž 1
PASO Nž 2
PASO Nž 3
Calculo de B:
4 = 2+ B
B = 2
RESULTADO:
Despues de realizar estos cálculos el flujo quedaría de esta manera, con un total del flujo
de 11 vehículos :
B=2
X =2
Este algoritmo se utiliza para reducir los embotellamientos entre ciertos puntos de partida
y destino de una red, así se tiene el problema en cuestión del sistema de vías publicas de
transporte.
Considerando el tramo 1 − 3
PROGRAMA UTILIZADO - WinQSB
Para su resolución comenzaremos por los caminos conocidos y luego así llegar a optimizar
las variables en cuestión como fase final.
Dándonos así las siguientes iteraciones de desarrollo:
ITERACIÓN 1
Para iniciar las iteraciones comenxaremos por un camino, teniendo el nodo 1 como inicio
trazaremos el camino hasta llegar al nodo 7 dándonos el tramo 1 − 2 − 5 − 7. Para poder
equilibrar las cargas asignaremos como flujo máximo de 60 a estos tramos y dejando las
sobras o excedentes para una posterior iteración.
ITERACIÓN 2
Nuevamente trazaremos otro tramo o camino para una adecuada distribución de cargas,
teniendo nuevamente el nodo 1 como inicio llegaremos al nodo 7 mediante el tramo 1 −
4 − 6 − 7. Para poder equilibrar las cargas asignaremos como flujo máximo de 100 a estos
tramos y dejando las sobras o excedentes para una posterior iteración.
ITERACIÓN 3
El siguiente tramo a escoger debe de tomarse obviando aún los tramos para las variables
“X ′′ . Teniendo el nodo 1 como inicio se llegara al nodo 7 mediante el tramo 1 − 2 − 3 − 5 − 7.
De esta forma asignaremos como flujo máximo de 20 a estos tramos.
ITERACIÓN 4
Se observa que ya se han agotado las reservas en los flujos conocidos así que optaremos
por un análisis en el nodo 3, ya que este presenta aún un flujo por descubrir.
Como ya se han llegado al máximo flujo en los tramos 1 − 2, 1 − 4. Ya no se podrá poner
más flujo a los tramos 3 − 4, 3 − 6 incluido el flujo B, nos prestaremos a eliminarlos.
ITERACIÓN 5
Habiendo eliminado los tramos anteriores fijaremos la última ruta como el tramo 1 − 3 −
5 − 7, para asegurar su flujo máximo asignaremos un valor que vuelva cero(0) al flujo
3 − 5 dándonos un total de 70 − X = 0
ITERACIÓN 6 − Final
Al sumar todas las cargas en los nudos se obtiene un flujo máximo de 250, siendo de esta
manera el resultado final.
Una empresa constructora que trabaja en una zona de un determinado territorio quiere
abrir una sede comarcal que dé servicio a sus obras.
Se desea conocer la ubicación idónea de dicha sede con el fin de minimizar los gastos en
desplazamiento. La zona engloba los siguientes pueblos:
9.5
15.5 28
Hinojosa del Duque 7.8
18.5
El Viso 3.0 Torrecampo 1.4
18.5
29
31.2 11 16 20
19
Villanueva duque 1.7 3.9
La Granjuela 0.5
Villanueva de Córdova 9.4
15.5 Alcaracejos 1.4 11.5 21
29.5
14.5 Pozoblanco 16.5
16 Peñarroya 12.5
fuente Obejuna 5.7
9 31 35
Bélmez 3.7
22
14 21.5
12.5 Espiel 2.4
25 14
CRITERIOS
APLICACIÓN
UNSCH – FIMGC - DAIMC CCP
PROBLEMAS IN
CRITERIO CENTRO:
M ini {M ax {Wk d(i, k )}} → A ∗ W i, k ∈ vrtices
CRITERIO{ MEDIANA: }
∑
M ini,k M ax {Wk .Wk .d(i, k )} → W ∗ A i, k ∈ vrtices
Nota: "W" es la matriz diagonal formada por los pesos de los vértices.
PROBLEMAS OUT
CRITERIO CENTRO:
M ini {M ax {Wk d(i, k )}} → A ∗ W i, k ∈ vrtices
CRITERIO{ MEDIANA: }
∑
M ini,k M ax {Wk .Wk .d(i, k )} → A ∗ W i, k ∈ vrtices
Nota: En grafos no dirigidos In=Out
DATOS:
Población:De cada pueblo (Nodo) 1,2,3...17 "V"
Distancia:Distacia existente entre pueblos; 29 conjunto de datos d1,2 ; d1,3 ; ... "d"
ESCOGEMOS EL CRITERIO CENTRO:
0,00 14,50 0,00 16,00 14,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
14,50 0,00 29,00 15,50 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
0,00 29,00 0,00 31,20 0,00 0,00 9,50 0,00 18,50 19,50 0,00 0,00 0,00 0,00 0,00 0,00 0,00
16,00 15,50 31,20 0,00 0,00 9,00 0,00 0,00 0,00 29,50 0,00 0,00 0,00 0,00 0,00 0,00 0,00
14,00 0,00 0,00 0,00 0,00 21,50 0,00 0,00 0,00 0,00 25,00 0,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 9,00 21,50 0,00 0,00 0,00 0,00 0,00 12,50 22,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 9,50 0,00 0,00 0,00 0,00 28,50 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 0,00 28,50 0,00 15,50 0,00 0,00 0,00 0,00 0,00 26,00 0,00 0,00
A’= 0,00 0,00 18,50 0,00 0,00 0,00 0,00 15,50 0,00 0,00 0,00 0,00 11,00 16,00 0,00 0,00 0,00
0,00 0,00 19,50 29,50 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 3,90 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 25,00 12,50 0,00 0,00 0,00 0,00 0,00 14,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 22,00 0,00 0,00 0,00 0,00 14,00 0,00 31,00 0,00 0,00 0,00 15,60
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 11,00 3,90 0,00 31,00 0,00 11,50 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 16,00 0,00 0,00 0,00 11,50 0,00 20,00 21,00 35,00
0,00 0,00 0,00 0,00 0,00 0,00 0,00 26,00 0,00 0,00 0,00 0,00 0,00 20,00 0,00 19,00 0,00
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 21,00 19,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 15,60 0,00 35,00 0,00 0,00
0,00 14,50 43,50 16,00 14,00 25,00 53,00 75,90 60,40 45,50 37,50 47,00 49,40 60,90 80,90 81,90 62,60
14,50 0,00 29,00 15,50 28,50 24,50 38,50 63,00 47,50 45,00 37,00 46,50 48,90 60,40 80,40 81,40 62,10
43,50 29,00 0,00 31,20 57,50 40,20 9,50 34,00 18,50 19,50 52,70 54,40 23,40 34,50 54,50 55,50 69,50
16,00 15,50 31,20 0,00 30,00 9,00 40,70 59,90 44,40 29,50 21,50 31,00 33,40 44,90 64,90 65,90 46,60
14,00 28,50 57,50 30,00 0,00 21,50 67,00 89,90 74,40 59,50 25,00 39,00 63,40 74,90 89,60 95,90 54,60
25,00 24,50 40,20 9,00 21,50 0,00 49,70 68,90 53,40 38,50 12,50 22,00 42,40 53,90 72,60 74,90 37,60
53,00 38,50 9,50 40,70 67,00 49,70 0,00 28,50 28,00 29,00 62,20 63,90 32,90 44,00 54,50 65,00 79,00
A= 75,90 63,00 34,00 59,90 89,90 68,90 28,50 0,00 15,50 30,40 71,50 57,50 26,50 31,50 26,00 45,00 66,50
60,40 47,50 18,50 44,40 74,40 53,40 28,00 15,50 0,00 14,90 56,00 42,00 11,00 16,00 36,00 37,00 51,00
45,50 45,00 19,50 29,50 59,50 38,50 29,00 30,40 14,90 0,00 48,90 34,90 3,90 15,40 35,40 36,40 50,40
37,50 37,00 52,70 21,50 25,00 12,50 62,20 71,50 56,00 48,90 0,00 14,00 45,00 56,50 64,60 77,50 29,60
47,00 46,50 54,40 31,00 39,00 22,00 63,90 57,50 42,00 34,90 14,00 0,00 31,00 42,50 50,60 63,50 15,60
49,40 48,90 23,40 33,40 63,40 42,40 32,90 26,50 11,00 3,90 45,00 31,00 0,00 11,50 31,50 32,50 46,50
60,90 60,40 34,50 44,90 74,90 53,90 44,00 31,50 16,00 15,40 56,50 42,50 11,50 0,00 20,00 21,00 35,00
80,90 80,40 54,50 64,90 94,90 73,90 54,50 26,00 36,00 35,40 76,50 62,50 31,50 20,00 0,00 19,00 55,00
81,90 81,40 55,50 65,90 95,90 74,90 65,00 45,00 37,00 36,40 77,50 63,50 32,50 21,00 19,00 0,00 56,00
65,00 64,50 39,00 49,00 79,00 58,00 48,50 42,10 26,60 19,50 60,60 46,60 15,60 27,10 35,00 48,10 0,00
PASO 3: Cálculo de la matriz de pesos por el numero de habitantes W
5700 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 564 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 7800 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 12500 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 231 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 3700 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 3702 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1100 0 0 0 0 0 0 0 0 0
w= 0 0 0 0 0 0 0 0 3000 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1789 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1225 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 2400 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1400 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 16500 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1400 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9400 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 675
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 0 82650 247950 91200 79800 142500 302100 432630 344280 259350 213750 267900 281580 347130 461130 4668
2 8178 0 16356 8742 16074 13818 21714 35532 26790 25380 20868 26226 27580 34066 45346 459
3 339300 226200 0 243360 448500 313560 74100 265200 144300 152100 411060 424320 182520 269100 425100 4329
4 200000 193750 390000 0 375000 112500 508750 748750 555000 368750 268750 387500 417500 561250 811250 8237
5 3234 6584 13283 6930 0 4967 15477 20767 17186 13745 5775 9009 14645 17302 20698 221
6 92500 90650 148740 33300 79550 0 183890 254930 197580 142450 46250 81400 156880 199430 268620 2771
7 196206 142527 35169 150671 248034 183989 0 105507 103656 107358 230264 236558 121796 162888 201759 2406
8 83490 69300 37400 65890 98890 75790 31350 0 17050 33440 78650 63250 29150 34650 28600 495
9 181200 142500 55500 133200 223200 160200 84000 46500 0 44700 168000 126000 33000 48000 108000 1110
10 81400 80505 34886 52776 106446 68877 51881 54386 26656 0 87482 62436 6977 27551 63331 651
11 45938 45325 64558 26338 30625 15313 76195 87588 68600 59903 0 17150 55125 69213 79135 949
12 112800 111600 130560 74400 93600 52800 153360 138000 100800 83760 33600 0 74400 102000 121440 1524
13 69160 68460 32760 46760 88760 59360 46060 37100 15400 5460 63000 43400 0 16100 44100 455
14 1004850 996600 569250 740850 1235850 889350 726000 519750 264000 254100 932250 701250 189750 0 330000 3465
15 113260 112560 76300 90860 132860 103460 76300 36400 50400 49560 107100 87500 44100 28000 0 266
16 769860 765160 521700 619460 901460 704060 611000 423000 347800 342160 728500 596900 305500 197400 178600 0
17 43875 43538 26325 33075 53325 39150 32738 28418 17955 13163 40905 31455 10530 18293 23625 324
CAP. 2 RESOLUCIÓN DE PROBLEMAS UNSCH
Conclusión 01
Utilice el algoritmo adecuado para encontrar la ruta más corta a través de la red que se
muestra a continuación, en donde los números representan las distancias reales entre
los nodos correspondientes. Formule el problema de la ruta más corta como uno de
PL.
Conclusión 01
Los modelos de optimización de redes constituyen una herramienta muy sencilla para
la encontrar la solución óptima a los problemas de flujo de redes, porque proporcionan
algoritmos fáciles de comprender y aplicar que comparados con el método simplex
disminuyen el número de iteraciones que resuelven el problema. Si se aplicara el método
simplex en un problema de distribución o de redes, tendríamos muchas variables y
restricciones en el modelo y se tendría que utilizar herramientas computacionales para
encontrar la solución optima de una forma rápida, ahora con los modelos de redes solo
habría que aplicar las iteraciones al grafo que origina la representación de la red del
problema y luego aplicar el algoritmo que corresponde, que puede ser el algoritmo de
la ruta más corta, algoritmo para encontrar el árbol de expansión mínima, algoritmo
de la trayectoria de aumento o el algoritmo de flujo máximo.
Conclusión 01
INGENIERÍA CIVIL - UNSCH
Aunque los problemas de flujo de costo mínimo y el de la ruta más corta pueden
formularse como modelos de programación lineal para luego aplicar el método simplex,
no es conveniente su utilización. Por otro lado solucionar el problema utilizando redes
mejora la eficiencia de los cálculos.
BIBLIO GRAFÍA
Bibliográfica
Hamdy A. Taha. Investigación De Operaciones. Ediciones Alfaomega. Cuarta
Edición. 1991.
http://flujomaximo.wikispaces.com/Algoritmo+de+Ford-Fulkerson
http://grafos-unefa.blogspot.com/2011/06/flujo-maximo-algoritmo-de-ford.html
www.monografias.com/trabajos16/flujo-redes/flujo-redes.shtmlixzz2oAnJleGG
1985.