Está en la página 1de 44

UNIVERSIDAD NACIONAL EXPERIMENTAL

“FRANCISCO DE MIRANDA”
ÁREA DE TECNOLOGÍA
DEPARTAMENTO DE GERENCIA
INVESTIGACIÓN DE OPERACIONES
PROFESOR: Dr. JUAN LUGO MARÍN

Tema No. 5
Programación Lineal Entera

Introducción

En los capítulos anteriores se analizaron problemas de programación lineal


en los que las variables tomaban valores reales. Sin embargo, en muchos
casos reales, algunas o todas las variables de las variables no son reales
sino enteras, o incluso están más restringidas siendo binarias, es decir, que
toman exclusivamente los valores 0 ´o 1. Se verá en el presente tema que
el empleo de variables enteras hace más complejo el problema de
programación lineal, debido a la ausencia de continuidad.
En este tema se dan algunos ejemplos de problemas lineales entero puro,
entero-mixtos (PLEM), y en algunos de ellos, se emplean variables binarias.

Programación Lineal Entera – Algunas Definiciones

En todos los temas anteriores hemos venido trabajando con Modelos de


Programación Lineal los cuales, como vimos, constituye un procedimiento o
algoritmo matemático mediante el cual se resuelve un problema, formulado
a través de ecuaciones lineales, optimizando la función objetivo, también
lineal. Es decir, consiste en optimizar (minimizar o maximizar) una función
lineal, que denominaremos función objetivo, de tal forma que las variables
de dicha función estén sujetas a una serie de restricciones que expresamos
mediante un sistema de inecuaciones lineales.

1
La Programación Lineal representa una técnica cuantitativa ampliamente
aplicada en sistemas que presenten relaciones lineales, para utilizar los
recursos escasos de la mejor manera posible. En los temas anteriores los
modelos que hemos considerado admiten cualquier valor positivo para las
variables de decisión, sea éste entero o no.
Hay muchos problemas reales en los que los valores que pueden tomar
las variables de decisión están confinados a valores enteros, el fondo del
asunto es que existen muchos problemas reales importantes que serían de
programación lineal si no fuera por el requerimiento de que algunas de las
variables sean enteras. Este tipo de problemas deben ser resueltos
mediante algoritmos especialmente diseñados para resolver problemas de
programación entera.
Los científicos del campo de las ciencias administrativa han advertido la
importancia de los problemas de programación lineal entera desde hace
años, y una buena cantidad de trabajo y de tiempo se han dedicado para
investigar la solución de este tipo de problemas. Dichos esfuerzos han
redituado dividendos y se ha producido un marcado progreso en esta área
durante los últimos años. También debe apuntarse que los grandes
avances en la tecnología de la computación han sido una contribución
crucial para el incremento de la capacidad de resolución de este tipo de
problemas.

Tipos de Modelos de Programación Lineal Entera

a. Entera pura: son aquellos en que todas las variables únicamente pueden
tomar valores enteros. También se distinguen dentro de estos los
problemas totalmente enteros como aquellos en que tanto las variables
como todos los coeficientes que intervienen en el problema han de ser
enteros.

Es un término general para los modelos de programación matemática


que presentan condiciones de ser enteros (condiciones que estipulan que
algunas o todas las variables de decisión deben tener valores enteros).

2
Un modelo entero puro (PEP) es, como su nombre lo indica, un
problema en el que se exige que todas las variables de decisión tengan
valores enteros. Por ejemplo

Minimizar 6X1 + 5X2 + 4X3

Sujeto a 108X1 + 92X2 + 58X3 ≥ 576

7X1 + 18X2 + 22X3 ≥ 83

X1, X2, X3 ≥ enteros

b. Mixtos: son aquellos en los que hay al mismo tiempo variables continuas
y variables enteras.

Un problema en el que sólo se requiere que algunas variables tengan


valores enteros mientras que otras pueden asumir cualquier número no
negativos (es decir, cualquier valor continuo) se llama programación lineal
entera-mixta (PLEM)

El problema resultante es

Minimizar 6X1 + 5X2 + 4X3

Sujeto a 108X1 + 92X2 + 58X3 ≥ 576

7X1 + 18X2 + 22X3 ≥ 83

X1, X2, X3 ≥ 0 ; X1 y X2 enteros.

3
c. Binarios o programación lineal entera 0-1 las variables sólo pueden tomar
los valores cero o uno.

Son de interés debido a que se pueden usar las variables 0-1 para
representar decisiones dicotómicas (sí o no).

Diversos problemas de asignación, ubicación de planta, planes de


producción y de construcción, son de programación lineal entera 0-1. Las
variables 0-1 se pueden encontrar tanto en problemas de PEP como PLEM.

A menudo se consideran problemas de programación lineal (PL) que


se comienzan como PEP o PLEM, ignorando las restricciones enteras. A
estos problemas de PL se les llama aproximaciones en las PEP o PLEM
correspondientes.

Aplicaciones de la Programación Lineal Entera

En un comienzo la aplicación de la programación lineal estuvo


