Programacion entera u4

34
INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICA INGENIERÍA INDUSTRIAL -INTEGRANTES DEL EQUIPO CÓRDOBA CORTÉS AMAYRANI DE LA ROSA MONTIEL YESSENIA HERNÁNDEZ VÁZQUEZ CHRISTIAN EMILIO LÓPEZ OLIVARES BETZAIDA BERENICE QUIRÓZ CASTILLO JOSÉ MIGUEL SANTES FONSECA ELIZABETH -MATERIA INVESTIGACIÓN DE OPERACIONES I -PROFESORA ING. ILSE ARIADNA BERNAL MAR IV SEMESTRE “A” FECHA DE ENTREGA: 5 DE JUNIO DE 2014

description

PROGRAMACION ENTERA, MÉTODOS DE SOLUCION, CASOS DE APLICACION.

Transcript of Programacion entera u4

Page 1: Programacion entera u4

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINGENIERÍA INDUSTRIAL

-INTEGRANTES DEL EQUIPO

CÓRDOBA CORTÉS AMAYRANIDE LA ROSA MONTIEL YESSENIAHERNÁNDEZ VÁZQUEZ CHRISTIAN EMILIOLÓPEZ OLIVARES BETZAIDA BERENICEQUIRÓZ CASTILLO JOSÉ MIGUELSANTES FONSECA ELIZABETH

-MATERIA

INVESTIGACIÓN DE OPERACIONES I

-PROFESORA

ING. ILSE ARIADNA BERNAL MAR

IV SEMESTRE “A”

FECHA DE ENTREGA: 5 DE JUNIO DE 2014

Page 2: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 1

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

ÍNDICE

ÍNDICE .............................................................................................................................1

UNIDAD 4 – PROGRAMACIÓN ENTERA .......................................................................2

4.1. INTRODUCCIÓN Y CASOS DE APLICACIÓN. ........................................................2

4.1.1. INTRODUCCIÓN. ...............................................................................................2

4.1.2. CASOS DE APLICACIÓN. ..................................................................................5

4.2. DEFINICIÓN Y MODELOS DE PROGRAMACIÓN ENTERA Y BINARIA.................9

4.2.1. DEFINICIÓN .......................................................................................................9

4.2.2. DESCRIPCIÓN DEL MÉTODO.........................................................................10

4.2.3. EL MODELO PEB .............................................................................................11

4.3. MÉTODO DE GOMORY .........................................................................................16

4.4. MÉTODO DE BIFURCACIÓN Y ACOTAMIENTO ..................................................25

CONCLUSIÓN ...............................................................................................................32

BIBLIOGRAFÍA ..............................................................................................................33

Page 3: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 2

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

UNIDAD 4 – PROGRAMACIÓN ENTERA4.1. INTRODUCCIÓN Y CASOS DE APLICACIÓN.

4.1.1. INTRODUCCIÓN.Es frecuente al tener que resolver problemas en los cuales las soluciones tienen que ser

valores enteros como por ejemplo: números de unidades a producir por máquina, número

de máquinas necesarias, etc. Parte del problema de la programación entera radica en la

diferencia esencial que existe la programación lineal y la entera, en la programación lineal

se maximiza o minimiza una función sobre una región de factibilidad convexa, mientras

que al usar los métodos de programación entera se maximiza una función sobre una

región de factibilidad que generalmente no es convexa. De tal manera que la

programación entera tiene más complicaciones que la programación lineal. En este tema

se presenta un tipo de problemas formalmente similares a los problemas de

Programación Lineal, ya que en su descripción solo se establecen expresiones lineales.

Sin embargo no responden a problemas lineales ya que algunas (o todas) las variables

del problema toman valores que no están en un conjunto continuo. Por ejemplo, pueden

ser variables que toman valores 0 o 1(binarias), o variables que toman valores enteros

no negativos (0, 1,2,...), etc. Tras introducir el tipo de problemas se dedica un importante

apartado para presentar las posibilidades de modelado que esta herramienta

proporciona: problemas binarios, problemas de carga, problemas con restricciones

condicionales o con dicotomías, etc. Tras dedicar una parte importante del tema a

presentar estas herramientas de modelado y a plantear numerosos problemas con ellas

se procede a mostrar dos métodos de resolución. Uno de ellos dedicado a problemas en

los que todas las variables son binarias y otro para problemas generales. Ambos métodos

tienen en común que desarrollan un proceso de enumeración que permite comprobar

explícita o implícitamente todas las soluciones del problema hasta encontrar la óptima, y

entran dentro del tipo de métodos de ramificación y acotación.

En algunos casos se requiere que la solución óptima se componga de valores enteros

para algunas de las variables. La resolución de este problema se obtiene analizando las

