Está en la página 1de 8

TEMA 6: Programación Entera

CAPÍTULO 6
PROGRAMACIÓN ENTERA

6.1. GENERALIDADES.-
Existen problemas que podrían fácilmente resolverse como modelos de Programación
Lineal, con el requerimiento adicional de que algunas o todas las variables de decisión deben
tomar valores enteros. A estos problemas se les denomina Modelos de Programación Lineal
según Enteros o Modelos de Programación Entera. Como se recordará, en los modelos de
Programación Lineal se permite a las variables tomar valores fraccionarios y conforme al
principio de que todo lo que está permitido sucede, se deben esperar respuestas fraccionarias.
Sin embargo, las variables de decisión en el mundo real a menudo deben ser enteras. Por
ejemplo, en el caso de una empresa que fabrique borradores para pizarras, carece de sentido que
se fabriquen 356,58 piezas. En estos casos se adapta la solución no entera al requerimiento de
enteros con un simple redondeo al entero más próximo, produciendo la llamada “Solución
Redondeada”, obteniéndose de esta forma Soluciones Aceptables en aquellas situaciones
donde el redondeo no importa.
Existen muchos otros problemas donde este redondeo no funciona. Por ejemplo, si la
solución de un problema de Programación Lineal recomienda que una empresa aeroespacial
fabrique 20,65 Transbordadores Espaciales, el Administrador probablemente no quedará
contento con la simple medida de tomar la decisión de construir 21 Transbordadores. Esto es
debido a que el consumo de recursos asociados con cada unidad aconsejan tomar la Mejor
decisión entera posible descartando el redondeo.

6.2. INTERPRETACION GRAFICA.-


El procedimiento de resolución de modelos de Programación Entera por el método
gráfico es similar al utilizado para los Modelos de Programación Lineal. La diferencia radica en
la selección de la zona factible: solamente se considerarán los puntos enteros que se encuentren
dentro del espacio de soluciones factibles para el modelo de Programación Lineal. Una vez
realizado esto, se puede ubicar el punto de solución en enteros que cae sobre la mejor recta de
la Función Objetivo. Este punto es la solución óptima para el Modelo de Programación Entera.
A continuación se utilizará el método para solucionar el siguiente problema entero:

62
TEMA 6: Programación Entera

EJEMPLO:
Maximizar Xo = 18X1 + 6X2
Sujeto a: 2X1 + 5X2  40
20X1 + 6X2  142
30X1 + 10X2  135
X1 - 3X2  0
X1 + X2  5

X1, X2  0 y enteros

Se buscan dos puntos para cada una de las restricciones a fin de graficarlas en los ejes
coordenados:
2X1 + 5X2 = 40 20X1 + 6X2 = 142 30X1 + 10X2 = 135
X1 X2 X1 X2 X1 X2
0 8 0 23,67 0 27/2
20 0 7,1 0 27/6 0

X1 - 3X2 = 0 X1 + X2 = 5
X1 X2 X1 X2
0 0 0 5
9 3 5 0

Seguidamente se grafica la Función Objetivo:


Xo = 18X1 + 6X2 = 108

X1 X2
0 18
6 0

La gráfica resultante es:

63
TEMA 6: Programación Entera

X2 XoP.E.* = 126
8 3

2
7 A
Punto Optimo en P.L.:
B (5.28, 5.74)
6

1
5

4 Puntos Optimos en P.E.

3
4

2
C

1 D

1 2 3 4 5 6 7 8
X1

La región sombreada es el espacio de soluciones factibles en el modelo de Programación


Lineal y los puntos son los enteros contenidos en este espacio, los cuales constituyen el espacio
de soluciones factibles en el modelo de Programación Entera, es decir, es un sub-espacio del
espacio factible del modelo de Programación Lineal. Para resolver el problema, debemos
determinar cual de los puntos factibles produce el mayor valor de Xo. Se procede como en el
modelo de Programación Lineal, es decir, moviendo la línea de la Función Objetivo cuesta arriba
(en este ejemplo), hasta que toque el último punto entero dentro de la región. Este punto
proporcionará la solución óptima del problema entero.
En la figura puede verse como los puntos (5, 6) y (6, 3) son los puntos óptimos para el
modelo de Programación Entera, resultando:

Xo = 18X1 + 6X2 = 18(5) + 6(6) = 18(6) + 6(3)  Xo = 126 (P.E.)

Puede observarse que la solución óptima para el modelo de Programación Lineal ocurre
en la intersección de las rectas 1 y 2. Resolviendo este problema obtenemos los valores (5.28;

64
TEMA 6: Programación Entera

5.74), con lo cual puede verse como la solución del modelo de Programación Lineal no es una
solución para el problema de Programación Entera. Con estos valores la función objetivo
alcanza un valor de:

Xo = 18(5.28) + 6(5.74)  Xo = 129,48 (P.L.)

Comparando estos dos valores vemos como el de Programación Entera es menor. De


esta manera se comprueba que cualquier restricción que se agregue a un problema de
programación matemática no mejora sino empeora el valor óptimo de la función objetivo. Por
lo tanto, nuestro valor óptimo disminuye al agregar la restricción de los enteros.

6.3. EFECTOS DEL REDONDEO.-


Hemos observado que la solución óptima del modelo de Programación Lineal es
X1=5.28 y X2=5.74. Cada una de estas variables puede ser redondeada al entero superior o
inferior, con lo cual resultarán 4 soluciones redondeadas: (5, 5), (5, 6), (6, 5), (6, 6), vecinas a
la solución óptima del problema de Programación Lineal. El hecho es que con dos variables de
decisión hay 4 soluciones vecinas redondeadas, pero con n-variables de decisión habrán 2n de
tales puntos. En cuanto a algunas dificultades potenciales que pueden surgir cuando se usan
soluciones redondeadas se tiene lo siguiente: en el ejemplo anterior, de los 4 puntos redondeados
sólo 2 de ellos son factibles y los otros 2 caen FUERA del espacio de soluciones factibles,
concluyéndose que una solución redondeada no es necesariamente óptima. También puede
darse el caso que ninguno de los puntos redondeados sea factible.
6.4. MÉTODOS NUMÉRICOS DE SOLUCIÓN DE MODELOS DE PROGRAMACIÓN
ENTERA.-
Al igual que los modelos de Programación Lineal, es difícil aplicar el Método Gráfico
para resolver modelos con 3 variables e imposible para problemas más grandes, por lo cual
deben utilizarse otros procedimientos de solución tales como los que se explican a continuación.
6.4.1. MÉTODO DEL PLANO DE CORTE O FRACCIONAL.-
Un plano de corte para un problema de Programación Entera es una nueva
restricción funcional que corta o reduce la región factible de un modelo de Programación
Lineal sin eliminar ninguna solución factible para el problema de Programación Entera
original. La técnica consiste en resolver el modelo de Programación Lineal
correspondiente (sin incluir las restricciones de “variables enteras”) y si la solución
óptima es no entera, deben desarrollarse restricciones adecuadas adicionales que corten
el espacio de soluciones factibles para forzar la solución a tomar valores enteros. Los
detalles de este método serán estudiados con el siguiente problema.
EJEMPLO:

65
TEMA 6: Programación Entera

Maximizar: Xo = 7X1 + 9X2


Sujeto a: - X1 + 3X2  6
7X1 + X2  35
X1, X2  0 y enteros

La tabla óptima del problema lineal es:


Cj 7 9 0 0
Iteración CB V.B X1 X2 H1 H2 Solución
9 X2 0 1 7/22 1/22 7/2
OPTIMA 7 X1 1 0 -1/22 3/22 9/2
Ci 0 0 28/11 15/11 63

La solución anterior no es entera, por lo que deben agregarse las restricciones


