Está en la página 1de 16

INSTITUTO TECNOLÓGICO DE

VILLAHERMOSA

Unidad III. Programación entera.

Investigación de operaciones I

Ingeniería Industrial

Catedrático: IIQ. Jorge Alberto Rosado Ramos


Alumno: Bulmaro Madrazo Maldonado
Hora: 07-08

Villahermosa, Tabasco, México a 23 de abril del 2017

1
Contenido
Introducción........................................................................................................... 3

3.1 Introducción y casos de aplicación de la programación entera. ................ 4

Introducción a la programación entera .................................................................... 4

Aplicaciones ............................................................................................................ 5

3.2 Definición y modelos de programación entera. ............................................ 7

Definición................................................................................................................. 7

Modelos de Programación Entera ........................................................................... 7

3.3 Método gráfico en la programación entera. .................................................. 9

3.4 Método de ramificación y acotación......................................................... 11

Diagrama de flujo del método de ramificación y acotación. ............................... 12

3.5 Método heurístico para problemas binarios ............................................... 13

3.6 Uso del software. ........................................................................................... 14

WinQSB ............................................................................................................. 14

TORA ................................................................................................................. 14

DS for Windows ................................................................................................. 14

LINGO ................................................................................................................ 14

LINDO ................................................................................................................ 14

CONCLUSIONES. ................................................................................................ 15

Bibliografías......................................................................................................... 16

2
Introducción.
Investigación de operaciones es una materia que nos sirve para resolver distinto
problemas en los cuales se refiere en la búsqueda de una solución óptima y de igual
forma tomar la mejor decisión a un problema, para el manejo de esta misma se
utilizan distintos métodos de resolución de problema; esta materia surgió de la
necesidad del hombre, ya que todas estas diversas técnicas iniciaron en base la
segunda guerra mundial, para buscar la forma de minimizar los recursos.

Al inicio de curso hemos aprendimos los fundamentos de esta materia, como lo que
es la construcción de un modelo, como resolver problemas de programación lineal
por el método simplex, y de igual forma lo que fue el método gráfico, para los
problemas que poseían solamente 2 variables, analizando sus vértices máximos
para encontrar la mejor solución al problema y elegir una decisión optima ya sea
esta de optimización o minimización de nuestra función objetivo (muchas veces
denominada meta).

Sin embargo la programación lineal no es solamente uno de los método para


resolver diversos tipos de problemas, para eso también se utiliza la programación
entera, la cual, en base a manejar problemas con coeficientes enteros, podemos
llegar a un resultado algo más sólido y de igual forma optimo como en la
programación lineal, cabe destacar que en la programación entera se suele llegar a
un resultado muy similar a la programación lineal por otros métodos (simplex, de
penalización, dual, etc.), los problemas que se desean resolver por esta forma,
suelen ser de carácter heurístico ósea, hacerlo de una forma más creativa y con
otra forma de poder resolverlo.

3
3.1 Introducción y casos de aplicación de la
programación entera.

Introducción a la programación entera


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

4
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 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

Aplicaciones
Las aplicaciones de la programación entera son las siguientes:

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


estructura deben ser no-divisibles, son programas enteros.
 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.
 Problemas de secuenciación. Este tipo de problemas aunque son fáciles de
formular, resultan bastantes difíciles de resolver, los cuales llevan una
secuencia.
 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.
 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.
 Problemas de inversión. Estos problemas pueden ser de distintos tipos de
inversión, siempre y cuando se añada con el hecho de que la programación
sea entera.

5
 Problemas con costos fijos. Todos los problemas que en su función de costo
influyen un costo fijo del siguiente tipo pertenecen 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.
 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.
 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 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. Estos aparecieron en problemas de localización,
existe un conjunto de n posibles lugares en donde se piensa construir n
plantas industriales m<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.

6
3.2 Definición y modelos de programación
entera.

Definición
Los modelos de Programación Entera son aquellos donde la totalidad o un
subconjunto de las variables de decisión toman valores enteros. En este sentido la
forma estándar de un modelo de Programación Entera queda definido de la
siguiente forma:

Existen múltiples aplicaciones de modelos de Programación Entera como apoyo a


la toma de decisiones. Algunas aplicaciones típicas son problemas de localización
de instalaciones, inclusión de costos fijos, problemas de asignación, problemas de
ruteo vehicular, etc.

Modelos de Programación Entera


Los modelos de Programación Entera se pueden clasificar en 3 grandes áreas:
Programación Entera Mixta (PEM), Programación Entera Pura (PEP) y
Programación Binaria.

Programación Entera Mixta (PEM)

A esta categoría pertenecen aquellos problemas de optimización que consideran


variables de decisión enteras o binarias pero no de forma exclusiva. De esta forma
un problema de PEM puede considerarse como un híbrido entre distintas categorías
de modelamiento, siendo un caso típico aquel que considera la mezcla de variables
enteras y variables continuas (estas últimas características de los modelos de

7
Programación Lineal). A modo de ejemplo los siguientes artículos que hemos
abordado en el Blog dan cuenta de modelos de Programación Entera Mixta:

1. Incorporación de Costos Fijos

