Está en la página 1de 8

PROGRAMACIÓN LINEAL ENTERA

Grado en Administración y Dirección de Empresas.


PROGRAMACIÓN MATEMÁTICA.

LECCIÓN 4:

Programación Lineal Entera: Camino mínimo, flujo maximal,


transporte y asignación.
1.- Dado el siguiente grafo:

1
2 4
2

1 5
4

1
3
8

a) Defina su matriz de incidencia y una matriz de vértices de forma que resulte el


grafo anterior.
b) Plantee el problema lineal para obtener el camino mínimo del vértice 1 al 5.
c) Sabiendo que la solución es: x13=1, x32=1, x24=1, x45=1, dibuje la solución y
comente el resultado. ¿Cuál es la distancia mínima recorrida?

Solución:

a) La matriz de incidencia es una matriz cuadrada de tamaño el número de vértices,


en este caso 5. Lleva un cero en la casilla ij si no hay arco del vértice i al j y lleva
el número que aparece en el arco ij si éste existe. En nuestro caso:

0 7 4 0 0
0 0 0 1 0
Matriz Incidencia= 0 1 0 3 8
0 0 0 0 2
(0 0 0 0 0)

Calderón Montero, S.
PROGRAMACIÓN LINEAL ENTERA

La matriz de vértices lo que trata es de situar aproximadamente los vértices en el plano.


Es una matriz de tamaño “número de vértices” x 2, en nuestro ejemplo, 5 x 2. Una matriz
de vértices podría ser:

0 0
2 2
Matriz Vértices = 4 −2
4 2
(8 0)

b) El planteamiento lineal del problema de camino mínimo sobre este grafo es:

Minimizar 7x12 + 4x13 + x24 + x32 + 3x34 + 2x45 + 8x35


s.a x12 + x13 = 1
x45 + x35 =1
x12+ x32 = x24
x13 = x32 + x34 + x35
x24 + x34 = x45
xij ≥ 0

c) La solución es: x13=1, x32=1, x24=1, x45=1. Si la dibujamos en el grafo,


obtenemos:

1
2 4
2

1 5
4

Por último, la distancia recorrida es 4 + 1 + 1 + 2 = 8.

Calderón Montero, S.
PROGRAMACIÓN LINEAL ENTERA

2.- Dadas las siguientes matrices de incidencia y vértices:

0 5 9 0 0
0 0 5 1 0
Matriz Incidencia= 0 0 0 3 3
0 0 0 0 6
(0 0 0 0 0)

0 0
2 2
Matriz Vértices = 2 −2
4 1
(6 0)

a) Dibuja el grafo asociado.


b) Plantee el problema lineal para obtener el flujo maximal del vértice 1 al 5.
c) Sabiendo que la solución del apartado b) es x12 = 1, x24 = 1, x13 = 6, x23 = 0,
x34 = 3, x45 = 4, x35 = 3, dibuje la solución e interprete el resultado, ¿cuál es el
flujo maximal del problema?

Solución:

a) Para dibujar el grafo tenemos que situar los vértices en las coordenadas que nos
marca la matriz de vértices y dibujar los arcos en las casillas que nos marca la
matriz de incidencia, con la cantidad señalada en cada una de ellas. Resulta:

2 1

5 4 6
5

1 5
9

3
3

b) Para obtener el flujo maximal tenemos que construir un problema lineal de


maximar el flujo. Se cumple que:

F ≤ Min(5+9, 6+3) = Min(14, 9) = 9

Calderón Montero, S.
PROGRAMACIÓN LINEAL ENTERA

Por tanto, en este ejemplo el flujo no podrá ser mayor que 9. El planteamiento del
problema es:

Maximizar F
s.a x12 + x13 = F
x35 + x45 = F
x12 = x24 + x23
x23 + x13 = x34 + x35
x24 + x34 = x45
x12 ≤ 5, x13 ≤ 9, x24 ≤ 1, x23 ≤ 5,
x34 ≤ 3, x35 ≤ 3, x45 ≤ 6
F ≥ 0, xij ≥ 0

