Sei sulla pagina 1di 24

Cap tulo 7

Programacin lineal o entera-mixta


7.1 Introduccin o

Un problema de programacin lineal entera-mixta (PPLEM) es un problema de o programacin lineal (PPL) en el que algunas de las variables son enteras. Si o todas las variables enteras son binarias (0/1), el problema se denomina problema de programacin lineal entera-mixta 0/1 (PPLEM 0/1). Si, por otra parte, o todas las variables son enteras, el problema se denomina problema de programacin lineal entera estricta (PPLEE). En ingenier los problemas ms frecuentes o a a son los problemas de programacin lineal entera-mixta. Estos problemas proo porcionan un marco de modelado exible y eciente para formular y resolver muchos problemas de ingenier Este cap a. tulo proporciona una introduccin o a la programacin lineal entera-mixta y a las tcnicas de solucin asociadas a o e o la misma. Un ejemplo del conjunto de soluciones factibles de un problema de programacin lineal entera estricta se muestra en la gura 7.1, en la que los o puntos factibles se indican mediante c rculos. Un PPLEM general se formula en forma estndar minimizando a
n

Z=
j=1

cj xj

sujeto a
n

aij xj
j=1

= bi ;

i = 1, 2, . . . , m

xj xj

0; j = 1, 2, . . . , n I N; para todos o algunos j = 1, 2, . . . , n

donde I se emplea en este cap N tulo para referirse al conjunto {0, 1, 2, . . .}. 163

164

Cap tulo 7. Programacin lineal entera-mixta o

Figura 7.1: Conjunto de soluciones factibles de un PPLEE (puntos asociados a c rculos). Referencias relevantes para el estudio de PPLEMs son el manual clsico de a Garnkel y Nemhauser [47], la excelente monograf de Nemhauser y Wolsey a [79], el manual con orientacin prctica de Bradley et al. [15], y el manual o a introductorio de Rao [92]. En este cap tulo se explican dos procedimientos de resolucin de PPLEMs: o La tcnica de ramicacin y acotacin (RA) y la tcnica de los cortes de Goe o o e mory (CG). La tcnica RA es la utilizada ms habitualmente por sus buenas e a propiedades computacionales. Sin embargo, recientemente se han desarrollado tcnicas h e bridas, denominadas de ramicacin y cortes, que son ms ecaces. o a Las variables binarias son un mecanismo ecaz de modelado de no linealidades que aparecen con frecuencia en ingenier En el cap a. tulo 13 se mostrarn a algunos ejemplos, como: 1. Conjuntos alternativos de restricciones 2. Restricciones condicionales 3. Funciones discontinuas 4. Funciones lineales a tramos y no convexas El modelado de no linealidades mediante el empleo de variables binarias se explica en detalle, mediante ejemplos, en el cap tulo 13, Seccin 13.2.9. o

7.2. El mtodo de ramicacin y acotacin e o o

165

7.2
7.2.1

El mtodo de ramicacin y acotacin e o o


Introduccin o

El mtodo RA resuelve PPLEMs resolviendo una secuencia ordenada de PPL, e que se obtienen relajando las restricciones de integralidad y aadiendo restricn ciones adicionales. El nmero de restricciones adicionales crece a medida que el u procedimiento de RA progresa. Estas restricciones permiten separar la regin o factible en subregiones complementarias. El procedimiento RA establece inicialmente cotas inferior y superior del valor o ptimo de la funcin objetivo. El mecanismo de ramicacin aumenta progreo o sivamente el valor de la cota superior y disminuye tambin progresivamente el e valor de la cota superior. La diferencia entre estas cotas es una medida de la proximidad de la solucin actual a la optima, si sta existe. o e Al minimizar, se obtiene una cota inferior de la solucin optima relajando las o restricciones de integralidad del PPLEM inicial y resolviendo el PPL resultante. De manera anloga, el valor de la funcin objetivo para cualquier solucin del a o o PPLEM original es una cota superior de la solucin optima. o

7.2.2

El algoritmo de RA para un PPLEM