2. Problemas de Localización y Transporte

3. Problema de Generación Eléctrica

Programación Entera Pura (PEP)

En esta categoría encontramos aquellos modelos de Programación Entera que


consideran exclusivamente variables de decisión que adoptan valores enteros o
binarios. Un ejemplo de ello son las siguientes aplicaciones:

1. Problema de Asignación

2. Problema de Corte de Rollos

3. Selección de Invitados a una Boda

4. Programación de la Explotación Forestal

5. Problema de la Mochila

Notar que en los problemas anteriores (PEP) el conjunto de las soluciones factibles
(o dominio de soluciones factibles) es finito. Esto ocurrirá generalmente con los
problemas de Programación Entera (puros).

Programación Binaria.

En Matemática Aplicada la programación binaría hace referencia a aquella cuyo


conjunto de soluciones sólo puede tomar uno de dos posibles valores: 1 ó 0. Es un
caso especial de la Programación Entera. Esta herramienta matemática es
especialmente útil para enfrentar problemas de tipo de toma de decisiones Si o No.
El Problema de la asignación, es un caso particular de esta metodología, dónde se
debe asignar unos recursos limitados a unas tareas específicas de manera óptima.

8
3.3 Método gráfico en la programación entera.

El método gráfico se emplea para resolver problemas que presentan sólo 2 variables
de decisión. El procedimiento consiste en trazar las ecuaciones de las restricciones
en un eje de coordenadas X1, X2 para tratar de identificar el área de soluciones
factibles (soluciones que cumplen con todas las restricciones).

La solución óptima del problema se encuentra en uno de los vértices de esta área
de soluciones creada, por lo que se buscará en estos datos el valor mínimo o
máximo del problema.

EJEMPLO:

Una compañía de auditores se especializa en preparar liquidaciones y auditorías de


empresas pequeñas. Tienen interés en saber cuántas auditorías y liquidaciones
pueden realizar mensualmente para maximizar sus ingresos. Se dispone de 800
horas de trabajo directo y 320 horas para revisión. Una auditoría en promedio
requiere de 40 horas de trabajo directo y 10 horas de revisión, además aporta un
ingreso de 300 dls. Una liquidación de impuesto requiere de 8 horas de trabajo
directo y de 5 horas de revisión, produce un ingreso de 100 dls. El máximo de
liquidaciones mensuales disponibles es de 60.

Maximizar

Sujeto a:

9
La solución óptima siempre se encuentra en uno de los vértices del conjunto de
soluciones factibles. Se analizan estos valores en la función objetivo. El vértice que
representa el mejor valor de la función objetivo será la solución óptima.

10
3.4 Método de ramificación y acotación
El método de ramificar y acotar ayuda a resolver problemas complejos de
programación a través de subprogramas, con la que se puede llegar a una solución.
Las "ramas" de este modelo irán "creciendo" o extendiéndose dependiendo de las
variables a resolver. Este método generalmente es utilizado en la resolución de
problemas de optimización, ya que resolver problemas NP-hard y obtener una
solución óptima requiere de demasiado esfuerzo computacional, y esta herramienta
ayuda a que el esfuerzo computacional no sea demasiado. También se utiliza para
los problemas de juegos.

El método genera nodos las cuales son soluciones de cada variable, que se sigue
extendiendo, estas ramificaciones de las soluciones dadas por el método continúan
creciendo siempre y cuando la siguiente solución este dentro de lo óptimo. El
algoritmo busca el espacio de soluciones dadas por la mejor solución.

El objetivo de este algoritmo será encontrar el valor mínimo de una función f(x)
donde el rango de x está determinado sobre un conjunto S de posibles soluciones.
La iteración tiene 3 componentes principales:

 Selección del nodo para procesos


 Calcular los límites
 Ramificar

11
Para cada nodo que se genera en la ramificación tendremos:

 Cota superior del beneficio óptimo que podemos alcanzar a partir del nodo i.
 Cota inferior del beneficio óptimo que podemos alcanzar a partir del nodo i.
 Beneficio estima óptima que se puede encontrar a partir del nodo i.

Las cotas deben ser fiables para poder determinar cuándo se hace una acota y el
beneficio estimado ayuda a decidir que parte del árbol evaluar primero.

Diagrama de flujo del método de ramificación y acotación.

12
3.5 Método heurístico para problemas binarios

Heurístico del griego “heuriskin” (servir para descubrir), son procedimientos


utilizados en lógica y filosofía para estudiar los métodos del razonamiento inductivo.

Polya (1957) en su “Tratado de solución de problemas”, emplea el término para


connotar el razonamiento inductivo y analógico que conduce a conclusiones
verosímiles, en contraposición a los desarrollos deductivos de pruebas rigurosas.

Se emplean los métodos heurísticos en vez de los algoritmos cuando no se conoce


una solución algorítmica al problema, o cuando esta está excluida por motivos
prácticos.

