UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg...

40
U NIDAD 6 P ROGRAMACIÓN LINEAL ENTERA de programación lineal entera. li neal entera.

Transcript of UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg...

Page 1: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

UNIDAD 6

PROGRAMACIÓN LINEAL ENTERA

de programación lineal entera.

lineal entera.

Page 2: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223
Page 3: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

223

Introducción

En la unidad 5 aprendimos a resolver modelos de P. L. por el método símplex y el dual símplex, el resultado obtenido podía ser cualquier número real, sin embargo, existen problemas que

no aceptan como solución un número real, por ejemplo, pensemos en el problema de selección de personal de la unidad 3, en este caso no podemos colocar 1.5 empleados. Por esta razón se han desarrollado algoritmos especiales para la búsqueda de soluciones enteras de modelos de P. L.

Podemos suponer que es más fácil resolver un problema de P. L. entera que uno de P. L. estándar, pero esto en general no es cierto, ya que en la actualidad no existe un algoritmo óptimo (desde el punto de vista computacional) para su puesta en práctica; por esta razón mostramos dos de los métodos más util izados en la practica:

Branch and Bound ).).

Los problemas que resuelven corresponden a los llamados modelos de programación lineal entera (P. L. E.). Estos modelos se clasif ican de la siguiente manera:

Modelos de P. L. E. puros . Cuando todas las variables de decisión sólo tienen sentido si toman valores enteros.

Modelos de P. L. E. mixtos . Cuando alguna de las variables de decisión pueden tomar valores reales y sólo un subconjunto está restringido a tomar valores enteros.

. Cuando las variables de decisión sólo pueden tomar dos valores, por ejemplo, verdadero o falso, esto se representa con cero o uno.

Empezaremos la unidad dando un ejemplo de cada uno de ellos y posteriormente analizaremos los dos métodos de solución mencionados. Estos dos métodos se estudian sólo con modelos de P. L. E. que tienen como objetivo maximizar ; para resolver problemas de minimización se sugiere obtener el modelo dual presentado en la unidad 5.

Page 4: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

224

6.1. Aplicaciones ilustrativas

En la unidad 3 obtuvimos los modelos de algunos problemas de P. L., sin embargo, no hicimos hincapié en que algunos de ellos eran modelos de P. L. E. En esencia la formulación de un modelo de P. L. E. sigue los mismos pasos que un modelo de P. L. estándar, la única diferencia es que algunas de las variables de decisión o todas están restringidas a tomar sólo valores enteros. Veamos algunos ejemplos:

Ejemplo 1

Una fábrica produce tres tipos de herramientas, taladros, máquina caladora y desarmador eléctrico. Los costos para producir cada herramienta están dados por un costo f ijo que es aplicable sólo si se produce al menos una unidad, más un costo por unidad. En la siguiente tabla mostramos los datos correspondientes.

Esto es, si producimos 3 taladros el costo es C(3) = 100 + 3(25) = 175, ya que el costo f ijo aplica desde una unidad hasta varias unidades. La empresa tiene que fabricar por lo menos 50 taladros, 80 máquinas caladoras y 100 desarmadores eléctricos, sin embargo sólo tiene un capital de $ 20 930. El taladro deja una ganancia de $ 100 por unidad, la máquina caladora $ 50 y el desarmador eléctrico $ 20. ¿Cuál es la combinación que optimiza las ganancias? Obtener el modelo de P. L. E. asociado.

Page 5: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

225

Las variables de decisión son:

x1 = número de taladros que se van a producir. x2 = número de caladoras que se van a producir. x3 = número de desarmadores que se van a producir.

Hacemos la suposición de que toda la producción se vende, ya que el problema no nos proporciona información al respecto.

La función objetivo la podemos escribir como:

Zmáx = 100x1 + 50x2 + 20x3

Las restricciones son:

100 + 25x1 + 80 + 20x2 + 50 + 10x3 < 20 930 x1 > 50 x2 > 80

x3 > 100

Por lo tanto el modelo de P. L. E. es:

Z x x x

x x xm xá

s. a.:

100 50 20

25 20 10 20 7001 2 3

1 2 3

x

x

x

xi

1

2

3

50

80

100

0 ii

xi

1 2 3, ,

enteros

La última restricción es necesaria ya que no podemos producir fracción de taladros o fracción de desarmadores. Este modelo se resuelve en la sección de problemas resueltos (problema 2).

Nota. Aquí es importante el hecho de que las variables no pueden tomar el valor cero, ya que esto cambiaría sustancialmente el modelo, debido a que el costo fijo sólo es aplicable si se produce al menos una unidad.

Page 6: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

226

Ejemplo 2

Una empresa produce tornillos y clavos. Los tornil los se venden por cajas de 100 unidades cada una, mientras que los clavos se venden a granel. La producción de cada 100 tornillos tiene un costo de $ 20, mientras que el kg de clavos tiene un costo de $ 10. La empresa tiene un capital disponible de $ 10 000 y desea saber cuál es la combinación que optimiza sus ganancias.

