Académique Documents
Professionnel Documents
Culture Documents
on entera:
Ejemplos, resoluci
on gr
afica,
relajaciones lineales
Prof. Jos
e Ni
no Mora
Investigaci
on Operativa, Grado en Estadstica y Empresa, 2011/12
Esquema
Programaci
on entera: definici
on, motivaci
on, ejemplos
Resoluci
on gr
afica
Relajaciones de programaci
on lineal
Qu
e es un programa entero?
Consideremos un programa lineal, p. ej.
(PL)
z PL = max c1 x1 + + cn xn
sujeto a
ai1 x1 + + ain xn bi ,
xj 0,
i = 1, . . . , m
j = 1, . . . , n
Qu
e es un programa entero?
A
nadiendo restricciones de integralidad en las variables
xj , obtenemos un programa (lineal) entero:
(PE)
z PE = max c1 x1 + + cn xn
sujeto a
ai1 x1 + + ain xn bi ,
xj 0 y entera ,
i = 1, . . . , m
j = 1, . . . , n
xj {0, 1} ,
j = 1, . . . , n
Relajaciones de programaci
on lineal
Dada una formulaci
on de programaci
on entera,
(PE)
z PE = max c1 x1 + + cn xn
sujeto a
ai1 x1 + + ain xn bi ,
xj 0 y entero ,
i = 1, . . . , m
j = 1, . . . , n
obtenemos su relajaci
on de programaci
on lineal (PL):
(PL)
z PL = max c1 x1 + + cn xn
sujeto a
ai1 x1 + + ain xn bi ,
xj 0,
j = 1, . . . , n
i = 1, . . . , m
Relaci
on entre valores o
ptimos: z PE z PL Por qu
e?
Ej: selecci
on
optima de proyectos
Problema de selecci
on o
ptima de proyectos:
Gastos/a
no (M e)
Proyecto
Retorno
20
10
40
20
15
10
30
Presupuesto
25
25
25
Ej: formulaci
on de programaci
on entera
Variables
de decisi
on:
1
si se selecciona el proyecto j;
xj =
0
si no
S
olo los valores binarios de las xj tienen sentido
Objetivo: z PE = max 20x1 + 40x2 + 20x3 + 15x4 + 30x5
Restricciones:
5x1 + 4x2 + 3x3 + 7x4 + 8x5 25
(presupuesto a
no 1)
(presupuesto a
no 2)
(presupuesto a
no 3)
xj {0, 1},
j = 1, . . . , 5
(variables binarias)
Ej: relajaci
on de programaci
on lineal
Relajaci
on de programaci
on lineal:
(PL)
j = 1, . . . , 5
Soluci
on o
ptima lineal: xPL = (0.5789, 1, 1, 1, 0.7368)T ,
Z PL = 108.68 ,
Soluci
on lineal redondeada: xRPL = (1, 1, 1, 1, 1)T (no
es factible para (PE)!)
Ej: soluci
on
optima entera
Formulaci
on de programaci
on entera:
(PE)
j = 1, . . . , 5
Soluci
on o
ptima entera: xPE = (1, 1, 1, 1, 0)T , z PE = 95 ,
Observaci
on: z PE < z PL
sujeto a
sujeto a
3x1 + 2x2 4
3x1 + 2x2 4
x1 , x2 0 y enteros
x1 , x2 0
Resolveremos ambos gr
aficamente
Ej: resoluci
on gr
afica
xPL
x2
xPE
0
x1
Ej: Soluciones
optimas: entera y lineal
Soluci
on o
ptima entera: xPE = (5, 0)T , z PE = 5 ,
Soluci
on o
ptima lineal:
T
950
PL = 5.0984 ,
xPL = ( 376
,
)
=
(1.9482,
4.9223)
,
z
193 193
T
z PE = max cT x
(PL)
z PL = max cT x
sujeto a
sujeto a
Ax b
Ax b
x 0 y entero
x0
i = 1, . . . , p,
Ex f ,
(PE ) z
PE
= max c x
(PL ) z
PL
= max cT x
sujeto a
sujeto a
Ax b
Ax b
Ex f
Ex f
x 0 y entero
x0
z PE
PE
z
PL
z
z PL
La formul. (PE ) es m
as fuerte que (PE) si z PL < z PL
Ej: formulaci
on (PE)
xPL
x2
xPE
0
x1
Ej. 2: formulaci
on completa (PE )
I
5
x2
xPE = xPL
0
x1
Ej: formulaci
on completa (PE )
(PE ) z
PE
= max x1 + 0.64x2
(PL ) z
PL
= max x1 + 0.64x2
sujeto a
sujeto a
3x1 + 2x2 4
3x1 + 2x2 4
x1 + x2 2
x1 + x2 2
x1 + x2 6
x1 + x2 6
3x1 + 2x2 15
3x1 + 2x2 15
x1 , x2 0 y enteras
x1 , x2 0
Consideremos la formulaci
on entera
(PE)
PE
= max c x : Ax b,
T
x 0 y entero
y su relajaci
on lineal
(PL)
PL
= max c x : Ax b,
T
x0
PE
z
z
Test de optimalidad en programaci
on entera: si
z = z PL , entonces x es
optima entera ( z = z PE )
Y si z < z PL ? Puede que x sea
optima o no. Para
saberlo, necesitamos una formulaci
on m
as fuerte
Criterio de parada
A menudo, el tiempo de soluci
on de los programas enteros
que aparecen en aplicaciones es demasiado grande
En lugar de esperar a que se encuentre la soluci
on
optima,
se utiliza un criterio de parada m
as realista
Criterio de parada: Parar cuando se encuentre una
soluci
on factible entera x con valor z > 0 y una
PL z
z
,
relajaci
on lineal con valor z PL que cumplan
z
donde 0 < < 1 es un par
ametro de tolerancia dado; o
bien parar cuando el n
umero de iteraciones alcance un
valor m
aximo dado
En el men
u de Opciones del Solver podemos cambiar
ambos par
ametros (Tolerancia, en porcentaje), y N
umero
m
aximo de iteraciones
z
70
Brecha relativa de suboptimalidad de x : 55%
n
xj
j=1
sujeto a
x0 + 2
n
xj n
j=1
xj {0, 1},
x0 0
j = 1, . . . , n
Ej: Asignaci
on de tripulaciones a vuelos
C
omo asignan las compa
nas a
ereas tripulaciones a
vuelos?
Conjunto de vuelos: {1, . . . , m} . Ej: A 7:15am B
8:30am
Conjunto de asignaciones factibles de tripulaciones:
M1 , M2 , . . . , Mn {1, . . . , m} . Ej: A 7:15am B 8:30am, B
9:00amC 11:00am, C 12:00 A 2:30pm.
Datos: matriz de incidencia A = (aij )mn , con
aij =
si la asignaci
on j cubre el vuelo i
si no
Coste de la asignaci
on j : c j e
Ej: Formulaci
on de PE Binaria
Variables de decisi
on:
1
si se selecciona la asignaci
on j
xj =
0
si no
Objetivo: z PE = min c1 x1 + + cn xn
Restricciones:
El vuelo i cubierto: ai1 x1 + + ain xn = 1,
Variables binarias: xj {0, 1},
j = 1, . . . , n
i = 1, . . . , m
Ej: Localizaci
on o
ptima
D
onde localizar servicios de emergencia?
Conjunto de posibles localizaciones: {1, . . . , n}
Coste de la localizaci
on j : c j e
Distritos de la ciudad: {1, . . . , m}
Distritos cubiertos desde j : Mj {1, . . . , m}
Datos: matriz de incidencia A = (aij )mn , con
1
aij =
0
si desde la localizaci
on j se cubre el distrito i
si no
Ej: Formulaci
on de PE Binaria
Variables de decisi
on:
1
si se selecciona la localizaci
on j
xj =
0
si no
Objetivo: z PE = min c1 x1 + + cn xn
Restricciones:
Distrito i cubierto: ai1 x1 + + ain xn 1,
Variables binarias: xj {0, 1},
j = 1, . . . , n
i = 1, . . . , m
Formulaci
on de condiciones l
ogicas
Actividades (pueden realizarse o no): {1, . . . , n}
Variables de decisi
on: x1 , x2 . . . , xn , con
xj =
si se realiza la actividad j
si no