Professional Documents
Culture Documents
on Combinatoria y en Redes
Arbol
de expansi
on de coste mnimo.
Problema del viajante.
Optimizaci
on en Redes: Terminologa
Arcos:
Grafo oriantado o red
A
D
Aristas:
Grafo no orientado
G
E
F
G = (N, A) o
Grafos mixtos
G = (V, A)
Optimizaci
on en Redes: Terminologa
A
D
E
F
Optimizaci
on en Redes: Elementos b
asicos
Variables xij asociadas a los arcos: xij = flujo en (i, j).
Costes cij = coste por unidad de flujo en (i, j).
Capacidades lij /uij = flujo mnimo/maximo permitido en
(i, j).
Restriciones de conservaci
on de flujo; para cada nodo i:
flujo saliente
flujo entrante
xik
kN
xji
jN
= bi =
on(i)
producci
demanda(i)
si i genera flujo,
si i absorve flujo,
en otro caso.
A
D
E
F
A=
1
-1
0
0
0
0
0
1
0
-1
0
0
0
0
1
0
0
0
0
-1
0
0
1
0
-1
0
0
0
0
0
1
-1
0
0
0
0
0
1
0
0
0
-1
0
0
0
1
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
1
-1
0
0
0
0
-1
0
1
Factibilidad
Para que un problema de flujos en redes tenga buenas
propiedades es necesario que sea equilibrado:
bi =
oferta =
i:bi>0
bi = demanda.
i:bi<0
10
A
[ 9, (1, 5)]
u}
B
10
7
[15,(3, 10 )]
C
[12, (0, 20)]
[ 20, ( 0, 10 )]
11
11
G
G
[8,(1,12)]
[3, (0,5)]
8
1
E
0
10
coste = 420
[25, (0 , inf)]
350
25 17 18 350
25 18 14 600
325 300 275
1
...
600
300
[18, (0 , inf)]
275
[14, (0 , inf)]
[0, (0 , inf)]
aux
50
El problema de transporte
El Smplex permite resolver el problema de transporte,
incluso con unidades indivisibles.
Si queremos que se requieran pocas iteraciones, necesitaon inicial. Para hallarla, podemos
remos una buena soluci
usar m
etodos heursticos
Para inicializar el metodo del Smplex no nos sirve cualquier
heurstica. Por que?
Porque necesitamos una heurstica que proporcione siempre
soluciones b
asicas.
El problema de transporte
En el caso del problema de transporte, tenemos varias
heursticas con esa propiedad.
Veremos la mas simple: La esquina noroeste
La veremos sobre el ejemplo:
Destinos
A
B
C producci
on
1 25 17 18
350
Orgenes
2 25 18 14
600
demanda 325 300 275
17
18
?
25
350
18
14
0
600
325
25
300
17
325
25
275
50
18
14
350
25
?
18
600
325
300
275
50
17
325
18
25
25
18
25
14
?
0 300 275
25
17
325
25
600
275
18
50
0
25
18
14
275
275
0
600
325
0
?
275
50
17
325
18
25
25
18
275
0
0
25
14
17
325
25
0
0
275
275
18
?
50
0
25
18
0
14
275
275
0
325
50
0
275
275
50
50
50
Dada una red con costes en los arcos y con dos nodos
distinguidos s y t el problema de caminos mnimos
consiste en encontrar el camino de coste total mnimo
entre todos los que unen s y t.
Esto es equivalente a resolver el problema de flujo de coste
mnimo en la red con producci
on 1 en el nodo s, demanda 1
en el nodo t, capacidades mnimas igual a 0 y capacidades
maximas infinitas.
12 (0, inf)]
[12,
10 (0, inf)]
[10,
s
9 (0,inf)]
[ 9,
15
[15,(0,
inf)]
D
11 (0, inf)]
[11,
C
12 (0, inf)]
[12,
[20
20, ( 0, inf )]
t
G
8
[8,(0,
inf)]
t
u
-12
10
-9
15
D
-11
C
20
12
-6
5
t
8
-3
E
17
Arbol
de caminos desde s al resto de nodos
Algoritmo de Dijkstra (Greedy).
Edsger W. Dijkstra (1930-2002), publicado en el 59
1
s
8
B
(2, s)
(inf,0)
1
s
(5,A)
(inf,0)
(inf,0)
8
B
(8, s )
D
(inf,0)
2
B
(7, A )
D
(inf,0)
(2, s)
(5,A)
1
s
(5,A)
(11,C)
(11,C)
8
B
(6, C )
D
(12,C)
2
B
(6, C )
D
(6,B)
(2, s)
(5,A)
1
s
(5,A)
(8,D)
(8,D)
8
B
(6, C )
D
(6,B)
2
B
(6, C )
D
(6,B)
Problema de flujo m
aximo
El problema de flujo m
aximo se define sobre una red
con capacidades en los arcos, y dos nodos selectos; el nodo
fuente (s) y el nodo terminal (t).
El problema consiste en encontrar la mayor cantidad de
flujo que se puede mandar desde s hasta t respetando las
capacidades de los arcos.
El problema de flujo maximo tambien tiene la propiedad de
integridad.
El problema de flujo m
aximo
Problema de flujo m
aximo
1
s
1
1
B
2
B
2
Problema de flujo m
aximo
A
Problema de flujo m
aximo
A
Problema de flujo m
aximo
A
Problema de la mochila
Los problemas combinatorios consisten en identificar subconjuntos de un conjunto dado que, satisfaciendo algunas
propiedades preestablecidas, minimicen/maximicen su coste
asociado. Formalmente:
Dado un conjunto S y una familia de subconjuntos
de S, I P(S), encontrar el conjunto I I con el
menor coste (resp. mayor beneficio) asociado.
En general,
coste(I) =
eI
ce
Optimizaci
on Combinatoria
S = conjunto de objetos
I: conjuntos de obj. que caben
objetivo:arg m
ax{c(I) : I I}
Este
es la base de toda una famlia de sistemas de
criptografia de clave p
ublica. Entre ellos el de Merkle y
Hellman (1978) que fue uno de los primeros.
Problema de emparejamiento
Dado un grafo G=(N,A), B A es un emparejamiento
(perfecto), si cada nodo de N es incidente, como mucho
(exactamente), con una arista de B.
Objetivo: Encontrar el emparejamiento
de cardinal m
aximo (EM)
maximo/perfecto de peso mnimo (EPM)
Emparejamiento no perfecto
Emparejamiento perfecto
s
D
E
F
E
F
10
11
12
Emparejamiento de cardinal m
aximo:
enfoque OC
Conjuto de elementos S: Aristas del grafo
Subconjuntos validos I I:
conj. de aristas disjuntas 2 a 2
Costes:
maximizar cardinal (coste 1 en cada arista)
Emparejamiento de cardinal m
aximo:
enfoque PM
Variables: a A,
xa =
si a est
a en el emparejamiento
si no
Restricciones: v N ,
a(v) xa
Objetivo
max
aA xa
Arbol
de expansi
on de coste mnimo
Minimum spanning tree (MST)
A
D
es conexo
E
F
Arboles
de expansi
on: (contra)ejemplos
B
A
D
A
D
C
G
E
F
Arboles
de expansi
on
Que pasa si a un arbol de expansi
on le quitamos un
arco?
Que pasa si a un arbol de expansi
on le a
nadimos un
arco?
Cuantos arcos tiene un arbol de expansi
on?
Arbol
de expansi
on de coste mnimo
ca
aT
MST: Ejemplos
El primer trabajo sobre el MST es debido a Dijkstra, que
desarrollo un algoritmo para este problema, para minimizar
la cantidad de cobre que necesitaba para las conexiones en
el panel su ordenador X1.
En realidad, este algoritmo fue publicado en el mismo
artculo donde Dijkstra presentaba su algoritmo para el
problema de caminos mnimos.
MST: Ejemplos
Compa
na de reforestaci
on quiere sembrar arboles en ocho zonas en
la misma area. Debe desarrollar un sistema de caminos de tierra para
tener acceso a cualquier zona desde cualquier otra. Las distancias entre
cada par de zonas son:
1
2
3
4
5
6
7
8
1
-
2
13
-
3
21
9
-
4
9
18
26
-
5
7
12
17
7
-
6
18
26
25
16
9
-
7
20
23
19
15
11
6
-
8
15
11
10
9
8
10
5
-
MST: Resoluci
on
Uno de los algoritmos mas conocidos para resolver este
problema es el algoritmo de Kruskal.
Se trata de un algoritmo tipo Greedy. A pesar de esto, la
estructura de este problema garantiza que este algoritmo
proporcione la soluci
on
optima.
Es un algoritmo iterativo.
En cada iteracion del algoritmo, se a
nade al conjunto de
arcos seleccionados el arco disponible de coste menor que
no forme circuito con los tomados anteriormente.
Finaliza cuando el subgrafo generado es conexo.
A
7
5
5
D
8
6
F
6
G
A
7
5
5
D
8
6
F
6
G
A
7
5
5
D
8
6
F
6
G
A
7
5
5
D
8
6
F
6
G
A
7
5
5
D
8
4
1
6
F
6
G
MST: Extensiones
Una extension del MST es el problema del arbol de Steiner
de coste mnimo.
En este problema se pretende conectar un nodo fuente a
todo un conjunto de nodos sumideros, utilizando eventualmente otros nodos auxiliares de la red a un coste mnimo.
Este problema aparece, por ejemplo, en el dise
no de circuitos integrados.
(TSP)
Restricciones:
Cada nodo debe preceder a otro:
xij = 1
i
xij = 1
j
.
Que falta?
N con |S|
n/2 :
xa
a(S)
TSP: M
etodos heursticos
Heur. constructivas
El vecino mas pr
oximo
Metodos de inserci
on
Heurstica de Christofides
Heur. de mejora
B
usqueda local (problema: optimos locales)
2-intercambios, etc.
Metodos avanzados/ Metaheursticas
B
usqueda tab
u , Algoritmos geneticos, Sistemas de
colonias de hormigas, simulated annealing. . .