El precio de venta por caja de tornil los es de $ 25 mientras que el kg de clavos se vende a $ 20, la empresa debe entregar por lo menos 20 cajas de tornillos. Hallar el modelo de P. L. E. asociado a este problema.

Las variables de decisión son las siguientes:

x1 = número de cajas de tornillos producidas y vendidas. x2 = cantidad producida y vendida de clavos (en kg).

El objetivo es maximizar las ganancias de la empresa, por lo tanto la función objetivo debe cuantif icar las ganancias producidas por las diferentes combinaciones de producción:

Zmáx = 5x1 + 10x2

La primera restricción tiene que ver con el capital disponible para la producción:

20x1 + 10x2 < 10 000

La segunda restricción está en función de la demanda mínima de cajas de tornillos:

x1 > 20

Finalmente la condición de positividad:

x1, x

2 > 0

Page 7: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

227

Como los tornil los se venden por caja, entonces la variable x1 sólo toma valores enteros, mientras que la variable x2 puede tomar cualquier valor ya que la venta de clavos es a granel, esto es, podemos vender 123.4 kg de clavos.

Por lo tanto el modelo de P. L. E. es mixto, y lo escribimos a continuación:

Zmáx = 5x1 + 10x2

s. a.: 20x1 + 10x2 < 10 000 x1 > 20 con x1, x2 > 0 y x1 Z

Ejemplo 3

Una asociación crediticia de asistencia pública debe colocar como mínimo $ 15 000 en créditos personales de $ 1 000 y créditos para úti les escolares por $ 1 500. La asignación de estos créditos tiene un costo, el cual se divide en dos partes: un costo f ijo que se aplica en caso de que se asigne al menos un crédito y otra que depende del número de créditos otorgados. En la siguiente tabla presentamos estos costos:

Los costos son absorbidos por la asociación, por lo tanto desean minimizarlos. ¿Cuál es la combinación que minimiza dichos costos? Obtener el modelo de P. L. E. asociado al problema.

Las variables de decisión son:

x1 = número de créditos personales otorgados.x2 = número de créditos para úti les otorgados.

Page 8: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

228

El costo por crédito personal está dado por:

C xx x

x1 11 1

1

500 100 0

0 0( )

El costo por crédito para úti les está dado por:

C xx x

x2 22 2

2

300 150 0

0 0( )

Una primera idea puede ser escribir la función objetivo de la siguiente manera:

Zmín = 500 + 100x1 + 300 + 150x2

Esta función objetivo tiene el inconveniente de que si no se otorgan créditos para útiles, no se incurre en el costo f ijo, sin embargo, la función objetivo sí lo contabil iza. Para solucionar este problema se agregan dos variables artif iciales del tipo binario; esto es, variables que sólo pueden tomar el valor 0 o 1. Dichas variables las def inimos de la siguiente manera:

yx

x11

1

0 0

1 0

yx

x22

2

0 0

1 0

Estas restricciones las podemos escribir como:

x1 < My1

x2 < My2

Donde M > 0 es lo suf icientemente grande, de tal manera que xi < M sea trivial para cualquier restricción del problema.

Page 9: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

229

Entonces el modelo de programación l ineal se escribe como:

Z x x y y

x xm ní

s. a.:

100 150 500 300

1 000 1 500 15 0001 2 1 2

1 2

x My

x My

x x

1 1

2 2

1 2 0,

y y

M1 2 0 1

0

, o

El modelo anterior representa al problema.

Si xi > 0 entonces la desigualdad xi < Myi obliga que yi tome el valor 1. Con lo cual en la función objetivo se considera el costo f ijo. Si xi = 0 entonces la desigualdad xi < Myi hace que yi puede tomar el valor 0 o 1, pero como en la función objetivo se está minimizando, obliga que yi tome el valor 0 y, por lo tanto no se toma en cuenta el costo f ijo asociado con xi.

El modelo que se obtuvo es un modelo de P. L. E. binario ya que algunas de las variables sólo pueden tomar el valor 0 o 1, mientras que otras sólo pueden tomar valores enteros.

Con estos tres ejemplos nos damos cuenta de que la formulación de los modelos de P. L. E. sigue los mismos pasos que la de los modelos de P. L. estándar. En la siguiente sección, se verán los cambios que se deben realizar al resolver dichos modelos y de la complejidad que representan.

Ejercicio 1

1. Un modelo de P. L. cuyas variables de decisión sólo pueden tomar valores enteros se clasif ica como entero:

a) Puro.b) Mixto.c) Binario.d) Dual.

Page 10: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

230

2. Un modelo de P. L. en el que algunas variables de decisión sólo pueden tomar valores enteros se clasif ica como entero:

a) Puro.b) Mixto.c) Binario.d) Dual.