concentrada en las operaciones de planificación militar, sin embargo estos
modelos emigraron rápidamente hacia la industria. Hoy día con el aumento
de las capacidades computacionales más y más empresas tienen acceso a
las ventajas de los modelos de programación lineal. Modelos en los bancos,
en la planificación, en el diseño de computadores y redes, en modelos
médicos son algunos ejemplos importantes de las aplicaciones posibles de la
PL. En este punto se muestra brevemente algunos de los miles de modelos
actualmente documentados. (Algunos de ellos requieren restricciones
enteras)
a. Asignación de la Flota de Aviones: Normalmente el departamento
de marketing de las aerolíneas entrega una planificación para la conexión
entre diferentes ciudades, considerando la demanda, costos de operación,
para cada tipo de aeronave. Los modelos lineales se han usado para
planificar para cada aeronave una secuencia de tiempo, aeropuertos
buscando maximizar las ganancias y la satisfacción de los clientes.

4
b. Planificación de la expansión de redes de telecomunicaciones: Las
compañías de telecomunicaciones están obligadas a modernizarse y a
expandir continuamente sus redes a una tasa rápida para poder satisfacer
la demanda siempre creciente de clientes. Ellos deben decidir entre usar
cables dedicados para cada circuito requerido o usar multiplexores, switches
remotos o terminales de fibra óptica. Los modelos lineales se han usado
para minimizar el costo total de la expansión e instalación de la red.

c. Control de la Contaminación Ambiental: El gobierno regula la


cantidad máxima permitida de emisiones de gases (monóxido de carbono,
hidrocarburos, etc) de las distintas fuentes de contaminación. Industrias e
individuos pueden reducir estas emisiones de diferentes formas. Modelos
lineales se han usado para definir las regulaciones del gobierno a un mínimo
costo.

d. Distribución en los bancos de sangre en los hospitales: La sangre


se almacena en "bancos de sangre" los que proveen directamente a los
hospitales. En el tiempo la sangre se deteriora. Uno de los objetivos de los
bancos de sangre que no buscan fines de lucro (como en Inglaterra) es
localizar abastecedores de sangre en los hospitales, de tal forma, de
"minimizar la sangre que vence" (es decir, aquella que no ha sido utilizada
en cierta unidad de tiempo). Los modelos lineales se han usado para lograr
este objetivo, pero asegurándose a la vez que los requerimientos mínimos
de los hospitales sean satisfechos.

e. Agricultura: Los agricultores deben localizar áreas de plantación sujetas


a varias restricciones como subsidios del gobierno, disponibilidad de capital
y de mano de obra, riego, transporte y uso de equipamiento. Basado en un
conjunto razonable de expectativas de precios se usó la programación lineal
para desarrollar un plan de uso de la tierra y control de stock buscando la
maximización de ganancias anuales. El resultado de los análisis de
sensibilidad le da ciertas herramientas al agricultor para responder al "qué
hacer si...” y así planificar en mejor forma.

5
f. Defensa/Aeroespacial: Las compañías de defensa y aeroespaciales
reciben contratos para construir determinados componentes para los
militares y la NASA. En cada caso los componentes deben ser entregados en
varias etapas a lo largo de la duración del contrato. Modelos lineales se han
usado para determinar la planificación de la producción que minimice el
costo total del proyecto.

g. La industria diaria: En las plantas procesadoras de leche, muchos


productos se producen directamente de la leche procesada incluyendo
varios tipos de leche, quesos, mantequilla y leche en polvo. Y otros
productos como la crema y la lactosa se producen usando un segundo
proceso. Cada día los administradores de esas plantas deben tomar
decisiones de planificación para el flujo de producto, equipo, asignación de
personal, y transporte. Los modelos lineales se han usado para determinar
la planificación de la producción óptima que toma en cuenta las limitaciones
de la capacidad de los equipos, demanda, flujo de producto.

h. Distribución de materia prima: Finlandia es uno de los productores


más importantes de madera, debido a la gran cantidad de bosques que se
extiende en todo su territorio. A causa de las condiciones climáticas
adversas el corte de los árboles y su transporte a las fábricas es de gran
complejidad y tiene involucrado proyectos de millones de dólares. Se
crearon modelos de programación lineal para lograr la asignación de
chóferes a camiones, de estos últimos a rutas, para que cumplieran visitas
entre fábricas buscando que el modelo global minimizara los costos. Todo
ello bajo restricciones de horas de trabajo por chofer, de horarios de
atención de las fábricas, condiciones de la ruta y rutas alternativas.

6
Interpretación Gráfica de los Modelos de Programación Lineal
Entera

Considérese el siguiente problema:

Maximizar 18E + 6F

Sujeto a E+ F≥5 (1)

42.8E + 100F ≤ 800 (2)

20E + 6F ≤ 142 (3)

30E + 10F ≥ 132 (4)

E– 3F ≤ 0 (5)

E y F ≥ enteros

Las restricciones:

(1) refleja una necesidad para cumplir un compromiso previo.


(2) y (3) son limitaciones del tiempo de producción de los departamentos A
y B respectivamente.

(4) representa en parte un acuerdo sindical.

(5) se impone debido a un criterio del administrador relativo a la adecuación


de la producción mixta.

En el análisis, E es el numero de los E-9 y F el de los F-9 que la empresa


Protrac que produce equipo pesado para la construcción.

Para resolver este problema con el tratamiento gráfico, prescribimos tres


pasos:

1. Encuéntrese el conjunto factible para la aproximación de la PL del


problema de PLE.

7
2.- Identifique los puntos enteros del inferior del conjunto determinado en
el paso 1.

3.- Encuéntrese, entre los puntos determinados en el paso 2, el que


optimiza la función objetivo.

Los dos primeros pasos han sido realizados ya en la figura mostrada


