You are on page 1of 11

INVESTIGACIÓN DE OPERACIONES I

“PROGRAMACIÓN ENTERA”

ALUMNO: ANGELES IDEAQUIZ ANAHÍ

GRUPO: 4b4B HORA: 09-10

CATEDRÁTICO: INGENIERO ALFONSO CRUZ ALEJO.


INTRODUCCIÓN Y CASOS DE APLICACIÓN
Sus pioneros fueron Wagner (1950) y Manne (1959). Tradicionalmente estos
modelos se han considerado como sus clases de la programación lineal, sin
embargo, las variables de decisión que aparecen en ellos sólo toman valores
enteros, por lo que realmente deben considerarse como problemas de
programación entera. El número de modelos lineales enteros y sus métodos de
solución es en la actualidad bastante extenso, lo que nos ha llevado a hacer una
selección considerando aquellos que creemos más interesantes y que aparecen con
mayor frecuencia en la realidad.

No siempre es admisible que las variables de un PL tomen valores continuos,


existen:

A. Decisiones dicotómicas (si-no)


B. Decisiones que deben tomarse en unidades discretas

Si se requiere que todas las variables sean enteras, se dice que se habla de
Programación Lineal Entera Pura; si se necesita que algunas de las variables de
decisión sean números enteros, se tiene un problema de Programación Lineal
Entera Mixta.

En algunas aplicaciones, sólo se permite que todas las variables tomen valores de
cero o uno, hablamos en estos casos de Programación Lineal Entera Binaria
(Digital); si se requiere que solamente algunas de las variables tomen valores de
cero o uno, se tiene un problema de Programación Lineal Entera Binaria Mixta.

DEFINICIÓN Y MODELOS DE PROGRAMACIÓN ENTERA Y BINARIO

Un modelo de programación entera es un modelo que contiene restricciones y una


función objetivo idénticas a las formuladas por planeación lineal. La única diferencia
es que una o más de las variables de decisión tienen que tomar un valor entero en
solución final.
Existen tres tipos de modelos de programación entera:
1. Pura
2. Mixta
3. Binaria

PROGRAMACIÓN ENTERA PURA


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

Min 6x1 + 5x2 + 4x3


s.a. 108x1 + 92x2 + 58x3 >= 576
7x1 + 18x2 + 22x3 >= 83
* X1, x2, x3> =0 y enteros
* Es un modelo entero puro. Sin las restricciones adicionales x1, x2, x3 sean enteros
(o sea las condiciones de integralidad) sería un problema de programación lineal.

Ejemplo:
Corte de madera.
Una marquetería debe enmarcar 175 cuadros de 119x96 cm. En el mercado puede
comparar varillas de la moldura indicada con longitud de 300 cm. ¿Cómo deben
cortase las varillas para obtener los marcos requeridos, obteniendo el menor
sobrante posible?

Solución:
Modalidades de corte.

X1: Número de varillas estándar cortadas en la modalidad i (i= 1, 2, 3)


Para 175 marcos se necesitan 350 piezas de cada longitud

Minimizar: 62x1 + 1x2 + 30x3 longitud sobrante


Sujeta a:
2x1 + 1x2 ≥ 350 piezas de longitud 119
2x2 + 3x3 ≥350 piezas de longitud 90

PROGRAMACIÓN ENTERA MIXTA

Algunas de las variables de decisión tienen valores enteros. Las demás cumplen
con la suposición de divisibilidad.
Un problema en el que solo se requieren que algunas variables tengan valores
enteros mientras que otras pueden asumir cualquier número no negativo (es decir,
cualquier valor continuo) se llama programación lineal entera mixta (PLEM). Por
ejemplo, supóngase que en el problema solo x1 y x2 deben ser enteros y x3 no. El
problema resultante es:

Ejemplo:
Programación de la Producción de un Ensamble Cierta empresa produce un artículo
que se forma con cuatro piezas del componente A y tres piezas del componente B.
Las piezas se pueden fabricar en cualquiera de las tres máquinas diferentes que
posee la compañía, las cuales transforman las dos materias primas en las piezas
que van al ensamble del producto final.