3. Un problema de P. L. donde las variables de decisión sólo pueden tomar dos posibles valores se denomina modelo:

a) Puro.b) Mixto.c) Binario.d) Dual.

4. Uno de los métodos conocidos para resolver un modelo de P. L. E. es:

a) Símplex.b) Gráf ico.c) Gomory.d) Dual.

5. Obtener el modelo de P. L. E. asociado al siguiente problema:

Una empresa produce 2 tipos de refacciones para automóviles. El costo por unidad para la refacción 1 es de $ 2, mientras que el costo de la refacción 2 es de $ 1. Se tiene un presupuesto de $ 2 500 para la fabricación del lote. La uti lidad de la refacción 1 es de $ 5, mientras que para la refacción 2 es de $ 6. El departamento de ventas informa que se pueden vender fácilmente hasta 250 unidades de la refacción 1 y hasta 100 unidades de la refacción 2. Se trata de optimizar la util idad de la empresa.

Page 11: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

231

6.2. Algoritmos para la solución de modelos de P. L. E.

Se mencionó al inicio de la unidad que no es fácil resolver los modelos de P. L. E., ya que si bien el número de posibles soluciones disminuye, nada nos garantiza que el vértice solución óptima del problema contenga en sus coordenadas sólo valores enteros. Sin embargo, la P. L. E. tiene tantas aplicaciones que es necesario contar con algoritmos que permitan resolverlos de manera óptima. En esta sección vamos a estudiar dos de los métodos más util izados en la actualidad:

Como no existe el método óptimo, en ocasiones conviene uti l izar uno, mientras que en otras puede ser que no funcione. El gran problema surge al implementarlos en la computadora, ya que el método de ramif ica y acota requiere de demasiadas operaciones, lo cual lo vuelve costoso, mientras que el método de corte es más económico, pero no siempre converge a la solución óptima.

Al resolver un modelo de P. L. E., la primera idea que surge es la de resolver el modelo como un problema de P. L. estándar. Una vez que se tienen la solución, si ésta cumple con las condiciones de que todas las variables de decisión sean enteras, entonces el problema está resuelto. Si no, entonces podemos redondear los valores y aplicar el proceso hacia la solución del modelo de P. L. E. A continuación se presentan ejemplos para analizar a fondo.

Page 12: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

232

Ejemplo 4

Resolver el siguiente modelo de P. L. E. puro.

Z x x

x x

x

x

m x

.

.

á

s. a.:

3 4

5 5

3 5

1 2

1 2

2

1,,

,

x

x x2

1 2 0

enteros

Por el método símplex se obtiene la solución óptima del modelo (sin considerar la restricción de que x1 y x2 deben ser enteros):

x1 = 2 x2 = 3.5

Y el valor de la función objetivo es: Z = 20.

Observamos que la variable x1 si satisface la restricción de ser entera, sin embargo, la variable x2 no lo satisface. Si redondeamos el valor de x2 obtenemos:

x1 = 2x2 = 4

El punto (x1, x2) no está dentro de la región factible, por lo tanto tenemos que modif icar el valor de x2, con lo cual obtenemos la solución óptima:

x1 = 2 x2 = 3 con Zmáx = 18

que satisface la condición de que las variables sean enteras.

El método de ramif ica y acota toma la idea anterior, sólo que ahora analiza todas las posibilidades de redondeo. Para ello va formando un árbol de combinaciones, como los uti lizados en probabilidad. A continuación describimos el algoritmo del método:

Page 13: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

233

Paso 1. Se resuelve el modelo uti l izando el método símplex, sin tomar en cuenta las restricciones de que las variables deben tomar valores enteros. Si la solución óptima del problema satisface la condición de ser entera, el modelo esta resuelto. Parar. Si no, continuar con el algoritmo.

Paso 2. Se toma una de las variables que no es entera y se toma el valor del entero próximo mayor y el valor del entero próximo menor. Se plantean dos nuevas restricciones: que la variable sea mayor al entero mayor y que la variable sea menor al entero menor.

Paso 3. Una vez hecho esto se plantean dos nuevos modelos de P. L. que se deben resolver. Cada uno de ellos se obtiene al agregar una de las dos restricciones del punto anterior.

Paso 4. Se resuelve cada uno de los modelos uti l izando el método símplex. Si la solución óptima es entera se anota el valor de la función objetivo. Si la solución óptima de todos los modelos ya es entera se pasa al punto 5, si no, se aplica nuevamente el método desde el punto 2, para cada uno de los modelos que tiene solución no entera.

Paso 5. Se comparan los valores de Z y se toma el máximo, la solución asociada a este valor es la solución óptima del modelo.

Ejemplo 5

Hallar la solución del siguiente problema de P. L. E.

Z x x

x x

x x

x

m xá

s. a.:

1 2

1 2

1 2

8 5 40

4 6 24

11 2

1 2 0

,

,

x

x x

enteros

