Vous êtes sur la page 1sur 30

Programaci

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

Formulaciones reforzadas y formulaciones completas

Brecha de integralidad y test de optimalidad

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

Supongamos que los valores de inter


es de las variables de
decisi
on xj son enteros
Ej: xj = n
umero de autom
oviles del modelo j producidos

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

Si los valores de inter


es de las variables xj son binarios (0
o 1), obtenemos un programa entero binario:

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

Seleccionar un conjunto de proyectos que maximice el


retorno total, sujeto a las restricciones presupuestarias

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)

x1 + 7x2 + 9x3 + 4x4 + 6x5 25

(presupuesto a
no 2)

8x1 + 10x2 + 2x3 + x4 + 10x5 25

(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)

z PL = max 20x1 + 40x2 + 20x3 + 15x4 + 30x5


sujeto a
5x1 + 4x2 + 3x3 + 7x4 + 8x5 25
x1 + 7x2 + 9x3 + 4x4 + 6x5 25
8x1 + 10x2 + 2x3 + x4 + 10x5 25
0 xj 1 ,

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)

z PE = max 20x1 + 40x2 + 20x3 + 15x4 + 30x5


sujeto a
5x1 + 4x2 + 3x3 + 7x4 + 8x5 25
x1 + 7x2 + 9x3 + 4x4 + 6x5 25
8x1 + 10x2 + 2x3 + x4 + 10x5 25
xj {0, 1},

j = 1, . . . , 5

Soluci
on o
ptima entera: xPE = (1, 1, 1, 1, 0)T , z PE = 95 ,
Observaci
on: z PE < z PL

Ej. 2: programa entero y relajaci


on lineal

Consideremos la siguiente formulaci


on de un programa
entero y su relajaci
on lineal:
(PE) z PE = max x1 + 0.64x2

(PL) z PL = max x1 + 0.64x2

sujeto a

sujeto a

50x1 + 31x2 250

50x1 + 31x2 250

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

Redondeando xPL , obtenemos: xRPL = (2, 5) : no es


factible para (PE)!

Formulaciones enteras reforzadas


Consideremos el programa entero y su relajaci
on lineal:
(PE)

z PE = max cT x

(PL)

z PL = max cT x

sujeto a

sujeto a

Ax b

Ax b

x 0 y entero

x0

A menudo, se intenta reforzar la formulaci


on (PE) con
desigualdades v
alidas
ei1 x1 + + ein xn fi ,

i = 1, . . . , p,

Ex f ,

manteniendo el mismo conjunto factible entero:


 


n
n
x Z+ : Ax b, Ex f = x Z+ : Ax b

Formulaciones enteras reforzadas


La regi
on factible lineal ha de reducirse:
 


n
n
x R+ : Ax b, Ex f x R+ : Ax b
Formulaci
on reforzada (PE ) , con relajaci
on (PL ) :


(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

Relaciones entre valores:

z PE


PE
z


PL
z

z PL


La formul. (PE ) es m
as fuerte que (PE) si z PL < z PL

Formulaciones enteras completas


Una formulaci
on entera (PE) es completa si z PE = z PL
Si tenemos una formulaci
on completa de un programa
entero, lo podemos resolver como un programa lineal
Existe siempre una formulaci
on entera completa?
S! Aunque puede ser impracticable obtenerla, debido al
gran n
umero de desigualdades v
alidas necesarias
Nos conformamos con obtener formulaciones enteras
reforzadas: proporcionan tiempos m
as r
apidos de resoluci
on
Obtendremos la formulaci
on completa en el ejemplo

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

50x1 + 31x2 250

50x1 + 31x2 250

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

Tenemos que: z PE = z PE = z PL < z PL


Observaci
on: La regi
on factible lineal es la envoltura
convexa de los puntos enteros factibles

Brecha de integralidad de una relajaci


on

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

Def: La brecha de integralidad de la relajaci


on (PL)
es: z PL z PE 0

Calidad de soluciones y test de optimalidad


Supongamos que tenemos una soluci
on entera factible
x , con valor z > 0 , de un programa entero (P E) con
relajaci
on (P L) . C
omo podemos saber si es o
ptima? Y
estimar su grado de suboptimalidad?
Utilizaremos la brecha de integralidad z PL z PE . Como
0 < z z PE z PL
acotamos por arriba la brecha relativa de
PE z
PL z
z
z
suboptimalidad de x :

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

Calidad de soluciones (ejemplo)


Consideremos el modelo de selecci
on de proyectos
Soluci
on factible: x = (1, 0, 1, 0, 1)T , con z = 70 M e
Si no conoci
eramos el valor o
ptimo entero, z PE , c
omo
podramos acotar por arriba, i.e. dar una cota superior en la
z PE z
brecha relativa de suboptimalidad
?
PE
z
Resolvemos la relajaci
on lineal, con valor z PL 108.68
108.68 70
z PL z
La cota superior es:
=
0, 55

z
70
Brecha relativa de suboptimalidad de x : 55%

Programas enteros mixtos (ejemplo)


Un programa entero mixto tiene algunas variables
enteras y otras continuas (como en programaci
on lineal)
Ejemplo:
z PEM = max x0 + 2

n


xj

j=1

sujeto a
x0 + 2

n


xj n

j=1

xj {0, 1},
x0 0

j = 1, . . . , n

(esta variable es continua)

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

Problema: Encontrar un conjunto de asignaciones que


cubra todos los vuelos a coste mnimo

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

Problema: encontrar un conjunto de localizaciones que


cubra todos los distritos a coste mnimo

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

Ej: No se pueden realizar m


as de dos actividades:
x1 + x2 + + xn 2
Ej:Si se realiza la actividad 2, se debe realizar la 4:
x2 x4 0

Vous aimerez peut-être aussi