La tabla siguiente muestra el número de gramos de cada materia prima que deben
utilizarse en cada máquina para realizar un ciclo de producción de las componentes.
La misma tabla muestra el número de componentes de cada tipo que se obtienen
en cada ciclo de producción de cada una de las maquinas, así como el número de
gramos disponibles de las materias primas.
¿Cómo debe programarse la producción para obtener la máxima cantidad de
artículos?
Construcción del modelo Para un mejor entendimiento elaboremos un diagrama de
la situación.

Definición de variables:

Xi = Número de tandas de producción que realiza la máquina i.


Cada tanda de producción de las máquinas utiliza cierta cantidad de las materias
primas y produce cierta cantidad de los componentes A y B, con los cuales se
obtiene el ensamble del producto final.

Como para cada unidad del ensamble se utilizan cuatro unidades del componente
A y tres del componente B, se concluye que el número total de ensambles obtenidos
será el resultado de dividir por cuatro el número de componentes tipo A, pero
también debe ser igual al número de componentes tipo B, dividido por tres.

Necesitamos entonces definir también que :


XA = número de componentes de tipo A obtenidas.
XB = número de componentes de tipo B obtenidas.

PROGRAMACIÓN ENTERA BINARIA

Utiliza variables binarias


En algunos problemas se restringe el valor de las variables a 0 o 1. Son de particular
interés debido a que se pueden usar las variables 0–1 para representar decisiones
dicotómicas (sí o no). Diversos problemas de asignación, ubicación de plantas,
planes de producción y elaboración de cartera, son de programación lineal entera
0–1.

Existen dos métodos para generar las restricciones especiales que fuercen la
solución óptima del problema, hacia la solución óptima entera deseada:

 Método de ramificar y acotar.


 Método de planos de corte.

Desafortunadamente, ninguno de los dos métodos es efectivo en la solución de


problemas de programación lineal entera.

MÉTODO DE BIFURCACIÓN Y ACOTACIÓN

El método de bifurcación y acotación (B&B, de Branch and Bound) resuelve un


PPLE resolviendo una secuencia ordenada de PPLs que se obtienen relajando las
restricciones de integralidad y añadiendo restricciones adicionales. El número de
restricciones adicionales crece a medida que el método B&B progresa. Estas
restricciones permiten separar la región factible en subregiones complementarias.
El método B&B establece inicialmente cotas inferior y superior del valor óptimo de
la función objetivo. El mecanismo de bifurcación aumenta progresivamente el valor
de la cota inferior y disminuye también progresivamente el valor de la cota superior.
La diferencia entre estas cotas es una medida de la proximidad de la solución actual
a la óptima, si ésta existe.

Al minimizar, se obtiene una cota inferior de la solución óptima relajando las


restricciones de integralidad del PPLE inicial y resolviendo el PPL resultante.
Además, el valor de la función objetivo para cualquier solución del PPLE original es
una cota superior de la solución óptima.

De manera análoga, al maximizar, la solución del PPL relajado es una cota superior
para el óptimo y cualquier solución del PPLE original es una cota inferior de la
solución óptima.

A continuación se enumeran los pasos del algoritmo B&B para un PPLE Mixta:

Paso 1: Iniciación

1. Se establece una cota superior (∞) y una cota inferior (−∞) de la solución óptima.
2. Se resuelve el PPLE Mixta inicial relajando las restricciones de integralidad.
3. A) Si el problema relajado es infactible, el original también lo es y no hay solución.
4. B) Si la solución obtenida satisface las condiciones de integralidad, es óptima.
5. C) En cualquier otro caso, se actualiza el valor de la cota correspondiente con el
valor de la función objetivo resultante.

Pasó 2: Bifurcación

1. Empleando la variable xk que ha de ser entera y no lo es, se generan mediante


bifurcación dos problemas. Si el valor de la variable que ha de ser entera xk es a.b,
donde a y b son sus partes entera y fraccional respectivamente, los problemas fruto
de la bifurcación son los siguientes.
2. A) El primer problema es el PPLE relajado al que se la añade la restricción xk≤a
B) El segundo es el PPLE relajado al que se le añade la restricción xk≥a+1
3. Estos problemas se colocan ordenadamente en una lista de problemas a procesar
que son resueltos secuencialmente o en paralelo. Obsérvese que la técnica de
bifurcación propuesta cubre completamente el espacio de soluciones.