Page 4: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 3

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

posibles alternativas de valores enteros de esas variables en un entorno alrededor de la

solución obtenida considerando las variables reales. Muchas veces la solución del

programa lineal truncado está lejos de ser el óptimo entero, por lo que se hace necesario

usar algún algoritmo para hallar esta solución de forma exacta. El más famoso es el

método de “Ramificación y Acotación” o “Branch and Bound” por su nombre en inglés. El

método de Ramificación y Acotación, parte de la adición de nuevas restricciones para

cada variable de decisión (acotar) que al ser evaluado independientemente (ramificar)

lleva al óptimo entero.

La programación entera se divide en 3 tipos de modelos:

Programación Entera Pura: Todas las variables de decisión tienen valores enteros.

Programación Entera Mixta (PEM): Algunas de las variables de decisión tienen

valores enteros. Las demás cumplen con la suposición de divisibilidad.

Programación Entera Binaria (PEB): Utiliza variables binarias.

Page 5: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 4

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Origen• Wagner• Manner• Gomory

Tipos demodelos

• Puro• Binario• Mixto

Herramientascomputacio-

nales

• Lingo/Lindo• Excel• Mpl/Cplex• TORA

Métodosde solución

• Método gráfico.• Método de plano de

corte.• Métodos de Lang-

Doing.• Enumeración implícita.

Page 6: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 5

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

4.1.2. CASOS DE APLICACIÓN.A continuación se presenta la variedad de problemas que caen dentro de la programación

entera y binaria:

a) Todos los problemas de programación lineal, donde las actividades, por su

estructura deben ser no-divisibles, son programas enteros. Por ejemplo problemas

de producción de automóviles, prendas de vestir, etc. ¿Qué significado tendría la

producción de 577.83 automóviles?

b) Todos los problemas de transporte, asignación y redes de optimización. Este tipo

de problemas son enteros y dada la estructura tan especial de estos problemas,

tienen métodos de solución propios.

c) Problemas de secuenciación. Este tipo de problemas aunque son fáciles de

formular, resultan bastantes difíciles de resolver. Se supone por ejemplo en el caso

de un taller que puede efectuar un solo tipo de trabajo a la vez (orden i ), el que se

tiene contratado a entregar en días, a partir de una cierta fecha base, y que

además tiene una gran duración de trabajo de ( > 0) días y al cuales asocian

una multa de pesos por día de retrasos después de los días estipulados. Se

supone que el taller recibe n órdenes de trabajo en la fecha base. ¿Cuál debe ser

el orden de secuenciación de trabajos que minimice el costo penal total?

d) El problema del agente viajero. Este problema concierne en un agente viajero que

saliendo de una terminal de ciudad debe visitar una sola vez n-1 ciudades

diferentes, y regresar al punto de partida. Si el costo de dirigirse a la ciudad j desde

la ciudad i es ( ≠ ), se debe terminar la secuencia de visita de ciudades,

tal que el costo total asociado sea el mínimo. Este problema se presentó por

Page 7: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 6

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

primera vez en 1960, en un artículo de Miller, Tucker, Zemling, pero hay una

variedad de métodos que resuelven el problema dependiendo del tamaño de n, el

número de ciudades.

e) Problema tipo mochila. Este tipo de problemas de optimización de carácter entero

puede darse en dos versiones. En la primera se proporciona un cierto espacio con

determinado volumen o capacidad, y este debe ser llenado con objetos de valor y

volumen o capacidades especificados. El problema consiste en llenar ese espacio

con el conjunto de objetos más valioso, sin exceder los límites físicos de dicho

espacio. La segunda versión consiste en dividir a un objeto en varias porciones de

diferente valor, el problema consiste en encontrar la división de mayor valor.

f) Problemas de inversión. Se supone por ejemplo que el organismo Nacional

Financiera S.A., tiene que escoger una alternativa en cada uno de tres proyectos

de inversión. El primer proyecto está relacionado con la construcción de partes de

generadores eléctricos. El segundo proyecto con el ensamblado de esas partes

de generadores eléctricos y el tercer proyecto con la distribución y venta de los

generadores eléctricos incluyendo a su posible exportación. Cada proyecto tiene

una serie de alternativas. Asociadas a cada alternativa se tiene calculado el valor

presente del retorno total de la inversión (en millones de pesos), el número de

empleos que se generan y el flujo de inversión (en millones de pesos) que se

necesitan para los próximos 5 años. Las restricciones del sistema son que no hay

capacidad económica para generar más de 10 mil empleos y que los flujos

máximos de capital son 700 millones en el año 1, 300 millones en el año 2, 150

millones respectivamente en los años 3,4 y 5. ¿Qué alternativas conviene