anteriormente. La región demarcada es el conjunto factible de
aproximación en la programación lineal y los puntos rojos son los puntos
enteros contenidos en este conjunto.

Y estos son (3,6); (4,6); (3,5), (4,5); (5,5); (4,4); (5,4); (4,3);
(5,3), (6,3); (4,2); (5,2) y (6,2)

Para resolver este problema, debemos determinar ahora cual de los


puntos factibles produce el valor mayor para la función objetivo.

8
Se procede como en el problema de PL, o sea moviendo el contorno
de la función objetivo cuesta arriba (dado que estamos trabajando con un
modelo para maximizar) hasta que ya no sea posible hacerlo más sin
abandonar el conjunto factible.

Podemos observar que la solución optima de PLE es el punto E = 6, F


= 3. Y como la función objetivo es 18E + 6F, la solución obtenida para ésta
es un valor optimo de 18(6) + 6(3) = 126.

9
Aquí también se ilustran algunos hechos en relación con la
aproximación de la PL. La solución optima con la aproximación de la PL
ocurre en la intersección de las rectas 42,8E + 100F = 800 y 20E+ 6F =
142. Puesto que la intersección de las dos restricciones no se presenta en
un punto entero, la solución óptima de la aproximación con la PL no es
factible para la PLE.
E* = 5.28 y F* = 5.74 con valor optimo (Vo) Vo = 129.48.

Al agregar cualquier restricción o un problema de programación


matemática no puede mejorar, y sí empeorar, el valor optimo de la función
objetivo.
Por lo tanto, nuestro valor óptimo disminuye sumando las restricciones de
enteros.

Formulación de Modelos de Programación Lineal Entera

1. Dorian Auto proyecta fabricar tres (3) tipos de automóviles:


compactos, medianos y grandes. El recurso que requiere cada tipo de
automóvil y las utilidades que genera, se proporciona más adelante
en una tabla. Ahora dispone de 6000 toneladas de acero y 60000
horas de mano de obra. Para que la producción de un tipo de
automóvil sea factible desde el punto de vista económico, se tienen
que producir por lo menos 1000 automóviles de ese tipo. Plantee una
PE para maximizar las utilidades de Dorian.

Recursos y utilidades para los tres (3) tipos de automóviles:

TIPO DE AUTOMOVIL
RECURSO COMPACTO MEDIANO GRANDE
Acero necesario 1.5 toneladas 3 toneladas 5 toneladas
Mano de obra requerida 30 horas 25 horas 40 horas
Utilidad generada 2000 3000 4000

10
Puesto que Dorian tiene que determinar cuántos automóviles de cada tipo
tiene que fabricarse, se definen:

X1= número de automóviles compactos fabricados.


X2= número de automóviles medianos fabricados.
X3= número de automóviles grandes fabricados.

La función objetivo de Dorian es:

Max= 2x1 + 3x2 + 4x3

Ya sabemos que si se fabrican automóviles de un tipo dado, entonces se


tienen que producir por lo menos 1000 automóviles de ese tipo. Por lo
tanto, para i= 1, 2, 3, debemos tener X1 ≤ 0 ó ≥ 1000. El acero y la mano
de obra son limitados, por eso Dorian tiene que cumplir con las cinco (5)
restricciones siguientes:

Restricción 1 x1 ≤ 0 ó x1 ≥ 1000
Restricción 2 x2 ≤ 0 ó x2 ≥ 1000
Restricción 3 x3 ≤ 0 ó x3 ≥ 1000
Restricción 4 Los automóviles fabricados pueden utilizar a lo más 6 000
toneladas de acero.
Restricción 5 Los automóviles fabricados pueden utilizar a lo más 60 000
horas de mano de obra.

2. Gandhi Cloth Company fabrica tres (3) tipos de prendas de vestir:


camisetas, shorts y pantalones. La elaboración de cada tipo de de
prenda requiere que Gandhi tenga disponible el tipo de maquinaria
apropiada. La maquinaria necesaria para manufacturar cada tipo de
prenda se tiene que rentar a las siguientes tarifas: maquinaria para
camisetas, 200 dólares por semana; maquinaria para shorts, 150
dólares por semana; maquinaria para pantalones, 100 dólares por

11
semana. La hechura de cada tipo de prenda también requiere las
cantidades de tela y mano de obra que se indican en la tabla 1. Están
disponibles cada semana 150 horas de mano de obra y 160 yardas
cuadradas de tela. El costo unitario variable y el precio de venta para
cada tipo de prenda, se proporciona en la tabla 3. Formule un PE
cuya solución maximice la utilidad semanal de Gandhi.

Gandhi tiene que decidir cuantas prendas de cada tipo debe fabricar a la
semana, así que definimos:

X1= cantidad de camisetas fabricadas a la semana.


X2= cantidad de shorts fabricados a la semana.
X3= cantidad de pantalones fabricados a la semana.

Tabla 1. Recursos necesarios para Gandhi.

TIPO DE PRENDA MANO DE OBRA TELA


(H) (YARDAS CUADRADAS)
Camiseta 3 4
Shorts 2 3
Pantalones 6 4

Tabla 2. Ingresos e Información del costo para Gandhi.

TIPO DE PRENDA PRECIO DE VENTAS COSTO VARIABLE


(DOLARES) (DOLARES)
Camiseta 12 6
Shorts 8 4
Pantalones 15 8

