Teoría de grafos

Download Report

Transcript Teoría de grafos

Teoría de Grafos
Teoría de Grafos
Estudiamos:
- Idea intuitiva de grafo
- Camino mínimo
- Flujo máximo
- Problemas de transporte
- Problemas de asignación
Teoría de Grafos
Teoría de grafos:
La teoría de grafos estudia las propiedades de los grafos. Un grafo es un
conjunto, no vacío, de objetos llamados vértices (o nodos) y una
selección de pares de vértices, llamados aristas que pueden ser
orientados o no.
Típicamente, un grafo se representa mediante una serie de puntos (los
vértices) conectados por líneas (las aristas).
Formalmente: Grafo es un par (V,A) donde V es un conjunto de elementos
llamados “vértices” o “nodos” y A es un subconjunto de VxV cuyos
elementos son los “arcos”.
Teoría de Grafos
En el ejemplo de la derecha
vemos un grafo que tiene
cuatro vértices: V={1,2,3,4}
y se han definido un conjunto
de cinco arcos:
A={(1,2),(1,3),(2,4),(3,2),(4,2)}
Para cada arco, por ejemplo, el
(3,2), «3» es el origen y «2» el
extremo del arco.
Teoría de Grafos
Matriz de incidencia
Concepto de red
Una red es un grafo
cuyos arcos tienen
asociada alguna
medida.
Teoría de Grafos
El grafo anterior será una red y esta será bilateral ya que admite ambas
orientaciones de los arcos; o dicho de otra forma, si existe (M,G), existe
(G,M). En las redes bilaterales a los arcos se les suele llamar aristas.
Cuando una red no es bilateral se llama dirigida. Por ejemplo, una red de
conducción de aguas en una ciudad es dirigida.
Algunos conceptos relativos a grafos:
- Orden de un grafo es el número de sus vértices.
- Dos vértices son adyacentes si existe un arco que los une.
- Un grafo es completo si todos sus vértices están relacionados, es decir,
dos vértices cualesquiera son adyacentes
- Llamaremos grado de un vértice al número de arcos que terminan en él.
- Un grafo es simple si no contiene bucles y sólo hay una arista que une a
cada dos vértices
Teoría de Grafos
Un grafo es una red de transporte si verifica:
1) Existe un vértice y sólo uno, tal que a él no llega ningún arco: la entrada a la
red, nodo fuente.
2) Existe un vértice, y sólo uno, tal que de él no sale ningún arco: la salida de
la red, nodo sumidero.
Ejemplos:
Teoría de Grafos
En una red de transporte (o en general se le suele llamar simplemente
red), la matriz de incidencia deja de tener “0” y “1” para tener cantidades:
0

0
0

0

0

0

0
1
2
3
0
0
0
0
4
5
0
0
0
9
0
11
0
0
0
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 

0 
0 

0 

10

12 

0 
Teoría de Grafos
Un camino o ruta es una sucesión de arcos adyacentes del mismo
sentido (el extremo de un arco es el origen del siguiente)
Origen y final del camino.
Longitud generalizada de un camino.
Teoría de Grafos
Un ciclo, circuito o camino cerrado es un camino en el cual el último
extremo coincide con el primer origen.
Teoría de Grafos
MATHEMATICA en redes
Versión 8.0 o siguientes
Para definir un grafo G, tenemos que dar:
(*) Los vértices que lo componen, dando las coordenadas de cada uno de
ellos sobre el plano. Se realiza mediante la matriz de vértices.
(*) Los arcos que forman el grafo. Se realiza mediante la matriz de
incidencia.
Por ejemplo, sea el grafo:
Teoría de Grafos
Matriz de vértices:
Consideremos un sistema de coordenadas cartesianas (en rojo).
El vértice “1” coincidirá con el (0,0), el “2” puede ser el (1,0), el “3” el
(2,1) y el “4” el (2,-1)
Entonces la matriz de vértices será:
Teoría de Grafos
Si cambiamos el origen de coordenadas:
la matriz de vértices cambia:
Teoría de Grafos
Matriz de incidencia:
¡Es única!
Teoría de Grafos
Dibujar un grafo:
pintaGrafos[matrizIncidencia, verticesGrafo->matrizVertices,
etiquetasArcos->matrizIncidencia]
miPintaGrafos[matrizIncidencia, matrizVertices]
Teoría de Grafos
Modelo de Camino Mínimo o Ruta Mínima
Concepto intuitivo
Ejemplo: Una empresa quiere enviar un pedido desde la planta de
producción (vértice 1) a un cliente (vértice 6). Los vértices 2 a 5 son
cruces por donde pueden circular sus camiones y los números de los arcos
son el coste de enviar cada camión por el trayecto representado por ese
arco. ¿Cuál es el camino mas barato?
Teoría de Grafos
Hay varias rutas:
Ruta 1:
Longitud: 20+15+10=45
Teoría de Grafos
Ruta 2:
Longitud: 20+10+10=40
Teoría de Grafos
Ruta 3:
Longitud: 15+15+10=40
Teoría de Grafos
Existen diversos algoritmos que permiten la resolución del problema de
camino mínimo; entre los mas conocidos: el de Disjktra.
Nosotros los resolveremos mediante un modelo de programación lineal,
llamando xij a la variable que toma el valor “1” si se sigue el arco (i,j) o
“0” en caso contrario.
Teorema:
Cualquier solución admisible básica del problema de camino mínimo
tiene todas sus variables xij iguales a “cero” o a “uno”.
n
M in im iza r
S u je ta :
n
d
i 1
j 1
x
1k
x ij
ij
x
 1,