Pasó 3: Solución

3.1 Se resuelve el siguiente problema en la lista de problemas a procesar.

Pasó 4: Acotación

4.1 Si la solución del problema actual satisface las condiciones de integralidad y el


valor óptimo de su función objetivo es menor que la cota superior actual, dicha cota
se actualiza al valor óptimo de la función objetivo del problema resuelto, y el
minimizador actual se almacena como el mejor candidato a minimizador del
problema original. En caso de maximizaciones, la cota inferior actual se actualiza al
valor óptimo de la función objetivo del problema resuelto si éste es menor que dicha
cota inferior.
4.2 Si, por el contrario, la solución obtenida no satisface las restricciones de
integralidad y el valor de la correspondiente función objetivo está entre las cotas
inferior y superior, se actualiza el valor de la cota inferior al valor de la función
objetivo del problema resuelto y se procede a bifurcar de nuevo. En caso de
maximizaciones, se actualiza el valor de la cota superior al valor de la función
objetivo del problema resuelto y se procede a bifurcar de nuevo.
4.3 Los problemas generados en el proceso de bifurcación se añaden a la lista de
problemas que han de resolverse.

Pasó 5: Poda

5.1 Poda por cotas: Tiene lugar si la solución no satisface las condiciones de
integralidad y además el valor de la función objetivo del problema resuelto es mayor
que la cota superior para minimizaciones o menor que la cota inferior para
maximizaciones. En este caso no es posible obtener soluciones mediante
bifurcaciones adicionales de esa rama.
5.2 Poda por infactibilidad: Tiene lugar si el problema es infactible.
5.3 Poda por integralidad: Tiene lugar si la solución del problema actual cumple las
restricciones de integralidad.

Pasó 6: Optimalidad

6.1 Si la lista de problemas a procesar no está vacía, se continúa con el paso 3.


6.2 Si la lista de problemas a procesar está vacía, el procedimiento concluye.
6.3 Concluido el problema, si existe un candidato minimizador, dicho candidato es
el minimizador; en caso contrario, el problema es infactible.

El algoritmo de B&B devuelve la solución óptima o notifica la infactibilidad bien en


el paso 1 ó en el paso 6. El proceso de bifurcación concluye por la poda de la rama
correspondiente como consecuencia de una de las tres razones siguientes:

1. La solución del problema relajado es mayor que la cota superior disponible en el


caso de minimizaciones, o menor que la cota inferior disponible para el caso de
maximizaciones.
2. El problema considerado es infactible.
3. La solución obtenida satisface las condiciones de integralidad.
Como puede verse, los pasos centrales del algoritmo B&B son la bifurcación, la
acotación y la poda. La diferencia entre un algoritmo
B&B u otro radica en las diferentes estrategias que pueden llevarse a cabo a la hora
de implementar tales pasos.
Estrategias de bifurcación y procesamiento
Cualquier variable que deba ser entera pero que no lo sea en la solución actual, es
una variable candidata para bifurcación. Cuál escoger no es una cuestión trivial, y
su respuesta ha de basarse en la estructura del problema.

Los problemas almacenados para ser procesados pueden tratarse mediante


estrategias en profundidad, en anchura o mixtas. La siguiente figura ilustra las dos
primeras alternativas.

Normalmente el conocimiento técnico del problema permite establecer el tipo de


estrategia a utilizar.
 Búsqueda en profundidad
 Búsqueda en anchura.

Una estrategia de procesado en profundidad origina rápidamente problemas


fuertemente restringidos que producen buenas cotas superiores e inferiores. Da
lugar asimismo a problemas infactibles y por tanto a una deseable eliminación de
ramas.

Por el contrario, una estrategia en anchura permite tratar problemas muy similares,
de lo que pueden desprenderse ventajas computacionales como es la re
optimización eficiente del problema relajado actual partiendo de la solución del
anterior.

ESTRATEGIAS DE ACOTACIÓN

La acotación es normalmente llevada a cabo mediante la denominada relajación


