Sunteți pe pagina 1din 16

Contenido

Introducción...................................................................................................................................2
3.1 Introducción y casos de aplicación de la programación entera.................................3
Introducción a la programación entera................................................................................3
Aplicaciones...............................................................................................................................4
3.2 Definición y modelos de programación entera...............................................................5
Definición....................................................................................................................................5
Programación Entera...............................................................................................................5
Programación entera mixta....................................................................................................5
Programación entera Binaria.................................................................................................6
Ejemplos de Problema de Programación Binaria.............................................................7
3.3 Método gráfico en la programación entera......................................................................8
3.4 Método de ramificación y acotación................................................................................10
Diagrama de flujo del método de ramificación y acotación..........................................11
3.4.1. MÉTODO DE CORTE DE GOMORY..............................................................................12
El procedimiento consiste en los siguientes pasos:......................................................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

16
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.

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

16
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.
 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.

16
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.

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.


Una compañía vende dos productos químicos industriales. El primero, XYLINE, se
debe producir en sacos de 50 libras; en tanto que el segundo, HEXALL, se vende
por libras a granel en seco y, por consiguiente, se puede elaborar en cualquier
cantidad, tanto el XYLINE como el HEXALL se componen de tres ingredientes (A,
B y C) como sigue:

La compañía vende sacos de 50 libras de xyline en $85 y cualquier cantidad de


hexall a $1.5 cada libra. ¿Qué cantidad de cada tipo de producto se debe fabricar?

16
Programación entera Binaria.
Las variables binarias 𝑥𝑗 ∈ {0,1} pueden utilizarse para modelar situaciones en las
que se decide que si una acción se realiza 𝑥𝑗 = 1, o si no se realiza 𝑥𝑗 = 0. Un
ejemplo típico de utilización de este tipo de variables es el problema de
inversiones, a continuación se muestra una de sus versiones más simplificadas.
Un inversor dispone de una cantidad b para invertir en n posibilidades de
proyectos/inversiones. Cada posible acción tiene un costo 𝑎𝑗 unidades monetarias
y un beneficio posterior de 𝑐𝑗 unidades monetarias. El inversor debe decidir que
inversiones realizar con el objeto de maximizar el beneficio total. Para este
problema se definen variables 𝑥𝑗 que toman valor 1 cuando se invierte en el
proyecto j y valor 0 cuando no se invierte, con estas variables el problema queda
en la siguiente forma:

Este problema puede modificarse incorporando el hecho de que las inversiones no


sean de un solo periodo de tiempo sino que deban realizarse durante varios
periodos de tiempo, en cada uno de los cuales se dispone de una cantidad 𝑏𝑖
unidades monetarias. También puede modificarse mediante la incorporación de
condiciones y restricciones en las inversiones, por ejemplo:

 Si invierto en el proyecto i entonces debo invertir en el proyecto j. Dicha


condición responde a la ecuación:

𝑥𝑖 ≤ 𝑥

Puede observarse que si 𝑥𝑖 = 1 entonces queda 1 ≤ 𝑥𝑗 con lo que 𝑥𝑗 debe tomar


valor 1 y Si 𝑥𝑖 = 0 entonces queda 0 ≤ 𝑥𝑗 con lo que 𝑥𝑗 no está restringida y puede
tomar cualquier de los dos posibles valores 0 ó 1.

 Si invierto en el proyecto i y en el proyecto j. entonces debo invertir en el


proyecto k. dicha condición responde a la ecuación:

𝑥𝑖 + 𝑥𝑗 ≤ 1 + 𝑥𝑘

En este caso si 𝑥𝑖 = 𝑥𝑗 = 1 la ecuación queda 2 ≤ 1 + 𝑥𝑘 con lo que 𝑥𝑘 está


obligado a tomar el valor 1 y cualquier otro caso obtenemos 0 ≤ 1 + 𝑥𝑘 0 1 ≤ 1 + 𝑥𝑘
que no restringen a 𝑥𝑘.

16
 Si invierto en el proyecto i o en el proyecto j. entonces debo invertir en el
proyecto k. dicha condición responde a la ecuación:

𝑥𝑖 + 𝑥𝑗 ≤ 2𝑥𝑘