adicionales que generarán el corte. Debe seleccionarse cualquiera de las ecuaciones de
restricción con una solución no entera (se recomienda elegir aquella restricción cuya
solución esté más lejos de ser entera, lo cual equivale a tener mayor parte fraccionaria).
En este ejemplo se tiene: X2 = 7/2 = 3,5 y X1 = 9/2 = 4,5. Ambas variables poseen igual
parte fraccionaria. Se elige arbitrariamente la ecuación correspondiente a X2:
X2 + 7/22 H1 + 1/22 H2 = 7/2

La ecuación anterior se escribe de tal manera que cada coeficiente se representa


como una parte entera y una parte fraccionaria NO NEGATIVA:
X2 + (0 + 7/22) H1 + (0 + 1/22) H2 = 3 + 1/2

A continuación se colocan del lado izquierdo todos los términos enteros y del
lado derecho los términos fraccionarios, resultando:
X2 + 0 H1 + 0 H2 – 3 = ½ - 7/22 H1 – 1/22 H2

Si todas las variables de decisión son enteras, entonces el primer miembro debe
ser entero, lo que implica que el lado derecho también es entero:
½ - 7/22 H1 – 1/22 H2  0

Esta restricción debe ser introducida en la tabla como un nuevo corte por lo
cual debe asociarse a ella una variable de holgura H3:

66
TEMA 6: Programación Entera

- 7/22 H1 – 1/22 H2 + H3 = -½

La nueva tabla es:

Cj 7 9 0 0 0
Iteración CB V.B X1 X2 H1 H2 H3 Solución
9 X2 0 1 7/22 1/22 0 7/2
7 X1 1 0 -1/22 3/22 0 9/2
0 H3 0 0 -7/22 -1/22 1 -1/2
Ci 0 0 28/11 15/11 0 63

Aplicando el Método Dual Simplex para optimizar la tabla anterior se tiene:


Cj 7 9 0 0 0
Iteración CB V.B X1 X2 H1 H2 H3 Solución
9 X2 0 1 0 0 1 3
7 X1 1 0 0 1/7 -1/7 32/7
0 H1 0 0 1 1/7 -22/7 11/7
Ci 0 0 0 1 8 59

Esta solución todavía no es entera por lo que se construye un nuevo corte.


Puede elegirse arbitrariamente X1 o H1 ya que tienen igual parte fraccionaria. Se toma
X1:
X1 + 1/7 H2 - 1/7 H3 = 32/7

Expresando cada coeficiente como una parte entera y una fraccional no


negativa y agrupando los términos a cada lado correspondiente se tiene:
X1 + (0 + 1/7) H2 + (-1 + 6/7) H3 = 4 + 4/7 
X1 + 0 H2 - H3 - 4 = 4/7 - 1/7 H2 - 6/7 H3

67
TEMA 6: Programación Entera

El lado derecho forma el nuevo corte:

4/7 - 1/7 H2 - 6/7 H3  0

Y añadiendo la variable de holgura respectiva se tiene:

- 1/7 H2 - 6/7 H3 + H4 = - 4/7

Seguidamente, se introduce en la tabla:

Cj 7 9 0 0 0 0
Iteración CB V.B X1 X2 H1 H2 H3 H4 Solución
9 X2 0 1 0 0 1 0 3
7 X1 1 0 0 1/7 -1/7 0 32/7
0 H1 0 0 1 1/7 -22/7 0 11/7
0 H4 0 0 0 -1/7 -6/7 1 -4/7
Ci 0 0 0 1 8 0 59

Aplicando Método Dual Simplex, la tabla resultante es:

Cj 7 9 0 0 0 0
Iteración CB V.B X1 X2 H1 H2 H3 H4 Solución
9 X2 0 1 0 0 1 0 3
7 X1 1 0 0 0 -1 1 4
0 H1 0 0 1 0 -4 1 1
0 H2 0 0 0 1 6 -7 4
Ci 0 0 0 1 2 7 55

Se obtiene la tabla óptima al encontrar todos los resultados enteros; la solución

óptima es:

68
TEMA 6: Programación Entera

X1 = 4 ; X2 = 3; Xo* = 55

69

También podría gustarte