seleccionar de los proyectos I, II y III a fin de maximizar el ingreso total neto anual?

Page 8: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 7

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

g) Problemas con costos fijos. Todos los problemas que en su función de costo

influyen un costo fijo del siguiente tipo

Costo total para la variable = f ( )=

pertenece al grupo de problemas enteros. Este tipo de costos aparecen

frecuentemente en problemas de transportes, inventarios, localización de plantas,

distribución geográfica de electores, etc.

h) Problemas de cubrimiento y partición de un conjunto. Este tipo de modelos de

carácter entero se ha utilizado en problemas de acceso de información,

programación de entrega de paquetería por transporte terrestre, distribución

política electoral, problemas matemáticos de coloración y programación de

horarios de tripulación aéreos, ferrocarrileros, terrestres y marítimos.

i) Dicotomías y problemas de aproximación. Una dicotomía ocurre en un programa

matemático cuando se tienen condiciones de tipo esta restricción o la otra

restricción, pero no ambas. Este tipo de condiciones se pueden representar por

medio de una estructura entera.

j) Balance de líneas de producción. Este tipo de problemas consisten en decidir qué

actividades deben se desempeñadas por cada trabajador, a medida que un

producto se desplaza por una línea de producción. El objetivo consiste en

0 , si = 0,

0 ≤ ≤ , j=1,2,…n+ , si > 0

Page 9: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 8

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

minimizar el número de trabajadores (o estaciones de trabajo o actividades) en

función de una tasa de producción.

k) Asignación cuadrática. Este tipo de problemas apareció en los problemas de

localización, existe un conjunto de n posibles lugares en donde se piensa construir

n plantas industrialesm<n. sea el costo unitario de transporte de lugar i al lugar

j y sea el volumen que se debe transferir de la planta industrial k a la planta

industrial p.

Page 10: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 9

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

4.2. DEFINICIÓN Y MODELOS DE PROGRAMACIÓN ENTERA YBINARIA

4.2.1. DEFINICIÓNEl modelo de programación entera es sencillamente la programación lineal solo que con

la característica de que la programación entera tiene una restricción de que todas las

variables sean valores enteros a este tipo de modelos se les llama programación entera

pura.

Esto nos quiere decir que la metodología para resolver los problemas de programación

entera es prácticamente el mismo que para hacer la programación lineal.

La programación entera mixta (PEM) se ocupa solo cuando algunas de las variables

deben ser enteros y la suposición de divisibilidad se cumple para el resto.

Esto se da cuando algunos datos deben ser enteros como la cantidad de personal dentro

de una empresa ya que no se pueden asignar 2.5 empleados se deben redondear a 3

pero dentro del mismo modelo se asigna el salario ya que puede ser $2000.50 a estos

modelos se les reconoce por (PEM).

Las programaciones enteras binarias son aquellas donde incluyen decisiones de si o no

que están interrelacionadas. En las decisiones de este tipo solo hay 2 posibles respuestas

a este tipo de decisiones se les puede representar mediante variables de decisión

restringidas a 2 valores, por ejemplo 0 y 1, así la j-ésima decisión si o no se puede

representar por , tal que:

˂1 si la decisión j es si o 0 si la decisión j es no.

A este tipo de problemas de programación entera binaria también se les conoce como

problemas 0-1 de programación entera.

Page 11: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 10

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

4.2.2. DESCRIPCIÓN DEL MÉTODOLo primero que se debe saber, es que al ser las decisiones de Si o No, todas las variables

de decisión tienen la forma binaria. La representación de lo anterior queda así:

Cuando al escoger una opción, no se nos permite escoger otra, se dice que ambas son

mutuamente excluyentes, esta restricción se representa como la sumatoria de ambas ≤

1, ya que eso indica que entre ambas puede haber solo 1 (solo una de las 2) o 0 (ninguna

de ellas). + ≤ 1En el caso en que una opción solo se pueda escoger habiendo elegido otra con

anterioridad, se dice que son contingentes o condicionales, esta restricción se representa

poniendo que la variable dependiente es ≤ a la variable independiente, de la siguiente

manera: ≤==Pero para colocar lo anterior como restricción válida para modelación, se debe igualar a

0. − ≤ 0Como paso final para modelar se ponen las restricciones ≤ 1 y ≥ 0 para indicar que solo

entre esos valores pueda estar la optimización.≤ 1≥ 0

Page 12: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 11

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Donde:

j= Número de variables de decisión.

Ejemplo:

A continuación se presenta un problema del cual se hará el modelaje y se darán los pasos

para desarrollarlo en programación entera binaria.

La CALIFORNIA MANUFACTURING COMPANY analiza la posibilidad de llevar a cabo