Entrada. Un PPLEM que ha de resolverse. Salida. Su solucin o un mensaje indicando que es infactible o que no est o a acotado. Paso 1. (iniciacin). Se establece una cota superior () y una cota infeo rior () de la solucin optima. Se resuelve el PPLEM inicial relajando las o restricciones de integralidad. Si el problema relajado es infactible, el original tambin lo es y no hay solucin. Si la solucin obtenida satisface las condiciones e o o de integralidad, es optima. En cualquier otro caso, se actualiza el valor de la cota inferior con el valor de la funcin objetivo del problema relajado. o Paso 2. (ramicacin). Empleando la variable xk que ha de ser entera y no o lo es, se generan mediante ramicacin dos problemas. Si el valor de la variable o 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 ramicacin son los siguientes. El o primer problema es el PPLEM inicial relajado al que se la aade la restriccin n o xk a; anlogamente, el segundo es el PPLEM inicial relajado al que se le a aade la restriccin xk a + 1. Estos problemas se colocan ordenadamente en n o una lista de problemas a procesar que son resueltos secuencialmente o en paralelo. Obsrvese que la tcnica de ramicacin propuesta cubre completamente e e o el espacio de soluciones. Paso 3. (solucin). Se resuelve el problema siguiente en la lista de problemas o a procesar.

166

Cap tulo 7. Programacin lineal entera-mixta o

Paso 4. (actualizacin de cotas). Si la solucin del problema actual satiso o face las condiciones de integralidad y el valor optimo de su funcin objetivo es o menor que la cota superior actual, la cota superior se actualiza al valor optimo de la funcin objetivo del problema resuelto, y el minimizador actual se almao cena como el mejor candidato a minimizador del problema original. Si, por el contrario, la solucin obtenida no satisface las restricciones de integralidad y o el valor de la correspondiente funcin objetivo est entre las cotas inferior y o a superior, se actualiza el valor de la cota inferior al valor de la funcin objetivo o del problema resuelto y se procede a ramicar. Los problemas generados en el proceso de ramicacin se aaden a la lista de problemas que han de resolverse. o n Paso 5. (poda). Si la solucin del problema actual cumple las restricciones o de integralidad, no ha lugar a ramicaciones adicionales relacionadas con esa solucin. Se dice que la rama se poda por razones de integralidad. Si, por otra o parte, la solucin no satisface las condiciones de integralidad y adems el valor o a de la funcin objetivo del problema resuelto es mayor que la cota superior, no o es posible obtener soluciones mediante ramicaciones adicionales de esa rama. Se dice que la rama se poda por cotas. Si, nalmente, el problema es infactible, no ha lugar a ramicaciones adicionales empleando esa rama. Se dice que la rama se poda por infactibilidad. Paso 6. (optimalidad). Si la lista de problemas a procesar no est vac a a, se contina con el paso 3. Si, por el contrario, est vac el procedimiento u a a, concluye. Si en este caso, existe un candidato a minimizador, este candidato es el minimizador; si no existe, el problema es infactible. El algoritmo de ramicacin y acotacin devuelve la solucin optima o noo o o tica la infactibilidad bien en el paso 1 o en el paso 6. El proceso de ramicacin concluye por una de las siguientes tres razones: o 1. El problema considerado es infactible 2. La solucin obtenida satisface las condiciones de integralidad o 3. La cota inferior obtenida es superior a la cota superior disponible Por tanto, la rama correspondiente se poda por infactibilidad, por integralidad o por cotas.

7.2.3

Estrategias de ramicacin y procesamiento o

Cualquier variable que deba ser entera pero que no lo sea en la solucin actual, o es una variable candidata para ramicacin. Cul escoger es una cuestin no o a o trivial cuya respuesta ha de basarse en la estructura del problema. Los problemas almacenados para ser procesados pueden tratarse mediante estrategias en anchura, en profundidad o mixtas. La gura 7.2 ilustra las

7.2. El mtodo de ramicacin y acotacin e o o

167

P0 P1 P3 P5 (a) P4 P6 P2 P2 P4 P1

P0 P6 P3 P5 (b)

Figura 7.2: Ilustracin de estrategias de (a) bsqueda en anchura, y (b) o u bsqueda en profundidad. u dos primeras alternativas. Normalmente el conocimiento tcnico del problema e permite establecer una estrategia, la otra o una estrategia mixta. Una estrategia de procesado en profundidad origina rpidamente problemas a fuertemente restringidos que producen buenas cotas superiores e inferiores. Da lugar asimismo a problemas infactibles y por tanto a una deseable eliminacin o de ramas. Por el contrario, una estrategia en anchura permite tratar problemas muy similares, de lo que pueden desprenderse ventajas computacionales. Las tcnicas de procesado paralelo son aplicables a cualquiera de las dos estrategias. e Ejemplo 7.1 (mtodo de ramicacin y acotacin: problema entero e o o estricto). Considrese el siguiente PPLE. Minimizar e Z = x1 x2 sujeto a x1 2x1 2x2 2x2 x1 , x2 0 1 9 I N