Si resolvemos este problema uti l izando el método símplex, obtenemos la solución óptima:

Page 14: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

234

x1 = 4.2857 x2 = 1.1429 con Z = 3.1428

En este problema ninguna de las variables cumple con la condición de ser entera, por lo tanto tenemos que redondear los dos valores, obteniendo:

x1 = 4 x2 = 1 con Z = 3

Pareciera que ésta es la solución óptima, sin embargo, este punto no está en la región de soluciones factible. Entonces:

¿Cómo debemos redondear para que los valores estén dentro de la región factible?

Se selecciona la variable a redondear (una a la vez) y se toma el valor del entero próximo mayor y el valor del entero próximo menor, de manera que se plantean dos nuevos modelos de P. L. que se deben resolver.

En este ejemplo trabajaremos con x1 = 4.2857. Las restricciones que se deben añadir a los sistemas asociados son: x1 < 4 o x1 > 5.

Tomamos el problema del lado izquierdo, y aumentamos las siguientes restricciones: x2 < 1 o x2 > 2, con lo que se generan los siguientes sistemas asociados:

Page 15: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

235

Continuamos añadiendo al modelo de la derecha una de las siguientes restricciones: x1 < 3 o x1 > 4.

Por lo tanto la solución óptima del modelo de P. L. E. es:

x1 = 3

x2 = 2 con Z

máx = 1

Ejemplo 6

Resolver el siguiente modelo de P. L. E.

Z x x

x x

x

m x

.

.

á

s. a.:

3 4

5 5

3 5

1 2

1 2

2

xx x

x x1 2

1 2 0

,

,

enteros

Resolviendo por método símplex se obtiene la solución óptima (sin considerar la restricción de que las variables sean enteras):

x1 = 2 x2 = 3.5 con Z = 20

Seleccionamos la variable que no cumple la condición de ser entera. En este caso es x

2. Escribimos los enteros próximos (mayor y menor) al

valor que obtuvimos de esta variable: 4 y 3.

Se plantean dos nuevos modelos de P. L., los cuales se obtienen al agregar una de las siguientes restricciones al modelo de P. L. E. original:

x2 < 3 o x

2 > 4

Page 16: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

236

Los modelos que obtenemos son:

Z x x

x x

x

x

m x

.

.

á

s. a.:

3 4

5 5

3 5

1 2

1 2

2

2 33

01 2

1 2

enteros

x x

x x

,

,

Problema asociado 1

Z x x

x x

x

x

m x

.

.

á

s. a.:

3 4

5 5

3 5

1 2

1 2

2

2 44

01 2

1 2

enteros

x x

x x

,

,

Problema asociado 2

A continuación se resuelve cada uno de estos modelos util izando el método símplex.

La solución óptima del problema asociado 1 es:

x1 = 2.5

x2 = 3

Z = 19.5

Mientras que el problema asociado 2 no tiene solución, ya que no existe región de solución factible.

Como el problema asociado 1 sí tiene solución pero no es entera, entonces tomamos la variable x

1 cuyo valor es 2.5, tomamos los enteros

mayor (3) y menor (2) próximos y escribimos dos modelos asociados añadiendo al problema asociado 1 una de las siguientes desigualdades:

x1 < 2 o x

1 > 3

Page 17: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

237

Con lo que obtenemos:

Z x x

x x

x

x

m x

.

.

á

s. a.:

3 4

5 5

3 5

1 2

1 2

2

2 33

21

1 2

1

enteros

x

x x

x x

,

, 22 0

Problema asociado 3

Z x x

x x

x

x

m x

.

.

á

s. a.:

3 4

5 5

3 5

1 2

1 2

2

2 3

31

1 2

1

enteros

x

x x

x

,

, xx2 0

Problema asociado 4

Resolvemos el problema asociado 3 con el método símplex y se obtiene la solución óptima:

x1 = 2

x2 = 3Z = 18

Resolviendo el problema asociado 4 con el método símplex se obtiene la solución óptima:

x1 = 3

x2 = 2.5

Z = 19

La solución del problema asociado 3 satisface la condición de ser entera, pero no sabemos si es óptima, por lo que tenemos que continuar con el método.

La solución del problema asociado 4 presenta la variable x2 con un valor no entero, por lo tanto nuevamente se plantean dos problemas asociados, al añadir al problema asociado 4 una de las siguientes restricciones:

Page 18: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

238

x2 < 2 o x2 > 3

Obtenemos los problemas asociados:

Z x x

x x

x

x

m x

.

.

á

s. a.:

3 4

5 5

3 5

1 2

1 2

2

2 3

3

21

2

1 2

enteros

x

x

x x,

x x1 2 0,

Problema asociado 5

Z x x

x x

x

x

m x

.

.

á

s. a.:

3 4

5 5

3 5

1 2

1 2

2

2 3

3

31

2

1 2

enteros

x

x

x x,