una expansión mediante la construcción de una nueva fábrica ya sea en Los Ángeles o

en San Francisco, o tal vez en ambas ciudades. También piensa en construir, a lo sumo,

un nuevo almacén, pero la decisión sobre el lugar en donde lo instalará está restringida

a la ciudad donde se construya la nueva fábrica. En la cuarta columna de la tabla 1 se

muestra el valor presente neto —rendimiento total que toma en cuenta el valor del dinero

en el tiempo— de cada alternativa. En la última columna se proporciona el capital que

se requiere —incluido el valor presente neto— para las respectivas inversiones, donde

el capital total disponible es de 10 millones de dólares. El objetivo es encontrar la

combinación factible de alternativas que maximice el valor presente neto total.

4.2.3. EL MODELO PEB

Aún cuando este problema se puede resolver con un simple razonamiento - construir

fábricas en ambas ciudades, pero ningún almacén—, se formulará como ejemplo.

Sea:

Z= valor neto de estas decisiones.

Si se hace la inversión para construir una instalación dada —de manera que la variable

de decisión correspondiente tenga valor de 1—, el valor neto estimado de estas

inversiones aparece en la cuarta columna de la tabla. Si la inversión no se hace —y, por

tanto, la variable de decisión es igual a 0—, el valor presente neto es 0.

Page 13: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 12

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

TABLA 1 Datos del ejemplo de la California Manufacturing Co.

Entonces, con unidades de millones de dólares, la F.O queda:

Z=9x1 +5x2 +6x3 +4x4.

La última columna de la tabla indica el capital que se gastará en las cuatro instalaciones,

y dice que no puede exceder a 10 millones de dólares. Entonces, la primera restricción

sería:

6x1 +3x2 +5x3 +2x4 10.

Como las últimas dos decisiones representan alternativas mutuamente excluyentes —

la compañía quiere construir cuando mucho un almacén nuevo—, se necesita la

restricción + ≤ 1

Número dedecisión

Pregunta Si o NoVariable de

decisiónValor

presenteneto

Capitalrequerido

1 ¿Construir la fábrica

en Los Ángeles?

$9 millones $6 millones

2 ¿Construir la fábrica

en San Francisco?

$5 millones $3 millones

3 ¿Construir el

almacén en Los

Ángeles?

$6 millones $5 millones

4 ¿Construir el

almacén en San

Francisco?

$4 millones $2 millones

Page 14: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 13

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Aún más, las decisiones 3 y 4 son contingentes —o condicionales— porque dependen

de las decisiones 1 y 2, respectivamente (la compañía consideraría la construcción de

un almacén en determinada ciudad sólo si la nueva fábrica va a estar ahí). Por tanto, en

caso de tomar la decisión 3, se requiere que x3 = 0 si x1 = 0. Esta restricción sobre x3

(cuando x1 = 0) se impone al agregar la restricción≤De manera similar, el requerimiento de que x4 = 0 si x2 = 0 se impone con la restricción:≤Por tanto, después de escribir de nuevo estas dos restricciones para que todas las

variables queden en el lado izquierdo, el modelo completo de PEB es

Maximizar Z= 9 + 5 +6 + 4

s.a

6 + 3 +5 + 2 ≤ 10

+ ≤ 1

- + + ≤ 0

- + ≤ 0

≤ 1

≤ 0

Y

es entera , para j = 1, 2 ,3 ,4.

Page 15: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 14

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

De manera equivalente las 3 últimas líneas de este modelo se puede sustituir por una

sola restricción.

es binaria para j= 1, 2 ,3 ,4

Excepto por su tamaño pequeño, este ejemplo representa muchas aplicaciones reales

de programación entera en las que las decisiones básicas que se toman son del tipo sí

o no.

Al igual que el segundo par de decisiones de este ejemplo, muchos grupos de decisiones

sí o no son mutuamente excluyentes, tales que sólo una decisión de ese grupo puede

ser sí. Cada grupo requiere una restricción que obligue a la suma de las variables

binarias correspondientes a ser igual a 1 si exactamente una decisión de ese grupo

debe ser sí, o menor o igual a 1 (si cuando mucho una decisión de ese grupo puede ser

sí).

En ocasiones, las decisiones del tipo sí o no son decisiones contingentes, es decir,

dependen de decisiones anteriores. Se dice que una decisión es contingente respecto

a otra si se permite que sea si sólo si la otra es sí. Esta situación ocurre cuando una

decisión contingente implica una acción que sigue a otra y que se vuelve irrelevante, o

imposible, si la otra decisión es no. La forma de la restricción que se obtiene se ilustra

en la cuarta y quinta restricciones del ejemplo.

Punto óptimo

= 1

= 0

= 0

= 0