k
x
kn
1
k
jk

j
x ij  0
x
ki
, k  1, n
i
x ij  0 / 1
Teoría de Grafos
Ejemplo:
Un estudiante se desplaza a diario desde su casa (nodo 1) a la facultad
(nodo 4). Desea saber cual es el trayecto más corto para llegar. En el
siguiente grafo se representa las calles y sus distancias (expresadas en
kilómetros):
2
5
10
6
9
1
4
4
3
3
Teoría de Grafos
2
5
10
6
9
1
4
4
3
3
Minimizar 6x12+4x13+9x14+10x23+5x24+3x34
Sujeta a:
x12+x14+x13=1
x24+x14+x34=1
x12=x23+x24
x13+x23=x34
xij≥0
xij=0 ó 1
Teoría de Grafos
MODELO DE CAMINO MÁXIMO O RUTA MÁXIMA
Este problema podemos plantearlo como modelo de Programación Lineal
con la misma forma que el camino mínimo, pero como problema de
“Maximizar”
Teoría de Grafos
Flujo máximo en redes
Aquí trabajamos con redes de transporte.
Un grafo es una red de transporte si verifica:
1) Existe un vértice y sólo uno, tal que a él no llega ningún arco: la
entrada a la red, nodo fuente.
2) Existe un vértice, y sólo uno, tal que de él no sale ningún arco: la salida
de la red, nodo sumidero.
Diremos que ϕ es un flujo sobre la red si se verifica:
1) Para todo arco “a” se verifica la condición de compatibilidad:
ϕ (a) ≤ C(a)
2) Cada nodo i verifica la condición de conservación del flujo:
n

j 1
n
x ij 

s 1
x si
Teoría de Grafos
Ejemplo
Debido a las obras del metro en Málaga se ha cerrado una avenida con
una capacidad de 15.000 vehículos/día. Los técnicos van a desviar dicha
circulación por distintas calles de acuerdo con el siguiente grafo donde se
incluyen el número de vehículos (en miles) que pueden circular por ellas.
Querrían saber los técnicos: a) Si la red viaria alternativa podría sustituir la
avenida cerrada. b) Flujo máximo de vehículos que permite cada calle.
Una posible solución:
2
2
6
6
1
10
7
7
5
1
4
5
1
4
4
4
5
9
3
3
Teoría de Grafos
La resolución del problema consistente en la obtención, para una red de
transporte dada, del flujo máximo circulante entre el nodo fuente y el
sumidero, se puede realizar de varias formas. La mas conocida es el
algoritmo de Ford-Fukerson
La resolución mediante Programación Lineal se hace:
M a x im iza r F
S u je ta :
x
1k
F
k
x
kn
F
x
jk

