Está en la página 1de 35

Universidad Tecnológica de Pereira – Colombia

Algoritmo cortes de
Gomory
Eliana Mirledy Toro
Ocampo

Grupo en aplicaciones en
Optimización y Procesos Estocásticos
Algoritmo de cortes de Gomory
Problema lineal entero
Problema lineal entero

Problema lineal relajado sin considerar la


restricción de integralidad
¿Cómo llegar a la solución
óptima?
ALGORITMO PRIMAL
SIMPLEX ALGORITMO DUAL
SIMPL
EX

SBFP: Solución básica


OPTIMIZACIÓN
B1b  0 FACTIBILIZACIÓ
N
factible primal
z(x)  0 z(x)  0
SBFD: Solución básica
B b1 Solución óptima se
cumplen los dos criterios.
factible dual.
Debe cumplir la condición de

0 Factibilidad
Optimalidad
optimalidad
Solución gráfica
Po
Encontrar el Problema lineal equivalente
(PLE)
Maxz(x)  2x1  x2
Minz(x)  2x1 x2 0x3  0x4
0x5

El siguiente paso es identificar los siguientes elementos:


A= matriz de Coeficientes tecnológicos, se refiere a cada uno de los
términos de las restricciones después de agregar las variables de holgura y
las variables artificiales si es del caso.
b=Vector de recursos disponibles
B= matriz básica. Esta formada por las variables que forman la matriz
idéntica debe ser n*n donde n corresponde al número de restricciones del
modelo sin incluir la restricción de positividad.
CB= Coeficientes de las variables básicas en la función objetivo del PLE.
CN= Coeficientes de las variables no básicas en la función objetivo del PLE.
Solución de
Po Primal
Simplex
Primal Simplex
¿Cómo se obtiene una solución básica
factible primal?

El tamaño de la base B es
de 3x3 porque el problema
tiene 3 restricciones
Construcción de la tabla primal
simplex
Algoritmo Primal Simplex para
minimización Cuadro de Bazaraa

Paso 1. Verificar la columna XN en la fila 0 o Z. Si está es <=0. Pare la solución es


óptima. En caso contrario ir al paso 2.
Paso 2. Identificar la variable que ingresa a la base. Esta corresponde a la más
positiva. La columna asociada a esta elección se denomina columna pivote. Si todos
los elementos de la columna pivote son negativos. Pare la solución es ilimitada. En
caso contrario ir al paso3.
Paso 3. Identificar la variable que sale de la base. Se elige el mínimo valor después
de realizar todos los cocientes entre RHS/ Columna pivote. De la columna pivote sólo
considerar los positivos. La elegida se denomina fila pivote.
Paso 4. Actualizar la base. Con base en el elemento pivote. Mediante operaciones
entre fila convertir la columna pivote en columna unitaria cuyo elemento unitario debe
ser el elemento pivote. Retornar al paso 2.
Actualización de la tabla primal
simplex

La columna pivote es XN1. La fila pivote es XB1 y el elemento pivote es la intersección


entre la fila pivote y la columna pivote
Algoritmo primal
Simplex

Como se observa en cada


iteración las variables que están
en la base siempre corresponden
a columnas idénticas en el
cuadro.
Se agrega una restricción al
Po

Debido a que a Po se le ha adicionado una restricción la


base B se aumenta y pasa de 3*3 a 4*4
Adición de una
X3 restricción
x1  2
Z(x) x1 x2 X4 X5 X6 RHS
X6
x1 1 x6  2
0 0 0 0 0 1 2