Page 16: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 15

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

X1 X2 X3 X4 S1 S2 S3 S4 S5 BFS

Z(max) 0 4 3 5 0 0 0 0 9 9

S1 0 -3 -1 -4 1 0 0 0 -6 4

S2 0 0 1 1 0 1 0 0 0 1

S3 0 1 2 1 0 0 1 0 1 1

S4 0 -1 0 1 0 0 0 1 0 0

X1 1 1 1 1 0 0 0 0 1 1

Función objetivo en el punto óptimo 9.

Igual que en el ejemplo de la California Manufacturing Co., con frecuencia los

administradores enfrentan decisiones de sí o no. Por tanto, la programación entera

binaria (PEB) se usa de manera considerable como ayuda para tomar estas decisiones.

Page 17: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 16

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

4.3. MÉTODO DE GOMORYPublicado en 1958 por Ralph Gomory, el método de Gomory mejor conocido como

Algoritmo de Plano de Corte, es un método que permite encontrar soluciones óptimas

enteras en aquellos problemas de programación lineal que tienen soluciones

fraccionarias o con decimales. Se basa con los “planos cortantes” (o corte) que es una

nueva restricción funcional que reduce la región factible del relajamiento de PL sin

eliminar soluciones factibles del problema de PE original. Podemos decir que este método

es una base de nuevas técnicas que permiten de igual manera encontrar una solución

óptima entera de un problema de PL, un ejemplo, el “método de ramificación y

acotamiento” que lo veremos más adelante.

El método de Gomory se inicia en la solución óptima continua. Se agregan restricciones

especiales (los cortes) al espacio de soluciones para que produzcan un punto extremo

óptimo entero. La desventaja de este método, es que resulta muy ineficiente para resolver

problemas enteros de tamaño medio. Estos métodos generan en cada iteración una

restricción y una variable extra. Sin embargo, su ventaja es que ilustran lo que se

pretende hacer con la región de factibilidad de problemas entero, para lograr la solución

del mismo. Comenzaremos con un ejemplo práctico para su mejor entendimiento.

Ejemplo:

Maximizar Z = 7 + 10Sujeto a− + 3 ≤ 67 + ≤ 35

, ≥ 0 y enteros.

Lo resolveremos directamente por el método SIMPLEX. Por lo tanto:

Maximizar Z = 7 + 10 + +Sujeto a− + 3 + = 67 + + = 35

, , , ≥ 0 y enteros.

Maximizar Z = 7 + 10 + +Sujeto a− + 3 + = 67 + + = 35

, , , ≥ 0 y enteros.

Page 18: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 17

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Tablas SIMPLEX

10 Solución

-1 3 1 0 6

7 1 0 1 35

0 0 0 0

- 7 10 0 0

Pivoteamos el renglón , hacemos el cambio de 10 por y nos queda:

10 Solución10 − 1 3 1 1 3 0 222 3 0 − 1 3 1 33

− 10 3 10 10 3 0

- 31 3 0 − 10 3 0

Page 19: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 18

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Pivoteamos el renglón , hacemos el cambio de 7 por y nos queda:

10 Solución

0 1 7 22 1 22 7 2 =

1 0 − 1 22 3 22 9 2 =

7 10 63 22 31 22- 0 0 − 63 22 − 31 22 133 2 =

La solución óptima es Z= , = , = , = 0, = 0.

Gráfica:

Observamos que nuestras soluciones óptimas no son números enteros, para esto, si bien

es donde proseguimos con el método de Gomory. En base a la información que nos arroja

nuestra tabla óptima, podemos reescribirla de la siguiente manera.

Z + 63 22 + 31 22 = 66 12 (ecuación Z)

+ 7 22 + 1 22 = 3 12 (ecuación )

- 1 22 + 3 22 = 4 12 (ecuación )

Page 20: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 19

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Una vez que tenemos la información de la tabla ordenada en las ecuaciones anteriores,

debemos escoger una de estas ecuaciones, con la condición de que siempre el ladoderecho sea fraccionario. En caso del ejemplo, las 3 ecuaciones cumplen con la

condición.

La ecuación de restricción que elijamos, será nuestra fila origen (o renglón de fuente),con la cual generaremos un corte.

Paso 1: Factorizamos todos los coeficientes no enteros de la ecuación en un valor entero

y un componente fraccionario, siempre y cuando el componente fraccionario sea

estrictamente positivo.

De la ecuación Z, nos queda como resultado

Z + (2 + ) + (1 + 922) = (66 + 12)Paso 2: Los componentes enteros los moveremos al lado izquierdo y los componentes

fraccionarios al lado derecho. Obtenemos:

Z + 2 + 1 – 66 = − 1922 − 922 + 12 (1)

