You are on page 1of 39

En general, son problemas de programacin lineal (PPL), en donde sus

variables de decisin deben tomar valores enteros


Tipos de Programacin Entera (PE)
Cuando se requiere que todas las variables de decisin tomen valores
enteros, entonces se habla de programacin entera pura. Cuando algunas
variables son enteras, y otras continuas, entonces se habla de
programacin entera mixta (PEM).

Un caso especial de programacin entera es cuando todas las variables
son binarias (0 1), entonces se habla de programacin entera binaria
(PEB).
En general, los problemas de PE son ms difciles de resolver que los PPL
con variables continuas. Por ello se han desarrollado diversas tcnicas de
solucin.
Programacin Entera
Problema de Asignacin
Supongamos que existe un conjunto de n tareas, cada una de las cuales
deben ser realizadas por 1 trabajador, de un total de n. Se conoce el tiempo
t
ij
que le toma al trabajador j realizar la tarea i, con i,j: 1..n. Se desea
obtener la mejor asignacin de las n tareas de modo que minimice el
tiempo total (como suma) de ejecucin de las tareas, que todas queden
hechas y que un trabajador slo haga una de ellas.
2
1
3
n
T
a
r
e
a
s

2
1
3
n
T
r
a
b
a
j
a
d
o
r
e
s

Problemas de Programacin
Entera
Definicin de variables
Sea X
ij
: 1 si el trabajador i se asigna a la tarea j con i, j = 1,..., n
0 si el trabajador i no se asigna a la tarea j
F.O. Min Z = E E t
ij
X
ij
s.a

=
=
n
1 j
ij
1 x
i, con i =1,,n Asigna el trabajador a una tarea

=
=
n
1 i
ij
1 x j, con j =1,,n A cada tarea se le asigna un trabajador
X
ij
e {0,1}
Problemas de Programacin
Entera
Se desea construir 2 plantas en ciudades distintas. Para localizar las
plantas se tiene 4 ciudades alternativas: A, B, C, y D. Adems, se desea
construir un almacn que sirva como bodega a un costo de MUS$80. Se
espera que el almacn genere utilidades por MUS$180. Pero sta debe
localizarse en una ciudad en donde se haya construido una planta. A
continuacin se presentan las inversiones y ganancias esperadas para cada
alternativa. Formule un modelo matemtico que maximice la ganancia si
se dispone de un mximo de 400 millones de US$ para invertir.
Problema de Localizacin
Ciudad Inversin Ganancia
A 100 90
B 150 120
C 240 200
D 190 150
Problemas de Programacin
Entera
Definicin de variables
Sea X
ij
: 1 si se localiza la planta o la bodega i en la ciudad j
0 si no se localiza la planta o la bodega i en la ciudad j
Con i = P, B
j = A, B, C, D
F.O. Max Z = 90X
PA
+ 120X
PB
+ 200X
PC
+ 150X
PD
+ 180(X
BA
+ X
BB
+ X
BC
+ X
BD
)
S.a
X
PA
+ X
PB
+ X
PC
+ X
PD
= 2 Se desea construir dos plantas
X
BA
+ X
BB
+ X
BC
+ X
BD
= 1 Se desea construir una bodega
X
BA
s X
PA
Construir bodega donde exista planta
X
BB
s X
PB

X
BC
s X
PC

X
BD
s X
PD

100X
PA
+ 150X
PB
+ 240X
PC
+ 190X
PD
+ 80(X
BA
+ X
BB
+ X
BC
+ X
BD
) s 400 Inv. Max.
X
ij
e {0,1}
Problemas de Programacin
Entera
Mtodo de Ramificacin y Acotamiento (Branch and Bound)
Este mtodo es una estrategia sistemtica que reduce el nmero de
combinaciones que se deben examinar.
Algoritmo
Encontrar la solucin mediante algn mtodo (relajando la condiciones
de variables enteras), como el Simplex. Si la solucin es entera parar, en
caso contrario pasar al siguiente paso.

Comenzar con la solucin ptima encontrada

Seleccionar una variable con valor no entero y crear dos ramas
mutuamente excluyentes. Esto da origen a 2 nuevos problemas de
programacin lineal. Resolverlos.
Resolucin de Problemas
Si ninguna solucin es entera, con la rama de mayor (menor) valor de
Z, crear nuevas ramas y resolver los nuevos problemas de
programacin lineal