lineal, consistente en la obtención de la cota a partir de la resolución del PPL
obtenido relajando las restricciones de integralidad del PPLE original.
Sin embargo, existen otras posibles relajaciones del PPLE original, como la
relajación
La gran giana en la que todo el conjunto de restricciones (Ax ≤ b en notación
matricial) es eliminado y la función objetivo del problema Maximizar z=cTx es
reemplazada por Maximizar zR=cTx – λ(Ax – b), donde λ ≥0 es un vector fijo.
Si x* es una solución óptima del problema original z ≤ zR, por lo que resolviendo la
relajación

La grangiana el valor óptimo de zR proporciona una cota válida para el problema


original.

Escogiendo adecuadamente el valor del vector λ dicha cota tiende a ser similar a la
proporcionada por la solución de la relajación lineal, pero con la ventaja de que sin
las restricciones del problema la resolución de la relajación La grangiana puede
llegar a ser mucho más rápida.

En contrapartida, la poda llevada a cabo tras la acotación mediante la relajación La


grangiana no suele ser tan potente como la llevada a cabo tras la relajación lineal.
En general, dos son los factores deseables a la hora de escoger una u otra
estrategia de acotación: (a) una rápida resolución del problema relajado; y (b) la
obtención de una buena cota. En general, la relajación lineal suele ofrecer un buen
compromiso entre ambos factores.

ESTRATEGIAS DE PODA

Como se ha comentado anteriormente, la poda de la rama correspondiente tiene


lugar por una de las tres razones siguientes:

1. La solución del problema relajado es mayor que la cota superior disponible en el


caso de minimizaciones, o menor que la cota inferior disponible para el caso de
maximizaciones.
2. El problema considerado es infactible.
3. La solución obtenida satisface las condiciones de integralidad.
En cuanto al punto 1 puede optarse por convertir el problema a la forma estándar
de maximización (tal y como se vio en el Tema 4) y podar siempre que la solución
del problema relajado sea inferior al óptimo actual.

En cuanto al punto 3, si el problema relajado y el subproblema generado mediante


bifurcación tan sólo difieren en la falta de alguna restricción, la poda puede
simplemente basarse en comprobar si la solución óptima de dicha relajación es una
solución factible para el subproblema, ya que en este caso dicha solución también
será óptima para este.

MÉTODO HEURÍSTICO

Se basa en la utilización de reglas empíricas para llegar a una solución. El método


heurístico conocido como “IDEAL”, formulado por Bransford y Stein (1984), incluye
cinco pasos: Identificar el problema; definir y presentar el problema; explorar las
estrategias viables; avanzar en las estrategias; y lograr la solución y volver para
evaluar los efectos de las actividades (Bransford & Stein, 1984).

El matemático Polya (1957) también formuló un método heurístico para resolver


problemas que se aproxima mucho al ciclo utilizado para programar computadores.
A lo largo de este curso se utilizará este método propuesto por Polya. Según Polya
(1957), cuando se resuelven problemas,
intervienen cuatro operaciones mentales:

1. Comprender el problema.
 Leer el problema varias veces
 Establecer los datos del problema
 Aclarar lo que se va a resolver (¿Cuál es la pregunta?)
 Precisar el resultado que se desea lograr
 Determinar la incógnita del problema
 Organizar la información
 Agrupar los datos en categorías
 Trazar una figura o diagrama.

2. Hacer el plan.
 Escoger y decidir las operaciones a efectuar.
 Eliminar los datos inútiles.
 Descomponer el problema en otros más pequeños.

3. Ejecutar el plan (Resolver).


 Ejecutar en detalle cada operación.
 Simplificar antes de calcular.
 Realizar un dibujo o diagrama.

4. Analizar la solución (Revisar).


 Dar una respuesta completa
 Hallar el mismo resultado de otra manera.
 Verificar por apreciación que la respuesta es adecuada.

Como se aplica:
Como disciplina científica, la heurística es aplicable a cualquier ciencia e incluye la
elaboración de medios auxiliares, principios, reglas, estrategias y programas que
faciliten la búsqueda de vías de solución a problemas; o sea, para resolver tareas
de cualquier tipo para las que no se cuente con un procedimiento algorítmico de
solución. Según Horst Müler: Los Procedimientos Heurísticos son formas de trabajo
y de pensamiento que apoyan la realización consciente de actividades mentales
exigentes. Los Procedimientos Heurísticos como Método científico pueden dividirse
en principios, reglas y estrategias.