Como y son no negativas y todas las fracciones son positivas por construcción, el

lado derecho debe satisfacer la siguiente desigualdad:

− 1922 − 922 + 12 ≤ (2)

Paso 3: Ahora, como el lado izquierdo de la ecuación (1), es un valor entero por

construcción, el lado derecho también debe de ser entero. Por lo tanto deducimos que

(2) puede ser reemplazada con una desigualdad:

− 1922 − 922 + ≤ 0

Page 21: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 20

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Este resultado de justifica porque un valor entero menor que una fracción positiva

necesariamente debe ser ≤ 0.

La última desigualdad es el corte deseado, y representa una condición necesaria

(más no suficiente) para obtener una solución entera. Esta desigualdad se conoce como

corte fraccionario porque todos sus coeficientes son fracciones.

Antes de demostrar cómo se implementa el corte fraccionario en la tabla óptima,

se demostrará como también podremos construir los cortes a partir de las otras 2

ecuaciones de restricción.

Ecuación : − 1 22 + 3 22 = 4 12Factorizando la ecuación se obtiene:

+ (−1 + 2122 ) + (0 + 322) = (4 + 12)Por lo tanto, nuestro corte asociado es:

− 2122 − 322 + 12 ≤ 0Ecuación : + 7 22 + 1 22 = 3Factorizando la ecuación se obtiene:

+ (0 + 722 ) + (0 + 122) = (3 + 12)

Page 22: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 21

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Por lo tanto, nuestro corte asociado es:− 722 − 122 + 12 ≤ 0Cualquiera de estos tres cortes puede usarse en la primera iteración del método de

Gomory. Seleccionando arbitrariamente el corte generado con la ecuación , podemos

rescribir en forma de ecuación como:− 722 − 122 + = − 12 ; ≥ 0Paso 4: Esta restricción se agrega a la tabla óptima de PL, como se muestra:

Paso 5: La tabla es óptima pero no factible. Para esto, aplicamos el método simplex dual,

para recuperar la factibilidad.

Para encontrar que columna es la que “entra” y que fila “sale”, dividiremos el renglón

- entre el renglón , y tomaremos el valor absoluto más pequeño y esa será nuestra

10 Solución

0 1 7 22 1 22 0

1 0 − 1 22 3 22 0

0 0 − 7 22 − 1 22 1 −- 0 0 − 63 22 − 31 22 0 =

Page 23: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 22

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

fila que “entra”. Después, tomaremos el renglón que acabamos de agregar y será nuestro

renglón pivote.

Paso 6: Ahora que ya tenemos nuestra fila que sale y columna que entra, comenzamos

a pivotear por el método SIMPLEX, y obtenemos la siguiente tabla de optimidad:

10 Solución

0 1 7 22 1 22 0

1 0 − 1 22 3 22 0

0 0 − 7 22 − 1 22 1 −- 0 0 − 63 22 − 31 22 0 =

*Resultado

de la división

0 0 9

*valor más

pequeño.

31 0

10 Solución

0 1 0 1 11 1

1 0 0 1 7 − 1 70 0 1 − 1 7 − 22 7

- 0 0 0 − 1 11 16 7

Page 24: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 23

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Observamos que nuestras soluciones siguen siendo fraccionarias con excepción de la

primera, pero esto no significa que el problema esté terminado, puesto que todas nuestras

soluciones deben de ser enteras. Gráfica de la tabla con el primer corte:

Paso 7: Regresamos al paso 4, agregando un segundo corte a esta última tabla óptima,

de la misma manera que agregamos el primer corte, sólo que en este caso, como ya

elegimos la ecuación , podemos elegir la ecuación como nuestro corte.

Nuestra tabla quedaría de la siguiente manera:

10 Solución

0 1 0 1 11 1 0

1 0 0 1 7 − 1 7 0

0 0 1 − 1 7 − 22 7 0

0 0 1 1 7 − 6 7 1 −- 0 0 0 − 1 11 16 7 0

Page 25: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 24

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Resolvemos de la misma manera que cuando agregamos el primer corte, y nos quedaría

la siguiente tabla:

Observamos en nuestra tabla y todas nuestras soluciones así como nuestro punto

óptimo, nos arroja números enteros. Por lo tanto el Método de Gomory se detiene y el

problema estar terminado.

Gráfica de la tabla óptima anterior.

10 Solución

0 1 0 0 1 0

1 0 0 0 -1 1 4

0 0 1 0 -4 1 1

0 0 0 1 6 -7 4

0 0 0 0 3 7 58

Page 26: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 25

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

4.4. MÉTODO DE BIFURCACIÓN Y ACOTAMIENTOEn 1960, Ailsa H. Land y Alison G. Doig, presentan el algoritmo Land-Doig. El nombre de

