Sunteți pe pagina 1din 14

Unidad 4. Programacio n Entera.

4.1 Introduccion y casos de aplicacin


Sus pioneros fueron Wagner (1950) y Manne (1959). Tradicionalmente estos
modelos se han considerado como subclases de la programacin lineal, sin
embargo, las variables de decisin que aparecen en ellos slo toman valores
enteros, por lo que realmente deben considerarse como problemas de
programacin entera. El nmero de modelos lineales enteros y sus mtodos de
solucin es en la actualidad bastante extenso, lo que nos ha llevado a hacer una
seleccin considerando aquellos que creemos ms interesantes y que aparecen
con mayor frecuencia en la realidad.

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

Decisiones dicotmicas (si-no)
Decisiones que deben tomarse en unidades discretas

Si se requiere que todas las variables sean enteras, se dice quese habla de
Programacin Lineal Entera Pura; si se necesita que algunas de las variables de
decisin sean nmeros enteros, se tiene un problema de Programacin Lineal
Entera Mixta.
En algunas aplicaciones, slo se permite que todas las variables tomen valores de
cero o uno, hablamos en estos casos de Programacin Lineal Entera Binaria
(Digital); si se requiere que solamente algunas de las variables tomen valores de
cero o uno, se tiene un problema de Programacin Lineal Entera Binaria Mixta.



4.2 Definicion y modelos de programacin entera y binaria

Un modelo de programacin entera es un modelo que contiene restricciones y una
funcin objetivo idnticas a las formuladas por planeacin lineal. La nica
diferencia es que una o ms de las variables de decisin tienen que tomar un valor
entero en solucin final.
Existen tres tipos de modelos de programacin entera:

* Pura
* Mixta
* Binaria

PROGRAMACIN ENTERA PURA

Un modelo entero puro (PLE), es cmo su nombre lo indica, un problema en el
que se exige que todas las variables de decisin 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) sera un problema de programacin
lineal

Ejemplo:

Corte de madera

Una marquetera debe enmarcar 175 cuadros de 119x96 cm.En el mercado puede
comparar varillas de la moldura indicada con longitud de 300 cm. Cmo deben
cortase las varillas para obtener los marcos requeridos, obteniendo el menor
sobrante posible?

Solucin

Modalidades de corte
X1: Nmero de varillas estndar 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









PROGRAMACIN ENTERA MIXTA

Algunas de las variables de decisin tienen valores enteros. Las dems cumplen
con la suposicin de divisibilidad.
Un problema en el que solo se requieren que algunas variables tengan valores
enteros mientras que otras pueden asumir cualquier numero no negativo (es decir,
cualquier valor continuo) se llama programacin lineal entera mixta (PLEM). Por
ejemplo, supngase que en el problema solo x1 y x2 deben ser enteros y x3 no. El
problema resultante es:

Ejemplo:

Programacin de la Produccin de un Ensamble
Cierta empresa produce un artculo 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 mquinas diferentes que
posee la compaa, las cuales transforman las dos materias primas en las piezas
que van al ensamble del producto final.
La tabla siguiente muestrael nmero de gramos de cada materia prima que deben
utilizarse en cada mquina para realizar un ciclo de produccin de las
componentes. La misma tabla muestra el nmero de componentes de cada tipo
que se obtienen en cada ciclo de produccin de cada una de las maquinas, as
como el nmero de gramos disponibles de las materias primas.




Cmo debe programarse la produccin para obtener la mxima cantidad de
artculos?

Construccin del modelo
Para un mejor entendimiento elaboremos un diagrama de la situacin
Definicin de variables

Xi = Nmero de tandas de produccin que realiza la mquina i.
Cada tanda de produccin de las mquinas 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 nmero total de ensambles
obtenidos ser el resultado de dividir por cuatro el nmero de componentes tipo A,
pero tambin debe ser igual al nmero de componentes tipo B, dividido por tres.
Necesitamos entonces definir tambin que

XA = nmero de componentes de tipo A obtenidas.
XB = nmero de componentes de tipo B obtenidas.







PROGRAMACIN ENTERA BINARIA
Utiliza variables binarias

