Vous êtes sur la page 1sur 50

Universidad Nacional de San

Cristobal de Huamanga
Facultad de Ingeniera Minas, Geologa y
Civil
Escuela de Formacion Profesional de Ingeniera
Civil

TE
UNSCH ZARA

INGEE N IERR A
CI V I L

METODOS NUMERICOS (IC-343)

APLICACION A PROBLEMAS LINEALES

Docente:
ING. CASTRO PEREZ, cirstian

Alumnos:
TINEO GUTIERREZ, Jorge.

Ayacucho - Peru
Indice general

1 INTRODUCCION 2

2 MODELO DE REDES 3
2.1 DEFINICIONES PREVIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 OBTENCIN DE RUTAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 CAMINOS DE DISTANCIA MNIMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 ALGORITMO DE DIJKSTRA (Grafo Dirigido) . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 ALGORITMO DE FLOYD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.3 COMPARACION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3 MODELO DE TRANSPORTE 28
3.1 DEFINICIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 3 MTODO ESQUINA NOROESTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 MTODO DE COSTO MNIMO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4 MTODO DE VOGUEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.5 MTODO DE RUSSELL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 PRESENTACION DEl PROGRAMA 45


4.1 Interfaz Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Interfaz MODELO DE TRANSPORTES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Interfaz MODELO DE REDES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5 conclusiones 47

Bibliografa 48

Ingeniera Civil Pag ii


RESUMEN

En el siguiente trabajo se desarrollo un programa aplicativo de Programacion Lineal. Se


utilizaron dos modelos: Modelo de Redes y Modelo de Transportes.

En el Modelo de Redes se hicieron esquemas de nudos para problemas comunes de Red


de calles, para hallar el camino mnimo de un nodo a otro. Como ejemplo aplicativo se
hicieron esquemas casas a la universidad. En este modelo se emplearon el algoritmo de
Dijkstra y el de Floyd-Warshall. Tambien se hizo un somero estudio a la Teora de grafos,
necesario para la comprension del tema.

Los algoritmos mencionados hallan la distancia mnima y los caminos por donde se
obtiene. Pero es con el comando graphshortestpath de MATLAB con el que podemos
graficar los nodos y senalar la ruta optima. En el modelo de transportes se desarrollaron
los siguientes metodos: Esquina Noroeste, Voguel, Russell y Costo mnimo.

El modelo de transporte se define como una tecnica que determina un programa de trans-
porte de productos o mercancas desde unas fuentes hasta los diferentes destinos al menor
costo posible.

Ingeniera Civil Pag 1


Captulo 1

INTRODUCCION

Nos es interesante estudiar el caso optimizacion en el que debemos decidir que recorrido
nos es mas conveniente tomar a la hora de desplazarnos en medio de una ciudad ya que
suele ser un sitio complicado para conducir o si caminamos encontrar una ruta corta que
nos ahorre tiempo.

En el presente informe y trabajo es el resultado ya no de una exhaustiva investigacion,


puesto que hemos ganado practica en el trabajo precedente. Los codigos se desarrollaron
en funcion a los algoritmos, en esta ocasion se tuvo que razonar. El trabajo en s, en
esta cuarta practica calificada consiste en hacer los nodos, graficarlos, obtener matrices,
distancias y caminos mnimos.

Tambien el informe muestra de una manera mas general y paso por paso el proceso de
los resultados que brinda el programa. Se suprimio la parte teorica vista en los informes
precedentes; en esta ocasion, se trato mas la parte operativa, los algoritmos, y el desarrollo
con los distintos metodos un problema aplicativo como ejemplo.

Ingeniera Civil Pag 2


Captulo 2

MODELO DE REDES

2.1 DEFINICIONES PREVIAS

GRAFO
Un grafo esta formado por un par de conjuntos finitos, y se denota por G = (V, A),
donde V es el conjunto de vertices y A es el conjunto de aristas.
Cada arista de a A conecta dos vertices de V, que llamaremos extremos de la
arista, y escribiremos a = x, y para indicar que a conecta o une los vertices x e y.
Diremos entonces que x e y son adyacentes por a.
En un grafo podemos encontrarnos lazos (aristas cuyos extremos coinciden), aristas
multiples (mas de una arista conectando los mismos vertices) y vertices aislados (no
estan conectados a ningun otro vertice).
Pero tambien podemos hablar de grafos dirigidos donde cada arista tiene una di-
reccion de recorrido; modelos para una distribucion de agua por la red de tuberas
de la ciudad, la red viaria con calles de sentido unico, etc., son ejemplos de grafos
dirigidos.

. GRAFO NO DIRIGIDO:
Un grafo no dirigido G consiste en un conjunto V de vertices (o nodos) y un conjunto
E de lados (ramas o enlaces) tales que cada lado e E esta asociado a un par no
ordenado de vertices v y w. Si un lado e esta asociado a un unico par de vertices v
y w, entonces e = (v, w) o e = (w, v).

. GRAFO DIRIGIDO:
Un grafo dirigido (o digrafo) G consiste en un conjunto V de vertices (o nodos) y
un conjunto E de lados (o ramas) tales que cada lado e E esta asociado a un par
ordenado de vertices. Si un lado e esta asociado a un par ordenado unico de vertices
v y w, se escribe e = (v, w).
Un dgrafo o grafo dirigido esta formado por un par de conjuntos finitos, y lo de-
notaremos por D = (V, A), donde V es el conjunto de vertices y A es el conjunto
de arcos o aristas dirigidas entre los vertices. Cada arco a A conecta dos vertices
de V, que llamaremos respectivamente extremo inicial y extremo final del arco, y
escribiremos a = (x, y) para indicar que a conecta o une el vertice x con el vertice
y. Diremos tambien que x es adyacente a y, y que a incide en y. Si los grafos se

Ingeniera Civil Pag 3


Captulo 2 ANALISIS MATEMATICO IV