x x1 2 0,

Problema asociado 6

Resolvemos cada uno de estos problemas util izando el método símplex:

La solución óptima del problema asociado 5 es:

x1 = 2x2 = 2Z = 14

Mientras que el problema asociado 6 tiene la solución óptima:

x1 = 2x2 = 3Z = 18

Como ambas soluciones son enteras, se concluye que la solución óptima es:

Page 19: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

239

x1 = 2 x2 = 3 con Zmáx = 18

Por el llamado método del árbol:

Page 20: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

240

Ejercicio 2

1. En cada iteración del método de ramif ica y acota, la región factible se:

a) Divide. b) Reduce.c) Corta.d) Aumenta de tamaño.

2. En el método de ramif ica y acota cada variable no entera da origen a:

a) Una restricción nueva.b) Dos restricciones nuevas.c) Ninguna restricción.d) No se sabe.

3. Si el valor de una de las variables de decisión en un modelo de P. L. es x = 2.8, entonces debemos agregar las siguientes desigualdades:

a) x > 3 o x < 3b) x > 3 o x > 2c) x > 3 o x < 2d) x > 2 o x < 2

4. La solución óptima de un modelo de P. L. E. sólo acepta valores:

a) Positivos.b) Reales.c) Positivos y enteros.d) Positivos y reales.

5. Si la solución por método símplex de un modelo de P. L. E. sin tomar en cuenta la condición de que las variables sean enteras es x

1 = 2.3, x

2 = 5.8,

entonces la solución óptima se obtiene al:

a) Redondear hacia arriba.b) Redondear hacia abajo.

Page 21: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

241

c) Tomar la parte entera.d) Aplicar el método de ramif ica y acota.

6. Obtener los dos primeros modelos auxil iares (el primer nivel del árbol) que se tienen al resolver el siguiente modelo de P. L. E. por el método de ramif ica y acota:

Z x x

x x

x x

m x

,

á

s. a.:

enteros

1 2

1 2

1 2

8 5 32

x x1 2 0,

El método presentado de ramifica y acota tiene el inconveniente de que en cada paso se tiene que resolver dos nuevos programas asociados. Esto hace que el número de operaciones sea grande, aunque en ocasiones puede ser que uno de los dos problemas no tenga solución. En el método que vamos a presentar a continuación se reduce el tamaño de la región factible pero sin dividirla, para esto, se va añadiendo una restricción en cada iteración. Estas iteraciones “cortan” la región factible, de tal manera que la nueva región debe contener la solución entera óptima de nuestro modelo, si es que existe. El algoritmo del método se presenta a continuación.

Paso 1. Se resuelve el modelo sin tomar en cuenta la restricción de que las variables sean enteras.

Paso 2. Si la solución óptima cumple la condición de ser entera, ésta es la solución del modelo. Si no, se toma uno de los renglones de la tabla símplex óptima con lado derecho no entero. A este renglón le l lamamos renglón fuente.

Paso 3. Escribimos los coeficientes del renglón fuente como una combinación de un número entero y una parte fraccionaria positiva entre cero y uno.

Page 22: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

242

Paso 4. Pasamos todos los coef icientes fraccionarios del lado izquierdo, los enteros los pasamos al lado derecho. Ahora hacemos que el lado izquierdo sea mayor o igual a cero.

Paso 5. Escribimos esta desigualdad en forma de igualdad al sumar la variable de superávit y la añadimos a nuestra tabla símplex óptima. Resolvemos por el método dual símplex. Regresamos al paso 2.

Ejemplo 7

Para explicar el método descrito vamos a resolver el siguiente modelo de P. L. E.:

Z x x

x x

x x

m x

,

á

s. a.:

enteros

2

2 5 171 2

1 2

1 2

x x1 2 0,

Resolvemos el problema uti lizando el método símplex tabular sin tomar en cuenta las restricciones de que las variables sean enteras. La tabla óptima se presenta a continuación:

Paso 1. Buscamos el primer renglón asociado a la variable básica que no cumpla con la condición de ser entera. En este caso es el renglón asociado a la variable x1. Este renglón representa la ecuación:

x1 + 2.5x2 + 0.5s1 = 8.5

Paso 2. Se escribe cada coef iciente y constante fraccionarios de la ecuación obtenida en el paso 1, como la suma de un entero y una fracción positiva entre 0 y 1.

x1 + 2x2 + 0.5x2 + 0.5s1 = 8 + 0.5

Page 23: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

243

Escribimos la ecuación de tal manera que el lado izquierdo contenga solamente términos con coeficientes fraccionarios y una constante fraccionaria, mientras que del lado derecho sólo aparezcan números enteros.

0.5x2 + 0.5s1– 0.5 = 8 – x1– 2x2

Paso 3. Hacemos que el lado izquierdo de la igualdad sea mayor o igual a cero.

0.5x2 + 0.5s1– 0.5 > 0o

