Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Entera Estricta
– sol. sub-óptima aceptable si los valores de las variables en la sol. continua son
“grandes”, aunque puede producir infactibilidad si hay restricciones de =. Los
errores relativos son despreciables.
s.a
⎧n ⎧≤ ⎫
⎪ ⎪ ⎪
⎪∑ a ij ⋅ x j ⎨= ⎬ b j , i = 1,2,...m
⎪⎪ j=1 ⎪≥ ⎪
⎩ ⎭
Ω ⎨
x
⎪ j ≥ 0
⎪x enteras
⎪ j
⎩⎪ j = 1,2,...n Puntos factibles
• Un PPL que tiene var. continuas y todas las enteras son binarias (0/1), el
problema se denomina PP lineal entero-mixto 0/1 -PPLEM 0/1- o lineal
binario-mixto (mixto o mzeclado).
• Cuando en un PPLEE se ignora la condición que las variables sean enteras, se dice
que la RF se ha relajado. El PL resultante se llama PL relajado (PLR).
Valor óptimo de z para PPLR >= (<=) Valor óptimo de z para PPLE.
s.a 2,5
7 x1 + 4 x2 ≤ 13
2,0
x2
1,5
7 x1 + 4 x2 <= 13
x1, x2 ≥ 0 1,0
0,0
0,0 0,5 1,0 1,5 2,0
x1
PPLEE puede resolverse por enumeración de valores de z para cada punto factible, e identificar
el mayor.
No es posible resolver por enumeración problemas de gran tamaño por el tiempo de cómputo.
• Resolver el PPLEE resolviendo primero el PPLR. Luego, redondear al entero más
próximo cada variable que deber ser necesariamente un entero y que asume un
valor fraccionario en la SO del PPLR.
• El Simplex para PPL encuentra la solución partiendo desde una sol. factible básica
(SBF) hasta llegar a otra mejor, examinando sólo una fracción de todas las SBFs.
• Se desea un método similar para PPLEE: Proceder desde una solución factible con
enteros a una solución factible con enteros mejor. Tal método no existe aún.
– Maximizar beneficios.
* Formulación del PPLEE
Sea
x1 = número de mesas fabricadas
x2 = número de sillas fabricadas
⎧Max z = 8 ⋅ x1 + 5 ⋅ x2
⎪s.a.
⎪
⎪⎪1 ⋅ x1 + 1 ⋅ x2 ≤ 6 (restricción mano de obra) 9 x1 + 5 x2 <= 45
⎨
⎪9 ⋅ x1 + 5 ⋅ x2 ≤ 45 (restricción de madera)
6
⎪x1, x2 ≥ 0
⎪ 5
⎪⎩x1, x2 enteros
4
* Resolución del PPLEE
x2
3
Paso 1.- Resolver el PLR del PPLEE.
2
⎧Max z = 8 ⋅ x1 + 5 ⋅ x2
⎪s.a. x1 + x2 <= 6
1
⎪⎪
⎨1⋅ x1 + 1 ⋅ x2 ≤ 6 (restricción mano de obra)
0
⎪9 ⋅ x1 + 5 ⋅ x2 ≤ 45 (restricción de madera) 0 1 2 3 4 5 6
⎪
⎩⎪x1, x2 ≥ 0 x1
9 x1 + 5 x2 <= 45
6
4
x2
3
SO del PLR - subproblema 1
(3.75, 2.25)
2
x1 + x2 <= 6
1
0
0 1 2 3 4 5 6
x1
• Se vio que:
zóptimo del PPLEE <= zóptimo del PPLR
Por lo tanto:
zóptimo del PPLR es un límite o cota superior del beneficio
Paso 2.-
Dividir la RF del PPLR para investigar más sobre la ubicación de la SO del PPLEE.
x1 <= 3 o x1 => 4
Se dice que se “ramifica” sobre la variable x1, y se originan dos subproblemas adicionales:
9 x1 + 5 x2 <= 45
G
6
4
x2
F
3
SP3
Subproblema 3
(3.75, 2.25)
2
SP2 C
x1=4 x1 + x2 <= 6
1
x1=3 SP2
0
0D 1 2 E3 4B 5A 6
x1
No hay puntos con x1 = 3.75 en SP2 ni en SP3. Luego, la SO del PPLR anterior (SP1)
no puede obtenerse nuevamente cuando se resuelve SP2 o SP3.
Todos los puntos de la RF del PPLEE están incluidos en RF del SP2 o del SP3.
Puesto que SP2 y SP3 se originan por sumar restricciones que contienen x1, se dice
que SP2 y SP3 se crean por ramificación sobre x1.
• Paso 3.- Seleccionar entre SP2 y SP3. Se elige arbitrariamente SP2.
Resolverlo como PLR.
SP1
z = 41.25
t=1
x1 = 3.75
x2 = 2.25
x1≥4 x1≤3
SP2 SP3
z = 41
t=2
x1 = 4
x2 = 1.8
Dado que SO de SP2 tiene número fraccionario → tal sol. NO es solución del PPLEE.
Paso 4.
Se elige una variable de valor fraccionario de la SO del SP2 y se ramifica sobre esa
variable. En este caso, la variable fraccionaria (única) es x2 = 1.8.
Paso 5.
4
x2
F
3
SP3
Subproblema 3
(3.75, 2.25)
2
SP2 C
x1=4 x1 + x2 <= 6
1
x1=3 SP2
0
0D 1 2 E3 4B 5A 6
x1
6
- RFSP5 = ABHI
x2
SP2 SP3
z = 41
t=2
x1 = 4
x2 = 1.8
x2≤1
x2≥2
SP4 SP5
t=3 X
No factible
Se originan:
• SP6 y SP7 juntos comprenden todos los puntos enteros incluidos en RF del SP5.
• Ningún punto con x1= 4.44 puede estar en la RF de SP6 ni SP7. Por lo tanto, la SO
del SP5 no se repite al resolver SP6 y SP7.
4
x2
x2=2
2
x1=3 C
H I x2=1
1
x1=4 SP5 2
B A
0
3D 4 5 6
C
x1
x2=1
x2
1
H I
B A SP6
0
4 5 6
x1
SP1
z = 41.25
t=1
x1 = 3.75
x2 = 2.25
x1≥4 x1≤3
SP2 SP3
z = 41
t=2
x1 = 4
x2 = 1.8
x2≤1
x2≥2
SP6 SP7
Paso 7.
• Aplicando la regla LIFO, resolver SP6 o SP7. Se elige arbitrariamente resolver SP7.
• SP7 no puede obtener una SF con enteros con z > 37. Por tanto, una ramificación en
el SP7 no genera información “útil”. SP7 ha terminado.
• Dado que se tiene una SF para PPLEE original, se asegura que el valor óptimo para
PPLEE es ≥ 37. Tal valor de z de la solución probable es una cota inferior (lower
bound LB) del valor óptimo de z para el PPLEE original. La cota superior se había
obtenido resolviendo el primer PLR (SP1).
SP2 SP3
z = 41
t=2 x1 = 4
x2 = 1.8
x2≤1
x2≥2
SP4 SP5
t=3 X z = 40.55
No factible
t=4 x1= 4.44
x2=1
x1≥5 x1≤4
SP6 SP7
z = 37
t=5 x1 = 4
x2 = 1
Sol. probable
Paso 8.
• zSP6 = 40 > zSP7 = 37. SP7 no puede dar SO del PPLEE. Marcar con x en el árbol.
SP2 SP3
z = 41
t=2 x1 = 4
x2 = 1.8
x2≤1
x2≥2
SP4 SP5
t=3 X z = 40.55
No factible
t=4 x1= 4.44
x2=1
x1≥5 x1≤4
SP6 SP7
z = 40 z = 37
t=6 x1 = 5 t=5 x1 = 4 x
x2 = 0 x2 = 1
LB = 37 Sol. probable
Sol. probable
Paso 9. G
9 x1 + 5 x2 <= 45
6
5
• Resolver SP3.
4
x2
F
3
SP3
Subproblema 3
(3.75, 2.25)
2
SP2 C
x1=4 x1 + x2 <= 6
1
x1=3 SP2
0
0D 1 2 E3 4B 5A 6
x1
• SP3 no genera z superior a la cota inferior actual LB = 40. Por tanto, SP3 no puede
generar SO del PPLEE original. Marcar con x en el árbol.
SP2 SP3
z = 41 z = 39
t=2 x1 = 4 t=7 x1 = 3 x
x2 = 1.8 x2 = 3
x2≤1 LB = 40
x2≥2
SP4 SP5
t=3 X z = 40.55
No factible
t=4 x1= 4.44
x2=1
x1≥5 x1≤4
SP6 SP7
z = 40 z = 37
t=6 x1 = 5 t=5 x1 = 4 x
x2 = 0 x2 = 1
LB = 37 Sol. probable
Sol. probable
SP1
z = 41.25
t=1 x1 = 3.75
x2 = 2.25
x1≥4 x1≤3
SP2 SP3
z = 41 z = 39
t=2 x1 = 4 t=7 x1 = 3 x
x2 = 1.8 x2 = 3
x2≤1 LB = 40
x2≥2
SP4 SP5
t=3 X z = 40.55
No factible
t=4 x1= 4.44
x2=1
x1≥5 x1≤4
SP6 SP7
z = 40 z = 37
t=6 x1 = 5 t=5 x1 = 4 x
x2 = 0 x2 = 1
LB = 37 Sol. probable
Fabricar: 5 mesas. Sol. probable
Utilidad: $ 40.
Comentarios
• Para un PPLEE cuya RF contiene un gran número de puntos enteros, el
procedimiento es muy eficiente para eliminar puntos no óptimos.
- Regla LIFO (más utilizado). Guía hacia abajo por un lado del árbol y determina con rapidez
una solución probable. Luego, se regresa por el camino hasta la parte superior del otro lado
del árbol. El enfoque LIFO se conoce también como “repliegue o retroceso”.
- Avance a saltos. Cuando se ramifica un nodo, se resuelven todos los SPs que genera la
ramificación. Luego, vuelve a ramificar sobre el nodo con el mejor valor de z. Se suele saltar
de un lado del árbol al otro. Generalmente, se crean más subproblemas y requiere más
espacio de almacenamiento. La idea es que el avance hacia los SPs con buenos valores z,
se llega más rápido al mejor valor de z.
* ¿Cuál variable de ramificación elegir cuando más de una tiene valor fraccionario?.
• Al igual que método B&B, empieza con la SO del PLR (var. continuas).
– Maximizar beneficios.
⎧Max z = 8 ⋅ x1 + 5 ⋅ x2
⎪s.a.
⎪
⎪⎪1 ⋅ x1 + 1 ⋅ x2 ≤ 6 (restricción mano de obra) 9 x1 + 5 x2 <= 45
⎨
⎪9 ⋅ x1 + 5 ⋅ x2 ≤ 45 (restricción de madera)
6
⎪x1, x2 ≥ 0
⎪ 5
⎩⎪x1, x2 enteros
4
⎧Max z = 8 ⋅ x1 + 5 ⋅ x2 2
⎪s.a.
x1 + x2 <= 6
⎪⎪ 1
⎨1⋅ x1 + 1 ⋅ x2 ≤ 6 (restricción mano de obra)
⎪9 ⋅ x1 + 5 ⋅ x2 ≤ 45 (restricción de madera) 0
⎪ 0 1 2 3 4 5 6
⎩⎪x1, x2 ≥ 0 x1
⎧Max z = 8 ⋅ x1 + 5 ⋅ x2
⎪s.a.
⎪⎪
⎨1 ⋅ x1 + 1⋅ x2 + s1 = 6 (restricción mano de obra)
⎪9 ⋅ x1 + 5 ⋅ x2 + s2 = 45 (restricción de madera)
⎪
⎪⎩x1, x2, s1, s2 ≥ 0
Básica x1 x2 s1 s2 Solución
Paso 2.
Elegir cualquier restricción del tableau óptimo del PLR, en el cual
una variable básica es fraccionaria.
Se elige arbitrariamente la 2da. restricción:
Respecto a (2.-): Dado que s1=0 y s2=0 en el tableau óptimo del PLR, la
solución allí obtenida viola la restricción del corte ya que 0.75 ≤ 0 para
s1=s2=0.
Reemplazando en
x2
3
0.75 - 0.75 s1 - 0.25 s2 ≤ 0 Sol. PLR original
(3.75, 2.25)
2
Se obtiene: x1 + x2 <= 6
1
3 x1 + 2 x2 <= 15
0
0 1 2 3 4 5 6
Sol. PLEE
x1
(5, 0)
Un corte excluye la solución actual óptima del PLR pero no a las soluciones
factibles para el PPLEE.
Si se agrega este corte (restricción) al tableau óptimo, el punto extremo óptimo que
resulta “mueve” la solución hacia valores enteros.
Paso 3.
Se resuelve el PLR original más el corte. Esto es:
⎧Max z = 8 ⋅ x1 + 5 ⋅ x2
⎪s.a.
⎪
⎪⎪1 ⋅ x1 + 1⋅ x2 + s1 = 6 (restricción mano de obra)
⎨
⎪9 ⋅ x1 + 5 ⋅ x2 + s2 = 45 (restricción de madera)
⎪3 ⋅ x1 + 2 ⋅ x2 + s3 = 15 (1er plano de corte)
⎪
⎪⎩x1, x2, s1, s2, s3 ≥ 0
Si la nueva solución óptima tiene variables con valores fraccionarios, se efectúa otro
corte y continúa el proceso hasta obtener una solución entera.
Notas:
1.- Para generar el corte, algunos autores recomiendan elegir la
restricción del tableau óptimo del PLR cuyo lado derecho tiene la
parte fraccionaria más próxima a ½.
Max z = 2 ⋅ x1 + x2
s.a
⎧5 ⋅ x1 + 2 ⋅ x2 ≤ 8
⎪ x1 + x2 ≤ 3
⎪
⎨
⎪x1, x2 ≥ 0
⎪⎩x1 enteros
Método de ramificación y acotamiento (B&B)
para PPLEMs
• ¿En qué orden procesar los trabajos para minimizar el retraso total de los 4
trabajos?.
• Definir
• B&B empieza con la división de todas las soluciones según la tarea que
es procesada al último.
• Toda sucesión de trabajos debe ejecutar un trabajo al último.
• C/ sucesión debe tener: x14 =1 o x24 =1 o x34=1 o x44=1 (restricciones).
• Se generan 4 ramas (una por restricción).
• Cada rama determina un nodo (nodos 1 a 4).
• Se obtiene una cota inferior (LB) sobre el retraso total (D) asociado con
el nodo.
Por ej.:
• Si x44 = 1: T4 es el último.
x14 = 1
x44 = 1
x24 = 1 x34 = 1
D≥ D≥ D≥ D≥7
x14 = 1
x44 = 1
x24 = 1 x34 = 1
D≥ D≥ D ≥ 11 D≥7
(D=23-12)
x14 = 1
x44 = 1
x24 = 1 x34 = 1
D ≥ 15 D ≥ 19 D ≥ 11 D≥7
x14 = 1
x44 = 1
x24 = 1 x34 = 1
D ≥ 15 D ≥ 19 D ≥ 11 D≥7
Aún no hay razón para eliminar algún nodo como parte del orden óptimo de trabajo.
Ramificar según el enfoque de avance a saltos: sobre el nodo que tiene la menor
cota inferior en D. Ramificar sobre el Nodo 4.
x14 = 1
x44 = 1
x24 = 1 x34 = 1
D ≥ 15 D ≥ 19 D ≥ 11 D≥7
Aún no hay razón para eliminar algún nodo como parte del orden óptimo de trabajo.
Ramificar según el enfoque de avance a saltos: sobre el nodo que tiene la menor
cota inferior en D. Ramificar sobre el Nodo 4.
Cualquier sucesión asociada con Nodo 4 debe tener x13 =1 o x23 =1 o x33=1.
D ≥ 15 D ≥ 19 D ≥ 11 D≥7
x13 = 1 x33 = 1
x23 = 1
x14 = 1
x44 = 1
x24 = 1 x34 = 1
D ≥ 15 D ≥ 19 D ≥ 11 D≥7
x13 = 1 x33 = 1
x23 = 1
D ≥ 15 D ≥ 19 D ≥ 11 D≥7
x13 = 1 x33 = 1
x23 = 1
x14 = 1
x44 = 1
x24 = 1 x34 = 1
D ≥ 15 D ≥ 19 D ≥ 11 D≥7
x13 = 1 x33 = 1
x23 = 1
D ≥ 15 D ≥ 19 D ≥ 11 D≥7
x13 = 1 x33 = 1
x23 = 1
x14 = 1
x44 = 1
x24 = 1 x34 = 1
D ≥ 15 D ≥ 19 D ≥ 11 D≥7
x13 = 1 x33 = 1
x23 = 1
Cualquier sucesión asociada con Nodo 7 debe tener x12 =1 o x22 =1.
Se generan 2 ramas (una por restricción) y cada rama determina un nodo.
x14 = 1
x44 = 1
x24 = 1 x34 = 1
x14 = 1
x44 = 1
x24 = 1 x34 = 1
x12 = 1 x22 = 1
Nodo 8 Nodo 9
D ≥ 12 D ≥ 16
X
x14 = 1
x44 = 1
x24 = 1 x34 = 1
x12 = 1 x22 = 1
Nodo 8 Nodo 9
D ≥ 12 D ≥ 16
X
x14 = 1
x44 = 1
x24 = 1 x34 = 1
x12 = 1 x22 = 1
Solución:
Nodo 8 Nodo 9
Secuencia T2,T1,T3,T4.
Retraso mínimo: 12 días D ≥ 12 D ≥ 16
X