representan con puntos y lneas que los unen, los dgrafos se representan con puntos
y flechas entre ellos. Los grafos se clasifican por ser dirigidos o no, y por tener aris-
tas/arcos multiples y lazos. De un grafo sin aristas multiples ni lazos se suele decir
que es simple.

nota.- Llamaremos grafos a los no dirigidos, sin aristas multiples ni lazos (grafos
no dirigidos simples), y dgrafos a los dirigidos, sin arcos multiples ni lazos dirigidos
(grafos dirigidos simples). Si G = (V, A) es un grafo, con V = v1 , v2 , ..., vn , escribi-
remos vi , vj o vj , vi para denotar la arista que une ambos vertices. Si D = (V, A) es
un dgrafo, denotaremos por (vi, vj) el arco que conecta vi con vj .

Observaciones.-: En un grafo solo puede haber una arista entre los mismos dos
vertices, y en un dgrafo puede haber hasta dos arcos pero de sentidos contrarios.
Si un grafo tiene n vertices, en cada vertice pueden incidir a lo mas n 1 aristas. Si
es un dgrafo, de cada vertice pueden salir a lo mas n 1 arcos y pueden incidir en
el n 1 arcos como mucho.

SUBGRAFO
Un subgrafo (subdgrafo) de un grafo (dgrafo), es un grafo (dgrafo) formado con
vertices y aristas (arcos) del inicial.
Es decir, se obtienen eliminando aristas y/o vertices del inicial (si se elimina un
vertice, tambien deben eliminarse todas las aristas incidentes en el).

NODOS
 Nodo (vertice) : Un crculo de una red utilizada para representar una
planta, almacen o tienda.
 Nodo de Suministro: Nodo desde el cual los productos se van a enviar.
 Nodo de demanda: Nodo que va a recibir los productos para cumplir con
una demanda conocida.
 Nodo de transbordo: Nodo que recibe productos desde otros nodos para
su distribucion.

ARCO:
 Arco (enlace): Lnea de una red que conecta un par de nodos. Se le utiliza
para representar una ruta valida desde el nodo origen al nodo de distribucion.
 Arco dirigido: Indica el sentido de movimiento de los productos.

CAMINO:
Una secuencia de nodos en una red unidos por arcos (dirigidos o no dirigidos).

TRAYECTORIA (LAZO):
Es un camino cerrado (ciclo) donde el primer nodo es a su vez el ultimo.

Ingeniera Civil Pag 4


Captulo 2 ANALISIS MATEMATICO IV

Representacion de un grafo:
Un grafo se puede representar matematicamente como:
a) Una matriz
b) Una lista enlazada
c) Arbol
Representacion Matricial
i) Matriz de Adyacencia.
ii) Matriz de costo (beneficio).

MATRIZ DE ADYACENCIA
Para un grafo G, es una matriz A de dimension N xN , donde A[i, j] es verdadero
(1) si, y solo si, existe un arco que vaya del vertice i al vertice j. En ausencia de arco
directo se representa generalmente por 0.
Un grafo o un dgrafo D = (V, A) puede tambien describirse mediante una tabla o
matriz que indique las conexiones:
Si D tiene n vertices, se llama matriz de adyacencia de D a la matriz cuadrada de
orden n, M = (mi j)nxn , donde mij = 1 si el arco (vi , vj ) A, y 4mi j = 0 en otro
caso. Si G es no dirigido, su matriz de adyacencia es simetrica (si la arista vi , vj esta
en A, tambien esta vj , vi ). Si el grafo o dgrafo es simple es nuestro caso, la diagonal
esta formada por ceros (no tiene lazos).
Si para formar un subgrafo eliminamos solo aristas, su matriz de adyacencia se forma
cambiando el 1 por un 0 en las posiciones correspondientes; pero si se elimina un
vertice, debemos eliminar la fila y la columna correspondientes a ese vertice en la
matriz. En un grafo el numero de unos en cada fila o columna es el numero de
aristas incidentes en el vertice correspondiente a esa fila o columna; mientras que en
un dgrafo, el numero de unos de cada fila se corresponde con el numero de arcos
salientes desde ese vertice y el numero de unos de cada columna indica el numero
de arcos que llegan a ese vertice.

ejemplo: Dado el siguiente grafo encontrar su matriz de adyacencia.

Ingeniera Civil Pag 5


Captulo 2 ANALISIS MATEMATICO IV

MATRIZ DE COSTO:
Para un grafo G etiquetado, es una matriz C de dimension N xN , donde A[i, j] es
el costo (valor de la etiqueta) si, y solo si, existe un arco que vaya del vertice i al
vertice j. En ausencia de arco directo se representa generalmente por infinito (costo
extremadamente alto, para la simulacion se hace uso de un valor fuera de contexto).

Ejemplo: Dado el siguiente grafo encontrar su matriz de costo.

Para un grafo no dirigido, tanto la matriz de adyacencia como la matriz de costo


son simetricas, esto es:
A [i, j] = A [j, i]
o
C [i, j] = C [j, i]

TRAYECTORIAS Y MATRICES
La matriz M, de adyacencia de un grafo, indica las aristas entre vertices, que son
tambien las trayectorias de longitud 1 posibles entre vertices. As, la matriz M 2 =
M M indica, en cada posicion, el numero de trayectorias de longitud 2 entre los
vertices correspondientes, es decir, si en la posicion (i, j) hay un 3, tenemos tres
trayectorias distintas desde el vertice vi al vertice vj .


0 1 1 1
1 0 1 0
En efecto, si M =
1 1 0 0 es la matriz de un grafo, el elemento (1, 3) de

1 0 0 0
2
M se obtiene de operar la fila 1 de M con la columna 3 de M. Entonces (ponemos
con cada elemento de la matriz su significado como arista),

Ingeniera Civil Pag 6


Captulo 2 ANALISIS MATEMATICO IV

luego hay dos trayectorias de longitud 2 desde el vertice v1 al vertice v3 : v1 v2 v3