0.5x2 + 0.5s1 > 0.5

Ésta es la nueva restricción que debemos agregar al modelo.

El nuevo modelo por resolver es el que obtenemos al escribir las restricciones de la tabla óptima del método símplex, agregando la última restricción obtenida. La función objetivo no cambia:

Z x x

x x x

x x

m x

. . .

. .

á

s. a.:

2

2 5 0 5 8 5

0 5 0 5

1 2

1 2 3

2 33

1 2 3

1 2 3

0 5

0

.

, ,

, ,

x x x

x x x enterass

Modelo 2

Aquí la variable artif icial s1 se renombró como la variable x

3.

Resolvemos este problema por método símplex y repetimos los pasos 1 a 3.

La tabla óptima del método símplex asociado al modelo 2 es:

Page 24: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

244

Donde obtenemos la solución:

x1 = 8 x2 = 0 Zmáx = 16

La cual es la solución óptima entera.

Ejemplo 8

Utilizando el método de Gomory resolver el siguiente modelo de P. L. E.

Z x x

x x

x x

m xá

s. a.:

2

2 5 17

5 3 16

1 2

1 2

1 2

enteros

x x

x x1 2

1 2 0

,

,

Paso 1. Resolvemos el problema util izando el método símplex y tabular sin tomar en cuenta las restricciones de que las variables sean enteras. La tabla óptima es:

Paso 2. La solución es: x1 = 3.20, x2 = 0 con Z = 6.4. Como la variable x1 no es entera entonces continuamos con el método. Buscamos uno de los renglones asociado a la variable básica que no cumpla con la condición de ser entera. En este caso es el renglón asociado a la variable x1. Este renglón representa la ecuación:

x1 + 0.60x2 + 0.2h2 = 3.20

Page 25: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

245

Paso 3. Escribimos los coef icientes como una combinación de un número entero y una parte fraccionaria entre cero y uno.

x1 + 0.60x2 + 0.2h2 = 3 + 0.20

Paso 4. Pasamos todos los coeficientes fraccionarios al lado izquierdo.

0.60x2 + 0.2h

2– 0.20 = 3 – x

1 0.60x

2 + 0.2h

2– 0.20 > 0

Paso 5. Escribimos la desigualdad anterior en forma de igualdad al sumar la variable de superávit y la añadimos a la tabla símplex óptima:

– 0.60x2 + 0.2h

2 + h

3 = –0.20

Resolvemos util izando el método dual símplex:

Regresamos al paso 2.

Paso 2. La solución obtenida es:

x x Z1 2313

1813

, , con

Page 26: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

246

La variable x1 ya cumple la condición de ser entera, pero la variable x2 aún no, por lo que volvemos a aplicar el método. Buscamos uno de los renglones asociado a la variable básica que no cumpla con la condición de ser entera. En este caso es el renglón asociado a la variable x2. Este renglón representa la ecuación:

x2 + 0.33h2 – 1.67h3 = 0.33

Paso 3. Escribimos los coef icientes como una combinación de un número entero y una parte fraccionaria entre cero y uno.

x2 + 0.33h2 – 2h3 + 0.33h3 = 0.33

Paso 4. Pasamos todos los coeficientes fraccionarios al lado izquierdo.

0.33h2 + 0.33h3– 0.33 = – x2 + 2h3

0.33h2 + 0.33h3– 0.33 > 0

Paso 5. Escribimos esta desigualdad en forma de igualdad al sumar la variable de superávit y la añadimos a la tabla símplex óptima.

– 0.33h2 – 0.33h3 + h4 = – 0.33

Resolvemos util izando el método dual símplex.

Page 27: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

247

Regresamos al paso 2.

La solución óptima entera que obtenemos es:

x1 = 3 x2 = 0 con Zmáx = 6

Realicemos el siguiente ejemplo para ver qué tipo de obstáculos podemos tener al resolver un modelo de P. L. E. con este método.

Ejemplo 9

Resolver el siguiente modelo de P. L. E.:

Z x x

x x

x

x

m x

.

.

á

s. a.:

3 4

5 5

3 5

1 2

1 2

2

1,,

,

enteros

x

x x2

1 2 0

Resolvemos el modelo por método símplex tabular (sin tomar en cuenta las restricciones de que las variables tomen valores enteros). La tabla f inal se muestra a continuación:

Page 28: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

248

Paso 1. Buscamos el renglón asociado a la primera variable básica que no cumpla con ser entera, en este caso es el segundo renglón, donde x2 = 3.5. Este renglón representa la restricción:

x2 + s2 = 3.5

Paso 2. Escribimos cada coef iciente y constante fraccionarios de la ecuación obtenida en el paso 1, como la suma de un entero y una fracción positiva entre 0 y 1.

x2 + s

2 = 3

12

Se escribe la ecuación de tal manera que el lado izquierdo contenga solamente términos con coeficientes fraccionarios y una constante fraccionaria, mientras que del lado derecho sólo aparezcan números enteros:

12

32 2x s

Paso 3. Hacemos que el lado izquierdo de la igualdad sea mayor o igual a cero.

12

0

En este caso el método no se puede aplicar, ya que esta última desigualdad es falsa, por lo tanto el método no funciona para este ejemplo.

Esta es la razón de que el método de ramif ica y acota se sigue uti lizando aunque involucre más operaciones.

También podemos hacer uso del método dual símplex como veremos en el siguiente ejemplo.

Page 29: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

249

Ejemplo 10

Resolver el modelo de P. L. E. de costo f ijo, obtenido en el ejemplo 1:

Z x x x

x x xm xá

s. a.:

100 50 20

25 20 10 20 7001 2 3

1 2 3

x

x

x

x ii

1

2

3

50

80

100

0 1 2 3, ,

enterosxi

La tabla símplex óptima asociada es:

Tomamos el renglón asociado a la variable x1 y añadimos la restricción:

– 0.8h2– 0.4h3– 0.04h4 + h5 = – 0.04

La tabla símplex cambia a:

Page 30: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

250

Util izamos el método dual símplex y obtenemos:

Util izamos el renglón asociado a la variable x2 y añadimos la restricción:

– 0.5h3 – 0.05h4 – 0.75h5 + h6 = –0.05

Usamos el método dual símplex y obtenemos:

Util izamos el renglón asociado a la variable x3 y añadimos la restricción:

–0.1h4 –0.5h5 + h7 = –0.1

Usamos el método dual símplex:

Page 31: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

251

Donde obtenemos la solución entera óptima:

x1 = 724 x2 = 80 x3 = 100 con Zmáx = 78 400

Ejercicio 3

1. En el método de Gomory la zona factible se:

a) Reduce.b) Divide.c) Rota.d) Secciona.

2. En el primer paso del método de Gomory seleccionamos la restricción con:

a) Coef icientes enteros.b) Limitantes negativas.c) Limitantes no enteras.d) Coef iciente cero.

Page 32: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

252

3. Del lado izquierdo de la desigualdad seleccionada sólo deben quedar coeficientes:

a) Enteros.b) Positivos.c) Negativos.d) Fraccionarios.

4. Del lado derecho de la desigualdad seleccionada sólo deben quedar coeficientes:

a) Enteros.b) Positivos.c) Negativos.d) Fraccionarios.

5. En cada iteración del método de Gomory se aumentan:

a) Una restricción.b) Dos restricciones.c) Tres restricciones.d) Ninguna restricción.

6. Obtener el primer modelo auxiliar que se genera al resolver el siguiente modelo de P. L. E. por el método de Gomory:

Z x x

x x

x x

m xá

s. a.:

1 2

1 2

1 2

8 5 32

6 3 12

enteros

x x

x x1 2

1 2 0

,

,

Page 33: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

253

Ejercicios propuestos

1. Obtener el modelo de P. L. E. del siguiente problema:

Una fábrica produce tres tipos de teclados (estándar, para Internet y ergonómico). Los costos de producir cada uno de los teclados está dado en la siguiente tabla:

La empresa tiene que fabricar por lo menos 50 teclados estándar, 80 teclados para Internet y 100 teclados ergonómicos, sin embargo sólo tiene un capital de $ 200 930.

Además la cantidad de teclados estándar debe ser mayor a la suma de los teclados para Internet y ergonómicos. Se trata de optimizar las ganancias.

2. Usando el método de ramif ica y acota hallar la solución óptima de los siguientes modelos.

a) Z x x

x x

x x

m ní

s. a.:

3 5

5

3

1 2

1 2

1 2

xx x

x x1 2

1 2 0

,

,

enteros

b) Z x x x

x x x

x x x

m xá

s. a.:

1 2 3

1 2 3

1 2 3

9

2 3 9

3 2 2 15

x x x

x x1 2 3

1 2 0

, ,

,

enteros

Page 34: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

254

c) Z x x

x x

x x

m x

.

.

á

s. a.:

10 2

2 7 4 5

5 8 16 5

1 2

1 2

1 2

enteros

x x

x x1 2

1 2 0

,

,

3. Usando el método de Gomory, resolver los siguientes modelos de P. L. E.

a) Z x x

x x

x x

m xá

s. a.:

2

2 5 17

3 2 10

1 2

1 2

1 2

enteros

x x

x x1 2

1 2 0

,

,

b) Z x x

x x

x x

m xá

s. a.:

2 3

4 5 17

2 2 8

1 2

1 2

1 2

enteros

x x

x x1 2

1 2 0

,

,

c) Z x x x

x x x

x x x

m xá

s. a.:

5 2

2 10

6 2 10

1 2 3

1 2 3

1 2 3

enteros

x x x

x x x1 2 3

1 2 3 0

, ,

, ,

Page 35: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

255

Autoevaluación

