0% encontró este documento útil (0 votos)
227 vistas29 páginas

Programacion Lineal Entera, Investigacion de Operaciones I

Este documento presenta un resumen de la programación lineal entera. Explica la clasificación de problemas según las variables, los objetivos de resolver problemas con variables enteras y describe métodos comunes de solución como ramificación y acotación, enumeración completa y planos cortantes. También incluye ejemplos de problemas de asignación de capital, costos fijos, restricciones condicionales y producción.

Cargado por

oscar doblado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
227 vistas29 páginas

Programacion Lineal Entera, Investigacion de Operaciones I

Este documento presenta un resumen de la programación lineal entera. Explica la clasificación de problemas según las variables, los objetivos de resolver problemas con variables enteras y describe métodos comunes de solución como ramificación y acotación, enumeración completa y planos cortantes. También incluye ejemplos de problemas de asignación de capital, costos fijos, restricciones condicionales y producción.

Cargado por

oscar doblado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 29

UNIVERSIDAD TEGNOLOGICA DE HONDURAS

FACULTAD DE INGENIERIA

ASIGNATURA:

INVESTIGACIÓN DE OPERACIONES I

CATEDRATICO:

ING. ALEJANDRO MENOCAL

ALUMNOS:
Melissa Rackell Aguilera Romero 200860520002
Felix Bucato Smith 201610030081
Cristofer Dabian Avila Erazo 201810030031
Oscar Rene Doblado Gomez 201820010300
Tomas Noe Martinez Calderon 201510011737

Tarea de investigación:

Programación Lineal Entera.

FECHA: 07.07.2022

1
PROGRAMACIÓN LINEAL ENTERA

2
Tabla de contenido
Portada .................................................................................................................................1
Programación lineal entera ..................................................................................................2
tabla de contenido ............................................................................................................... 3
Introducción.......................................................................................................................... 4
Objetivos .................................................................................................................................... 4
Objetivo general …........................................................................................................................4
Objetivos específicos……......................................................................................................4
5.1 Clasificación de los problemas de acuerdo a las variables ............................................. 5
5.2 Métodos de solución..................................................................................................... 6
5.2.1 Método de redondeo de la solución de programación lineal...............................................7
5.2.2 Método de enumeración completa ...................................................................................8
5.2.3 Método de ramificación y acotación (Branch and Bound) ..................................................9
5.2.4 Método planos cortantes o algoritmo fraccional de Gomory .......................................... 18
5.2.5 Método (algoritmo) aditivo de balas................................................................................. 19
5.3 Tipos de problemas........................................................................................................20
5.3.1 Problema asignación de capital................................................................................... 20
5.3.2 Problema de costo fijo...................................................................................................... 21
5.3.3 Problemas con restricciones de tipo si... entonces.......................................................... 23
5.3.4 El modelo tipo “mochila” ................................................................................................... 24
5.3.5 Problema de producción .............................................................................................. 25
5.3.6 Problema de distribución............................................................................................... 27
Resumen..............................................................................................................................28
Bibliografía ......................................................................................................................... 29

3
Introducción

La programación entera es el método empleado para resolver problemas que tienen variables
de decisión enteras. Estos modelos se han considerado submodelos de la programación lineal
con la característica de enteridad. Los creadores e investigadores de esta técnica fueron Wagner
(1950) y Manne (1959), quienes desarrollaron varios métodos de solución. Uno de los primeros
enfoques de solución al tipo de problemas que plantea la programación entera, fue el de
evaluación de cada posible solución, es decir, cada una de las combinaciones de valores enteros
para las variables del problema, conduciendo a una solución óptima exacta. A este tipo de
resoluciones se les dio el nombre de métodos exactos. Por otro lado, se desarrollaron otro tipo
de técnicas que recibieron el nombre de métodos heurísticos, los cuales hacen referencia a la
intuición y conducen a una solución próxima a la óptima en un tiempo razonable. Si se requiere
que todas las variables sean enteras se habla de programación lineal entera pura; si se necesita
que algunas de las variables de decisión sean números enteros, se tiene un problema de
programación lineal entera mixta. En otro tipo de problemas sólo se permite que las variables
tomen un valor de cero o de uno; en estos casos se habla de programación lineal entera binaria
(digital); si se requiere que solamente algunas de las variables tomen valores de cero o uno, se
tiene un problema de programación lineal entera binaria mixta. Para resolver problemas de
programación lineal entera, se utilizan varios algoritmos como son: Ralph Gomory, ramificación
y acotamiento, enumeración exhaustiva o enumeración explícita, enumeración implícita, aditivo
de Egon Balas y algoritmos heurísticos. En esta unidad se explicarán los algoritmos más
empleados.

Objetivos
Objetivo general
Resolver problemas en los que se empleen variables enteras, utilizando los algoritmos de
solución que se ajusten a las características de dichos problemas.