que es la regin factible representada mediante c o rculos en la gura 7.3. Paso 1. (iniciacin). La cota superior inicial es + y la inferior . El o problema relajado, denominado P0 , es el siguiente. Minimizar Z = x1 x2

168

Cap tulo 7. Programacin lineal entera-mixta o

Primera rama X2 5

Segunda rama

P1 4 3 2 1 P3 P2

X1

Figura 7.3: Ilustracin grca del mtodo de RA en el Ejemplo 7.1. o a e sujeto a x1 2x1 Su solucin es o x1 = 5, x2 = 4.5; Z = 9.5 que es el punto P1 en la gura 7.3. Esta solucin no satisface las condiciones de o integralidad (x2 I / N). El valor de la funcin objetivo se emplea para actualizar o la cota inferior de a -9.5. Paso 2. (ramicacin). La variable que ha de ser entera x2 , mediante ramio cacin da lugar a los dos problemas siguientes. Las restricciones adicionales o son x2 4 y x2 5, que se muestran en la gura 7.3 como l neas horizontales discontinuas. Problema P1 . Minimizar Z = x1 x2 2x2 2x2 0 1 9

7.2. El mtodo de ramicacin y acotacin e o o sujeto a x1 2x1 2x2 2x2 x2 0 1 9 4

169

Problema P2 . Minimizar Z = x1 x2 sujeto a x1 2x1 2x2 2x2 x2 0 1 9 5

Paso 3. (solucin). La solucin del problema P1 es o o x1 = 4.5; x2 = 4; Z = 8.5 que es el punto P2 en la gura 7.3. Paso 4. (actualizacin de cotas). Puesto que la solucin obtenida no sao o tisface las condiciones de integralidad (x1 I / N), y que el valor de la funcin o objetivo, 8.5, est entre los valores de las cotas inferior y superior, el valor a actual de la cota inferior se actualiza de 9.5 a 8.5 (la solucin optima est o a por tanto entre 8.5 y ). El problema se vuelve a ramicar. La variable que deber ser entera pero no lo es, x1 , mediante ramicacin, da lugar a los dos o problemas siguientes. Las restricciones adicionales son x1 4 y x1 5, que se muestran en la gura 7.3 como l neas verticales a trazos. Problema P3 . Minimizar Z = x1 x2 sujeto a x1 2x1 2x2 2x2 x2 0 1 9 4 4

x1 Problema P4 . Minimizar

Z = x1 x2

170 sujeto a

Cap tulo 7. Programacin lineal entera-mixta o

x1 2x1

2x2 2x2 x2

x1

0 1 9 4 5

Paso 5. (poda). No ocurre nada en este paso. Paso 6. (control de optimalidad). Puesto que la lista de problemas a procesar no est vac se contina con el problema P2 en el paso 3. a a, u Paso 3. (solucin). El problema P2 es infactible; por tanto, nada tiene lugar o en este paso. Paso 4. (actualizacin de cotas). Nada tiene lugar en este paso. o Paso 5. (poda). Puesto que se trata de un problema infactible, la rama se poda. Paso 6. (control de optimalidad). Puesto que la lista de problemas no est a vac se contina con el problema P3 en el paso 3. a, u Paso 3. (solucin). La solucin del problema P3 es o o x1 = 4; x2 = 4; z = 8 que es el punto P3 en la gura 7.3. Paso 4. (actualizacin de cotas). Puesto que la solucin obtenida cumple o o las condiciones de integralidad (x1 , x2 I N), y el valor de la funcin objetivo, o 8, est entre las cotas inferior y superior, el valor de la cota superior se actuaa liza de + a 8, y el minimizador obtenido se almacena como mejor candidato. Paso 5. (poda). Puesto que la solucin actual satisface las condiciones de o integralidad, no procede ramicar adicionalmente, y la rama se poda. Paso 6. (control de optimalidad). Puesto que la lista de problemas a procesar no est vac se contina en el paso 3. a a, u Paso 3. (solucin). El problema P4 es infactible, por tanto, no tiene lugar o nada en este paso. Paso 4. (actualizacin de cotas). Nada tiene lugar en este paso. o

7.2. El mtodo de ramicacin y acotacin e o o

171

Paso 5. (poda). Puesto que el problema es infactible, la rama correspondiente se poda. Paso 6. (control de optimalidad). Puesto que la lista de problemas a procesar est vac y hay un candidato a minimizador, este candidato es la a a, solucin del problema original: o x = 4; x = 4; Z = 8 1 2