y v1 v4 v3 . Igualmente, el elemento (2, 2) de M 2 sera:
y hay dos trayectorias de longitud 2 desde el vertice v2 al vertice v2 : v2 v1 v2 y v2
v3 v2.
Los valores de M 2 cuentan trayectorias, no caminos. En el primer caso, las trayecto-
rias son caminos, pero en el otro no son caminos (ni colas) pues se recorre la misma
arista. De hecho todas las trayectorias contadas en la diagonal se forman as: se sale
del vertice por cada arista y se vuelve por la misma arista. De la misma forma, en
M 3 se tiene el numero de trayectorias de longitud 3 entre cada par de vertices; en
M 4 se tiene el numero de trayectorias de longitud 4 entre cada par de vertices, etc.

2.2 OBTENCION DE RUTAS

Un interesante caso optimizacion en el que debemos decidir que recorrido nos es mas
conveniente tomar a la hora de desplazarnos en medio de una ciudad ya que suele ser
un sitio complicado para transitar es el modelo de Redes. Debido a calles estrechas, vas
cerradas por mantenimiento, peatonales o de una sola direccion; es necesario planificar
una ruta realizando el recorrido mas corto posible.

PROBLEMA Y MODELADO

Primero asumiremos el interes de resolver la distancia mas corta para ir del origen A al
destino B, esto en la vida real difiere bastante del concepto intuitivo de viajar en lnea
recta, ya que en una ciudad esto es imposible en la mayora de los casos, tambien se
podra llegar a pensar en tomar la mejor aproximacion a la lnea recta pero esto no se
puede conseguir ya que algunos caminos no pueden ser tomados (caminos peatonales o
vas en reparacion) o simplemente porque la direccion en la que necesitamos ir no esta
permitida, es decir, ni si quiera podemos considerar las vas como una maya cuadriculada
basta con ver el mapa de cualquier ciudad para ver que es complejo.

Ingeniera Civil Pag 7


Captulo 2 ANALISIS MATEMATICO IV

Primero: Tenemos los planos desde donde se hacen los nudos. El programa resuelve dos
problemas aplicativos similares:
Ruta de distancia mnima de la CASA DE A a la UNSCH .

Figura 2.1: Croquis Casa de A - UNSCH.

Segundo: Mostramos nuevamente la informacion que se tena de la figura 2.1 y 2.2.


sin considerar el mapa, solo la informacion vial de la distancia y direccion en la que se
puede viajar, esto nos induce a pensar en el problema como un grafo orientado o Di-grafo,
donde los nodos estan representados por los lugares de interseccion de las vas y las aristas
llevaran el peso de la distancia, usualmente un Dgrafo tiene una representacion matricial,
D Rnn , donde n es el numero de nodos y dij = w indica que hay una arista que sale
del nodo i hacia el nodo j y que tiene un peso w, cuando no hay arista desde i hacia j
usualmente se asigna un valor de 0, pero para nuestro problema este modelo no nos sirve,
as que consideraremos las no conexiones o ausencia de aristas desde i hacia j con un valor
de 1 o en algunos casos, para que esta ruta no sea tomada y as cualquier otra ruta se
considere mas apropiada.
MATRICES DE ADYACENCIA:
MATRICES DE PESOS O DISTANCIAS:

2.3 CAMINOS DE DISTANCIA MINIMA

Cuando un grafo modela una situacion, en general, las conexiones (aristas y arcos) tienen
ademas unas caractersticas propias. Pensemos en el ejemplo de una red viaria, no solo se
trata de dar el servicio (conexion), sino que tambien es interesante conocer las longitudes
de las lneas a establecer (cantidad de material), las dificultades para su trazado (coste
en tiempo o monetario), etc.

Ingeniera Civil Pag 8


Captulo 2 ANALISIS MATEMATICO IV

Figura 2.2: Grafo: Casa de A - UNSCH.

En el grafo, estos valores se reflejan asignando a cada arista un valor que represente la
magnitud que queremos considerar (un peso a cada arista).

Consideremos el grafo de la arriba, donde a cada arista le hemos asignado una distancia.
Si buscamos ahora el camino mas corto.entre el vertice v1 y v3 no consideraremos que
es el que tiene menos aristas, sino aquel que recorre en total menor distancia: C1 = v1
v3 recorre solo una arista pero una distancia de 9, C2 = v1 v2 v3 tiene dos aristas y
una distancia total de 6 y C3 = v1 v2 v5 v3 tiene tres aristas sin embargo la distancia
recorrida es solo de 5. Claramente, este ultimo camino es mas corto.

Definicion. Llamaremos peso de un grafo (o dgrafo) G = (V ; A) a una funcion real


positiva sobre el conjunto de aristas del grafo, es decir, a una funcion : A IR+ .
El peso de cada arista lo denotaremos por ({vi; vj}) = ij y llamaremos peso de una
trayectoria a la suma de los pesos de las aristas que la componen. En un grafo pesado, se
llama matriz de pesos del grafo a la matriz = (ij)nxn , donde pondremos ij = si
no hay arista desde el vertice vi al vertice vjyii = 0, ceros en la diagonal.

2.3.1. ALGORITMO DE DIJKSTRA (Grafo Dirigido)


Es una tecnica exhaustiva, esto es, prueba todas las alternativas posibles. Opera a partir
de un conjunto S de vertices cuya distancia mas corta desde el origen ya es conocida.
Inicialmente S contiene solo el nodo de origen. En cada paso se agrega algun vertice
restante v a S, cuya distancia desde el origen es la mas corta posible. Para cada paso del
algoritmo, se utiliza una matriz D para registrar la longitud del camino mas corto a cada
vertice.

algoritmo

Ingeniera Civil Pag 9


Captulo 2 ANALISIS MATEMATICO IV

Figura 2.3: Grafo: Casa de A- UNSCH.

Figura 2.4: Grafo: Casa de A - UNSCH.

CODIGO EN MATLAB:
.

Ingeniera Civil Pag 10


Captulo 2 ANALISIS MATEMATICO IV

EJEMPLO: Aplicar el algoritmo al siguiente grafo dirigido