Las restricciones son:


 en la primera restricción, la cantidad de flujo que sale del vértice 1 es F.
 en la segunda restricción, la cantidad de flujo que llega al vértice 5 es F.
 en las siguientes tres restricciones se escribe la conservación del flujo “la cantidad
que entra en el vértice j es igual a la cantidad que sale de él”.
 Hay siete restricciones de desigualdad (porque hay 7 arcos en este problema) y se
escriben para que se cumpla que el flujo de cada arco ij no puede superar la
capacidad del arco.

Por tanto, es un problema con 8 variables (número de arcos + uno por el flujo maximal)
y 12 restricciones (5 + 7 en este caso).

c) En este apartado nos proporcionan la solución del ejercicio planteado:

x12 = 1, x24 = 1, x13 = 6, x23 = 0, x34 = 3, x45 = 4, x35 = 3

Si dibujamos esta solución en nuestro grafo de partida (los arcos que son cero no se han
utilizado y por tanto, no se dibujan):

Calderón Montero, S.
PROGRAMACIÓN LINEAL ENTERA

2 1

4 4
1

1 5
6

3
3

Observamos que en este grafo el flujo maximal es de F= 7 y esta cantidad se ha movido por el
grafo de la siguiente manera:

 Una unidad ha ido por 1→ 2 → 4.


 Seis unidades han ido del 1 → 3 y se han separado en este vértice:tres han ido del 3 → 4
y otras tres han ido del 3 → 5.
 En el cuatro se han encontrado una unidad que venía del “2” y tres unidades que venían
del “3”, es decir, han llegado 4, y esas 4 se han llevado al 5.
 Finalmente, al “5” han llegado 4 unidades desde el “4” y 3 unidades desde el “3”, por
tanto, han llegado 7 en total.

3- Sean F1, F2 dos fábricas que producen automóviles en cantidades 4, 5 respectivamente. Este
producto se debe distribuir entre cuatro concesionarios, que demandan, 3, 4, 5 y 3 unidades
respectivamente. El coste unitario de transporte de cada fábrica a cada concesionario viene dado
por la siguiente matriz:

(
5 1 2 3)
5 6 1 4
Se desea distribuir todo el producto minimizando el coste de transporte. Se pide:

a) Plantee el problema lineal para minimizar el coste del transporte.


b) Sabiendo que la solución es: x12=4, x23=5, x31=3, x34=3, comente el resultado.
c) ¿Cuál es el coste mínimo del transporte?

Solución:

Primero hemos de comprobar si la oferta y la demanda coinciden. En este caso:

oferta = 4 + 5 = 9
demanda = 3 + 4 + 5 + 3= 15

Calderón Montero, S.
PROGRAMACIÓN LINEAL ENTERA

Puesto que no coinciden y la demanda es superior, hemos de introducir un centro de oferta ficticio,
ofertando la diferencia, 15 - 9 = 6 unidades.

Por tanto, trabajamos con la tabla:

oferta
5 1 2 3 4
5 6 1 4 5
0 0 0 0 6
demanda 3 4 5 3 15

donde aparecen “en negrita” los costes originales, “en rojo” el centro de oferta ficticio que hemos
introducido y “en azul” las cantidades ofertadas y demandadas. El problema, una vez cuadrado,
oferta 15 unidades (9 de ellas ficticias).

Tenemos un problema lineal con 3 x 4=12 variables y 3 + 4 = 7 restricciones.

El planteamiento lineal es el siguiente:

Minimizar 5x11+x12+2x13+3x14+5x21+6x22+x23+4x24

s.a x11 + x12 + x13 + x14 = 4


x21 + x22 + x23 + x24 = 5
x31 + x32 + x33 + x34 = 6

x11 + x21 + x31 = 3


x12 + x22 + x32 = 4
x13 + x23 + x33 = 5
x14 + x24 + x34 = 3,
xij ≥ 0

b) Interpretemos la solución dada:

x12=4, x23=5, x31=3, x34=3