Ejemplo 7.2 (mtodo de ramicacin y acotacin: problema enteroe o o mixto). Considrese el siguiente PPLEM. Minimizar e Z = 3x1 + 2x2 sujeto a x1 2x1 2x2 +x2 +x3 +x4 x1 , x2 , x3 , x4 x2 , x3 = = 5 2 3 2

0 I N

Paso 1. (iniciacin). La cota superior inicial es + y la inferior . El o problema relajado, denominado P0 , es: Minimizar Z = 3x1 + 2x2 sujeto a x1 2x1 2x2 +x2 +x3 +x4 x1 , x2 , x3 , x4 La solucin es o = = 5 2 3 2

x1 = x2 = 0; x3 = 2.5; x4 = 1.5; Z = 0

Esta solucin no satisface las condiciones de integralidad (x3 I ). El valor de o / N la funcin objetivo se emplea para actualizar la cota inferior de a 0. o Paso 2. (ramicacin). La variable que ha de ser entera, x3 , mediante rao micacin da lugar a los dos problemas siguientes. Las restricciones adicionales o son x3 2 y x3 3.

172 Problema P1 . Minimizar sujeto a x1 2x1

Cap tulo 7. Programacin lineal entera-mixta o

Z = 3x1 + 2x2 5 2 3 2

2x2 +x2

+x3 +x4 x3 x1 , x2 , x3 , x4

= =

2 0

Problema P2 . Minimizar sujeto a x1 2x1

Z = 3x1 + 2x2 5 2 3 2

2x2 +x2

+x3 +x4 x3 x1 , x2 , x3 , x4

= =

3 0

Paso 3. (solucin). La solucin del problema P1 es o o x1 = 0.5; x2 = 0; x3 = 2; x4 = 0.5; Z = 1.5 Paso 4. (actualizacin de cotas). Puesto que la solucin obtenida satisface o o las condiciones de integralidad (x2 , x3 I N), y el valor de la funcin objetivo, o 1.5, es menor que el valor actual de la cota superior, ste se actualiza de + a e 1.5 (la solucin optima est por tanto entre 0 y 1.5), y el minimizador encono a trado se almacena como mejor candidato. Paso 5. (poda). Puesto que la solucin obtenida satisface la condiciones de o integralidad (para x2 y x3 ), la rama se poda. Se contina con el paso 3. u Paso 3. (solucin). La solucin del problema P2 es o o x1 = 0; x2 = 0.25; x3 = 3; x4 = 1.25; Z = 0.5 Paso 4. (actualizacin de cotas). Puesto que esta solucin no satisface las o o condiciones de integralidad (x2 I y el valor correspondiente de la funcin / N) o objetivo, 0.5, est entre las cotas interior y superior, la cota inferior se actualiza a

7.2. El mtodo de ramicacin y acotacin e o o

173

de 0 a 0.5. Por tanto la solucin optima est en el intervalo (0.5, 1.5). A cono a tinuacin se procede a ramicar sobre la variable x2 , lo que da lugar a los dos o problemas siguientes: Problema P3 . Minimizar sujeto a x1 2x1 2x2 +x2 x3 x2 x1 , x2 , x3 , x4 Problema P4 . Minimizar sujeto a x1 2x1 2x2 +x2 x3 x2 x1 , x2 , x3 , x4 +x3 +x4 = = 5 2 3 2 Z = 3x1 + 2x2 +x3 +x4 = = 5 2 3 2 Z = 3x1 + 2x2

3 0 0

3 1 0

que se aaden a la lista de problemas a procesar. Obsrvese que las restriccion e nes adicionales son respectivamente x2 0 y x2 1. Paso 5. (poda). Nada tiene lugar en este paso, se contina con el paso 6. u Paso 6. (control de optimalidad). Puesto que la lista de problemas a procesar no est vac se contina con el paso 3. a a, u Paso 3. (solucin). El problema P3 es infactible. o Paso 4. (actualizacin de cotas). Nada tiene lugar en este paso. o Paso 5. (poda). Puesto que el problema es infactible, se poda la rama correspondiente, y se contina con el paso 6. u

174

Cap tulo 7. Programacin lineal entera-mixta o


P0

x3 2 P1

x3 3 P2 x2 1 P4

x2 0 P3

* *

No es posible otra ramificacin