1. inicial:
0) V = 1, 2, 3, 4, 5
1) S = 1
2)
3) D2 = 10, D3 = nf , D4 = 30, D5 = 100

iteracion S W D2 D3 D4 D5
inicial 1 - 10 inf 30 100

4) Iterar 4 veces
5) Seleccionar nodo con distancia mas corta de V-S, En el ejemplo es el nodo 2
6) Agregar el nodo 2 a S: S = 1, 2
7) Iterar |V S|, (V S = 3, 4, 5)
D3 = mnimo(D3, D2 + C23) = mnimo(inf, 10 + 50) = 60
D4 = mnimo(D4, D2 + C24) = mnimo(30, 10 + inf ) = 30
D5 = mnimo(D5, D2 + C25) = mnimo(100, 10 + inf ) = 100

Ingeniera Civil Pag 11


Captulo 2 ANALISIS MATEMATICO IV

iteracion S W D2 D3 D4 D5
inicial 1 - 10 inf 30 100
1 1,2 2 10 60 30 100

2. Iteracion:
V-S = 3, 4, 5
5) w = 4
6) S = 1,2,4
7) Iterar |V-S| V-S = 3,5
D3 = mnimo(D3, D4 + C43) = mnimo(60, 30 + 20) = 50
D5 = mnimo(D5, D4 + C45) = mnimo(100, 30 + 60) = 90

iteracion S W D2 D3 D4 D5
inicial 1 - 10 inf 30 100
1 1,2 2 10 60 30 100
2 1,2,4 4 10 50 30 90

3. Iteracion
V S = 3, 5
5) w = 3
6) S = 1, 2, 4, 3

Ingeniera Civil Pag 12


Captulo 2 ANALISIS MATEMATICO IV

7) Iterar |V S| (V S = 5)
D5 = mnimo(D5, D3 + C35) = mnimo(90, 50 + 10) = 60

iteracion S W D2 D3 D4 D5
inicial 1 - 10 inf 30 100
1 1,2 2 10 60 30 100
2 1,2,4 4 10 50 30 90
2 1,2,4,3 3 10 50 30 60

4. Iteracion
V S =5
5) w = 5
6) S = 1, 2, 4, 3, 5
7) Iterar |V S| (V S = )
TABLA FINAL:

Ingeniera Civil Pag 13


Captulo 2 ANALISIS MATEMATICO IV

iteracion S W D2 D3 D4 D5
inicial 1 - 10 inf 30 100
1 1,2 2 10 60 30 100
2 1,2,4 4 10 50 30 90
2 1,2,4,3 3 10 50 30 60
2 1,2,4,3,5 5 10 50 30 60

CAMINO MAS CORTO:


Para conocer el camino hay que incluir otra matriz P de vertices, tal que Pv contenga el
vertice inmediato anterior a v en el camino mas corto. Se asigna a Pv valor inicial 1 para
todo v 6= 1 La matriz P se actualiza despues de la lnea 8.
Si Dw + Cwv < Dv en la lnea 8, despues se hace P v = w Al termino de la corrida
del algoritmo, el camino a cada vertice puede encontrarse regresando por los vertices
predecesores de la matriz P

RESULTADO DEL PROGRAMA:

Ingeniera Civil Pag 14


Captulo 2 ANALISIS MATEMATICO IV

Con la opcion Mostrar Crokis:


Ademas la opcion Solucion Matlab muestra el grafo solucion

Ingeniera Civil Pag 15


Captulo 2 ANALISIS MATEMATICO IV

PROBLEMA APLICATIVO: Distancia Mnima Casa A ?UNSCH.


Seleccionar Problema A.
Con la opcion Editar Distancias:

Ingeniera Civil Pag 16


Captulo 2 ANALISIS MATEMATICO IV

Tambien se puede acceder a: Matriz de Distancias, Matriz Solucion, Ver el crokis,


Solucion en Matlab.

Ingeniera Civil Pag 17


Captulo 2 ANALISIS MATEMATICO IV

2.3.2. ALGORITMO DE FLOYD


Usando el algoritmo de Floyd con una matriz de pesos, se obtienen los pesos mnimos
entre todos los vertices. Es decir, la matriz resultante contiene en cada posicion el peso
mnimo entre los vertices correspondientes (el mismo resultado que si usaramos Dijkstra
con cada uno de los vertices).

Es menos eficiente que Dijkstra, por lo que no es conveniente usarlo en su lugar; ademas
es mucho mas costoso construir a partir de el los caminos mnimos entre los vertices.

El algoritmo trabaja con operaciones logicas para determinar la conexion o no entre los
vertices, pero cambiando el tipo de elementos y operadores usados se ha adaptado para
otras cuestiones. Por ejemplo, puede modificarse ligeramente para encontrar la longitud
(en el sentido de menor numero de aristas) del camino mas corto entre dos vertices conec-
tados: ?si hay un camino entre los vertices vi y vj y se puede formar otro uniendo dos que
pasen por algun vertice vk , elegimos el mas corto de los dos?. Para ello hay que sustituir
la matriz de adyacencia M, por otra matriz L (de ?longitud de alcance?) que almacena
las longitudes de los caminos entre los vertices, de la siguiente manera:

Un vertice esta a alcance 0 de s mismo (0 en la diagonal),

Los vertices conectados por una arista estan a alcance 1 y

Los vertices no conectados directamente estan a alcance 1.

Se utiliza una matriz A, donde Aij = Cij para toda i 6= j, si no existe camino directo
entre i y j se supone que Cij = inf . Cada elemento de la diagonal se hace cero. Despues

Ingeniera Civil Pag 18


Captulo 2 ANALISIS MATEMATICO IV

se hacen n iteraciones en la matriz A.