Objetivos específicos
• Definir las características de un problema, enfocando su algoritmo de solución.

• Formular un problema específico utilizando el método de programación entera.

• Manejar algunas de las técnicas básicas utilizadas en la solución de problemas de


programación entera.

4
5.1 Clasificación de los problemas de acuerdo a las variables
Dependiendo del tipo de variable que tengan los problemas a resolver, estos se pueden clasificar
de la siguiente manera:

Enteros puros: Son aquellos en los que las variables únicamente pueden tomar valores enteros,
así como los coeficientes que intervienen en el problema.

Max Z = 3 x1 + 2 x2

Sujeto a: x1 + x2 ≤ 6

x1, x2 ∈ Z

Mixtos: Son aquellos en los que hay, al mismo tiempo, variables continuas y variables que sólo
pueden tomar valores enteros.

Max Z = 3 x1 + 2 x2

Sujeto a: x1 + x2 ≤ 6

x2 ≥ 0

x1 ∈ Z

Binarios: Las variables sólo pueden tomar los valores cero o uno.

Max z = x1 - x2

Sujeto a: x1 + 2x2 ≤ 2

2x1 - x2 ≤ 1

x1, x2 = 0,1

Ejemplo 1
Una zapatería está analizando la posibilidad de expandir su mercado y está pensando en abrir
una fábrica en Ecuador y otra en Brasil, así como construir un sólo almacén, sin embargo, hay
una restricción y es si en el almacén tiene que haber fábrica.

Se cuenta con un capital de 10 millones de pesos, teniendo en cuenta que:

Capital
Beneficio
requerido
X1= Construir la fábrica en Ecuador: 9 millones 6 millones
X2= Construir la fábrica en Brasil 5 millones 3 millones
X3= Construir almacén en Ecuador 6 millones 5 millones
X4= Construir almacén en Brasil: 4 millones 2 millones

Tabla 5.1. beneficios y capital.

5
La variable de decisión Xj puede tomar el valor de 1 si se construye o de 0 si no se construye.

Función objetivo:

Max Z = 9 X1 + 5 X2+ 6 X3 + 4 X4

Restricciones:

X3 + X4 ≤ 1 Alternativas mutuamente excluyentes

X3 ≤ X1 Se construye la fábrica sólo si se construye el almacén

X4 ≤ X2

6X1 + 3X2 + 5X3 + 2X4 ≤ 10 Capital disponible

Xj ∈ [0,1] para j= 1, 2, 3, 4.

De esta forma:

Max Z = 9 X1 + 5 X2 + 6 X3 + 4 X4

X3 + X4 ≤ 1

-X1 + X3 ≤ 0

-X2 + X4 ≤ 0