Lo más sencillo es escribirla en la tabla, cada una en su casilla correspondiente. La hemos


escrito entre paréntesis y “en verde”:

oferta
5 1 (4) 2 3 4
5 6 1 (5) 4 5
0 (3) 0 0 0 (3) 6
demanda 3 4 5 3 15

Calderón Montero, S.
PROGRAMACIÓN LINEAL ENTERA

El reparto realizado es:


 Fábrica 1: 4 unidades al concesionario 2.
 Fábrica 2: 5 unidades al concesionario 3.

La fábrica 3 es ficticia, por tanto, el concesionario 1 no recibe nada ni el concesionario 4 tampoco,


ya que son a los que les ha repartido dicha fábrica.

Por último, el coste total de reparto es:

(1x4) + (1x5) + (0x3) + (0x3) = 9

4.- Supongamos que tenemos cuatro cursos para repartir entre tres trabajadores. El coste unitario
de reparto de cada curso a cada trabajador viene dado por la siguiente matriz:

3 2 4
3 5 8
( )
2 6 3
6 3 2

a) Plantee el problema lineal que resuelve la asignación óptima minimizando el coste.


b) Sabiendo que la solución es x12 = 1, x24 =1, x31=1, x43 = 1, ¿cómo se ha realizado el
reparto? ¿Cuál es el coste total del reparto?

Solución:

a) El ejercicio nos plantea un problema de asignación. En este caso la oferta son cuatro
cursos (C1, C2, C3, C4) y la demanda tres trabajadores (T1, T2, T3).

Puesto que la oferta y la demanda no coinciden, tenemos que introducir un trabajador ficticio,
T4, cuyos costes serán cero. La tabla entonces queda:

Oferta
(cursos)
3 2 4 0 C1
3 5 8 0 C2
2 6 3 0 C3
6 3 2 0 C4
Demanda T1 T2 T3 T4 4
(trabajadores)

En esta tabla hemos recogido los costes unitarios de asignación y en rojo hemos puesto “el
trabajador ficticio” para que cuadre la tabla.

El problema lineal, por tanto, es:

Calderón Montero, S.
PROGRAMACIÓN LINEAL ENTERA

Minimizar 3x11 +2x12 + 4x13 + 3x21 + 5x22 + 8x23 + 2x31 +6x32+3x33+6x41+3x42+2x43

s.a
x11 + x12 + x13 + x14 = 1
x21 + x22 + x23 + x24 = 1
x31 + x32 + x33 + x34 = 1
x41 + x42 + x43 + x44 = 1

x11 + x21 + x31 + x41 = 1


x12 + x22 + x32 + x42 = 1
x13 + x23 + x33 + x43 = 1
x14 + x24 + x34 + x44 = 1

xij ≥ 0

El problema se ha planteado para minimizar el coste de asignación; tenemos dos grupos de


restricciones:
 Las primeras cuatro restricciones atienden a que se cumpla la oferta, es decir, que la tabla
cuadre “por filas”.
 Las cuatro restricciones siguientes atienden a que se cumpla la demanda, es decir, que la
tabla cuadre “por columnas”.

Por tanto, tenemos un problema con 16 variables (4 x 4) y 8 restricciones (4 + 4).

b) La solución es x12 = 1, x24 =1, x31=1, x43 = 1. Si la escribimos en la tabla:

Oferta
(cursos)
3 2 (1) 4 0 C1
3 5 8 0 (1) C2
2 (1) 6 3 0 C3
6 3 2 (1) 0 C4
Demanda T1 T2 T3 T4 4
(trabajadores)

Observamos que el reparto se ha realizado de la siguiente manera:

 C1 se ha asignado a T2.
 C2 se ha asignado a T4.
 C3 se ha asignado a T1.
 C4 se ha asignado a T3.

Como trabajador 4, T4, era ficticio, el curso 2, C2, se ha quedado sin asignar. El coste total ha
sido: 2 + 2 + 2 = 6, que es el valor mínimo que podemos obtener.

Calderón Montero, S.

También podría gustarte