Al final de la k-esima iteracion Aij tendra por valor la longitud mas pequena de cualquier
camino que vaya desde el vertice i hasta el vertice j y que no pase por un vertice mayor
que k. Esto es, i y j, los vertice extremos del camino, pueden ser cualquier vertice, pero
todo vertice intermedio debe ser menor o igual a k. En la k-esima iteracion se aplica la
siguiente formula para calcular A
Para calcular Aij, se compara k 1Aij, el costo de ir de i a j sin pasar por k o cualquier
otro nodo con numeracion mayor, con k 1Aik + k 1Akj, el costo de ir primero de i a k
y despues de k a j, sin pasar a traves de un vertice mayor que k. Si el paso por el vertice
k produce un camino mas economico que el de k 1Aij, se elige ese costo para kAij.

Ingeniera Civil Pag 19


Captulo 2 ANALISIS MATEMATICO IV

ALGORITMO

Ingeniera Civil Pag 20


Captulo 2 ANALISIS MATEMATICO IV

Recuperacion de caminos para el Algoritmo de Floyd:

Cuando es de interes conocer el camino mas corto entre dos vertices, hay que consignarlo
en una matriz P, donde Pij tiene el vertice k que permitio a Floyd encontrar el valor
menor de Aij. Si Pij es cero, el camino de i a j es directo.

CODIGO EN MATLAB:
EJEMPLO:

Hallar el camino mnimo desde el vertice 3 hasta 4 en el grafo con la siguiente matriz de
distancias:

0 3 5 1
3 0 9

5 0 7 7 1
D= 1 7

0 4
9 7 0
1 4 0
Aplicamos el algoritmo de Floyd-Warshall, y para ello en cada iteracion fijamos un vertice
intermedio.

1. Iteracion: nodo intermedio = 1

Ingeniera Civil Pag 21


Captulo 2 ANALISIS MATEMATICO IV

La matriz es simetrica, por lo que solamente hara falta calcular el triangulo superior
de las distancias.

d23 = min (d23 , d21 + d13 ) =8


d24 = min (d24 , d21 + d14 ) =4
d25 = min (d25 , d21 + d15 ) =9
d26 = min (d26 , d21 + d16 ) =
d34 = min (d34 , d31 + d14 ) =6
d35 = min (d35 , d31 + d15 ) =7
d36 = min (d36 , d31 + d16 ) =1
d45 = min (d45 , d41 + d15 ) =
d46 = min (d46 , d41 + d16 ) =4
d56 = min (d56 , d51 + d16 ) =


0 3 5 1

3 0 8 4 9

5 8 0 6 7 1
w1 =

1 4 6 0 4

9 7 0
1 4 0

La matriz de distancia despues de esta iteracion es:

2. Iteracion: nodo intermedio = 2

Ingeniera Civil Pag 22


Captulo 2 ANALISIS MATEMATICO IV

d13 = min (d13 , d12 + d23 ) =5


d14 = min (d14 , d12 + d24 ) =1
d15 = min (d15 , d12 + d25 ) = 12
d16 = min (d16 , d12 + d26 ) =
d34 = min (d34 , d32 + d24 ) =6
d35 = min (d35 , d32 + d25 ) =7
d36 = min (d36 , d32 + d26 ) =1
d45 = min (d45 , d42 + d25 ) = 13
d46 = min (d46 , d42 + d26 ) =4
d56 = min (d56 , d52 + d26 ) =

La matriz de distancia despues de esta iteracion es:



0 3 5 1 12

3 0 8 4 9

5 8 0 6 7 1
w2 =

1 4 6 0 13 4

12 9 7 13 0
1 4 0

3. Iteracion: nodo intermedio = 3


d12 = min (d12 , d13 + d32 ) = 3
d14 = min (d14 , d13 + d34 ) = 1
d15 = min (d15 , d13 + d35 ) = 12
d16 = min (d16 , d13 + d36 ) = 6
d24 = min (d24 , d23 + d34 ) = 4
d25 = min (d25 , d23 + d35 ) = 9
d26 = min (d26 , d23 + d36 ) = 9
d45 = min (d45 , d43 + d35 ) = 13
d46 = min (d46 , d43 + d36 ) = 4
d56 = min (d56 , d53 + d36 ) = 8

Ingeniera Civil Pag 23


Captulo 2 ANALISIS MATEMATICO IV

La matriz de distancia despues de esta iteracion es:



0 3 5 1 12 6

3 0 8 4 9 9

5 8 0 6 7 1
w3 =

1 4 6 0 13 4

12 9 7 13 0 8
6 9 1 4 8 0

4. Iteracion: nodo intermedio = 4

Ingeniera Civil Pag 24


Captulo 2 ANALISIS MATEMATICO IV

d12 = min (d12 , d14 + d42 ) =3


d13 = min (d13 , d14 + d43 ) =5
d15 = min (d15 , d14 + d45 ) = 12
d16 = min (d16 , d14 + d46 ) =5
d23 = min (d23 , d24 + d43 ) =8
d25 = min (d25 , d24 + d45 ) =9
d26 = min (d26 , d24 + d46 ) =8
d35 = min (d35 , d34 + d45 ) =7
d36 = min (d36 , d34 + d46 ) =1
d56 = min (d56 , d54 + d46 ) =8

La matriz de distancia despues de esta iteracion es:


0 3 5 1 12 5

3 0 8 4 9 8

5 8 0 6 7 1
w4 =

1 4 6 0 13 4

12 9 7 13 0 8
5 8 1 4 8 0

5. Iteracion: nodo intermedio = 5

d12 = min (d12 , d15 + d52 ) =3


d13 = min (d13 , d15 + d53 ) =5
d14 = min (d14 , d15 + d54 ) =1
d16 = min (d16 , d15 + d56 ) =5
d23 = min (d23 , d25 + d53 ) =8
d24 = min (d24 , d25 + d54 ) =4
d26 = min (d26 , d25 + d56 ) =8
d34 = min (d34 , d35 + d54 ) =6
d36 = min (d36 , d35 + d56 ) =1
d46 = min (d46 , d45 + d56 ) =4

La matriz de distancia despues de esta iteracion es:


0 3 5 1 12 5

3 0 8 4 9 8

5 8 0 6 7 1
w5 = w4 =

1 4 6 0 13 4