Repetir el punto anterior, hasta encontrar la solucin ptima.
Ejemplo:
Max Z = 5X
1
+ 2X
2
S.a
2X
1
+ 2X
2
s 9
3X
1
+ X
2
s 11
X
i
> 0 y enteros
X
1
= 3,25
X
2
= 1,25
Resolucin de Problemas
INICIO
X
1
= 3,25
X
2
= 1,25
Z = 18,75
Max Z = 5X
1
+ 2X
2
S.a
2X
1
+ 2X
2
s 9
3X
1
+ X
2
s 11
X
2
s 1
X
i
> 0 y enteros
Max Z = 5X
1
+ 2X
2
S.a
2X
1
+ 2X
2
s 9
3X
1
+ X
2
s 11
X
2
> 2
X
i
> 0 y enteros
X
2
s 1 X
2
> 2
X
1
= 3,33
X
2
= 1
Z = 18,67
X
1
= 2,50
X
2
= 2
Z = 16,50
Resolucin de Problemas
Tomar el mejor Z
X
1
= 3,33
X
2
= 1
Z = 18,67
Max Z = 5X
1
+ 2X
2
S.a
2X
1
+ 2X
2
s 9
3X
1
+ X
2
s 11
X
2
s 1
X
1
s 3
X
i
> 0 y enteros
Max Z = 5X
1
+ 2X
2
S.a
2X
1
+ 2X
2
s 9
3X
1
+ X
2
s 11
X
2
s 1
X
1
> 4
X
i
> 0 y enteros
X
1
s 3 X
1
> 4
X
1
= 3
X
2
= 1
Z = 17
No hay
solucin
factible
Solucin para el PPE
Resolucin de Problemas
Ejemplo:
Suponga que se dispone de 3 bodegas con capacidades de 15, 25 y 5
unidades. Por otra parte, se tienen 4 centros de consumo con
demandas de 5, 15, 15, y 10 unidades respectivamente.

Encuentre las cantidades ptimas a almacenar y transportar, de
manera tal de minimizar los costos que se muestran a continuacin:
1 2 3 4
1 10 0 20 11
2 12 7 9 20
3 0 4 16 18
Centros de consumo
B
o
d
e
g
a
s
Problema de Transporte
Definicin de variables
Sea X
ij
: cantidad a transportar desde la bodega i al centro de consumo j
Con i = 1, 2, 3
j = 1, 2, 3, 4
Min Z = 10X
11
+ 20X
13
+ 11X
14
+ 12X
21
+ 7X
22
+ 9X
23
+ 20X
24
+ 4X
32
+ 16X
33
+ 18X
34
S.a
X
11
+ X
12
+ X
13
+ X
14
s 15
X
21
+ X
22
+ X
23
+ X
24
s 25
X
31
+ X
32
+ X
33
+ X
34
s 5

X
11
+ X
21
+ X
31
> 5
X
12
+ X
22
+ X
32
> 15
X
13
+ X
23
+ X
33
> 15
X
14
+ X
24
+ X
43
> 10

X
ij
> 0
Problema de Transporte
Al resolver por simplex tenemos un
tableau de 7 filas, 12 variables de
decisin, 3 variables de holgura, 4
variables de excedente y 4 variables
artificiales.
Se utilizar el siguiente modelo de programacin lineal (PPL)
MIN costo =
s.a.