Figura 7.4: Ilustracin del procedimiento de ramicacin y acotacin en el ejemo o o plo 7.2. Paso 6. (control de optimalidad). Puesto que la lista de problemas a procesar no est vac se contina con el paso 3. a a, u Paso 3. (solucin). El problema P4 es factible. Su solucin es: o o x1 = 0; x2 = 1; x3 = 4.5; x4 = 0.5; Z = 2 Paso 4. (actualizacin de cotas). Nada tiene lugar en este paso. o Paso 5. (poda). Puesto que la solucin obtenida no satisface las condiciones o de integralidad (x3 I / N), y el valor correspondiente de la funcin objetivo es o mayor que el valor actual de la cota superior, no podr lograrse una mejor solua cin que la disponible llevando a cabo ramicaciones adicionales sobre la rama o correspondiente. La rama se poda y se contina con el paso 6. u Paso 6. (comprobacin de optimalidad). Puesto que la lista de problemas o a procesar est vac y hay una solucin candidata a minimizador, esta solucin a a, o o es el minimizador del problema original. La solucin optima es por tanto o x = 0.5 x = 0 x = 2 x = 0.5 Z = 1.5 1 2 3 4 El proceso en su totalidad se ilustra en la gura 7.4. Obsrvese que en este ejemplo sencillo, se ha empleado una estrategia de e procesamiento en anchura.

7.2.4

Otros problemas de programacin lineal entera-mixta o

Otros dos tipos de PPLEMs (ms restringidos) tienen inters: (i) problemas de a e programacin lineal entera estricta (PPLEEs) y (ii) problemas de programacin o o lineal entera-mixta 0/1 (PPLEM 0/1).

7.3. El mtodo de los cortes de Gomory e

175

Los PPLEEs se resuelven mediante la tcnica del RA de forma similar a los e PPLEMs. En estos problemas todas las variables son candidatas potenciales para ramicar. Los PPLEM 0/1 tambin se resuelven de forma anloga; en e a estos problemas ramicar es equivalente a jar las variables binarias bien a 0, bien a 1.

7.3
7.3.1

El mtodo de los cortes de Gomory e


Introduccin o

Un mtodo alternativo de solucin de PPLEM es el procedimiento de los cortes e o de Gomory. En esta tcnica, se resuelve el problema original relajado en el que se e incluyen restricciones adicionales, que reducen la regin factible sin excluir soluo ciones que cumplen las condiciones de optimalidad. En cada iteracin se aade o n una restriccin que se denomina corte de Gomory. Este procedimiento genera o progresivamente una envoltura convexa de la regin factible entera-mixta, lo o que origina soluciones que cumplen las condiciones de integralidad. Ms infora macin sobre este procedimiento se puede encontrar en los manuales de Rao o [92], Bronson [17], y en el art culo original de Gomory [50]. A continuacin se explica el algoritmo de Gomory para PPLEE. Su generao lizacin para PPLEM se deja como ejercicio al lector. o

7.3.2

Generacin de un corte o

La regin factible del problema original es Ax = b, que empleando la particin o o estndar del simplex se escribe como a B o Despejando xB se obtiene xB B1 NxN = B1 b que en forma matricial es I B1 N xB xN = B1 b, N xB xN =b

BxB + NxN = b

y empleando la notacin estndar del simplex es o a I o U xB xN =b

xB + UxN = b

176

Cap tulo 7. Programacin lineal entera-mixta o

Sea xBi una variable bsica que ha de ser entera pero no lo es. La la a correspondiente a esta variable en la ecuacin anterior es o xBi +
j

uij xNj = i b

(7.1)

Puesto que la solucin obtenida es bsica y factible, la variables xNj , que o a son no bsicas, son cero; por tanto, b = xB , y puesto que xBi es no entera, i a b ha de ser no entera. Por otra parte, cada elemento uij se puede expresar como suma de una parte entera (positiva, negativa o nula) y una fraccin no negativa menor que 1, fij : o De forma anloga, i se puede descomponer como a b i = i + fi b i (7.3) donde i es un entero (positivo o negativo) y fi una fraccin no negativa menor i o que 1. Obsrvese que algunos fij pueden ser cero, pero fi ha de ser positivo. e Sustituyendo (7.2) y (7.3) en (7.1) se obtiene xBi +
j

uij = iij + fij ; j

(7.2)

(iij + fij ) xNj = i + fi i iij xNj i = fi i

xBi +
j

fij xNj
j

En la ecuacin anterior, el trmino de la izquierda ha de ser entero puesto que o e todas sus variables son enteras. Por tanto, el trmino de la derecha tambin e e ser entero. a Por otra parte, fij para todo j, y xNj para todo j son no negativos, por tanto j fij xNj es no negativo. El trmino de la derecha de la ecuacin precedente, fi j fij xNj , es a la e o vez - entero, y - menor que una fraccin positiva, fi , menor que 1 o y puesto que los enteros que satisfacen esa condicin son 0, 1, 2, . . ., entonces o fi fij xN es un entero no positivo. Por tanto
j
j