12 9 7 13 0 8
5 8 1 4 8 0

6. Iteracion: nodo intermedio = 6

Ingeniera Civil Pag 25


Captulo 2 ANALISIS MATEMATICO IV

d12 = min (d12 , d16 + d62 ) =3


d13 = min (d13 , d16 + d63 ) =5
d14 = min (d14 , d16 + d64 ) =1
d15 = min (d15 , d16 + d65 ) = 12
d23 = min (d23 , d26 + d63 ) =8
d24 = min (d24 , d26 + d64 ) =4
d25 = min (d25 , d26 + d65 ) =9
d34 = min (d34 , d36 + d64 ) =5
d35 = min (d35 , d36 + d65 ) =7
d45 = min (d45 , d46 + d65 ) = 12

La matriz de distancia despues de esta iteracion es:


0 3 5 1 12 5

3 0 8 4 9 8

5 8 0 5 7 1
w6 =

1 4 5 0 12 4

12 9 7 12 0 8
5 8 1 4 8 0

Ya se han hecho todas las iteraciones posibles. Por tanto, el camino mnimo entre 2
vertices cualesquiera del grafo sera el obtenido en la matriz final. En este caso, el
camino mnimo entre 3 y 4 vale 5.

Ingeniera Civil Pag 26


Captulo 2 ANALISIS MATEMATICO IV

2.3.3. COMPARACION
Con la opcion (Matriz Solucion) aparecen las tablas creadas por los distintos metodos.
Ademas la opcion (Solucion Matlab) muestra el grafo solucion.

Ingeniera Civil Pag 27


Captulo 3

MODELO DE TRANSPORTE

3.1 DEFINICION

El objetivo general es encontrar el mejor plan de distribucion, es decir, la cantidad que


se debe enviar por cada una de las rutas desde los puntos de suministro hasta los puntos
de demanda.
El ?mejor plan? es aquel que minimiza los costos totales de envo, produzca la mayor
ganancia u optimice algun objetivo corporativo.

Se debe contar con:

i) Nivel de oferta en cada fuente y la cantidad de demanda en cada destino.


ii) Costo de transporte unitario de mercadera desde cada fuente a cada destino.
Tambien es necesario satisfacer ciertas restricciones:

1. No enviar mas de la capacidad especificada desde cada punto de suministro (oferta).

2. Enviar bienes solamente por las rutas validas.

3. Cumplir (o exceder) los requerimientos de bienes en los puntos de demanda.

Graficamente: Para m fuentes y n destinos. Esquematicamente se podra ver como se


muestra en la siguiente figura

Donde

Xij : cantidad transportada desde la fuente i al destino j


Cij : Costo del transporte unitario desde la fuente i al destino j
Xi,j = Unidades a enviar desde la fuente i-esima (i=1,...,m) al destino j-esimo (j=1,...,n)

Ingeniera Civil Pag 28


Captulo 3 ANALISIS MATEMATICO IV

Ci,j = Costo de enviar una unidad desde la fuente i-esima (i=1,...,m) al destino j-esimo
(j=1,...,n)
ai = Disponibilidad (oferta) en unidades, de la fuente i-esima (i=1,...,m)
bj = Requerimiento (demanda) en unidades, del destino j-esimo (j=1,...,n)

Modelo general de PL que representa al modelo de Transporte:

Matematicamente:

Minimizar
Z = C1,1 .X1,1 + ... + C1,j XC1,j + ... + C1,n XC1,n + ... + Ci,1 Xi,1 + ... + Ci,j Xi,j + ... +
Ci,n Xi,n + ... + Cm,1 Xm,1 + ... + Cm,j Xm,j + ... + Cm,n Xm,n

Ingeniera Civil Pag 29


Captulo 3 ANALISIS MATEMATICO IV

TABLA INICIAL:

EJEMPLO:
RPG tiene cuatro plantas ensambladoras en Europa. Estan ubicadas en Leipzig, Alema-
nia (1);Nancy, Francia (2); Lieja, Belgica (3), y Tilburgo, Holanda (4). Las maquinas
ensambladoras usadas en estas plantas se producen en Estados Unidos y se embarcan a
Europa. Llegaron a los puertos de Amsterdan (1), Amberes (2) y El Havre (3). Los pla-
nes de produccion del tercer trimestre (julio a septiembre) ya han sido formulados. Los
requerimientos (la demanda en destinos) de motores diesel E-4 son los siguientes:

Planta Cantidad de Motores


(1) Leipzig 400
(2) Nancy 900
(3) Lieja 200
(4) Tilburgo 500
Total 2000

Puerto Cantidad de Motores


(1) Amsterdan 500
(2) Amberes 700
(3) El Hevre 800
Total 2000

Los costos ($) de transporte de un motor desde un origen a un destino son:


Construccion del modelo de PL:

a)Variables de decision

Xij = numero de motores enviados del puerto i a la planta j


i = 1, 2, 3
j = 1, 2, 3, 4
b)Funcion Objetivo

Ingeniera Civil Pag 30


Captulo 3 ANALISIS MATEMATICO IV

Minimizar :

Z = 12X11 +1312 +413 +6X14 +6X21 +4X22 +10X23 +11X24 +10X31 +9X32 +12X34 +4X14
c) Restricciones:

1) Oferta: La cantidad de elementos enviados no puede exceder la cantidad disponible

X11 + X12 + X13 + X14 500


X21 + X22 + X23 + X24 700
X31 + X32 + X33 + X34 800

Demanda: Debe satisfacerse la demanda de cada planta

X11 + X21 + X31 400


X12 + X22 + X32 900
X13 + X23 + X33 200
X14 + X24 + X34 500

y de no negatividad X 0 para i=1, 2, 3 ; j= 1, 2, 3, 4

3.2 3 METODO ESQUINA NOROESTE

Caractersticas:

1. Sencillo y facil de hacer.

2. No tiene en cuenta los costos para hacer las asignaciones.

3. Generalmente nos deja lejos del optimo

ALGORITMO:

1. Construya una tabla de ofertas (disponibilidades) y demandas (requerimientos).

2. Empiece por la esquina noroeste.

3. Asigne lo maximo posible (Lo menor entre la oferta y la demanda, respectivamente)

4. Actualice la oferta y la demanda y rellene con ceros el resto de casillas (Filas o


Columnas) en donde la oferta o la demanda haya quedado satisfecha.

Ingeniera Civil Pag 31


Captulo 3 ANALISIS MATEMATICO IV

5. Muevase a la derecha o hacia abajo, segun haya quedado disponibilidad para asignar.

6. Repita los pasos del 3 al 5 sucesivamente hasta llegar a la esquina inferior derecha
en la que se elimina fila y columna al mismo tiempo.

Nota:

No elimine fila y columna al mismo tiempo, a no ser que sea la ultima casilla. El romper
esta regla ocasionara una solucion en donde el numero de variables basicas es menor a
m+n-1, produciendo una solucion basica factible degenerada.

CODIGO EN MATLAB:

Ingeniera Civil Pag 32


Captulo 3 ANALISIS MATEMATICO IV

EJEMPLO: Solucion del ejemplo anterior.


Primera asignacion:

Hasta cuarta asignacion:

Solucion final factible:

Valor FO: 400*12+100*13+700*4+100*9+200*12+500*4= $ 14 200

Ingeniera Civil Pag 33


Captulo 3 ANALISIS MATEMATICO IV

RESULTADOS DEL PROGRAMA:

3.3 METODO DE COSTO MINIMO

Caractersticas:

1. Asignar la mayor cantidad de unidades a una ruta disponible de costo mnimo.

2. Es mas elaborado que el metodo de la esquina noroeste

3. Tiene en cuenta los costos para hacer las asignaciones

4. Generalmente nos deja alejados del optimo

ALGORITMO:

1. Construya una tabla de disponibilidades, requerimientos y costos.

2. Empiece en la casilla que tenga el menor costo de toda la tabla, si hay empate,
escoja arbitrariamente (Cualquiera de los empatados).

3. Asigne lo maximo posible entre la disponibilidad y el requerimiento (El menor de


los dos).

4. Rellene con ceros (0) la fila o columna satisfecha y actualice la disponibilidad y el


requerimiento, restandoles lo asignado.

5. Muevase a la casilla con el costo mnimo de la tabla resultante (Sin tener en cuenta
la fila o columna satisfecha).

6. Regrese a los puntos 3, 4, 5 sucesivamente, hasta que todas las casillas queden
asignadas.

Ingeniera Civil Pag 34


Captulo 3 ANALISIS MATEMATICO IV

Nota:

Recuerde que no debe eliminar o satisfacer fila y columna al mismo tiempo, caso en que
la oferta sea igual a la demanda, en tal caso recuerde usar la ? (Epsilon).

CODIGO EN MATLAB:

EJEMPLO: Aplicar MCM a la tabla de transporte:

Paso 1:

Ingeniera Civil Pag 35


Captulo 3 ANALISIS MATEMATICO IV

Paso 2: Existen tres rutas costo mnimo. Elijamos la 13 Unidades a asignar =


MIN(200,400) = 200
Paso 3: Tachar fila o columna (columna 3)

Paso 4: Ajustar ofertas y demandas (fila 1 y columna 3)


Paso 5: Aun quedan mas de una fila o columna sin tachar. Ir a paso 2.
Paso 2: Ruta de costo menor34 (22 ) Unidades = MIN(500,800) = 500
Paso 3: Tachar columna 4
Paso 4: Tachar ajustar fila 3 y columna 4

Paso 5: Aun quedan mas de una fila o columna sin tachar.Ir a paso 2
Paso 2: Ruta de costo menor22 Unidades = MIN(700,900) = 300
Paso 3: Tachar fila2
Paso 4: Tachar ajustar fila 2 y columna 2

Ingeniera Civil Pag 36


Captulo 3 ANALISIS MATEMATICO IV

Paso 5: Aun quedan mas de una fila o columna sin tachar. Ir a paso 2
Paso 2: Ruta de costo menor 31 . Unidades = MIN(400,100) = 100
Paso 3: Tachar fila 3
Paso 4: Tachar ajustar fila 3 y columna 1

Paso 5: Aun quedan mas de una fila o columna sin tachar. Ir a paso 2.
Paso 2: Ruta de costo menor 11 . Unidades = MIN(300,300) = 300
Paso 3: Tachar fila 1 o columna 1 (solo una de ellas)
Paso 4: Tachar ajustar fila 1 y columna 1

Paso 5: Queda solo una fila sin tachar. Terminar Es solucion factible? m+n1 = 6?
SI Costo: 300*12+200*4+700*4+100*10+200*9+500*4 = $12.000

Ingeniera Civil Pag 37


Captulo 3 ANALISIS MATEMATICO IV

3.4 METODO DE VOGUEL

MAV usa informacion de costos mediante el concepto de costo de oportunidad para de-
terminar una solucion inicial factible. Seleccionar en una fila la ruta mas barata y la que
le sigue. Hacer su diferencia (penalidad), que es el costo adicional por enviar una unidad
desde el origen actual al segundo destino y no al primero. En nuestro caso, para el puerto1,
C13 y C14; Penalidad = 6 - 4 MAV asigna un costo de penalidad por no usar la mejor
ruta en esta fila.
Caractersticas:

1. Es mas elaborado que los anteriores, mas tecnico y dispendioso.

2. Tiene en cuenta los costos, las ofertas y las demandas para hacer las asignaciones.

3. Generalmente nos deja cerca al optimo.

ALGORITMO:

1. 1. Construir una tabla de disponibilidades (ofertas), requerimientos (demanda) y


costos.

2. 2. Calcular la diferencia entre el costo mas pequeno y el segundo costo mas pequeno,
para cada fila y para cada columna.

3. 3. Escoger entre las filas y columnas, la que tenga la mayor diferencia (en caso de
empate, decida arbitrariamente).