En algunos problemas se restringe el valor de las variables a 0 o 1. Son de
particular inters debido a que sepueden usar las variables 01 para representar
decisiones dicotmicas (s o no). Diversos problemas de asignacin, ubicacin de
plantas, planes de produccin y elaboracin de cartera, son de programacin
lineal entera 01.
Existen dos mtodos para generar las restricciones especiales que fuercen la
solucin ptima del problema, hacia la solucin ptima entera deseada:

- Mtodo de ramificar y acotar.
- Mtodo de planos de corte.

Desafortunadamente, ninguno de los dos mtodos es efectivo en la solucin de
problemas de programacin lineal entera.











4.3 Metodo de Gomory

(Mtodo de los planos cortantes)
ste mtodo sirve para solucionar problemas de ms de dos (2) variables.
Algoritmo

1.- Encontrar la solucin, empleando el mtodo simplex.

2.- Si la solucin es entera, entonces estamos en el ptimo.

3.- Si no es entera, introducir una restriccin nueva para la variable
No entera, que tenga la mayor parte fraccional (Quebrar empates arbitrariamente)
y resolver el nuevo problema mediante el mtodo dual simplex.

Nueva restriccin a partir de la restriccin actual que tenga la variable cuyo valor
en su parte fraccional sea mayor.
a) Escriba cada constante como la suma de: Un nmero entero de cual quier
signo y una fraccin no negativa, menor que uno (1).

b) Cambiar la ecuacin trasladando los coeficientes enteros al lado derecho






4.4 Metodo de difurcacion y acotacin

El mtodo de bifurcacin y acotacin (B&B, de Branch and Bound)resuelve un
PPLE resolviendo una secuencia ordenada de PPLs que se obtienen relajando las
restricciones de integralidad y aadiendo restricciones adicionales. El nmero de
restricciones adicionales crece a medida que el mtodo B&B progresa. Estas
restricciones permiten separar la regin factible en subregiones complementarias.
El mtodo B&B establece inicialmente cotas inferior y superior del valor ptimo de
la funcin objetivo. El mecanismo de bifurcacin aumenta progresivamente el valor
de la cota inferior y disminuye tambin progresivamente el valor de la cota
superior. La diferencia entre estas cotas es una medida de la proximidad de la
solucin actual a la ptima, si sta existe.
Al minimizar, se obtiene una cota inferior de la solucin ptima relajando las
restricciones de integralidad del PPLE inicial y resolviendo el
PPL resultante. Adems, el valor de la funcin objetivo para cualquier solucin del
PPLE original es una cota superior de la solucin ptima. De manera anloga, al
maximizar, la solucin del PPL relajado es una cota superior para el ptimo y
cualquier solucin del PPLE original es una cota inferior de la solucin ptima.
A continuacin se enumeran los pasos del algoritmo B&B para un PPLE Mixta:

Paso 1: Iniciacin
1. Se establece una cota superior () y una cota inferior () de la solucin
ptima.
2. Se resuelve el PPLE Mixta inicial relajando las restricciones de integralidad.
3. A) Si el problema relajado esinfactible, el original tambin lo es y no hay
solucin.
4. B) Si la solucin 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 funcin objetivo resultante.



Pas 2: Bifurcacin

1. Empleando la variable xk que ha de ser entera y no lo es, se generan
mediante bifurcacin 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 bifurcacin son los siguientes.

2. A) El primer problema es el PPLE relajado al que se la aade la restriccin
xka
B) El segundo es el PPLE relajado al que se le aade la restriccin xka+1

3. Estos problemas se colocan ordenadamente en una lista de problemas a
procesar que son resueltos secuencialmente o en paralelo. Obsrvese que la
tcnica de bifurcacin propuesta cubre completamente el espacio de
soluciones.






Pas 3: Solucin
3.1 Se resuelve el siguiente problema en la lista de problemas a procesar.

Pas 4: Acotacin

4.1 Si la solucin del problema actual satisface las condiciones de integralidad
y el valor ptimo de su funcin objetivo es menor que la cota superior actual,
dicha cota se actualiza al valor ptimo de la funcin 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 alvalor ptimo de la funcin objetivo del problema resuelto si
ste es menor que dicha cota inferior.