= =
+
n
1 i
m
1 j
ij ij ij i
) x CT x (CP
Mtodo de Transporte

=
>
n
1 i
j ij
D x
Se satisface toda la demanda

=
s
m
1 j
i ij
O x
No se puede producir ms que la
capacidad de la fbrica
x
ij
> 0 con i:1.. n y j:1..m
Problema de Transporte
y reemplazando C
ij
= CP
i
+ CT
ij
queda el siguiente modelo:
Suponiendo que:

= =
=
n
1 i
i
m
1 j
j
O D
Capacidad de Produccin
es igual a la Demanda
MIN costo =
s.a.

= =

n
1 i
m
1 j
ij ij
x C

=
=
n
1 i
j ij
D x

=
=
m
1 j
i ij
O x
x
ij
> 0 con i:1.. n y j:1..m
Problema de Transporte

= =
=
n
1 i
m
1 j
j i F
D O D
Si la produccin es mayor a la demanda se genera un nuevo centro de
consumo ficticio. Lo que consuma ese centro no es real, por tanto
queda como capacidad de produccin ociosa. Para efectos del modelo
los costos asociados a este centro ficticio son cero.
Si

= =
<
n
1 i
i
m
1 j
j
O D
Capacidad de Produccin
es mayor que la Demanda
Problema de Transporte

= =
=
n
1 i
i
m
1 j
j F
O D O
Si la capacidad de produccin es menor que la demanda se genera
una nueva fbrica ficticia. Lo que produzca esa fbrica no es real.
Por tanto queda como demanda insatisfecha. Para efectos del
modelo los costos asociados a esta fbrica ficticia son cero.

Si

= =
>
n
1 i
i
m
1 j
j
O D
Capacidad de Produccin
es menor que la Demanda
Problema de Transporte
Ejemplo:
Suponga que se dispone de 3 bodegas con capacidades de 15, 25 y 5
unidades. Por otra parte, se tienen 4 centros de consumo con
demandas de 5, 15, 15, y 10 unidades respectivamente.

Encuentre las cantidades ptimas a almacenar y transportar, de
manera tal de minimizar los costos que se muestran a continuacin:
1 2 3 4
1 10 0 20 11
2 12 7 9 20
3 0 4 16 18
Centros de consumo
B
o
d
e
g
a
s
Problema de Transporte
Para trabajar se utiliza la siguiente tabla:
Procedimiento
1 n 2 O
1
2
m
D
h11 h12
h1i h1n
h21 h22
h2i h2n
hm1 hm2
hmi hmn
O1
O2
Om
D1 Di Dn D2
X11 X12
C11 C12
C1i C1n
C21 C22
C2i C2n
Cm1 Cm2
Cmi Cmn
X1i X1n

= =
=
n
1 i
i
m
1 j
j
O D
X21 X22 X2i X2n
Xm1 Xm2
Xmi
Xmn
Al igual que en el mtodo Simplex tradicional, el problema de
transporte requiere partir de una solucin inicial factible. Para ello se
necesita asignar las cantidades x
ij
de manera de cumplir con las
restricciones. Para ello existen al menos 3 posibilidades:


Mtodo de la esquina Noroeste.
Mtodo de Costo Mnimo.
Mtodo de Vogel.
Procedimiento
Caractersticas
Sencillo y fcil de usar
No tiene en cuenta los costos para hacer las asignaciones
Generalmente nos deja lejos del ptimo
Algoritmo
1. Construir una tabla de Ofertas y Demandas.
2. Empezar por la esquina noroeste.
3. Asignar el mximo posible (el menor valor entre la oferta y la
demanda)
4. Actualizar la oferta y la demanda e inutilizar el resto de casillas
en donde la demanda u oferta halla quedado satisfecha.
5. Moverse a la esquina noroeste disponible para asignar
6. Repetir los pasos del 3 al 5 sucesivamente hasta llegar a la esquina
inferior derecha en donde las filas y columnas se eliminan
simultaneamente
Mtodo de la Esquina
Noroeste
Ejemplo:
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
5
0
10
10
0
5
5
0
20
15
0
5
5
0
5
5
0
0
C = 410
Mtodo de la Esquina
Noroeste
En caso de que al realizar una asignacin simultneamente la oferta y la
demanda se hagan cero (fila y columna), entonces se asigna una nueva
variable con valor cero en el casillero de la fila o columna que tenga un
menor costo. Se producen entonces 2 asignaciones: Una con el valor
mnimo y la otra con cero. Esto se debe a que el sistema debe tener n+m-1
variables bsicas definidas.

Para el caso de Mtodo Esquina Noroeste, el valor cero se coloca en la fila
o columna de menor costo que correspondera en la iteracin siguiente.

Para el caso de Mnimo Costo y Vogel el valor cero se coloca en el mnimo
costo de la fila y columna de valores no asignados y candidatos a ser
cancelados.

Esto se muestra en el siguiente ejemplo:
Excepciones
Ejemplo:
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
30
5
15 15 5 15
15
0
0
0
0
15
15
15
0
0
0
5
0
C = 480
Mtodo de la Esquina
Noroeste
0
Nota: las demandas y ofertas fueron modificadas para explicar el ejemplo.
Caractersticas
Es ms elaborado que el mtodo de la esquina noroeste
Tiene en cuenta los costos para hacer las asignaciones
Puede dejarnos lejos o cerca del ptimo
Algoritmo
1. Construir una tabla de Ofertas y Demandas incluyendo los Costos.
2. Empezar en la casilla que tenga el menor costo de la tabla, si hay
empate escoger arbitrariamente.
3. Asignar el mximo posible (el menor valor entre la oferta y la demanda)
4. Actualizar la oferta y la demanda e inutilizar el resto de casillas en
donde la demanda u oferta halla quedado satisfecha. En caso que la fila
y columna se hagan cero, se hace lo mismo que en el mtodo anterior.
5. Moverse a la casilla con el costo mnimo de la tabla resultante
6. Repetir los pasos del 3 al 5 hasta que todas las casillas queden asignadas
Mtodo del Costo Mnimo
15
25
5
5 15 10 15
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
0
0
0 5
0
0
0 15
0
10
10
0
0
C = 335
Mtodo del Costo Mnimo
Caractersticas
Es ms elaborado que los mtodos anteriores, ms tcnico y difcil
Tiene en cuenta los costos, la oferta y la demanda para hacer las
asignaciones
Generalmente puede dejarnos cerca del ptimo
Algoritmo
1. Construir una tabla de Ofertas, Demandas y Costos.
2. Calcular la diferencia entre los costos menores para cada fila y columna
3. Escoger la fila o columna que tenga la mayor diferencia, en caso de
igualdad escoger arbitrariamente
4. Asignar lo mximo posible en la casilla con menor costo en la fila o
columna escogida
5. Actualizar la oferta y la demanda e inutilizar el resto de casillas en donde
la demanda u oferta halla quedado satisfecha. En caso que la fila y
columna se hagan cero, se hace lo mismo que en los mtodos anteriores.
6. Repetir los pasos del 2 al 5 hasta que todas las casillas queden asignadas
Mtodo de Vogel
15
25
5
5 15 10 15
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
10
2
4
10 4 7 7
15
0
0
0
3
16
12 7
2
5
0
0
0
11
---
---
15
0
10 ---
10
0
0
C = 335
Mtodo de Vogel
Llenar la tabla del formato estndar con una solucin inicial factible
encontrada con anterioridad
5 10
5 15 5
5
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
410
u
v
u
2

u
1

u
3

v
1
v
2
v
3
v
4

Mtodo de Transporte
Se determinan los valores de los u
i
y de los v
j
. La asignacin de las
variables bsicas nos permiten plantear n+m-1 ecuaciones con n + m
incgnitas, por lo que a una de ellas se le hace valer cero arbitrariamente,
y se resuelve el sistema.
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
5 10
5 15 5
5
410
u
v
u
2

u
1

u
3

v
1
v
2
v
3
v
4

u
1
+ v
1
= 10
u
1
+ v
2
= 0
u
2
+ v
2
= 7
u
2
+ v
3
= 9
u
2
+ v
4
= 20
u
3
+ v
4
= 18
Si u
2
= 0
u
1
= -7
u
3
= -2
v
1
= 17
v
2
= 7
v
3
= 9
v
4
= 20
-7
0
-2
17 7 9 20
Mtodo de Transporte
Se determinan los h
ij
para ver la variable que entra. h
ij
= c
ij
u
i
v
j
Si X
ij
es variable bsica, entonces h
ij
= 0 y c
ij
= u
i
+v
j
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
5 10
5 15 5
5
410
u
v
0
-7
-2
17 7 9 20
0 0 18 -2
-5 0 0 0
-15 -1 9 0
Mtodo de Transporte
Entra la variable con el h
ij
ms negativo. Si no existe ningn h
ij
negativo, se
lleg al ptimo. Con la variable entrante se forma un circuito. Este tiene
como objetivo preservar la suma de las filas y columnas de manera de seguir
satisfaciendo la oferta y demanda, conservando as la factibilidad del
problema
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
5 10
5 15 5
5
410
u
v
0
-7
-2
17 7 9 20
0 0 18 -2
-5 0 0 0
-15 -1 9 0
Entra
+u
-u
+u
-u
+u
-u
Mtodo de Transporte
Se determina la variable que sale de entre los X
ij
que presentan un - u.
Se escoge el de menor valor, y en caso de empate se elige el de mayor
costo. u toma el valor del X
ij
que sale.
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
5 10
5 15 5
5
410
u
v
0
-7
-2
17 7 9 20
0 0 18 -2
-5 0 0 0
-15 -1 9 0
+u
-u
+u
-u
+u
-u
u = 5
Sale
Mtodo de Transporte
Se actualizan los valores de los X
ij
sumando o restando u en los casos que
corresponda y se recalcula el costo. Se vuelve al paso 2.
0 15
0 10
335
15
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
u
v
0
-7
-2
17 7 9 20
0 0 18 -2
-5 0 0 0
-15 -1 9 0
5
Mtodo de Transporte
0 15
0 10 15
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
335
u
v
5
u
1
+ v
1
= 10
u
1
+ v
2
= 0
u
2
+ v
2
= 7
u
2
+ v
3
= 9
u
2
+ v
4
= 20
u
3
+ v
1
= 0
Si u
2
= 0
u
1
= -7
u
3
= -17
v
1
= 17
v
2
= 7
v
3
= 9
v
4
= 20
-7
0
-17
17 7 9 20
0 0 18 -2
-5 0 0 0
0 6
24
15
Entra
-u
+u
+u
-u
u = 0
Sale
Mtodo de Transporte
u
1
+ v
2
= 0
u
2
+ v
1
= 12
u
2
+ v
2
= 7
u
2
+ v
3
= 9
u
2
+ v
4
= 20
u
3
+ v
1
= 0
Si u
2
= 0
u
1
= -7
u
3
= -12
v
1
= 12
v
2
= 7
v
3
= 9
v
4
= 20
-7
0
-12
12 7 9 20
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
u
v
15
0
10 15
5
0
335
5 0 18 -2
0 0 0 0
0 9
19
10
Entra
u = 10
Sale
+u
-u
+u
-u
Mtodo de Transporte
1 3 4 2 O
1
2
3
D
10 0
20 11
12 7
9 20
0 4
16 18
15
25
5
5 15 10 15
u
v
315
5
10
10
15
5
0
u
1
+ v
2
= 0
u
1
+ v
4
= 11
u
2
+ v
1
= 12
u
2
+ v
2
= 7
u
2
+ v
3
= 9
u
3
+ v
1
= 0
Si u
2
= 0
u
1
= -7
u
3
= -12
v
1
= 12
v
2
= 7
v
3
= 9
v
4
= 18
-7
0
-12
12 7 9 18
5 0 18 0
0 0 0 2
0 9
19
12
Como todo los h
ij
0
Solucin ptima
X
12
= 5
X
14
= 10
X
21
= 0
X
22
= 10
X
23
= 15
X
31
= 5
Mtodo de Transporte
Ejercicio
Fbricas
Costo por Unidad
($/Unidad)
Capacidad mxima de
produccin (Unidades/mes)
1 40 140
2 43 260
3 39 360
4 45 220
Una compaa tiene 4 fbricas, que envan su produccin a 4 almacenes.
Los costos y capacidades de produccin, en cada una de las 4 fbricas
son
Las demandas mensuales del producto de cada uno de los almacenes son:
180, 280, 150 y 200 para los almacenes A, B, C y D respectivamente.
Los costos del transporte, en $/unidad, entre las diversas combinaciones
de fbricas y almacenes son:
Fbrica A B C D
1 40 60 56 58
2 47 57 53 59
3 51 63 61 63
4 51 63 55 61
Almacenes
Indique la cantidad que se debe enviar desde c/fbrica a c/almacn de
manera de minimizar los costos
Ejercicio
A B C D O
1
2
3
4
D
140
260
360
220
180 280 150 200
80 100 96 98
90 100 96 102
90 102 100 102
96 108 100 106
F
170
0
0
0
0
80
90
90
96
10 0 0 4 0
1
170
0
50
16
6
10
4
2
140
40
0
0 2 4 0
3
40
0
320
4
2
6
4
50
100
0
5
100
0
160
2
0
6
160
120
0
7
120
0
200
200
78140 0
0
Ejercicio
u
1
+ v
1
= 80
u
2
+ v
2
= 100
u
2
+ v
3
= 96
u
3
+ v
1
= 90
u
3
+ v
2
= 102
u
3
+ v
4
= 102
u
4
+ v
3
= 100
u
4
+ v
5
= 0
u
1
= -10
u
2
= -2
u
3
= 0
u
4
= 2
v
1
= 90
v
2
= 102
v
3
= 98
v
4
= 102
v
5
= -2
-10
-2
0
2
90 102 98 102 -2
A B C D O u
1
2
3
4
D
v
140
260
360
220
180 280 150 200
F
0
0
0
0
170
140
40
50
100 160
120 200
80 100 96 98
90 100 96 102
90 102 100 102
96 108 100 106
170
0 8 8 6 12
2 0 0 2 4
0 0 2 0 2
4 4 0 2 0
78140
Como todos los h
ij
0 Solucin Optima
Mtodo de Transporte
En el caso de que se trate de maximizar, el problema se resuelve de la
siguiente forma.

Construir la tabla, pero en lugar de costos se debe considerar las
utilidades, ganancias o ingresos, segn corresponda.
Restar a todos los valores el mayor valor de la tabla.
Multiplicar todos los valores por -1.
Trabajar el problema como si se tratase de un problema de
minimizacin.
Una vez obtenido la asignacin ptima de la tabla trabajada, obtener el
valor mximo de la funcin objetivo utilizando los valores originales.

You might also like