4. 4. Asigne lo maximo posible en la casilla con menor costo en la fila o columna


escogida en el punto 3.

5. 5. Asigne cero (0) a las otras casillas de la fila o columna donde la disponibilidad o
el requerimiento quede satisfecho.

6. 6. Repita los pasos del 2 al 5, sin tener en cuenta la(s) fila(s) y/o columna(s) satis-
fechas, hasta que todas las casillas queden asignadas.

Nota:

Recuerde que no debe eliminar o satisfacer fila y columna al mismo tiempo, caso en que
la oferta sea igual a la demanda, en tal caso recuerde usar la (Epsilon).

CODIGO EN MATLAB:

Ingeniera Civil Pag 38


Captulo 3 ANALISIS MATEMATICO IV

Ingeniera Civil Pag 39


Captulo 3 ANALISIS MATEMATICO IV

EJEMPLO: Aplicar MAV a la tabla de transporte:

Paso 0: Calculo de penalidades.

Paso 1: Identificar maxima penalidad (fila o columna). Calculadas todas las penali-
dades, la mayor corresponde a la columna 3 (penalidad = 6)

Paso 2: Asignacion de unidades (MIN(oferta, demanda))

Paso 3: Reajuste de oferta y demanda.

Paso 4: Eliminar columna (fila) con demanda (oferta) o

Ingeniera Civil Pag 40


Captulo 3 ANALISIS MATEMATICO IV

Paso 5: Calcular los nuevos costos de penalidad

Repitiendo los pasos anteriores, finalmente se llega a la siguiente solucion

Es solucion factible? m + n - 1 = 6? SI Costo:


200*4+300*6+700*4+400*10+200*9+200*4 = $12 000

RESULTADOS DEL PROGRAMA:

Ingeniera Civil Pag 41


Captulo 3 ANALISIS MATEMATICO IV

3.5 METODO DE RUSSELL

Proporciona una solucion inicia cercana a la optima. El procedimiento es el siguiente:


ALGORITMO:

1. Calcular ui = max cij ; vj = cij

2. Encuentre la variable Xij = max(i, j)[(ui + vj ?cij ) > 0]

3. Introducir a la base Xij = min(ai , bj )

4. Si ai < bj hagase bj = bi ?ai y elimine la fila i

5. Si ai > bj hagase a i = ai ?bj y elimine la columna j

6. Si ai = bj elimnese fila i o columna j

7. El metodo termina cuando loaai ylosbj son ceros.

CODIGO EN MATLAB:

Ingeniera Civil Pag 42


Captulo 3 ANALISIS MATEMATICO IV

EJEMPLO:

Introducimos a la base la variable: X14 = min (70, 95) = 70; b 4 = 95 ? 70 = 25, y elimine
la fila 1. Repetimos el proceso:

Introducimos a la base: X33 = min (115, 70) = 70; a 3 = 115 ? 70 = 45 y elimine la


columna 3

Ingeniera Civil Pag 43


Captulo 3 ANALISIS MATEMATICO IV

Introducimos a la base: X21 = min (90, 50) = 50; a 2 = 90 - 50= 40, y elimine la columna
1

Introducimos a la base: X34 = min (45, 25) = 25; a 3 = 45 - 25= 20, y elimine la columna
4 Introducimos a la base: X22 = min (40, 60) = 40; a 2 = 60 - 40= 20, y elimine la columna
2 Introducimos a la base:X32 = min (20 , 20) = 20
La solucion por lo tanto es:

La solucion por lo tanto es:

El costo de la solucion es Z = $ 4 185

RESULTADOS DEL PROGRAMA:

Ingeniera Civil Pag 44


Captulo 4

PRESENTACION DEl PROGRAMA

4.1 Interfaz Principal

4.2 Interfaz MODELO DE TRANSPORTES

Ingeniera Civil Pag 45


Captulo 4 ANALISIS MATEMATICO IV

4.3 Interfaz MODELO DE REDES

Ingeniera Civil Pag 46


Captulo 5

conclusiones

Este programa es una aplicacion de la programacion lineal es muy util para hallar la
solucion de dos modelos: Modelo de Redes y Modelo de Transportes. Se hace una breve
introduccion a la teora de Grafos para la solucion del primer modelo. El ejemplo aplicativo
es hallar el camino mnimo de la casa de un integrante a la Universidad, el programa halla
los caminos (nodos por los que pasa) y la distancia mnima. Se aplican dos algoritmos:
el algoritmo de Dijktra y el algoritmo de Floyd. Cabe mencionar que el algoritmo de
Dijkstra lo programamos para grafos no dirigidos con matrices de distancias simetricas. El
algoritmo de Floyd si es indistinto. Para comprobar los resultados se cuenta son la solucion
MATLAB, que proporciona el grafo con el camino remarcado. El programa cuenta con
varias formas de desarrollar los grafos, ya sea a traves del ingreso de matrices distancia (se
pueden escoger nodos y arcos) o ingresar distancias en el mismo croquis (nodos y arcos ya
definidos). Seguro que hay maneras de hacer esto con comandos, pero tratamos de hacerlo
lo mas dinamico posible; lo importante es llegar al mismo fin. El programa y el informe
muestra as la obtencion de resultados paso a paso, a traves de tablas en donde se pueden
ver si las iteraciones, que se utilizan al momento de comparar, si los metodos son factible
y tal vez optimos, siendo estos dos terminos distintos.

Ingeniera Civil Pag 47


Bibliografa

[1] Modelos matematicos de tecnicas especficas de optimizacion. Pedro Linares & otros.

[2] Optimizacion de Recorridos. Isnardo Arenas Navarro.

[3] Matlab en Cinco Lecciones de Numerico. Vctor Domnguez Baguena & Mara Luisa
Rapun Banzo.

[4] Formulacion y Resolucion de Modelos de Programacion Matematica en Ingeniera y


Ciencia. Enrique Castillo, Antonio J. Conejo, Pablo Pedregal & otros.

Ingeniera Civil Pag 48

Vous aimerez peut-être aussi