Xj ∈ [ [0,1] para j= 1,2,3,4.

6X1 + 3X2 + 5X3 + 2X4 ≤ 10

Sólo una debe cumplirse, mientras que la otra puede cumplirse, pero no se requiere que lo haga.

5.2 Métodos de solución


Para la resolución de problemas relacionados con programación entera, existen varios métodos
para generar las restricciones especiales que conducen a la solución óptima del problema, pero
también hacia la solución óptima entera deseada.

Se requiere que una solución factible tenga valores enteros para alguna o todas las variables de
decisión.

La región factible no es una región continua, sino que está formada por puntos separados.

Un modelo de programación entera recibe el nombre de relajado si no se toma en cuenta la


restricción de soluciones enteras. El modelo de programación entera relajado es el modelo de
programación lineal.

Algunos de los métodos más empleados son:

• Método de redondeo de la solución de programación lineal

• Método de enumeración completa

• Método de ramificación y acotación (Branch and Bound)

6
• Método planos cortantes o algoritmo fraccional de Gomory

5.2.1 Método de redondeo de la solución de programación lineal


No se asegura obtener la solución óptima, en algunos casos se obtiene una solución muy lejos
de la óptima.

Ejemplo 2
Máx Z : x1 + 5x2

Sujeto a: +x1 + 10x2 ≤ 20

x1 ≤2

Solución modelo relajado (PL): x1 = 2 x2 = 1.8 Z = 11

Solución con redondeo: x1 = 2 x2 = 1 Z = 7

Solución óptima de PE: x1 = 0 x2 = 2 Z = 10

Al redondear se debe tener en cuenta la magnitud de las variables

Si la solución es: Z = 5,207

X1 = 11.6

X2 = 6.8 NO es conveniente redondear

Si en cambio: Z = 5,207

X1 = 3,208.4 redondear puede ser aceptable.

X2 = 7,055.3

Siempre se debe verificar que la solución redondeada se mantenga factible.

7
5.2.2 Método de enumeración completa
Si hay 2 variables binarias, 4 soluciones posibles. Si hay 50 variables binarias, 250 soluciones
posibles.

Ejemplo 3
Máx Z = 300 x1 + 90 x2 + 400 x3 + 150 x4

Sujeto a: 35 x1 + 10 x2 + 25 x3 + 90 x4 <= 120

4 x1 + 2 x2 + 7 x3 + 3 x4 <= 12

x1 + x2 <= 1

x1, x2, x3, x4 binarias 0 o 1

Existen 24 = 16 alternativas de solución:

X1 X2 X3 X4 Factible? Z
0 0 0 0 si 0
0 0 0 1 si 150
0 0 1 0 si 400
0 0 1 1 si 550
0 1 0 0 si 90
0 1 0 1 si 240
0 1 1 0 si 490
0 1 1 1 no
-
1 0 0 0 si 300
1 0 0 1 no
-
1 0 1 0 si 700
1 0 1 1 no
-
1 1 0 0 no
-
1 1 0 1 no
-
1 1 1 0 no
-
1 1 1 1 no
-
Tabla 5.2 Alternativas de Solucion

8
5.2.3 Método de ramificación y acotación (Branch and Bound)
El método de ramificación y acotación o también llamado Branch and Bound, resuelve el
problema de tal forma que, si la solución a este verifica condiciones de integridad, entonces
también es la solución al problema entero, de lo contrario se comienza con la ramificación del
problema.

La ramificación consiste en dividir cada problema en dos nuevos subproblemas, obtenidos


mediante el uso de restricciones excluyentes que dividen el conjunto de oportunidades del
problema original en dos partes, pero eliminando en ambas partes la solución no entera del
problema original.

Cuando en la solución al problema una variable que es entera X i toma el valor Xbi no entero,
entonces se generan, a partir de dicho valor, dos restricciones X i ≤ [Xbi] y Xi ≥ [Xbi]+1 (siendo [Xbi]
la parte entera por defecto de Xbi).

Ejemplo 4
Max F (x)= 4x1 + 5x2
Sujeto a: 2x1 + x2 ≤ 8
X2 ≤ 5
x1, x2 ≥ 0 y enteras

La solución a este problema, no teniendo en cuenta que las variables sean enteras, es:

X1 = 1,5, x2 = 5 y F (x) = 31

Esta solución no está verificando las condiciones de integridad, entonces se debe elegir la
variable x1 que no es entera y a partir de ella se generan dos restricciones:
x1 ≤ 1 y x1 ≥ 2
Que añadidas cada una de ellas al problema original, dan lugar a dos nuevos subproblemas que
serían los siguientes:

De esta forma se han eliminado todas las posibles soluciones no enteras del conjunto de
oportunidades, tales que 1< x1 < 2.
El proceso se repite con cada uno de los dos subproblemas obtenidos, los cuales dan lugar a
otros dos subproblemas cada uno de ellos y así sucesivamente, hasta que todos los
subproblemas tengan solución entera o infactible.

9
Utilizando únicamente la ramificación, el número de subproblemas a resolver crece
exponencialmente, por este motivo para evitar el tener que resolver todos los subproblemas, la
ramificación se combina con la acotación.
La acotación se basa en que los conjuntos de oportunidades de los subproblemas obtenidos en
el ejemplo anterior, son a su vez subconjuntos del conjunto de oportunidades del problema. La
solución óptima de los dos subproblemas siempre será inferior (problema de máximo o superior
para problemas de mínimo) que la solución óptima del problema, por ser los conjuntos de
elección menores.

De esta forma, el proceso de acotación consiste, para problemas de máximo, en tomar como
cota inferior aquella solución entera con mayor valor de la función objetivo obtenida y dado que
cualquier otro subproblema con solución no entera se sabe que al ramificarlo dará como
resultado valores de la función objetivo menores o iguales, permite descartar como
subproblemas a ramificar todos aquellos que tengan como solución óptima un valor de la
función inferior a la cota establecida.
De este modo se reduce el número de subproblemas a ramificar y, por lo tanto, el tiempo
necesario para la resolución de los problemas enteros. Una vez resuelto el problema si la
solución es entera, la solución es óptima y se ha dado una solución al problema original. Si no,
se debe elegir una variable entera Xi cuyo valor sea fraccional, posteriormente se resuelven los
dos problemas lineales iguales al anterior con las restricciones adicionales:
uno con la restricción Xi [Xi]+1. Después se analiza el problema con la mejor solución que
cualquiera de las soluciones enteras conocidas y se elige el problema que tenga el mejor valor
de la función objetivo.

Ejemplo 5
Max F(X) = 8x1 + 10x2
Sujeto a: 4x1 + 6x2 ≤ 24
8x1 + 3x2 ≤ 24
x1≥0,x2≥0, x1,x2 ∈ Z+
Max F(X) = 8x1 + 10x2
Sujeto a: 4x1 + 6x2 ≤ 24
8x1 + 3x2 ≤ 24
x1≥0,x2≥0
Se obtiene la solución x1 = 2, x2 = 8/3, f(x) = 128/3. Dado que esta solución no es entera se
ramifica a partir de la variable x2 de la siguiente manera:

10
Como la solución del subproblema 1 tiene el mayor valor de la función objetivo y no es entera,
se debe ramificar este subproblema a partir de la variable x1, de la siguiente forma:

Dado que de todos los subproblemas todavía no ramificados (subproblemas 2, 1.1 y 1.2) el que
tiene una mayor solución factible no entera es el subproblema 1.1, se ramificará este
subproblema a partir de la variable x2, es decir:

Ya se conoce una solución entera x1=0, x2=4,F(x)=40. Esta solución actuará como cota inferior y
solamente deberán ser ramificados aquellos subproblemas con soluciones factibles no enteras
que tengan un valor para la función objetivo que 40. Como el único subproblema por ramificar
es el subproblema 2 y la función objetivo vale 38, el proceso se da por terminado, siendo por
tanto la solución óptima al problema entero x1 = 0, x2 = 4, F(x) = 40. El árbol del problema
resuelto es el siguiente:

11
Ejemplo 6

Una mueblería fabrica mesas y sillas. Una mesa requiere de 1 hora de mano de obra y 9 pies
cuadrados de madera; una silla requiere de 1 hora de mano de obra y 5 pies cuadrados de
madera. Actualmente, la mueblería dispone de 6 horas de mano de obra y 45 pies cuadrados de
madera. Cada mesa genera una utilidad de US$8 y cada silla representa una utilidad de US$5.
Maximizar el beneficio de la mueblería.

De esta forma:
x1 = número de mesas fabricadas
x2 = número de sillas fabricadas

Como x1 y x2 deben ser enteras, el problema queda resuelto cuando:


Max Z = 8x1 + 5x2
Sujeto a: x1 + x2 ≤ 6
9x1 + 5x2 ≤ 45
x1, x2 ≥ 0
A partir de lo anterior se halla:

Subproblema 1:
Max z = 8x1 + 5x2
Sujeto a: x1 + x2 ≤ 6
9x1 + 5x2 ≤ 45
x1, x2 ≥ 0

La resolución gráfica del subproblema 1 se muestra a continuación. En este caso, la solución


óptima corresponde al punto x1 = 15/4 = 3.75 y x2 = 9/4 = 2.25, con valor de la función objetivo
z = 165/4.

12
El próximo paso es seleccionar una partición de la región factible, con el fin de obtener la
solución óptima. Para ello, se escoge una variable que no satisfaga las condiciones del problema,
es decir, una variable fraccionaria que debería ser entera, por ejemplo, x1. Como se busca un
valor entero para x1 interesa que x1 ≤ 3 o bien que x1 ≥ 4, ya que no puede haber una solución
factible entera en el intervalo 3 < x1 < 4, en otras palabras, se buscan soluciones en los valores
enteros más cercanos al valor fraccionario obtenido. De acuerdo a ello, se ramifica la variable x1
definiendo los siguientes subproblemas:

Subproblema 2: Subproblema 1 + restricción: x1 ≤ 3


Subproblema 3: Subproblema 1 + restricción: x1 ≥ 4

Ambos subproblemas excluyen el valor x1 = 15/4, es decir, la solución óptima de los


subproblemas no puede ser igual al de la relajación. Por otro lado, como se está resolviendo un
problema más restrictivo que la relajación original el valor de la función objetivo no puede ser
mejor.
Los puntos extremos de la región factible: D, E, F y G son los posibles óptimos y evaluando se
obtiene: zD = 0, zE = 24, zF = 39 y zG = 30, por lo que la mejor solución corresponde al punto F
(x1 = 3; x2 = 3), con valor de la función objetivo: z = 39. En este caso, la solución obtenida
satisface las condiciones de enteridad, por lo que es posible definir como cota superior z = 39.

Si la solución obtenida del subproblema 2 satisface todas las condiciones del problema, se debe
completar la ramificación, ya que aún se puede obtener una solución menor o igual al valor
óptimo del subproblema 1, pero mejor a la cota superior actual.

13
La región factible del subproblema 3 hace referencia a los puntos extremos: A, B y C, con
respectivos valores de la función objetivo: zA = 40, zB = 32 y zC = 41. Por lo tanto, el óptimo
corresponde a: x1 = 4 y x2 = 9/5, valor que no satisface la condición de enteridad.

Hasta ahora se dispone de una solución entera con valor de la función objetivo de 39, aunque
en el subproblema 3 se obtuvo como valor óptimo: z = 41.
El subproblema 3 no representa una solución factible para el problema. Al ramificar a partir de
este problema se podría esperar un valor de la función objetivo que sea menor o igual a 41, pero
que podría ser mejor que 39, por lo que no se pueden dar como finalizadas las ramificaciones.
De acuerdo a ello, se pueden definir dos nuevos subproblemas a partir del subproblema 3. Como
la variable x2 = 9/5 no es entera, conviene buscar valores con las siguientes particiones de la
región factible: x2 ≤ 1 y x2 ≥ 2. En otras palabras, se deben resolver los siguientes subproblemas:

Subproblema 4: Subproblema 3 + restricción: x2 ≤ 1


Subproblema 5: Subproblema 3 + restricción: x2 ≤ 2

Para el subproblema 4, los nuevos posibles óptimos son los puntos H e I, con valores de la
función objetivo: zH = 37 y zI = 365/9 = 40.556. Entre los puntos A, B, H e I, el mejor valor se
obtiene para el punto I con x1 = 40/9 y x2 = 1.

Respecto al subproblema 5 se observa que no existen puntos que satisfagan simultáneamente


las restricciones del subproblema 3 y x2 ≥ 2, por lo que tiene solución imposible.
Como la solución óptima del subproblema 4 es superior a la cota, es necesario volver a ramificar,
ya que eventualmente se podría encontrar una solución que sea menor o igual a z = 365/9, pero
mejor que z = 39. En este caso, la variable no entera es x1 = 40/9, por lo que conviene definir los
siguientes subproblemas:

Subproblema 6: Subproblema 4 + restricción: x1 ≤ 4


Subproblema 7: Subproblema 4 + restricción: x1 ≥ 5

14
En este caso, la región factible para el subproblema 6 se reduce al segmento de línea entre los
puntos B y H, con valores para la función objetivo de: zB = 32 y zH = 37, por lo que el óptimo
corresponde al punto H. Como en el punto H los valores de las variables son enteros, se podría
pensar H como posible óptimo.

Sin embargo, el valor de la función objetivo en H es inferior a la cota definida previamente, por
lo que se descarta. En el subproblema 7, el único punto que satisface todas las restricciones es
el punto A, con valor de la función objetivo z = 40. Como en el subproblema 7 el valor de las
variables es entero (x1 = 5 y x2 = 0) y dado que el valor de la función objetivo es mejor que la
cota actual, 40 se transforma en la nueva cota. Como el subproblema 6 presenta un valor de la
función objetivo inferior a la cota, no tiene sentido seguir ramificando, pues se ha alcanzado el
óptimo del problema.

15
16
17
5.2.4 Método planos cortantes o algoritmo fraccional de Gomory
Divide la región factible en 2 regiones que no contienen la solución del modelo de programación
lineal relajado y que sí contienen todas sus soluciones enteras factibles. Agregar restricciones a
un modelo no puede producir un modelo con mejor solución Z.

Procedimiento para maximizar:


1. Resolver el modelo de programación entera relajado: si la solución es entera es la
óptima.
2. Definir cotas superior e inferior:

Cota Superior (CS) = Modelo relajado


Cota Inferior (CI) = Redondeo factible

3. Ramificar.
4. Para cada nodo, resolver su modelo relajado y definir su cota superior y cota inferior.
Si solución es entera, o
Si solución es infactible, o Ya no ramificar
Si Z ≤ CI más el nodo

5. Si ya no se puede ramificar la solución óptima es la del nodo con mejor solución entera.
6. Si se puede ramificar, volver al paso 3.
• La cota inferior es igual a la mejor solución entera hasta el momento.
• La cota superior en un nodo es igual a Z encontrado.
• A medida que se ramifica y se desciende del árbol la cota superior tiende a
disminuir

Procedimiento para minimizar:


1. Cambiar la cota superior por la cota inferior.
2. Definir cotas superior e inferior:
Cota Superior (CS) = Redondeo factible
Cota Inferior (CI) = Modelo relajado
3. Para cada nodo:
Resolver su modelo relajado y definir su CS y CI
Si solución es entera
Si solución es infactible Ya no ramificar más el nodo.
Si Z > CS

• CS es igual a la mejor solución entera hasta el momento.


• La CI en un nodo es igual a Z encontrado.
• A medida que se ramifica y se desciende del árbol la CI tiende a aumentar.

18
Ejemplo 7
Considerando:
Max Z = 7×1 + 9×2
Sujeto a:-x1 + 3×2 ≤ 6
7×1 + x2 ≤ 35
x1, x2 enteros no negativos

La solución óptima está dada por Z = 63, x1 = 9/2 y x2 = 7/2, la cual no es entera. El algoritmo de
planos de corte cambia el conjunto del espacio de soluciones, de tal forma que los puntos
extremos apropiados llegan a ser todos enteros. Este cambio debe hacerse sin partir ninguna de
las soluciones enteras factibles del problema original.

5.2.5 Método (algoritmo) aditivo de balas

El método aditivo de Egon Balas, hace referencia a un procedimiento de enumeración que


encuentra el óptimo de manera más eficiente, evaluando algunas soluciones.

Se deben poner todas las variables iguales a cero y luego asignar a una por una de las variables
el valor 1. Posteriormente se reemplaza en cada una de las restricciones y se averigua la
infactibilidad.
Paso 1. La función objetivo debe ser del tipo minimización, con todos los coeficientes no
negativos.
Paso 2. Todas las restricciones deben ser de tipo entero con los lados derechos negativos de ser
necesario. Después estas restricciones se convierten a ecuaciones, usando las variables
auxiliares en el lado izquierdo de las restricciones.

Ejemplo 8
MAX Z = 3 Y1 + 2 Y2– 5 Y3 – 2 Y4 + 3 Y5
Sujeta a: MIN W = – 3 Y1 – 2 Y2 + 5 Y3 + 2 Y4– 3 Y5
Con restricciones:
Reemplazando: Y1 = 1 – X1; Y2 = 1 – X2; Y3 = X3; Y4 = X4; Y5 = 1 – X5
MIN W´ = 3 X1 + 2 X2 + 5 X3 + 2 X4 + 3 X5 – 8
Sustituyendo: W´ + 8 = W
MIN W = 3 X1 + 2 X2 + 5 X3 + 2 X4 + 3 X5
El problema nuevo a resolver consiste en minimizar la función objetivo, teniendo en cuenta la
medida de no factibilidad de la holgura. Cuando la infactibilidad da el menor valor, se continúa
con el siguiente paso. Cuando la infactibilidad es cero, ésta corresponde a la solución óptima.
Si existen varias infactibilidades iguales a cero, se reemplaza en la función objetivo y la
respuesta estará dada por:

X1 = 0; X2 = 0; X3 = 0; X4 = 0; X5 = 0 0 1; 0 – 2; 0 – 1; Infactibilidad 3 o X1 = 0; X2 = 0; X3 =0; X4
= 0; X5 = 0 0 2; 0 5; 0 – 12; Infactibilidad 12 o X1 = 0; X2 = 0; X3 = 0; X4 = 0; X5 = 0 0 2;0 – 2; 0 5;
Infactibilidad 2 o X1 = 0; X2 = 0; X3 = 0; X4 = 0; X5 = 0 0 0; 0 – 5; 0 – 1; Infactibilidad6 o X1 = 0;
X2 = 0; X3 = 0; X4 = 0; X5 = 0 0 – 1; 0 2; 0 2; Infactibilidad 1 o X1 = 0; X2 = 0; X3 =0; X4 = 0; X5 =
0 0 2; 0 1; 0 2; Infactibilidad 0 Solución Óptima Única X*1 = 0; X*2 = 0; X*3 = 0; X*4 = 0; X*5 =
1; W* = 3 Solución Óptima Única para el problema original: Y*1 = 1; Y*2 = 1; Y*3 = 0; Y*4 = 0;
Y*5 = 0; Z* = 5

19
5.3 Tipos de problemas

La programación entera puede resolver los siguientes problemas aplicando los métodos de
solución vistos.

5.3.1 Problema asignación de capital

Ejemplo 9
Una empresa está considerando cuatro posibles inversiones. La opción 1 tiene asociado un valor
actualizado neto (VAN) de US$16.000; la opción 2 tiene un VAN de US$22.000; la inversión 3
representa un VAN de US$12.000 y la inversión 4 posee un VAN de US$8.000. Cada inversión
requiere un capital inicial de: US$5.000, US$7.000, US$4.000 y US$3.000, para las inversiones 1,
2, 3 y 4, respectivamente. Actualmente la empresa dispone de US$14.000 para invertir.

Determinar la forma de invertir el dinero de tal forma que se maximicen las utilidades. Las
opciones son invertir o no en cada una de las posibilidades. Por lo tanto, conviene emplear
variables de tipo binarias para indicar si se escoge cada opción:

La función objetivo para el problema es (en miles):

Max Z = 16x1 + 22x2 + 12x3 + 8x4


En la función objetivo se verifica que, si la opción j se realiza, entonces xj = 1 y se suma el VAN
respectivo al valor de esta. En caso contrario, la variable xj = 0 y no se contabiliza ese aporte. Se
sigue la misma lógica para construir las restricciones.

Como existe un capital limitado de US$14.000 para invertir, se debe satisfacer (en miles):
5x1 + 7x2 + 4x3 + 3x4 ≤ 14

Como no existen otras restricciones, el modelo completo para el problema es:

Si se agregan las siguientes restricciones al problema original:


1. La empresa puede invertir en máximo dos opciones.
2. Si la empresa invierte en la opción 2, también debe invertir en la 1.
3. Si la empresa invierte en la 1, no puede tomar la opción 4.
4. Sólo se puede invertir en 3 si se escoge 1 o 2.
El planteamiento original del problema se ve modificado de la siguiente forma:
1. En este caso basta con agregar la restricción:
x1 + x2 + x3 + x4 ≤ 2

20
2. Para incorporar esta restricción, se debe imponer que si x2 = 1 necesariamente x1=1.
x2 ≤ x1 o x2 - x1 ≤ 0

Si x2 = 1 necesariamente se tendría x1 = 1. Si x2 = 0, x1 podría ser 0 o 1. Como no existen


indicaciones, en ese caso se satisface el requerimiento de la nueva restricción.

3. Esta restricción impone la condición de que las alternativas 1 y 4 sean excluyentes, en


otras palabras:
x1 + x4 ≤ 1

Como las variables son binarias, no se permite que ambas puedan ser igual a 1.

4. La variable x3 puede valer 1 sólo si x1 o x2 es igual a 1. No existen restricciones que


digan que x1 y x2 sean excluyentes, por lo tanto y eventualmente se podrían escoger
ambas. En este caso se puede agregar:
x3 ≤ x1 + x2

Luego, basta con tener un 1 a la derecha de la desigualdad para que x3 pueda tomar
valor igual a 1. Si se exigiera que debe escogerse 1 y 2 para poder seleccionar 3, la
restricción quedaría:

2. x3 ≤ x1 + x2

En este caso se requiere tener un 2 a la derecha de la desigualdad para que x3 pueda


ser igual a uno.

5.3.2 Problema de costo fijo

Ejemplo 10

Una empresa produce tres tipos de prendas: poleras, shorts y pantalones. La fabricación de cada
tipo de prenda requiere de maquinaria especializada. La maquinaria puede ser arrendada a los
siguientes costos: US$200, US$150 y US$100 al mes en el caso de las poleras, shorts y
pantalones, respectivamente. La fabricación de cada prenda requiere las cantidades de tela y
mano de obra indicadas. Cada mes se dispone de 150 horas de mano de obra y 160 yd2 de tela.
Se debe maximizar el beneficio de la empresa.
Para plantear el modelo se pueden definir las siguientes variables:

x1 = número de poleras producidas mensualmente.


x2 = número de shorts producidos mensualmente.
x3 = número de pantalones producidos mensualmente.

21
Como el costo de arriendo de la maquinaria sólo depende de la prenda producida, sería
necesario emplear variables binarias para cuantificar el hecho de arrendar o no cada máquina:

yi = 1 se arrienda maquinaria para fabricar prendas tipo i ∀ j = 1…3 0 en caso contrario

Para que el modelo funcione, se debe garantizar que:

Si xi > 0 yi = 1
Si xi = 0 yi = 0

Para ello, se deben incorporar las restricciones de activación de las variables binarias:
x1 ≤ M1y1
x2 ≤ M2y2
x3 ≤ M3y3

Los valores Mi son valores escalares lo suficientemente grandes de forma que son una cota
superior para el valor de xi en el contexto del problema. La restricción anterior activa la
variable binaria, ya que si xi > 0, para que la restricción se pueda satisfacer, la variable binaria
yi debe ser exactamente igual a 1. En el caso que xi = 0, la variable binaria yi puede o no valer 1
sin afectar la satisfacción de la restricción, sin embargo, si la variable binaria valiera 1 se estaría
considerando el costo de arriendo de una maquinaria que no se está empleando. Como el
problema es de maximización de ganancias, si no es estrictamente necesario cuantificar un
costo, el algoritmo de resolución se encargaría de hacer que la variable yi = 0 en el óptimo.

La función objetivo corresponderá a la diferencia entre los ingresos por venta, menos los
costos de producción, fijos y variables:

22
Por lo tanto, la función objetivo a maximizar queda:

Z = 6x1 + 4x2 + 7x3 - 200y1 - 150y2 - 100y3

Ahora se deben construir las restricciones del problema. En este caso, existe una disponibilidad
máxima de mano de obra y de tela. La restricción de mano de obra queda:

3x1 + 2x2 + 6x3 ≤ 150


y la de tela sería:
4x1 + 3x2 + 4x3 ≤ 160

Las restricciones anteriores permiten estimar el valor de Mi. Por ejemplo, si sólo se produjeran
artículos de tipo 1, el valor máximo a producir quedaría controlado por: mín 150/3 160/4 , es
decir, 40. Luego, basta con escoger M1 = 40, pero en general podría ser cualquier valor mayor.
En el caso de x2 controla 160/3 y para x3 basta con M3 = 25. En términos generales, los valores
de Mi sólo deben ser lo suficientemente grandes para no restringir los valores de xi por lo que
se escogería arbitrariamente:
M1 = M2 = M3 = 100
De acuerdo a la selección anterior, el modelo final para el problema queda:

5.3.3 Problemas con restricciones de tipo si... entonces

En un modelo matemático puede ocurrir que si la restricción:


f(x1,x2, …xn) > 0
se satisface, entonces la restricción:
g(x1, x2,….xn) ≥ 0
Si f ≤ 0 la restricción g ≥ 0 puede o no satisfacerse.

Para garantizar esta condición se pueden incorporar las siguientes restricciones:

El valor de M debe ser escogido de tal forma que si f · M y ¡g · M se asegure que todos los valores
de x1, x2, …xn satisfagan las restricciones. Si la variable binaria vale cero, se tiene f ≤ M, en
particular f > 0. Por otro lado, si y = 0 se tiene -g ≤ 0 o bien g ≥ 0. En caso contrario, cuando y = 1
se tiene f ≤ 0, es decir, no se puede cumplir que f > 0. Si y = 1 se tiene -g ≤ M, es decir, se cumple
si g ≥ 0 o si g < 0.

23
En suma, si se satisface f > 0, la variable binaria debe valer 1 lo que obliga a satisfacer g ≤ 0.

Ejemplo 11

Se tiene:
x1 > 0 x2 = x3 = 0

En forma equivalente se tiene:


Si x1 > 0 x2 + x3 ≤ 0 o -x2 - x3 ≥ 0
De esta forma se incorpora:

El valor de M no tiene por qué ser único. En este caso, se pueden emplear los valores de Mi
calculados previamente:

5.3.4 El modelo tipo “mochila”

Ejemplo 12

Una persona dispone de $14.000 y desea escoger la mejor combinación entre cuatro alternativas
de inversión: Alternativa Inversión V

Sea:
Xj = 1 si decide invertir en alternativa j = 1,2,3,4
= 0 si no se decide invertir
Máx Z = 16 x1 + 22 x2 + 12 x3 + 8 x4
5 x1 + 7 x2 + 4 x3 + 3 x4 ≤ 14
La solución del modelo binario indica la mejor combinación.
Formulación:
Objetivo: Incluir el máximo número de productos de distinto valor (ci) en un espacio limitado (b)

24
5.3.5 Problema de producción

Ejemplo 13

Un fabricante de muebles de oficina produce dos tipos de escritorios: ejecutivos y


secretariales. La compañía tiene dos plantas en las que fabrica los escritorios. La planta 1 es
una planta antigua que opera con doble turno de 80 horas por semana. La planta 2 es una
planta más nueva y no opera a su capacidad total. Cada turno de la planta 2 trabaja 25 horas
por semana y la planta opera 2 turnos. La tabla abajo muestra el tiempo de producción
(horas/unidad) y los costos estándar ($/unidad) en cada planta. También se muestran los
precios de venta de cada escritorio.
Debido a que la compañía ha estado experimentando un exceso de costos durante el último
periodo presupuestal, los administradores han fijado una restricción semanal sobre los costos
de producción.
El costo semifijo por producir en cada planta asciende a $600 y $900 para las plantas 1 y 2,
respectivamente. Además, en caso de producir algún modelo de escritorio se debe asegurar
una producción mínima de 100 unidades. El presupuesto semanal para la producción en miles
de pesos también se muestra en la tabla. ¿Cuál es el número óptimo de escritorios de cada
tipo a producirse en cada planta con el objeto de maximizar las ganancias?

25
26
5.3.6 Problema de distribución

Ejemplo 14
Una compañía tiene tres localizaciones alternativas para ubicar nuevos almacenes que den
servicio a la región norte del país. Existen 5 clientes (C1, C2, C3, C4, C5) importantes en esta
región. Se desea determinar en cuáles localizaciones se instalarán almacenes como puntos de
distribución para surtir a los clientes.

27
Resumen
La programación entera está relacionada con la solución de problemas de programación
matemática, en los cuales algunas o todas las variables sólo pueden tomar valores enteros o
negativos. Un programa entero se denomina mixto o puro, dependiendo de si algunas o todas
las variables están confinadas a valores enteros. Si en ausencia de las condiciones de
integridad o totalidad las funciones de objetivo y de restricciones son lineales, el modo
resultante se denomina programación lineal entero.

Los modelos de programación entera contienen restricciones y una función objetivo idéntica a
la formulada por la planeación lineal.

28
Bibliografía

• Bronson, R. (1993). Investigación de operaciones, México, Editorial McGrawHill.

• http://www.investigacion-operaciones.com/Curso_invOper_carpeta/Clase17.pdf
• http://www.ulpgc.es/hege/almacen/download/14/14958/programacion_ente r.pdf
• http://www.uv.es/~sala/Clase14.pdf

29

También podría gustarte