La utilidad semanal de Gandhi (U.S.G) se expresa de la siguiente manera:

12
USG= (ingresos por las ventas semanales) – (costos variables semanales) –
(costos semanales de la renta de maquinaria). También,
Costo a la semana de la renta de maquinaria = 200y1 + 150y2 +
100y3

Utilidades de la semana= (12x1 + 8x2 + 15x3) – (6x1 + 4x2 + 8x3) – (200y1


+ 150y2 + 100y3)

Utilidades de la semana= 6x1 + 4x2 + 7x3 – 200y1 - 150y2 – 100y3

Por lo tanto Gandhi desea maximizar

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

Ya que el suministro de tela y de mano de obra es limitado, Gandhi afronta


las dos (2) restricciones siguientes:

Restricción 1, se puede usar cada semana cuando mucho 150 horas de


mano de obra. Se expresa:
3x1 + 2x2 + 6x3 ≤ 150

Restricción 2, se puede usar cada semana cuando mucho 160 yardas


cuadradas de tela. Se expresa:
4x1 + 3x2 + 4x3 ≤ 160

Se genera PE:

Max z= 6x1 + 4x2 + 7x3 – 200y1 - 150y2 – 100y3


S.a 3x1 + 2x2 + 6x3 ≤ 150
4x1 + 3x2 + 4x3 ≤ 160
X1, X2, X3 ≥0; X1, X2, X3 son enteros

13
Y1, Y2, Y3 = 0 ó 1

3. Hay seis ciudades (ciudades 1 a 6) en el condado de Kilroy. El


condado debe decidir donde construir la estación de bomberos.
Asimismo, el condado quiere construir la cantidad mínima de
estaciones de bomberos necesarias para tener la certeza de que por
lo menos una está dentro de 15 minutos (tiempo de manejo) de cada
ciudad. Los tiempos (en minutos) necesarios para ir en automóvil de
una ciudad a otra del condado se indica en la tabla 1. Plantee una PE
mediante el cual Kilory sepa cuantas estaciones de bomberos debe
construir y donde ubicarlas.

Tabla 1. Tiempo necesario para viajar de ciudad a ciudad en el


condado
de Kilory
A
Desde Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 Ciudad 5 Ciudad 6
Ciudad 1 0 10 20 30 30 20
Ciudad 2 10 0 25 35 20 10
Ciudad 3 20 25 0 15 30 20
Ciudad 4 30 35 15 0 15 25
Ciudad 5 30 20 30 15 0 14
Ciudad 6 20 10 20 25 14 0

Definimos las variables 0-1 (binarias) x1, x2, x3, x4, x5 y x6 mediante
X1 = 1 si se construye una estación de bomberos en la ciudad i.
0 si no sucede así.
Entonces la cantidad total de estaciones de bomberos que se construyen,
está dada por x1 + x2 + x3 + x4 + x5 + x6, y la función objetivo de Kilory se
tiene que minimizar
Z= x1 + x2 + x3 + x4 + x5 + x6

14
Restricciones. El condado debe tener la certeza de que hay una estación de
bomberos a 15 minutos de cada ciudad. En la tabla 2 se indica a cuales
lugares se puede llegar en 15 minutos o menos. Para asegurar que por lo
menos una estación de bomberos esta a 15 minutos de la ciudad 1, se
suma la restricción
x1 + x2 ≥ 1 (restricción de la ciudad 1) esta restricción asegura que x1 = x2
= 0 es imposible, de modo que por lo menos una estación de bomberos se
construirá a 15 minutos de la ciudad 1. De manera igual, la restricción
x1 + x2 + ≥ 1 (restricción de la ciudad 2) asegura que por lo menos una
estación de bomberos se localiza a 15 minutos de la cuidad 2. Las
restricciones para las ciudades de 3 a 6 se obtienen de modo similar.
Tabla 2. Ciudades a 15 minutos de una ciudad particular.
Ciudad A 15 minutos
1 1, 2
2 1, 2, 6
3 3, 4
4 3, 4, 5
5 4, 5, 6
6 2, 5 ,6

Min Z= x1 + x2 + x3 + x4 + x5 + x6
S.a x1 + x2 ≥1 (Restricción de la ciudad 1)
x1 + x2 + x6 ≥1 (Restricción de la ciudad 2)
x3 + x4 ≥1 (Restricción de la ciudad 3)
x3 + x4 + x5 ≥1 (Restricción de la ciudad 4)
x4 + x5 + x6 ≥1 (Restricción de la ciudad 5)
x2 + x5 + x6 ≥1 (Restricción de la ciudad 6)
xi = 0 o 1 (i= 1, 2, 3, 4, 5, 6)

15
Algoritmos para resolver Modelos de Programación Lineal Entera

METODO DE RAMIFICAR Y ACOTAR:

El método de ramificación y acotación, más conocido por su nombre en


inglés Branch and Bound, recibe su nombre precisamente por las dos
técnicas en las que basa su desarrollo, que son la ramificación y la
acotación.

El método de ramificación y acotación comienza por resolver el PLA, de


modo que si la solución al PLA verifica las condiciones de integridad,
entonces también es la solución al problema entero, en caso contrario se
comienza con la ramificación del problema.

La ramificación consiste en dividir cada problema en dos nuevos


subproblemas, obtenidos mediante la imposición 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 PLA una variable que ha de ser entera xi toma el