Principios Heurísticos: constituyen sugerencias para encontrar (directamente) la


idea de solución; posibilita determinar, por tanto, a la vez, los medios y la vía de
solución. Dentro de estos principios se destacan la analogía y la reducción.

Reglas Heurísticas:
Actúan como impulsos generales dentro del proceso de búsqueda y ayudan a
encontrar, especialmente, los medios para resolver los problemas. Las Reglas
Heurísticas que más se emplean son:

 Separar lo dado de lo buscado.

 Representar magnitudes dadas y buscadas con variables.

 Determinar si se tienen fórmulas adecuadas.

 Utilizar números (estructuras más simples) en lugar de datos.

 Reformular el problema.
Estrategias Heurísticas: se comportan como recursos organizativos del proceso
de resolución, que contribuyen especialmente a determinar la vía de solución del
problema abordado. Existen dos estrategias:
o El trabajo hacia adelante: se parte de lo dado para realizar las reflexiones que
han de conducir a la solución del problema.
o El trabajo hacia atrás: se examina primeramente lo que se busca y, apoyándose
de los conocimientos que se tienen, se analizan posibles resultados intermedios
de lo que se puede deducir lo buscado, hasta llegar a los dados.

1. Ejercicio:
Imagina que nos estamos preparando para la llegada de una extraña epidemia que
se espera que provoque la muerte de 600 personas. Se han propuesto dos
programas alternativos para combatir la enfermedad. Supongamos que las
estimaciones científicas exactas de las consecuencias de los programas son las
siguientes, ¿cuál de los dos programas apoyarías tú?

A) Si se adopta el programa A se salvarán seguro 200 personas


Tu respuesta es adversa al riesgo; es decir, estás prefiriendo la alternativa segura.
Cuando el problema está formulado en términos de ganancias (vidas salvadas),
como en este caso, la tendencia de los sujetos es elegir la alternativa A que es más
segura, es decir, los sujetos manifestarían una aversión por el riesgo.

B) Si se adopta el programa B, hay una probabilidad de 1/3 de que se salven las


600 personas y 2/3 de que no se pueda salvar a nadie• Tu respuesta es favorable
al riesgo.
Cuando el problema está formulado en términos de ganancias (vidas salvadas),
como en este caso, la tendencia de los sujetos es elegir la alternativa A que es más
segura, es decir, los sujetos manifestarían una aversión por el riesgo.

2. Ejercicio:
Imagina que nos estamos preparando para la llegada de una extraña epidemia que
se espera que provoque la muerte de 600 personas. Se han propuesto dos
programas alternativos para combatir la enfermedad. Supongamos que las
estimaciones científicas exactas de las consecuencias de los programas son las
siguientes, ¿cuál de los dos programas apoyarías tú?

• A) Si se adopta el programa C morirán 400 personas• Tu respuesta es adversa al


riesgo; es decir, estás prefiriendo la alternativa segura.• Cuando el problema está
formulado en términos de pérdidas (vidas perdidas), como en este caso, la
tendencia de los sujetos es elegir la alternativa más arriesgada, la D, es decir, los
sujetos manifestarían una preferencia por el riesgo.

• B) Si se adopta el programa D existiría la probabilidad de 1/3 de que no muera


nadie y una probabilidad de 2/3 de que mueran 600 personas
Tu respuesta es favorable al riesgo.
Cuando el problema está formulado en términos de pérdidas (vidas perdidas), como
en este caso, la tendencia de los sujetos es elegir la alternativa más arriesgada, la
D, es decir, los sujetos manifestarían una preferencia por el riesgo.

Bibliografías

https://es.slideshare.net/gjmendietap/heursticos-en-la-resolucin-de-problemas-
14041805
https://analisisheuristicos.wordpress.com/
https://germanjames.wordpress.com/2011/03/16/la-investigacion-de-operaciones-
uso-de-modelos-y-metodos-de-optimizacion/
https://es.scribd.com/doc/6132277/MATEMATICA-EL-METODO-HEURISTICO

You might also like