bifurcación y acotamiento (o bien, ramificación y acotamiento y en inglés “Branch and

Bound”) se lo dan posteriormente Little, Murty, Sweeney, Karel. Más tarde, el algoritmo

fue modificado por Dakin, haciéndolo de manera más general.

El método de bifurcación y acotación que es muy elegante y simple, redondea y acota

variables enteras, resultantes de la solución de los problemas lineales correspondientes.

Este proceso de acotamiento y redondeo se hace de una manera secuencial lógica

heurística que permite eliminar con anticipación un buen número de soluciones factibles

alejadas del optimo a medida que se intera. De tal suerte que si una variable entera ,

j=1, … , n está acotada entre un límite inferior entero , j=1,…n y un límite superior entero

, j=1,…,n el proceso de bifurcación y acotación solo analiza un número muy pequeño

de todas las posibles soluciones.

El método de bifurcación y acotamiento, se presenta a continuación con una serie de

pasos, que después serán demostradas por medio de un ejemplo.

Paso 1: Resuélvase el problema entero por medio del método simplex de la programación

lineal. Si la solución es entera, pare, se ha conseguido la solución óptima. Si no, continúe

en el paso 2.

Paso 2: Escójase arbitrariamente una variable entera cuyo resultado en el paso 1 sea

fraccional e igual a .

Paso 3: Resuélvase un par de nuevos de problemas, similares al problema anterior, pero

uno con la restricción adicional ≤ , mientras que el otro tendrá la restricción adicional

Paso 4: De los programas lineales resueltos en el paso 3, inclúyase en el análisis a seguir,

solo aquellos programas cuya solución (entera o fraccional) sea mejor (mayor en el caso

Page 27: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 26

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

de maximización y menos en el caso de minimización) a cualquiera de las soluciones

enteras conocidas.

Paso 5: Selecciónese aquel programa lineal que tenga el máximo (en el caso de

minimización el mínimo) valor de la función objetivo. Si las variables enteras tienen valor

entero, se ha convertido en la solución óptima. Si no, regresa al paso 2 con la estructura

del problema lineal resuelto en este paso.

Ejemplo:

Paso 1: Resolvemos por método SIMPLEX, y obtendremos la siguiente tabla.

-Iteración 1 del problema (0).

Solución

0 1 0.75 -0.5 1.25

1 0 -0.25 0.5 3.25

0 0 0.25 1.5 18.75

Problema (0).

Max Z= 5 + 2Sujeto a2 + 2 ≤ 93 + ≤ 11, ≥ 0

Max Z= 5 + 2 + +Sujeto a2 + 2 + = 93 + + = 11, , , ≥ 0

Page 28: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 27

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Tenemos nuestras soluciones óptimas con valores todos decimales, por lo tanto,

nuestro problema no esta resuelto. Los valores como nos indica la tabla son =. y = . .

Paso 2: Se escoge arbitrariamente el valor de = . y con este valor crearemos dos

nuevas restricciones para dos nuevos subproblemas del problema principal (0). A esto es

lo que llamamos ramificación, puesto que en nuestro “árbol” (red conectada que no tiene

ciclos), por cada problema tendremos dos subproblemas y estos a su vez otros dos

subproblemas hasta que encontremos nuestra solución óptima entera.

Para crear los subproblemas, notemos que el valor = . se encuentra entre los

valores enteros 1 y 2. Por lo tanto, estos nuevos valores son los que tendrán cada

restricción en los subproblemas. Nos quedarían de la siguiente manera.≤≥Subproblema (1)

Max Z= 5 + 2 + +Sujeto a2 + 2 + = 93 + + = 11≤ 1, , , ≥ 0

Max Z= 5 + 2 + + +Sujeto a2 + 2 + = 93 + + = 11+ = 1, , , , ≥ 0

Page 29: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 28

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Subproblema (2)

Paso 3: Resolvemos por método SIMPLEX los subproblemas (1) y (2), y obtendremos

las siguientes tablas óptimas.

Subproblema (1)

Solución

0 -1.33 1 -0.67 0.33

1 -0.33 0 0.33 3.33

0 0.33 0 1.67 18.67

Subproblema (2)

Solución

0 -2 -1.5 1 1.5

1 1 0.5 0 2.5

0 3 2.5 0 16.5

Paso 4: Como no ha habido ninguna solución entera en todo el proceso, se incluyen

ambas tablas óptimas en el análisis.

Max Z= 5 + 2 + +Sujeto a2 + 2 + = 93 + + = 11≥ 2, , , ≥ 0

Max Z= 5 + 2 + + +Sujeto a2 + 2 + = 93 + + = 11− = 2, , , , ≥ 0