valor xbi no entero, entonces se generan a partir de dicho valor dos
restricciones xi ≤ [xbi] y xi ≥ [xbi]+1 (siendo [xbi] la parte entera por
defecto de xbi), que añadidas cada uno por separado al problema original,
da lugar a dos nuevos subproblemas. Vamos a explicar este proceso a
traves de un ejemplo particular:

Consideremos el siguiente problema

Max F(x) = 4x1 + 5x2 (1)


S.a. 2x1 + x2 ≤ 8
x2 ≤ 5

16
x1,x2 ≥ 0 y enteras

La solución al PLA, prescindiendo de la condición de que las variables han


de ser enteras es x1 = 1,5, x2 =5 y F(x) = 31 como dicha solución no
verifica las condiciones de integridad se elige 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:

Max F(x) = 4x1 + 5x2 (1.1) Max F(x) = 4x1 + 5x2 (1.2)
S.a 2x1 + x2 ≤ 8 S.a 2x1 + x2 ≤ 8
x2 ≤ 5 x2 ≤ 5
x1 ≤ 1 x1 ≥ 2
x1,x2 ≥ 0 x1,x2 ≥ 0

De este modo 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 darán lugar a otros dos subproblemas cada uno de ellos y así
sucesivamente hasta que en todos los subproblemas tengan solución entera
o infactible.

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 el hecho de que dado que los conjuntos de


oportunidades del subproblema 1.1. (S11) y del subproblema 1.2 (S12) son
a su vez subconjuntos del conjunto de oportunidades del problema 1 (S1) la
solución óptima de los dos subproblemas siempre será inferior (problema de

17
máximo o superior para problemas de mínimo) que la solución óptima del
problema 1 por ser los conjuntos de elección menores.

Así pues, 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 sabemos que al ramificarlo nos dará como resultado
valores de la función objetivo menores o iguales, nos 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.

El proceso a seguir en la resolución de problemas enteros mediante el


método de ramificación y acotación se resume en el siguiente esquema
algorítmico:

Esquema del algoritmo de ramificación y acotación:

18
Ejemplo:

Maximizar X1 + 5X2

19
Sujeto a 11X1 + 6X2 ≤ 66 (P1)

5X1 + 50X2 ≤ 225

X1, X2 ≥ 0 enteros

Paso 1: El primer paso consiste en resolver la aproximación de PL del (P1).


Si la suerte nos acompaña, obtendremos directamente una solución óptima,
ya que siempre será cierto que si la solución de la aproximación de PL
satisface la restricción de enteros, será la solución optima.
Usando la técnica de resolución grafica para la aproximación de la (P1).

20
En la figura podemos ver el conjunto factible de dicha aproximación.
Los puntos negros son los que satisfacen la condición de enteros. (Hay 27
de dichos puntos).
La solución aproximada es:

X1* = 3.750 X2* = 4.125


Función objetivo = 24.375

Como estos valores no son enteros no se ha resuelto (P1). Solo tenemos


alguna información
(1) El valor óptimo de PL es una cota superior para el (P1). Llamemos
U a esta cota.
Sabemos entonces que:
Vo para (P1) ≤ 3.75 + 5(4.125) = 24.375 = U

(2) Si tomamos la solución óptima de PL y redondeamos a X1 = 3, X2


= 4 obtendremos
una solución factible del problema (P1). Si evaluamos ahora la función
objetivo para este punto (o para cualquier otro punto factible). Tendremos
una cota inferior del valor óptimo del problema (P1).

Llamemos F a ese valor. Por lo tanto


Valor optimo (P1) ≥ 3 + 5(4) = 23 = F
El valor de F puede ser o no el valor optimo del problema (P1). No se puede
decir por ahora.
Lo que sabemos es que 23 ≤ Vo ≤ 24.375.
• Tenemos que descubrir si se puede hallar una solución mejor. Para
hacerlo
bifurquemos.
• La información relativa a la resolución bifurcación y acotamiento se
sintetiza en
su forma típica en un “diagrama de árbol”.

21
El primer nodo es:

Mejor cota superior actual (MCSA) = 24.375

Mejor cota inferior actual (MCIA) = 23.000

U = 24.375
F = 23.000
X1* = 3.75
X2* = 4.125

1
Numero de Nodo

Paso 2: Procedemos a dividir el problema (P1) en dos más cortos. En este


caso, bifurquemos X1. Ésta es una elección arbitraria. El proceso de
bifurcación aprovecha la circunstancia de que en la solución optima del
problema (P1), o bien
X1 ≤ 3 o bien X1 ≥ 4.

¿Por qué es cierto esto?

Por qué no hay valores enteros en la región que se elimina al obligar


a X1 que sea ≤ 3 o ≥ 4.
• Y dado que X1 debe ser entero, no habremos eliminado ningún punto
del
conjunto factible del problema (P1).
• No obstante, habremos eliminado puntos (o sea, valores no enteros)
del conjunto
factible por aproximación de PL del problema.

22
• En realidad, vemos que el valor optimo de X1, en el problema
aproximado de
(P1), no es ni ≤ 3 ni ≥ 4 y, por lo tanto, el punto optimo actual ha sido
(intencionalmente eliminado mediante el proceso de ramificación).

Este proceso crea dos nuevos problemas.

Maximizar X1 + 5X2

Sujeto a 11X1 + 6X2 ≤ 66


(P2)
5X1 + 50X2 ≤ 225

X1 ≤3

X1, X2 ≥ 0 enteros