A pesar de que las heurísticas son una alternativa excelente para resolver
problemas de difícil solución, éstas también adolecen de ciertas propiedades
deseables. Un inconveniente de la gran mayoría de los métodos heurísticos es su
dependencia de la estructura del problema para el cual fue diseñado, y su falta de
habilidad para adaptarse a nuevas situaciones o modificaciones del problema de
partida. Así, usan propiedades de la región factible y/o de la función objetivo o
información a priori que hacen que los procedimientos sean válidos sólo bajo esas
condiciones a diferencia de los métodos exactos, no existe un procedimiento
conciso y preestablecido,

Independiente del problema. En los métodos heurísticos las técnicas e ideas


aplicadas a la resolución de un problema son específicas de éste y aunque, en
general, pueden ser trasladadas a otros problemas, han de particularizarse en cada
caso. Otro problema importante de los heurísticos es su incapacidad para escapar
de óptimos locales. Una solución heurística para un problema podría corresponder
o estar muy cercana a un óptimo local y no a un óptimo global, ya que estos
algoritmos pueden quedarse atrapados en una zona del espacio de soluciones.

13
3.6 Uso del software.
WinQSB
WinQSB es un sistema interactivo de ayuda a la toma de decisiones que contiene
herramientas muy útiles para resolver distintos tipos de problemas en el campo de
la investigación operativa. El sistema está formado por distintos módulos, uno para
cada tipo de modelo o problema.

TORA
El software TORA de optimización es un programa basado en Windows® que tiene
por objeto usarse con muchas de las técnicas presentadas en el libro Investigación
de Operaciones de TAHA . TORA es una aplicación muy simple, con una interfaz
gráfica de baja calidad. Una de las ventajas de TORA es que puede utilizarse en
procesadores de 32 y 64 bits, hoy por hoy su principal desventaja es que deberá
ajustarse la configuración de pantalla para adecuarse a sus ajustes de presentación
de 800 x 600 y 1024 x 768 pixeles.

DS for Windows
Software para la producción / gestión de operaciones, métodos cuantitativos,
ciencias de la gestión y la investigación de operaciones.

LINGO
LINGO: (Linear Generalize Optimizer) es una herramienta simple para formular
problemas lineales y no lineales, resolverlos y analizar su solución. El resultado que
LINGO nos proporciona es la optimización que nos ayuda a encontrar el mejor
resultado: la ganancia más alta, o el costo más bajo.

LINDO
LINDO es un intuitivo programa para resolver problemas de optimización
matemática, en particular de programación lineal (continuos, enteros y binarios). El
nombre de LINDO es un acrónimo de Linear, Interactive, and Discrete Optimizer.

14
CONCLUSIONES.
La programación entera tiene una diversidad de métodos para resolver distintos
problemas de toma der decisiones, estos son un poco más complicado con la
programación lineal, aunque a veces con la programación lineal no se puede
resolver, con las programación entera pueden encontrarse una solución factible,
aunque como ya se mencionó al inicio, estos métodos son de carácter heurísticos
por lo que son algo nuevos y a su vez muy difíciles de dominar pero siempre en la
búsqueda de una solución para tomar decisión al final de cuentas.

Aunque muchas veces en problemas de inversión, o de otras cosas similares es


muy importante la programación entera para que la misma no tenga fallos a la hora
de resolver el mismo, obviamente, estos métodos puede resultar también en
decimales, a lo que también se le puede denominar a un método mixto o en su
defecto también puede ser un método en donde la respuesta sea sí o no (binarios),
hay muchísimas formas de resolver estos, y cada problema tiene su forma de
resolución y aunque, estas sean similar a la lineal, estas tienen la misma utilidad, y
de igual forma en la búsqueda de mejora continua como el simplex

15
Bibliografías.

Instituto Tecnológico La Laguna. (s.f.). Recuperado el 21/04/2017, de Solución de


Problemas de programación matemática por el metódo gráfico:
http://www.itlalaguna.edu.mx/academico/carreras/industrial/invoperaciones1
/UIb.HTML

Lieberman, H. y. (2003). ULPGC. Recuperado el 21/04/2017, de Programación


entera:
http://www2.ulpgc.es/hege/almacen/download/14/14958/programacion_ente
r.pdf

Martos, J. R. (25/11/2009). Wordpress. Recuperado el 21/04/2017, de


Procedimientos heurísticos para potenciar el aprendizaje:
https://jacoboreyesmartos.wordpress.com/2009/11/25/algunos-
procedimientos-heursticos-y-algoritmos-para-potenciar-el-aprendizaje/

Olivares, B. (05/06/2014). SlideShare. Recuperado el 21/04/2017, de


Programación Entera U4:
https://es.slideshare.net/betzaidaberenicelopezolivares5/programacion-
entera-u4

Tutoriales, G. (11/02/2016). Gestión de Operaciones. Recuperado el 21/04/2017,


de Qué es la programación entera:
http://www.gestiondeoperaciones.net/programacion-entera/que-es-la-
programacion-entera/

UV es. (s.f.). Recuperado el 21/04/2017, de Programacion Lineal Entera:


http://www.uv.es/~sala/trentera.pdf

Wikipedia. (18/06/2013). Recuperado el 21/04/2017, de Programación binaria:


https://es.wikipedia.org/wiki/Programaci%C3%B3n_binaria

16

También podría gustarte