1. Un modelo de P. L. cuyas variables de decisión sólo pueden tomar los valores enteros de 0 o 1 se clasif ica como:

a) Puro.b) Mixto.c) Binario.d) Dual.

2. La diferencia entre un modelo de P. L. y uno de P. L. E. es que en el modelo de P. L. la variable puede ser cualquier número, mientras que en el modelo de P. L. E. algunas o todas la variables deben ser:

a) Positivas.b) Negativas.c) Enteras.d) Cero.

3. En el método símplex una solución es factible si el valor de las variables de decisión asociadas al modelos son:

a) Positivas.b) Mayores o iguales a cero.c) Enteras y positivas.d) Enteras.

4. El número de modelos de P. L. auxil iares en el método de ramif ica y acota en cada iteración es:

a) Uno.b) Tres.c) Cuatro.d) Dos.

5. En el método de ramif ica y acota si la variable x toma el valor 3.2, entonces debemos agregar las siguientes desigualdades:

Page 36: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

256

a) x > 3 o x < 3b) x > 4 o x < 2c) x > 4 o x < 3d) x > 2 o x < 2

6. En el método de Gomory, del lado derecho de la desigualdad seleccionada sólo deben quedar coeficientes:

a) Enteros.b) Positivos.c) Negativos.d) Fraccionarios.

7. En el método de Gomory el lado izquierdo de la igualdad seleccionada debe ser:

a) Menor a cero.b) Menor igual a cero.c) Mayor a cero.d) Mayor igual a cero.

8. En el método de Gomory en cada iteración ¿cuántas restricciones se añaden?

a) Una.b) Dos.c) Tres.d) No se sabe.

9. Si usamos el método de ramif ica y acota para resolver el modelo de P. L. E.:

Z x x

x x

x

x

m xá

s. a.:

3 4

2 2 11

4 14

1 2

1 2

2

11 2

1 2 0

,

,

enteros

x

x x

Page 37: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

257

Obtenemos un modelo auxiliar al agregar la restricción:

a) x2 > 3 b) x2 < 4c) x1 > 3 d) x2 < 3

10. Si resolvemos el siguiente modelo de P. L. E. por el método de Gomory.

Z x x

x x

x x

m x

,

á

s. a.:

enteros

4 2

4 10 341 2

1 2

1 2

x x1 2 0,

La primera restricción que debemos aumentar es:

a) 12

18

12

02 3x x

b) 12

14

12

02 3x x

c) 12

18

12

02 3x x

d) 12

18

12

02 3x x

Page 38: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

258

Respuestas a los ejercicios

Ejercicio 1

1. a)2. b)3. c)4. c)5. x

1 número de refacciones del tipo 1

x2 número de refacciones del tipo 2

Z x x

x x

x

m xá

s. a.:

5 6

2 2 500

250

1 2

1 2

1

enteros

x

x x

x x

2

1 2

1 2

100

0

,

,

Ejercicio 21. a)2. b)3. c)4. c)5. d)6.

Z x x

x x

x

x

m x

,

á

s. a.:

1 2

1 2

2

1

8 5 32

6

enteros

x

x x2

1 2 0,

Z x x

x x

x

x

m x

,

á

s. a.:

1 2

1 2

2

1

8 5 32

7

enteros

x

x x2

1 2 0,

Page 39: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Investigación de operaciones

259

Ejercicio 3

1. a)2. c)3. d)4. a)5. a)6. Z x x

x x x

x

m x

. . .

. .

á

s. a.:

1 2

1 2 3

1

1 6 0 20 6 40

0 6 0 20xx

x x

x x

3

1 2

1 2

0 40

0

.

,

,

enteros

Respuestas a los ejercicios propuestos

1. x1 = número de teclados estándar.

x2 = número de teclados para Internet.

x3 = número de teclados ergonómicos.

Z x x x

x x xm xá

s. a.:

80 150 220

105 200 500 200 9301 2 3

1 2 3

x

x

x

1

2

3

50

80

100

enteros

x x x

x x x

x x

1 2 3

1 2 3

1 2

, ,

, ,, x3 0

2.a) x1 = 4 x2 = 1 Z

mín = 17

Page 40: UNIDAD 6 - gc.initelabs.comgc.initelabs.com/recursos/files/r157r/w13211w/Invg operaciones_2aEd... · de programación lineal entera. lineal entera. Investigación de operaciones 223

Unidad 6

260

b) x1 = 1 x2 = 4 x3 = 0 Zmáx = 37

c) x1 = 2 x2 = 0 Zmáx = 20

3. a) x1 = 3 x2 = 0 Zmáx = 6

b) x1 = 3 x2 = 1 Zmáx = 9

c) x1 = 1 x2 = 0 x3 = 4 Zmáx = 13

Respuestas a la autoevaluación

1. c)2. c)3. b)4. d)5. c)6. a)7. d)8. a)9. d)10. b)