Maximizar X1 + 5X2

Sujeto a 11X1 + 6X2 ≤ 66

5X1 + 50X2 ≤ 225 (P3)


X1 ≥4

X1, X2 ≥ 0 enteros

23
Esta figura revela dos hechos interesantes

1.- Hemos partido en dos piezas el conjunto factible de (P1) y eliminado


una región que no contiene puntos enteros. (La región eliminada esta
diagonalizada. Las rectas de acotamiento no pertenecen a la región
eliminada).
2.- Todas las soluciones enteras factibles de (P1) están contenidas ahora
o bien en (P2) o en (P3). Dado que las funciones objetivos de (P1), (P2) y
(P3) son idénticas, se sigue que la solución óptima de (P2) o la de (P3)
deben ser la solución óptima de (P1), el problema original de la PLE.
Entonces podemos olvidar (P1) y considerar solamente (P2) y (P3).
El tratamiento de bifurcación y acotamiento procede a resolver las
aproximaciones de los problemas (P2) y (P3). Las soluciones óptimas son:

24
(P2) (P3)
U = 24.00 U = 22.333

Ya indicamos que la solución optima de (P1) está en (P2) o en (P3);


así es que el valor óptimo de (P1) debe ser ≤ al máximo de los valores de U
proporcionados por estos dos nodos. Y ya que el nodo 2 produce un U = 24
y el nodo 3 un U = 22.333 nuestra mejor cota actual es 24.00

Figura 3
MCSA = 24.00
MCIA = 23.00

U = 24.375
F = 23.00
X1* = 3.75
X2* = 4.125
1

X1 ≥ 4
X1 ≤ 3

U = 24.00 U = 22.33
X1* = 3.00 X1* = 4.00
X2* = 4.20 X2* = 3.667

2 3

25
26
Dado que ni el nodo 2 ni el 3 tienen solución entera, no hemos obtenido
una nueva solución factible.
Para decidir qué haremos en seguida consideremos los nodos del
pie de nuestro árbol, en este caso los nodos 2 y 3.
Observemos que la cota superior del nodo 3 es 22.333 y que el
valor actual de la MCIA es 23.00. Por lo tanto, hemos encontrado ya una
mejor solución que la que hubiéramos podido obtener en el conjunto
factible para (P3). Por lo tanto, podemos ignorar a (P3) y concentrar
nuestros esfuerzos en (P2).
Para continuar consideremos ahora (P2). Todavía no conocemos
la solución optima de (P2), ya que aún no tenemos un valor entero para
X2*, lo abordaremos con el método rama-limite, por lo que debemos
ramificar otra vez. La variable X1 es entera en la solución óptima del
problema (P2). Por lo tanto, debemos ramificar a X2, lo que haremos
usando las restricciones X2 ≤ 4 o X2 ≥ 5. Al hacerlo, reemplazaremos el
problema (P2) por lo siguiente.

Maximizar X1 + 5X2

Sujeto a 11X1 + 6X2 ≤ 66


(P4)
5X1 + 50X2 ≤ 225

X1 ≤3

X2 ≤4

X1, X2 ≥ 0 enteros

27
Maximizar X1 + 5X2

Sujeto a 11X1 + 6X2 ≤ 66

5X1 + 50X2 ≤ 225 (P5)

X1 ≤3

X2 ≥5

X1, X2 ≥ 0 enteros

28
Al comparar las figuras # 2 y # 1 se advierten varios hachos importantes.