fi o
j

fij xNj 0

(7.4) (7.5)

fij xNj fi 0

Esta ultima desigualdad se denomina corte de Gomory asociado a la variable bsica xBi que ha de ser entera pero no lo es. a

7.3. El mtodo de los cortes de Gomory e

177

7.3.3

Algoritmo de los cortes de Gomory para PPLE

Entrada. Un PPLE que se quiere resolver. Salida. Su solucin o un mensaje informando de infactibilidad o solucin no o o acotada. Paso 1. (iniciacin). Se resuelve el problema original sin restricciones de o integralidad. Si la solucin no est acotada o el problema es infactible, se para; o a el problema original o no est acotado o es infactible. a Paso 2. (control de optimalidad). Si la solucin obtenida cumple las condio ciones de integralidad, se para dado que esta solucin es ptima. En otro caso, o o se contina con el paso siguiente. u Paso 3. (generacin de corte). Se emplea una variable bsica que ha de ser o a entera pero no lo es para generar un corte de Gomory. Paso 4. (resolucin). Se aade el corte de Gomory obtenido al problema preo n viamente resuelto, se resuelve el problema resultante y se contina con el paso 2. u Obsrvese que el nmero de restricciones crece con el n mero de iteraciones. e u u Puesto que en cada iteracin se aade una nueva restriccin, debe emplearse o n o para la resolucin del problema el MPE (mtodo simplex dual). Esto es as o e puesto que al aadir una nueva restriccin, el problema primal correspondiente n o se hace infactible pero su dual permanece factible, aunque no optimo. Por tanto, para resolver el nuevo problema puede partirse de la solucin dual del probleo ma previo (sin restriccin adicional), lo que supone una ventaja computacional o importante. El ejemplo siguiente clarica lo anterior. En el problema primal se minimiza Z= sujeto a 3 5 x1 x2 4 6 18 2 6 0 0

1 0 3

0 1 2

x1 x2 x1 x2

Su minimizador es

x 1 x 2

y el valor optimo de la funcin objetivo es z = 36. o

178

Cap tulo 7. Programacin lineal entera-mixta o En el problema dual del anterior, se maximiza Z= 4 6 18

y1

y2

y3

sujeto a y1 y2 y3

1 0 0 1 3 2 y1 y2 y3

3 0 0

5 0

El maximizador es

y el valor optimo de la funcin objetivo es z = 36. o Si la restriccin adicional x2 4 se aade al problema primal, ste se cono n e vierte en minimizar 3 sujeto a 1 0 3 0 0 1 2 1 5 x1 x2 4 6 18 4 0 0

y1 0 y2 = 3 y3 1

x1 x2

x1 x2

Obsrvese que la solucin optima del problema primal original e o x 1 x 2 = 2 6

es infactible para el problema previo. El problema dual del anterior (con la restriccin adicional) consiste en mao ximizar 4 6 Z = y 1 y2 y 3 y4 18 4

7.3. El mtodo de los cortes de Gomory e sujeto a 1 0 3 0 y2 y3 0 1 2 1 y4

179

y1

y2

y3

y4

3 0 0

5 0 0

y1

Obsrvese que la solucin del problema dual previo es factible aunque no optima e o para este segundo problema dual y1 0 y2 = 3 y3 1 con y4 = 0 El ejemplo siguiente es una solucin factible, pero no optima, del problema anterior. o Ejemplo 7.3 (algoritmo de los cortes de Gomory). ilustra el algoritmo de los cortes de Gomory. Considrese al siguiente PPLEM. Maximizar e Z = 120x1 + 80x2 sujeto a 2x1 7x1 x1 x1 +x2 +8x2 x2 6 28 0 0 I N

cuya regin factible se muestra sombreada en la gura 7.5. o El problema anterior, relajado, consiste en maximizar Z = 120x1 + 80x2 sujeto a 2x1 7x1 +x2 +8x2 +x3 = 6 = 28 0

+x4 x1 , x2 , x3 , x4

La solucin de este problema es (vase el punto P1 en la gura 7.5) o e z = 391.11 y b = x = B x 1 x 2 20


9 14 9

(7.6)

180

Cap tulo 7. Programacin lineal entera-mixta o

X2 4 3 2 1
Tercer corte x1+x2 3 Primer corte x1+x2 7/2 P1 P2 P3 Segundo corte x1+x2 55/16
Solucin ptima

P4

X1

Figura 7.5: Ilustracin grca de los cortes de Gomory en el Ejemplo 7.3. o a