En este caso si 𝑥𝑖 = 1 𝑜 𝑥𝑗 = 1 la ecuación queda 1 ≤ 2𝑥𝑘que obliga a que 𝑥𝑘 tome


valor (𝑥𝑘 ≥ 0.5 ⟹ 𝑥𝑘 = 1, si ambas toman valor 1 entonces queda 𝑥𝑘 ≥ 1 si ambas
toman valor 0 𝑥𝑘 queda libre pudiendo tomar valores 0 o 1.

Ejemplos de Problema de Programación Binaria.


1.- Una compañía está considerando tres posibles proyectos para mejorar su
planta: un nuevo convertidor catalítico, un nuevo software para controlar las
operaciones y la expansión del almacén. Los requerimientos de capital y las
limitaciones del presupuesto en los dos años siguientes impiden que la firma
emprenda todos los proyectos en este momento. El valor presente neto (el valor
futuro del proyecto descontado al del momento actual) de cada uno de los
proyectos, los requerimientos de capital y los fondos disponibles para los dos años
siguientes se presentan en la tabla siguiente:

a) Si la empresa desea maximizar el valor presente neto de los proyectos


emprendidos, en ¿qué proyectos deberá invertir la empresa?
b) Suponga que la compañía requiere elegir no más de los tres proyectos, sin
importar los fondos disponibles, ¿Cuál sería la nueva solución?
c) Suponga que la compañía decide que el nuevo convertidor catalítico podría
comprarse tan solo si también se adquiere el nuevo software ¿Cómo se
plantearía esta situación? ¿cuál sería la solución en este escenario?
2.- Una empresa manufacturera desea construir al menos una nueva planta, para
lo cual está considerando tres ciudades: San Luis Potosí, Hidalgo y Querétaro.
Una vez que se haya(n) construido la(s) planta(s), la compañía desea tener
suficiente capacidad para producir anualmente por lo menos 38 000 unidades. Los
costos asociados con las ubicaciones se muestran a continuación:

16
Como observación para realizar el modelo se tiene que el número de unidades
producidas en la planta de San Luis Potosí será 0 si la planta no se construye, y
de no más de 21 000 si se construye la planta.
a) ¿Qué planta(s) deberá construir la empresa? Resuelva por el método de
ramificación y acotación.

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:

16
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.

16
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

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.

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

16
3.4.1. MÉTODO DE CORTE DE GOMORY

Este método fue creado por Gomory en 1958 y consiste en resolver el problema
entero por programación lineal, y en caso de que la solución no sea entera se irá
acortando la región factible de solución por la inclusión de nuevas restricciones, lo
que excluirá las soluciones no enteras. En este método solo habrá acotamiento de
la zona de solución en cada paso hasta encontrar el óptimo (Izar, 2012; Bronso,
1992).

El procedimiento consiste en los siguientes pasos:


1. Se resuelve el problema planteado por programación lineal. Si la solución
es entera, será la óptima en caso contrario, se va al siguiente paso.
2. De la solución fraccionaria obtenida en el paso anterior, se toma de la tabla
simplex final la ecuación del renglón de la variable de decisión que haya
resultado fraccionaria, en caso de haber varias variables fraccionarias, se
aconseja tomar aquella que este más próxima al valor intermedio (0.5).
3. La ecuación obtenida en el paso anterior se descompone en dos partes:
una entera y la otra fraccionaria. Esta última será una nueva restricción,
tomándose como desigualdad del tipo mayor o igual que cero.
4. Se vuelve a solucionar el problema original, con la adición de la nueva
restricción obtenida en el paso anterior. Esto puede hacerse conforme a lo
visto en la unidad de “análisis de sensibilidad. Si la solución obtenida en
este paso es entera, se habrá resuelto el problema; si es fraccionaria, se
repite el procedimiento a partir del paso número 2.
Nota importante: Una de las desventajas del presente método, es que no
garantiza la convergencia a la solución óptima, aunque si resulta menos laborioso
que el método de Bifurcación y Acotación. Por ello el método más aceptado para
problemas de programación entera es el de bifurcación y acotación.

16
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.

16
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.

16
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.

Bibliografías.

16
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

S-ar putea să vă placă și