Professional Documents
Culture Documents
Esquema
Resoluci on gr aca
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, j = 1, . . . , n i = 1, . . . , m
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
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
Seleccionar un conjunto de proyectos que maximice el retorno total, sujeto a las restricciones presupuestarias
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)!)
Consideremos la siguiente formulaci on de un programa entero y su relajaci on lineal: (PE) z PE = max x1 + 0.64x2 sujeto a 50x1 + 31x2 250 3x1 + 2x2 4 x1 , x2 0 y enteros (PL) z PL = max x1 + 0.64x2 sujeto a 50x1 + 31x2 250 3x1 + 2x2 4 x1 , x2 0
xPL
x2
xPE
0 1 2 3 4 5 6 7
x1
A menudo, se intenta reforzar la formulaci on (PE) con desigualdades v alidas ei1 x1 + + ein xn fi , i = 1, . . . , p, o Ex f ,
Formulaci on reforzada (PE ) , con relajaci on (PL ) : (PE ) z PE = max cT x sujeto a Ax b Ex f x 0 y entero (PL ) z PL = max cT x sujeto a Ax b Ex f x0
xPL
x2
xPE
0 1 2 3 4 5 6 7
x1
I
5
x2
xPE = xPL
0 1 2 3 4 5 6 7
x1
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
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 PEM = max x0 + 2
j =1
xj
sujeto a
n
x0 + 2
j =1
xj n j = 1, . . . , n
xj {0, 1}, x0 0
aij =
Coste de la asignaci on j : c j e
Problema: Encontrar un conjunto de asignaciones que cubra todos los vuelos a coste m nimo
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
Problema: encontrar un conjunto de localizaciones que cubra todos los distritos a coste m nimo
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
xj =
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