1.- El problema (P3) se conserva sin cambios (exactamente como estaba


en al
figura # 1).
2.-No se ha tenido en cuenta un conjunto adicional de puntos no enteros,
incluso la solución óptima de la aproximación de PL del problema (P2).
(La nueva área eliminada que pertenecía al conjunto factible de la
aproximación de PL del problema (P1) tiene doble diagonalizado).
3.-El conjunto restringido de la aproximación de PL del problema (P5) está
vacío. No hay puntos que satisfagan las restricciones 5X1 + 50X2 ≤ 225,
X1 ≥ 0, X2 ≤ 5. Esto significa también que (P5) no tiene solución factible,
por lo que podemos olvidarnos ahora de él. (Esto se indica poniendo una T
bajo el nodo correspondiente, en este caso el # 5).

29
Podemos ver aquí que un modelo termina cuando:

1.-Su U es ≤ MCIA, o
2.-Representa un problema infactible.

Árbol Completo (Figura 4)

30
MCSA = 23.00
MCIA = 23.00

U = 24.375
F = 23.00
X1* = 3.75
X2* = 4.125
1

X1 ≤ 3 X1 ≥ 4

U = 24.00
U = 22.33
X1* = 3.00
X1* = 4.00
X2* = 4.20
X2* = 3.667
2
3

X2 ≤ 4 X2 ≥ 5
T
Infactible

U = 23.00 5
X1* = 3
X2* = 4

4
T

31
Ahora, solo necesitamos concentrarnos en el problema (P4) y
resolver su aproximación de PL, como se muestra en la figura 4.
Se revela que la solución optima de ésta, en concreto (X1* = 3, X2* = 4),
es entera. Esto significa que (X1* = 3, X2* = 4) es la solución optima de
(P4). Por esta razón, (P4) es otro nodo terminal de nuestro árbol y en la
figura 4 se ha colocado una T bajo ese nodo.
Entonces hay una tercera causa de terminación

1.-Su U es ≤ MCIA
2.-Representa un problema infactible, o
3.-La aproximación de PL produce una solución para el problema entero
representado por ese nodo.

• Observando la figura #4, vemos que el valor de la MCSA ha


cambiado del que
tenía en la figura # 3.
• La rama del nodo 2 produjo un problema infactible (nodo 5) y un
problema con
U = 23.00 (nodo 4). De modo que la mejor cota superior actual (MCSA) se
reduce de 24.00 a 23.00.

En el nodo 4 tenemos también una solución entera. Por lo tanto, este punto
es una solución factible del problema (P1). Produce un valor de 23.00 para
la función objetivo. Como la mejor cota inferior actual es 23.00, no
cambiamos la MCIA.
En general, cuando han sido terminados todos los nodos, el método de
bifurcación y acotación estará completado.
La solución óptima del problema original (P1) será la que establezca la
MCIA. En este caso, la MCIA es 23.00 y en consecuencia (X1* = 3, X2* = 4)
será la solución optima para el (P1).
A la terminación, como en la figura # 4 siempre será el caso de que MCIA =
MCSA.

32
Resolución del Modelo de Programación Lineal Entera con la ayuda
del Computador

1. Existe gran cantidad de programas comerciales de computadora para


resolver modelos lineales.
2. Todos esos programas son semejantes porque sirven para resolver
modelos lineales. Son diferentes en cuanto a la cantidad de variables y
restricciones que puede manejar, los formatos de entrada y salida de datos,
y a la implementación del Método Simplex o de Puntos Interiores.
3. Cada programa, legalmente adquirido, tiene un manual del usuario con
las instrucciones necesarias.
4. Los programas comerciales utilizados en la enseñanza, se aplican en la
solución de modelos con pocas variables y restricciones a fin de facilitar el
aprendizaje.
5. Se usará el programa LINDO ( Linear INteractive and Discrete
Optimizer), LINGO y What’s Best elaborados por Lindo Systems. En algunos
modelos se usará Quantitative System Business QSB presentado por la
Prentice Hall Inc.
6. Los programas elaborados por Lindo Systems se crearon para trabajar
con sistema operativo Windows. El Programa QSB emplea el sistema
operativo MS-DOS

El campo de aplicación de Programación Lineal es muy amplio. Entre los


modelos más utilizados, y considerados clásicos dentro de la Investigación
de Operaciones, están los de Programación de la Producción. El problema a
continuación ilustrará un caso particular para un sistema de producción.

EJEMPLO:

Una empresa manufacturera elabora tres componentes: 1, 2 y 3 para


vender a compañías de refrigeración. Los componentes son procesados en
dos máquinas A y B. La máquina A está disponible por 120 horas y la

33
máquina B esta disponible por 110 horas. No más de 200 unidades de
componente 3 podrán ser vendidos, pero hasta 1000 unidades de cada uno
de los otros dos componentes pueden ser vendidas. De hecho, la empresa
tiene ya órdenes de 600 unidades de componente 1 que deben ser
satisfechas. Los beneficios de cada unidad de los componentes 1, 2 y 3 son
de Bs. 8, 6 y 9 respectivamente. Los tiempos en minutos necesarios para
elaborar cada componente en cada máquina son:

El modelo elaborado y su solución se presentan a continuación, utilizando


diferentes programas (software) como: a) Lingo b) Lindo, c) What´sBest y
d) QSB. Puede observar la forma diferente de la entrada de datos y del
formato de resultados.

a. Uso del Programa Lingo

Introducción de datos del modelo

Max = 8C1+6C2+9C3; Función Objetivo de beneficios;


6C1+ 4C2+ 4C3 <= 7200 Minutos disponibles en la máquina 1;
4C1+ 5C2+ 2C3 <= 6600 Minutos disponibles en la máquina 2;
C3 <= 200 Cantidad de componente 1 a fabricar;
C1 <= 1000 Cantidad de componente 1 a fabricar;
C2 <= 1000 Cantidad de componente 1 a fabricar;
C1 >= 600 Cantidad de componente 1 a fabricar;

34
Solución del modelo:

Global optimal solution found at step: 4

Objective value: 10800.00

Variable Value Reduced Cost

C1 600.0000 0.0000000
C2 700.0000 0.0000000
C3 200.0000 0.0000000

Row Slack or Surplus Dual Price

1 10800.00 1.000000
2 0.0000000 1.500000
3 300.0000 0.0000000
4 0.0000000 3.000000
5 400.0000 0.0000000
6 300.0000 0.0000000
7 0.0000000 -1.000000

Ranges in which the basis is unchanged:

Objective Coefficient Ranges

35
Current Allowable Allowable
Variable Coefficient Increase Decrease

C1 8.000000 1.000000 INFINITY


C2 6.000000 3.000000 0.6666667
C3 9.000000 INFINITY 3.000000

Righthand Side Ranges

Row Current Allowable Allowable


RHS Increase Decrease
2 7200.000 240.0000 2800.000
3 6600.000 INFINITY 300.0000
4 200.0000 700.0000 100.0000
5 1000.000 INFINITY 400.0000
6 1000.000 INFINITY 300.0000
7 600.0000 400.0000 85.71429

b. Uso del Programa Lindo:

Introducción de datos del modelo y Solución del modelo:

MAX 8 X1 + 6 X2 + 9 X3

SUBJECT TO