Page 30: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 29

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Paso 5: Debido a que nuestro problema es maximización, la mejor función objetivo hasta

el momento corresponde a la tabla del subproblema (1) (Z= 18.67, = . , = . )

y como son soluciones no enteras regresamos al paso 2. La estructura seleccionada es

el subproblema (1).

-Iteración 2.

Paso 2: De manera arbitraria, de la estructura (1) se escoge la variable = . y de

este se obtienen dos nuevas restricciones para para los nuevos subproblemas. Lo

realizamos de la misma manera que utilizamos anteriormente, y nuestros subproblemas

quedarían de esta manera:

Del subproblema (1), se ramifica el subproblema (3):

Max Z= 5 + 2 + +Sujeto a2 + 2 + = 93 + + = 11≤ 1≤ 3, , , ≥ 0

Max Z= 5 + 2 + + + +

Sujeto a2 + 2 + = 93 + + = 11+ = 1+ = 3, , , , , ≥ 0

Page 31: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 30

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Y el subproblema (4):

Paso 3: Aplicando de nuevo el método SIMPLEX a cada programa, se obtienen las

soluciones óptimas al problema lineal correspondiente al subproblema (3). La estructura

del subproblema (4) no tiene solución factible y por lo tanto no se incluye en las tablas

óptimas a analizar.

Subproblema (3):

Solución

-2 -2 1 0 1

-3 -1 0 1 1

5 2 0 0 17

Paso 4: Por ser una solución entera se incluye en el análisis.

Paso 5: Por ser el mejor valor de la función objetivo y además, ser entero, es la solución

óptima, por lo tanto:

Z= 17, = , = , = , =

Max Z= 5 + 2 + +Sujeto a2 + 2 + = 93 + + = 11≤ 1≥ 4, , , ≥ 0

Max Z= 5 + 2 + + ++Sujeto a2 + 2 + = 93 + + = 11+ = 1− = 4, , , , , ≥ 0

Page 32: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 31

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

Por último, para poder visualizar de mejor manera el proceso, como se mencionaba con

anterioridad, utilizaremos una representación gráfica constituida por una red con

estructura de “árbol”.

Z= 18.75, = 3.25 , = 1.25,= 0 = 0

Z= 16.5, = 2.5 , = 2, = 0= 1.5Z= 18.67, = 3.33, = 1, = 0.33= 0

Z= 17, = 3 , = 1, = 1= 1 Solución óptima

Z= −∞ Problema inconsistente

≥ 4≤ 3

≤ 1 ≥ 2

Page 33: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 32

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

CONCLUSIÓN

En este trabajo hemos abarcado los distintos tipos de metodologías que se

requieren para dar solución a los métodos de programación entera, programación

entera binaria, programación mixta, método de Gomory, así como método de

ramificación y acotación.

Dentro de las definiciones de cada uno de los métodos se muestran de manera

clara y concisa, así como el sistema que se debe llevar a cabo para resolverlos de

una manera eficiente y óptima.

Se obtuvieron las ideas precisas de como poder modelar los distintos tipos de

problemas que se dan en industrias, transportes y cualquier problema donde se

requiera una optimización de los recursos o disminución de costos.

Se muestran distintos ejemplos de cada uno de estos métodos y se da una serie

de características únicas de estos que diferencian a uno de otro, así, como un paso

a paso de cada ejemplo en su ejecución para dar como resultado la optimización

de estos casos muestras. Si bien, el presente trabajo muestra las herramientas

necesarias para dar solución a los problemas PEB y PE para poder identificar el

mejor método para solucionarlos.

Page 34: Programacion entera u4

4°Semestre“A”

PROGRAMACIÓN ENTERA 33

INSTITUTO TECNOLÓGICO SUPERIOR DE POZA RICAINVESTIGACIÓN DE OPERACIONES I

BIBLIOGRAFÍA

Hillier Frederick S., Lieberman Gerald J., INVESTIGACION DE OPERACIONES, 7°

edición, McGRAW-HILL, México, 2002.

Taha Hamdy A, INVESTIGACION DE OPERACIONES, 9° edición, Pearson Educación,

México, 2012.

Prawda Witenberg Juan, MÉTODOS Y MODELOS DE INVESTIGACION DE

OPERACIONES Vol. 1 Modelos determinísticos, Limusa Noriega Editores, México, 1999.

Gallagher Charles A., Watson Hugh J., MÉTODOS CUANTITATIVOS PARA LA TOMA

DE DECISIONES EN ADMINISTRACIÓN, McGRAW-HILL,

Winston Wayne L., INVESTIGACION DE OPERACIONES, Aplicaciones y Algoritmos, 4°

edición, Cengage Learning Editores, México, 2005.