Si se emplea la variable x2 para general un corte de Gomory, la ecuacin o (7.1) se escribe como x2 7 x3 + 2 x4 = 14 . Por tanto, se obtiene: 9 9 9 u21 u22 2 b = i21 + f21 = i22 + f22 = 2 + f2 i
5 9

U =

8 9

1 9
2 9

7 9

(7.7)


2 9

7 9
2 9 14 9

= 1 + = = 0+ 1+
2 9 5 9

2 9

f21 f22 f2

= = =

2 9 2 9 5 9

y el corte (7.4) es

x3 0 o x3 + x4 5 . 2 x4 Ntese que este corte puede expresarse en funcin de las variables originales o o x1 y x2 , de la forma siguiente. Empleando las restricciones de igualdad del problema relajado en forma estndar, x3 y x4 pueden expresarse en funcin de a o x1 y x2 : x3 = 6 2x1 x2 , x4 = 28 7x1 8x2 (2 9 )

7.3. El mtodo de los cortes de Gomory e

181

para obtener el primer corte (vase la l e nea a trazos en la gura 7.5): x1 +x2 7 . 2 Si esta restriccin se representa en I 2 sobre la regin factible del problema o R o original (expresado en forma cannica), se observa una reduccin efectiva de la o o regin factible. Sin embargo, no se excluye ninguna solucin entera. o o El siguiente problema a resolver es maximizar Z = 120x1 + 80x2 sujeto a 2x1 7x1 +x2 +8x2 x3 +x3 +x4 +x4 x5 = = 6

x1 , x2 , x3 , x4 , x5

28 5 = 2 0

Obsrvese que el corte de Gomory se escribe incluyendo una variable articial e x5 . Su solucin es (vase el punto P2 en la gura 7.5) o e x 1 Z = 380; x = x = 4 B x 2 ; U = 1 1 1
5 2 5 2

1 9

1
2 9 5 2,

Empleando x1 para generar un nuevo corte, y puesto que 1 = x = b 1 ecuacin (7.1) es x1 + x3 1 x5 = 5 . o 9 2 Por tanto, se puede escribir u11 u12 1 b = i11 + f11 = i12 + f12 = 1 + f1 i 1 = 1+0 = 1 + =
8 9 8 9

la

f11

= = =

0
8 9 1 2

1 9
1 2 5 2

f21 f1

2+

1 2

x3 9 0 x5 16 o x5 Este segundo corte, en funcin de las variables originales x1 y x2 tiene la forma o (vase la l e nea de trazos en la gura 7.5): x1 + x2 55 . 16 El siguiente problema a resolver consiste en maximizar y el corte (7.4) toma la forma (0 ) Z = 120x1 + 80x2

182 sujeto a 2x1 7x1 +x2 +8x2

Cap tulo 7. Programacin lineal entera-mixta o

+x3 +x4 x3 +x4 x5 x5 x6

= = = =

6 28 5 2 9 16

x1 , x2 , x3 , x4 , x5 , x6 La solucin es (vase el punto P3 en la gura 7.5) o e x 1 x 4 = Z = 377.5; xB = x5 x 2


41 16 49 16 9 16 7 8

Por tanto, se puede escribir u41 u42 4 b

Empleando x2 para generar un nuevo corte, y puesto que 2 = 7 , la ecuacin b o 8 (7.1) pasa a ser x2 x3 + 2 x6 = 7 . 9 8

1 ; U = 0 1

1 9

1 1
2 9

= i41 + f41 = i42 + f42 = 4 + f4 i

1
2 9 7 8

= 1 + 0 f41 = = x3 x6 0+ 0+
2 9 7 8

= = =

0
2 9 7 8

f42 f4

y el corte (7.4) pasa a ser

7 8