2) 6 X1 + 4 X2 + 4 X3 <= 7200
3) 4 X1 + 5 X2 + 2 X3 <= 6600
4) X3 <= 200

36
5) X1 <= 1000
6) X2 <= 1000
7) X1 >= 600
END

LP OPTIMUM FOUND AT STEP 5

OBJECTIVE FUNCTION VALUE

1) 10800.0000

VARIABLE VALUE REDUCED COST


X1 600.000000 .000000
X2 700.000000 .000000
X3 200.000000 .000000

ROW SLACK OR SURPLUS DUAL PRICES


2) .000000 1.500000
3) 300.000000 .000000
4) .000000 3.000000
5) 400.000000 .000000
6) 300.000000 .000000
7) .000000 -1.000000

NO. ITERATIONS= 5

RANGES IN WHICH THE BASIS IS UNCHANGED:

OBJ COEFFICIENT RANGES

37
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE

X1 8.000000 1.000000 INFINITY


X2 6.000000 3.000000 .666667
X3 9.000000 INFINITY 3.000000

RIGHTHAND SIDE RANGES

ROW CURRENT ALLOWABLE ALLOWABLE


RHS INCREASE DECREASE
2 7200.000000 240.000000 2800.000000
3 6600.000000 INFINITY 300.000000
4 200.000000 700.000000 100.000000
5 1000.000000 INFINITY 400.000000
6 1000.000000 INFINITY 300.000000
7 600.000000 400.000000 85.714290

38
c. Uso del Programa WHAT´sBEST

Introducción de datos del Modelo:

Solución del Modelo:

39
d. Uso del Programa QSB:

Solución del Modelo:

40
A continuación aparece el informe de resultados para este modelo. Allí se
indica el lugar o posición donde se lee cada valor señalado en dicho
informe.

INFORME DE RESULTADOS:

Solución Óptima.

En cualquiera de los formatos de salida de datos puede leer la misma


solución:

Fabricar 600 componentes 1, fabricar 700 componentes 2 y 200


componentes 3.

41
Para nombrar estas variables de decisión en los programas, pueden ser
usadas diferentes denominaciones. En el manual de los programas se
incluye más información al respecto. En este modelo, los nombres que se
han colocado en cada programa se leen:

En Lingo: en la columna “VALUE” y las filas con los nombres C1, C2, y C3.
En Lindo: en la columna “VALUE” y las filas con denominación X1, X2, y
X3.
En What´sBest: en las columnas C1,C2 y C3 y la fila CANTIDAD
PRODUCIDA
En QSB: en la columna “Variables Names” y las filas con denominación X1,
X2, y X3.

El número de iteraciones realizadas para llegar al óptimo depende del


algoritmo de solución utilizado.

Función Objetivo:

Los Beneficios Máximos obtenidos por su producción y venta es de 10.800


unidades monetarias. (Recuerde que en los resultados se usa notación
inglesa; cualquier cantidad colocada después del punto, es un decimal).

Se lee en Lingo: en “Objective value”.


Se lee en Lindo: en “OBJECTIVE FUNCTION VALUE”
Se leen en QSB: en la tabla de resultados en la fila con texto “Maximum
Value of the OBJ”
Se lee en What´sBest: en “BENEFICIO TOTAL”

Holguras:

42
Restricción 1: Holgura de valor cero. NO quedan minutos disponibles en la
máquina 1. Se utiliza la totalidad máxima disponible de minutos en esa
Máquina 1

Restricción 2: Holgura de valor 300. Queda un disponible de 300 minutos


sin utilizar en la Máquina 2, con relación al total máximo establecido en la
Máquina 2.

Restricción 3: Holgura de valor cero. No se deja de fabricar C3 con relación


a la cantidad máxima establecida. Se fabrica el máximo establecido que se
puede vender.

Restricción 4: Holgura de valor 400. No se fabrican 400 componentes 1 con


relación al máximo que se puede vender. Se fabrican 600.

Restricción 5: Holgura de valor 300. No se fabrican 300 componentes 2 con


relación al máximo que se puede vender. Se fabrican 700.

Restricción 6: Holgura de valor cero. No se fabrica C1 por encima de la


cantidad mínima demandada. Se fabrica el mínimo para cubrir la demanda
ya contratada.

Se leen en Lingo y en Lindo en “SLACK or SURPLUS” a partir de la fila


(row) 2 correspondiente a la primera restricción.

Se lee en What´sBest: en “cantidad en el óptimo” indicándose para cada


restricción.

Se leen en QSB: en la columna “Variables Names” y las filas con


denominación S1, S2, ......, S6

43
Bibliografía

Anderson, D.; Sweeney, D.; Williams, T. (2004). Métodos cuantitativos para los
negocios. México. Editorial Thomson.

Eppen, G.; Gould, F. J.; Moore, J.; Schmidt. C.; Weatherford, L. (1998). Investigación
de Operaciones en la Ciencia Administrativa. México. Editorial Prentice Hall

Hillier, F.; Liberman, G. (2001). Investigación de Operaciones. México. Editorial Mc.


Graw Hill.

Mathur, K.; Solow, D (1996). Investigación de Operaciones. El arte de la toma de


decisiones. México. Prentice Hall.

Taha, H. (2004). Investigación de Operaciones. México. Perason Prentice Hall.

Wayne, W. (2005). Investigación de Operaciones. Aplicaciones y Algoritmos. México.


Editorial Thomson.

44

También podría gustarte