4.2 Si, por el contrario, la solucin obtenida no satisface las restricciones de
integralidad y el valor de la correspondiente funcin objetivo esta entre las
cotas inferior y superior, se actualiza el valor de la cota inferior al valor de la
funcin 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
funcin objetivo del problema resuelto y se procede a bifurcar de nuevo.

4.3 Los problemas generados en el proceso de bifurcacin se aaden a la lista
de problemas que han de resolverse.

Pas 5: Poda

5.1 Poda por cotas: Tiene lugar si la solucin no satisface las condiciones de
integralidad y adems el valor de la funcin 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 solucin del problema actual cumple
las restricciones de integralidad.


Pas 6: Optimalidad

6.1 Si la lista de problemas a procesar no est vaca, se contina con el paso
3.

6.2 Si la lista de problemas a procesar est vaca, el procedimiento concluye.

6.3 Concluido el problema, si existe un candidato aminimizador, dicho
candidato es el minimizador; en caso contrario, el problema es infactible.
El algoritmo de B&B devuelve la solucin ptima o notifica la infactibilidad bien
en el paso 1 en el paso 6. El proceso de bifurcacin concluye por la poda de
la rama correspondiente como consecuencia de una de las tres razones
siguientes:

1. La solucin 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 solucin obtenida satisface las condiciones de integralidad.

Como puede verse, los pasos centrales del algoritmo B&B son la bifurcacin, la
acotacin 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 bifurcacin y procesamiento
Cualquier variable que deba ser entera pero que no lo sea en la solucin
actual, es una variable candidata para bifurcacin. Cul escoger no es una
cuestin 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 tcnico del problema
permite establecer el tipo de estrategia a utilizar.

Bsqueda en profundidad
Bsqueda en anchura
Una estrategia de procesado en profundidad origina rpidamente problemas
fuertemente restringidos que producen buenas cotas superiores e inferiores.
Da lugar asimismo a problemas infactibles y por tanto a una deseable
eliminacin 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 optimizacin eficiente del problema relajado actual partiendo de la
solucin del anterior.
Estrategias de acotacin
La acotacin es normalmente llevada a cabo mediante la denominada
relajacin lineal, consistente en la obtencin de la cota a partir de la resolucin
del PPL obtenido relajando las restricciones de integralidad del PPLE original.
Sin embargo, existen otras posibles relajaciones del PPLE original, como la
relajacin Lagrangiana en la que todo el conjunto de restricciones (Ax b en
notacin matricial) es eliminado y la funcin objetivo del problema Maximixar
z=cTx es reemplazada por
Maximizar zR=cTx (Ax b), donde 0 es un vector fijo.

Si x* es una solucin ptima del problema original z zR, por lo que
resolviendo la relajacin Lagrangiana el valor ptimo de zR proporciona una
cota vlida para el problema original. Escogiendo adecuadamente el valor del
vector dicha cota tiende a ser similar a la proporcionada por la solucin de la
relajacin lineal, pero con la ventaja de que sin las restricciones del problema
la resolucin de la relajacin Lagrangiana puedellegar a ser mucho ms rpida.
En contrapartida, la poda llevada a cabo tras la acotacin mediante la
relajacin Lagrangiana no suele ser tan potente como la llevada a cabo tras la
relajacin lineal. En general, dos son los factores deseables a la hora de
escoger una u otra estrategia de acotacin: (a) una rpida resolucin del
problema relajado; y (b) la obtencin de una buena cota. En general, la
relajacin 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 solucin 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 solucin obtenida satisface las condiciones de integralidad.
En cuanto al punto 1 puede optarse por convertir el problema a la forma
estndar de maximizacin (tal y como se vio en el Tema 4) y podar siempre
que la solucin del problema relajado sea inferior al ptimo actual.

En cuanto al punto 3, si el problema relajado y el subproblema generado
mediante bifurcacin tan slo difieren en la falta de alguna restriccin, la poda
puede simplemente basarse en comprobar si la solucin ptima de dicha
relajacin es una solucin factible para el subproblema, ya que en este caso
dicha solucin tambin ser ptima para este

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