(0

2 9

0 x6 o

63 16 .

En funcin de las variables originales este tercer corte es o x1 + x2 3 El siguiente problema a resolver consiste en maximizar Z = 120x1 + 80x2

Ejercicios sujeto a 2x1 7x1 +x2 +8x2 x3 +x3 +x4 +x4 x5 x5 x6 x6 x7 = = = = = 6 28 5 2 9 16 63 16

183

x1 , x2 , x3 , x4 , x5 , x6 , x7 La solucin es (vase el punto P4 en la gura 7.5): o e z = 360;

x B

x 3 x 4 x 5 x 6 x 1

Esta solucin satisface la condiciones de integralidad y por tanto es el minio mizador del problema original. Esta solucin es pues o x = 3; x = 0; z = 360 1 2

7 9 = 2 . 63 16 3

Ejercicios
7.1 Una empresa manufacturera transforma materia prima en dos productos distintos. Esta empresa dispone de 6 unidades de materia prima y 28 horas de tiempo productivo. La manufactura de una unidad del producto I requiere 2 unidades de material y 7 horas de tiempo, mientras que la produccin del producto II requiere 1 unidad de material y 8 horas de o tiempo. Los precios de venta de los producto I y II son respectivamente $120 y $80, respectivamente. Determ nese el nmero de productos de u cada tipo que ha de producir la empresa para maximizar su benecio. Resulvase el problema empleando un algoritmo de RA y el algoritmo de e los cortes de Gomory.

184

Cap tulo 7. Programacin lineal entera-mixta o

7.2 Un empresario tiene dos almacenes de lmparas elctricas que contienen a e respectivamente 1200 y 100 lmparas. Este empresario suministra 3 cena tros comerciales cuyas demandas respectivas son 100, 700, y 500 lmparas. a Los costes de transporte se muestran en la tabla siguiente. Almacn 1 e Almacn 2 e Centro 1 14 13 Centro 2 13 13 Centro 3 11 12

Determ nese el nmero de lmparas que se deben mandar de cada almacn u a e a cada centro comercial para, suministrando la demanda, el benecio del empresario sea mximo. Resulvase este problema mediante el algoritmo a e del RA y mediante el algoritmo de los cortes de Gomory. 7.3 El mantenimiento predictivo de una determinada planta industrial requiere llevar a cabo 4 tareas sucesivas. La compa que lleva a cabo este na mantenimiento cuenta con 6 trabajadores especializados. El tiempo que necesita cada trabajador para llevar a cabo cada tarea se muestra en la tabla siguiente. Trabajador Trabajador Trabajador Trabajador Trabajador Trabajador 1 2 3 4 5 6 Tarea 1 65 67 68 67 71 69 Tarea 2 73 70 72 75 69 71 Tarea 3 63 65 69 70 75 66 Tarea 4 57 58 55 59 57 59

Suponiendo que cada trabajador slo puede hacerse cargo de una tarea de o mantenimiento, formlese un PPLE para determinar qu trabajador ha u e de llevar a cabo cada tarea, de tal manera que se minimice el tiempo total que requiere el proceso de mantenimiento. Este problema es un ejemplo del problema general de asignacin de tareas. o 7.4 Un operario especializado ha de reparar una instalacin de alta montaa. o n Es conveniente que lleve consigo 5 equipos diferentes de reparacin. Sin o embargo, el peso mximo a transportar est limitado a 60 unidades. El a a peso de cada equipo y un parmetro que cuantica su utilidad esperada a aparecen en la tabla siguiente. Equipo Peso Utilidad (%) 1 52 100 2 23 60 3 35 70 4 15 15 5 7 15

Qu equipos ha de llevarse consigo el operario? Tngase en cuenta que e e este problema es un ejemplo del problema general de la mochila.

Ejercicios

185

7.5 Un productor de electricidad debe planicar su produccin horaria de enero g para maximizar sus benecios por venta de la misma. Considerando a un horizonte de planicacin de 2 horas, formular y resolver el PPLEM o de planicacin optima. Tngase en cuenta lo siguiente: o e (a) El productor produce 5 unidades de energ justo antes de las 2 horas a de estudio. (b) Los precios horarios de venta de energ elctrica son 6 y 2, respectia e vamente. (c) Si est funcionando, la produccin mxima horaria es 10 y la m a o a nima 2. (d) Con motivo de limitaciones tcnicas en la subida y bajada de carga, la e produccin horaria en dos horas consecutivas no puede diferenciarse o en ms de 4 unidades de energ a a. (e) El coste de produccin de cada unidad de energ es 3. o a 7.6 Una empresa consumidora de energ elctrica puede auto-producirla o a e comprarla en el mercado mayorista de la electricidad. Las demandas elctricas de la empresa para las dos prximas horas son 8 y 10 respectie o vamente. Los precios de la energ en el mercado de esas dos horas son a 6 y 8 respectivamente. El grupo auto-productor de la empresa, si funciona, ha de hacerlo con una produccin entre 2 y 6, y no puede variar o su produccin en dos horas consecutivas ms de 4. El coste de produco a cin de este grupo auto-productor es 7, y est produciendo 7 unidades o a de energ previamente a las dos horas de anlisis. Determ a a nese el nivel o ptimo de auto-produccin y de compra en el mercado para las dos horas o consideradas.

186

Cap tulo 7. Programacin lineal entera-mixta o

Potrebbero piacerti anche