Al cuadro óptimo anterior se le agrega una fila y una columna denominada x6 esto en
razón a que una nueva restricción aumenta el tamaño de la base. Ahora la base es de
4*4.
Al agregar la restricción se pierde la base. Ahora la columna x1 deja de ser idéntica. Se
reestablecen mediante operaciones entre filas. Se multiplica x1 por -1 y se suma a la fila
x6
z x1 x2 x3 x4 x5 x6 RHS
z 1 0 0 1/ 2 0 1/ 4 0 31/ 4
x2 0 0 1 3 /2 0 1/ 4 0 9 / 4
x4 0 0 0 2 1 1/ 2 0 1/ 2
x1 0 1 0 1/ 2 0 1/ 4 0 11/ 4
x6 0 1 0 0 0 0 1 2
Inclusión de nuevas restricciones
Algoritmo Dual simplex
• Este es el cuadro donde se reestablecen las base, pero
ahora el cuadro ha dejado de ser factible por tanto se
debe aplicar el algoritmo dual simplex .
Algoritmo dual simplex para el problema
de minimización
Paso1. Iniciar desde una solución básica factible dual.
Esto indica que la fila z(x) debe cumplir el criterio de optimalidad es decir es
fila es
<=0.
Paso2. Revisar la columna RHS la posición si todos los valores son mayores
iguales que cero. Pare,
Paso3. Determinar la solución
la variable es óptima.
que sale En caso
de la base. contrario a
Corresponde ir la
al más
paso 3.
del RHS. Se denomina fila
negativa
Paso
pivote.4. Determinar la variable que ingresa a la base corresponde al mínimo
cociente entre la fila z(x) y la fila pivote. Sólo considerar los elementos negativos
de
la fila pivote. Si la fila pivote es toda positiva. Pare. Es infactible.
Recordar que ese cociente siempre da positivo porque Z(x) siempre es positiva.
Paso 4. La intersección entre la fila pivote y la columna pivote se denomina
el elemento pivote. Se actualiza igual que en el algoritmo primal simplex.
Criterio de parada
Algoritmo Dual
simplex
Agregar restricciones de
>=
La restricción siempre será de <= por lo tanto en el caso de
restricciones de mayor igual. Se multiplica entre -1 para llevarla a esa
estructura.
Esto para evitar el uso de variables artificiales.

Ax  b Las dos expresiones


son equivalentes
 Ax 
b
Cuadro simplex
alternativo

La diferencia con el cuadro de Bazaraa es que se eliminan las


columnas
de las variables básicas. Y la forma de actualizar el cuadro varía.
Cuadro reducido de Garfinkel
Actualización
Cuadro reducido de Garfinkel
actualización
i)Ingresa a la base XB1 y sale de la
base XN1.
ii)Toda la columna pivote se
divide por el elemento pivote y se
invierte el signo.
iii)La fila pivote se divide entre el
pivote.
iv) El elemento pivote se invierte.
v)El resto de elementos se
actualizan como en la diapositiva
9.
Ejemplo- Cuadro
reducido

min x0 2x1 x2 0x3 0x4


0x5
Montaje cuadro reducido de
Garfinkel
Cálculos cuadro
reducido
Algoritmo cortes de Gomory. ¿Cómo
generar el corte?
Cálculos de la fracción
positiva
31 32 1 1 2 3 2 1
   
 
1 22 2 2 2 2
4 4 4
Esta expresión no
1 1
9 8 1  0  tiene parte entera
  4 4
1 4 1
  4 4 4
4 4 4
2  2  Esta expresión no tiene
parte fraccional
0
Generación de los planos de
corte
Observacione
s
Algoritmo cortes de
Gomory
Ejemplo cortes de Gomory
(1)
Ejemplo cortes de Gomory
(2)
Ejemplo cortes de Gomory
(3)
Solución del PL después de adicionar el
segundo y tercer corte
Ejercicio
1
• Como puede observarse al definir la variable de ingreso a la base hay
un empate entre
• Repetir el algoritmo ingresando x3 a la base
Ejercicio 2 Resolver usando cortes de
Gomory
Bibliografí
a
• Gallego Rendón, R., Escobar Zuluaga, A., Romero Lazaro, R.,
Escobar Zuluaga, A., & Romero Lazaro, R. (2007). Programación
lineal entera. Colombia: Universidad Tecnológica de Pereira

También podría gustarte