k
j
x
i
0  x ij  C ij
F  0
ki
, k  1, n
Con:
F: Flujo máximo desde el nodo fuente al
sumidero.
xij: cantidad de unidades que se envían
desde el vértice i al j.
Cij: capacidad máxima del arco (i,j)
Teoría de Grafos
Problema de Transporte
Introducción
Ejemplo: Un fabricante desea enviar varias unidades de un producto desde
2 centros de distribución CD1 y CD2, a 3 tiendas T1, T2 y T3. En el
primero de ellos dispone de 15 unidades y en el segundo de 20. La
demanda de cada tienda es 15, 10 y 10 respectivamente. Los gastos de
transporte son:
T1
T2
T3
CD1
1
5
10
CD2
10
1
5
¿Cómo ha de realizar el transporte para que sea lo más económico
posible?
Teoría de Grafos
Esquemáticamente:
Teoría de Grafos
Una vez resuelto quedaría:
Teoría de Grafos
Su resolución mediante Programación Lineal:
Si llamamos xij al número de unidades transportadas del centro de oferta i
al de demanda j tendremos:
- Minimizar el coste de transporte:
Minimizar x11+5x12+10x13+10x21+x22+5x23
- Restricciones de oferta:
x11+x12+x13T1
=15
T2x21+x22
T3+x23=20
CD1
1
5
- Restricciones de demanda:
10x12+x221=10
x11+xCD2
21=15
- Variables no negativas y enteras:
xij≥0
xij
10
5x13+x23=10
Teoría de Grafos
Su resolución mediante Programación Lineal:
Si llamamos xij al número de unidades transportadas del centro de oferta i
al de demanda j tendremos:
- Minimizar el coste de transporte:
Minimizar x11+5x12+10x13+10x21+x22+5x23
- Restricciones de oferta:
x11+x12+x13=15
- Restricciones de demanda:
x11+x21=15
x21+x22+x23=20
x12+x22=10
- Variables no negativas y enteras: xij≥0
x13+x23=10
Teoría de Grafos
Hemos obtenido la solución:
Teoría de Grafos
En general la formulación mediante Programación Lineal del problema
de transporte con m centros de oferta y n centros de demanda es:
m
Min imizar
n
Cij: costes unitarios de transporte del
centro i al centro j.
  C ij x ij
i 1 j 1
Sujeta :

x ij  e i
i  1 ,2 ,  , m
 x ij  d j
j  1 ,2 ,  , n
j
i
x ij  0
xij: cantidades a transportar de cada
centro i al centro j.
ei: cantidades del producto disponibles
en cada origen.
dj: demanda en cada destino.
Teoría de Grafos
Teorema
El conjunto de oportunidades X definido por las restricciones del problema
anterior es no vacío si los ei y dj son finitos.
Siempre se supone que la oferta=demanda:
m
n
åe = åd
i=1
Si
m
j=1
j
n
åe > åd
i=1
i
i
j=1
j
hemos de suponer un centro de demanda artificial cuya demanda sea:
m
n
i=1
j=1
dn+1 = å ei - å dj
y : c1,n+1 =
= cm,n+1 = 0
Teoría de Grafos
Análogamente en el caso de un exceso de demanda respecto de oferta:
hemos de construir un centro de oferta artificial que oferte el exceso de
demanda y con costes unitarios cero.
La matriz de coeficientes de las restricciones:
1

0

 ...

0
A 
1

0

...

0

1
...
1
0
0
...
0
...
0
0
...
0
...
0
1
1
...
1
...
0
0
...
...
...
...
..
..
..
..
...
...
...
...
0
...
0
0
0
...
0
...
1
1
...
0
...
0
1
0
...
0
...
1
0
...
1
...
0
0
1
...
0
...
0
1
...
...
...
...
...
...
...
...
...
...
...
...
0
...
1
0
0
...
1
...
0
0
.. .
0

0

... 

1
0

0

...

1 
La matriz A es de rango
m+n-1 y es unimodular, es
decir, toda submatriz
cuadrada de A tiene como
determinante 0,1 ó -1.
Teoría de Grafos
Problema de Asignación
Concepto: Aquel que trata de determinar la asignación óptima de “n”
agentes u objetos indivisibles a “n” tareas.
Ejemplo 1: Queremos repartir tres tareas (oferta) a tres alumnos
(demanda). El coste que conlleva la realización de cada tarea por cada
alumno viene dada por la siguiente matriz:
æ 8 2 1
ç
ç 1 3 4
çè 7 4 2
ö
÷
÷
÷ø
Calcular la asignación óptima de cada tarea a cada alumno.
Teoría de Grafos
Ejemplo 2: En una empresa se van a ofertar dos nuevos puestos de
trabajo a cuatro trabajadores de la misma empresa en base a la
puntuación obtenida por la mayor o menor puntualidad al trabajo durante
los últimos dos años y que están representados por la matriz:
æ 4 6 2 7 ö
ç
÷
è 5 3 7 6 ø
¿cuál es la asignación óptima de cada puesto de trabajo a cada trabajador?