Está en la página 1de 24

Cap´ıtulo 7

Programaci´on lineal entera-mixta

7.1

Intro ducci´on

Un problema de programaci´on lineal entera-mixta (PPLEM) es un problema de programaci´on lineal (PPL) en el que algunas de las variables son enteras. Si to das las variables enteras son binarias (0/1), el problema se denomina proble- ma de programaci´on lineal entera-mixta 0/1 (PPLEM 0/1). Si, p or otra parte, to das las variables son enteras, el problema se denomina problema de programa- ci´on lineal entera estricta (PPLEE). En ingenier´ıa los problemas m´as frecuentes son los problemas de programaci´on lineal entera-mixta. Estos problemas pro- p orcionan un marco de mo delado flexible y eficiente para formular y resolver muchos problemas de ingenier´ıa. Este cap´ıtulo prop orciona una intro ducci´on a la programaci´on lineal entera-mixta y a las t´ecnicas de soluci´on aso ciadas a la misma. Un ejemplo del conjunto de soluciones factibles de un problema de programaci´on lineal entera estricta se muestra en la figura 7.1, en la que los puntos factibles se indican mediante c´ırculos. Un PPLEM general se formula en forma est´andar minimizando

sujeto a

Z =

n

c j x j

j =1

n

j =1

a ij x j = b i ;

x

j

x j

0;

IN ;

i = 1, 2, j = 1, 2,

...

,m

,n

... para to dos o algunos j = 1, 2,

...

,n

donde IN se emplea en este cap´ıtulo para referirse al conjunto {0, 1, 2, ...}.

163

  • 164 Cap´ıtulo 7. Programaci´on lineal entera-mixta

Figura 7.1: Conjunto de soluciones factibles de un PPLEE (puntos aso ciados a c´ırculos).
Figura 7.1:
Conjunto de soluciones factibles de un PPLEE (puntos aso ciados
a c´ırculos).

Referencias relevantes para el estudio de PPLEMs son el manual cl´asico de Garfinkel y Nemhauser [47], la excelente monograf´ıa de Nemhauser y Wolsey [79], el manual con orientaci´on pr´actica de Bradley et al. [15], y el manual intro ductorio de Rao [92]. En este cap´ıtulo se explican dos pro cedimientos de resoluci´on de PPLEMs:

La t´ecnica de ramificaci´on y acotaci´on (RA) y la t´ecnica de los cortes de Go- mory (CG). La t´ecnica RA es la utilizada m´as habitualmente p or sus buenas propiedades computacionales. Sin embargo, recientemente se han desarrollado t´ecnicas h´ıbridas, denominadas de ramificaci´on y cortes, que son m´as eficaces. Las variables binarias son un mecanismo eficaz de mo delado de no linealida- des que aparecen con frecuencia en ingenier´ıa. En el cap´ıtulo 13 se mostrar´an algunos ejemplos, como:

  • 1. Conjuntos alternativos de restricciones

  • 2. Restricciones condicionales

  • 3. Funciones discontinuas

  • 4. Funciones lineales a tramos y no convexas

El mo delado de no linealidades mediante el empleo de variables binarias se explica en detalle, mediante ejemplos, en el cap´ıtulo 13, Secci´on 13.2.9.

7.2.

El m´eto do de ramificaci´on y acotaci´on

165

  • 7.2 El m´eto do de ramificaci´on y acotaci´on

    • 7.2.1 Intro ducci´on

El m´eto do RA resuelve PPLEMs resolviendo una secuencia ordenada de PPL, que se obtienen rela jando las restricciones de integralidad y anadiendo ˜ restric- ciones adicionales. El numero ´ de restricciones adicionales crece a medida que el pro cedimiento de RA progresa. Estas restricciones p ermiten separar la regi´on factible en subregiones complementarias. El pro cedimiento RA establece inicialmente cotas inferior y sup erior del valor ´optimo de la funci´on ob jetivo. El mecanismo de ramificaci´on aumenta progre- sivamente el valor de la cota sup erior y disminuye tambi´en progresivamente el valor de la cota sup erior. La diferencia entre estas cotas es una medida de la proximidad de la soluci´on actual a la optima, ´ si ´esta existe. Al minimizar, se obtiene una cota inferior de la soluci´on optima ´ rela jando las restricciones de integralidad del PPLEM inicial y resolviendo el PPL resultante. De manera an´aloga, el valor de la funci´on ob jetivo para cualquier soluci´on del PPLEM original es una cota sup erior de la soluci´on optima. ´

  • 7.2.2 El algoritmo de RA para un PPLEM

Entrada. Un PPLEM que ha de resolverse.

Salida.

acotado.

Su soluci´on o un mensa je indicando que es infactible o que no est´a

Paso 1. (iniciaci´on). Se establece una cota sup erior () y una cota infe- rior (−∞) de la soluci´on optima. ´ Se resuelve el PPLEM inicial rela jando las restricciones de integralidad. Si el problema rela jado es infactible, el original tambi´en lo es y no hay soluci´on. Si la soluci´on obtenida satisface las condiciones de integralidad, es optima. ´ En cualquier otro caso, se actualiza el valor de la cota inferior con el valor de la funci´on ob jetivo del problema rela jado.

Paso 2. (ramificaci´on). Empleando la variable x k que ha de ser entera y no lo es, se generan mediante ramificaci´on dos problemas. Si el valor de la variable que ha de ser entera x k es a.b, donde a y b son sus partes entera y fraccional resp ectivamente, los problemas fruto de la ramificaci´on son los siguientes. El primer problema es el PPLEM inicial rela jado al que se la anade ˜ la restricci´on x k a; an´alogamente, el segundo es el PPLEM inicial rela jado al que se le a˜nade la restricci´on x k a + 1. Estos problemas se colo can ordenadamente en una lista de problemas a pro cesar que son resueltos secuencialmente o en para- lelo. Obs´ervese que la t´ecnica de ramificaci´on propuesta cubre completamente el espacio de soluciones.

Paso 3. (soluci´on). Se resuelve el problema siguiente en la lista de problemas a pro cesar.

  • 166 Cap´ıtulo 7. Programaci´on lineal entera-mixta

Paso 4. (actualizaci´on de cotas). Si la soluci´on del problema actual satis-

face las condiciones de integralidad y el valor optimo

´

de su funci´on ob jetivo es

´

menor que la cota sup erior actual, la cota sup erior se actualiza al valor optimo

de la funci´on ob jetivo del problema resuelto, y el minimizador actual se alma-

cena como el mejor candidato a minimizador del problema original. Si, p or el

contrario, la soluci´on obtenida no satisface las restricciones de integralidad y

el valor de la corresp ondiente funci´on ob jetivo est´a entre las cotas inferior y

sup erior, se actualiza el valor de la cota inferior al valor de la funci´on ob jetivo

del problema resuelto y se pro cede a ramificar. Los problemas generados en el

pro ceso de ramificaci´on se anaden ˜ a la lista de problemas que han de resolverse.

Paso 5. (p o da). Si la soluci´on del problema actual cumple las restricciones

de integralidad, no ha lugar a ramificaciones adicionales relacionadas con esa

soluci´on. Se dice que la rama se p o da p or razones de integralidad. Si, p or otra

parte, la soluci´on no satisface las condiciones de integralidad y adem´as el valor

de la funci´on ob jetivo del problema resuelto es mayor que la cota sup erior, no

es p osible obtener soluciones mediante ramificaciones adicionales de esa rama.

Se dice que la rama se p o da p or cotas. Si, finalmente, el problema es infactible,

no ha lugar a ramificaciones adicionales empleando esa rama. Se dice que la

rama se p o da p or infactibilidad.

Paso 6. (optimalidad). Si la lista de problemas a pro cesar no est´a vac´ıa,

se continua ´ con el paso 3. Si, p or el contrario, est´a vac´ıa, el pro cedimiento

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 ramificaci´on y acotaci´on devuelve la soluci´on optima ´ o no-

tifica la infactibilidad bien en el paso 1 o´ en el paso 6.

El pro ceso de ramificaci´on concluye p or una de las siguientes tres razones:

  • 1. El problema considerado es infactible

  • 2. La soluci´on obtenida satisface las condiciones de integralidad

  • 3. La cota inferior obtenida es sup erior a la cota sup erior disp onible

Por tanto, la rama corresp ondiente se p o da p or infactibilidad, p or integrali-

dad o p or cotas.

  • 7.2.3 Estrategias de ramificaci´on y pro cesamiento

Cualquier variable que deba ser entera p ero que no lo sea en la soluci´on actual,

es una variable candidata para ramificaci´on. Cu´al escoger es una cuesti´on no

trivial cuya respuesta ha de basarse en la estructura del problema.

Los problemas almacenados para ser pro cesados pueden tratarse median-

te estrategias en anchura, en profundidad o mixtas. La figura 7.2 ilustra las

7.2.

El m´eto do de ramificaci´on y acotaci´on

167

P 0 P 1 P 2 P 3 P 4 P 5 P 6
P 0
P 1
P 2
P 3
P 4
P 5
P 6

(a)

P 0 P 1 P 6 P P 2 3 P 4 P 5
P
0
P 1
P 6
P
P 2
3
P 4
P 5

(b)

Figura 7.2: Ilustraci´on de estrategias de (a) ‘busqueda ´ en anchura’, y (b)

‘busqueda ´ en profundidad’.

dos primeras alternativas. Normalmente el cono cimiento t´ecnico del problema

p ermite establecer una estrategia, la otra o una estrategia mixta.

Una estrategia de pro cesado en profundidad origina r´apidamente problemas

fuertemente restringidos que pro ducen buenas cotas sup eriores e inferiores. Da

lugar asimismo a problemas infactibles y p or tanto a una deseable eliminaci´on

de ramas. Por el contrario, una estrategia en anchura p ermite tratar problemas

muy similares, de lo que pueden desprenderse venta jas computacionales. Las

t´ecnicas de pro cesado paralelo son aplicables a cualquiera de las dos estrategias.

Ejemplo 7.1 (m´eto do de ramificaci´on y acotaci´on: problema entero

estricto). Consid´erese el siguiente PPLE. Minimizar

sujeto a

Z = x 1 x 2

x

1

2x

1

2x

2

2x

2

x 1 , x 2

0

1

9

IN

que es la regi´on factible representada mediante c´ırculos en la figura 7.3.

Paso 1.

(iniciaci´on). La cota sup erior inicial es +y la inferior −∞. El

problema rela jado, denominado P 0 , es el siguiente. Minimizar

Z = x 1 x 2

  • 168 Cap´ıtulo 7. Programaci´on lineal entera-mixta

Primera rama Segunda rama X 2 5 P 1 4 P 3 P 2 3 2
Primera rama
Segunda rama
X
2
5
P
1
4
P 3
P 2
3
2
1
12345
X
1
Figura 7.3:
Ilustraci´on gr´afica del m´eto do de RA en el Ejemplo 7.1.

sujeto a

 

x

1

2x

1

Su soluci´on es

 

x 1 = 5,

0

2x 2 1

2x

2

9

x 2 = 4.5;

Z = 9.5

que es el punto P 1 en la figura 7.3. Esta soluci´on no satisface las condiciones de

integralidad (x 2 / IN ). El valor de la funci´on ob jetivo se emplea para actualizar

la cota inferior de −∞ a -9.5.

Paso 2. (ramificaci´on). La variable que ha de ser entera x 2 , mediante rami-

ficaci´on da lugar a los dos problemas siguientes. Las restricciones adicionales

son x 2 4 y x 2 5, que se muestran en la figura 7.3 como l´ıneas horizontales

discontinuas.

Problema P 1 . Minimizar

Z = x 1 x 2

7.2.

El m´eto do de ramificaci´on y acotaci´on

169

sujeto a

 

x

1

0

2x

1

2x 2 1

 

2x

2

9

x

2

4

Problema P 2 . Minimizar

 

Z = x 1 x 2

sujeto a

 

x

1

0

2x

1

2x 2 1

 

2x

2

9

x

2

5

Paso 3. (soluci´on). La soluci´on del problema P 1 es

x 1 = 4.5; x 2 = 4; Z = 8.5

que es el punto P 2 en la figura 7.3.

Paso 4. (actualizaci´on de cotas). Puesto que la soluci´on obtenida no sa-

tisface las condiciones de integralidad (x 1 / IN ), y que el valor de la funci´on

ob jetivo, 8.5, est´a entre los valores de las cotas inferior y sup erior, el valor

actual de la cota inferior se actualiza de 9.5 a 8.5 (la soluci´on optima ´ est´a

p or tanto entre 8.5 y ). El problema se vuelve a ramificar. La variable que

deb er ser entera p ero no lo es, x 1 , mediante ramificaci´on, da lugar a los dos

problemas siguientes. Las restricciones adicionales son x 1 4 y x 1 5, que se

muestran en la figura 7.3 como l´ıneas verticales a trazos.

Problema P 3 . Minimizar

sujeto a

Problema P 4 . Minimizar

 

Z = x 1 x 2

x

1

2x

1

 

2x

2

x

2

x

1

Z = x 1 x 2

0

2x 2 1

9

4

4

  • 170 Cap´ıtulo 7. Programaci´on lineal entera-mixta

sujeto a

x

1

2x

1

x

1

2x

2

2x

2

x

2

0

1

9

4

5

Paso 5. (p o da). No o curre nada en este paso.

Paso 6. (control de optimalidad). Puesto que la lista de problemas a pro-

cesar no est´a vac´ıa, se continua

´

con el problema P 2 en el paso 3.

Paso 3. (soluci´on). El problema P 2 es infactible; p or tanto, nada tiene lugar

en este paso.

Paso 4. (actualizaci´on de cotas). Nada tiene lugar en este paso.

Paso 5. (p o da).

Puesto que se trata de un problema infactible, la rama se

p o da.

Paso 6. (control de optimalidad). Puesto que la lista de problemas no est´a

vac´ıa, se continua

´

con el problema P 3 en el paso 3.

Paso 3. (soluci´on). La soluci´on del problema P 3 es

x 1 = 4;

x 2 = 4;

z = 8

que es el punto P 3 en la figura 7.3.

Paso 4. (actualizaci´on de cotas). Puesto que la soluci´on obtenida cumple

las condiciones de integralidad (x 1 , x 2 IN ), y el valor de la funci´on ob jetivo,

8, est´a entre las cotas inferior y sup erior, el valor de la cota sup erior se actua-

liza de +a 8, y el minimizador obtenido se almacena como mejor candidato.

Paso 5. (p o da). Puesto que la soluci´on actual satisface las condiciones de

integralidad, no pro cede ramificar adicionalmente, y la rama se p o da.

Paso 6. (control de optimalidad). Puesto que la lista de problemas a pro-

cesar no est´a vac´ıa, se continua

´

en el paso 3.

Paso 3. (soluci´on). El problema P 4 es infactible, p or tanto, no tiene lugar

nada en este paso.

Paso 4. (actualizaci´on de cotas). Nada tiene lugar en este paso.

7.2.

El m´eto do de ramificaci´on y acotaci´on

171

Paso 5. (p o da). Puesto que el problema es infactible, la rama corresp ondiente

se p o da.

Paso 6. (control de optimalidad). Puesto que la lista de problemas a

pro cesar est´a vac´ıa, y hay un candidato a minimizador, este candidato es la

soluci´on del problema original:

x = 4;

1

x 2 = 4;

Z = 8

7.2. El m´eto do de ramificaci´on y acotaci´on 171 Paso 5. (p o da). Puesto que

Ejemplo 7.2 (m´eto do de ramificaci´on y acotaci´on: problema entero-

mixto). Consid´erese el siguiente PPLEM. Minimizar

sujeto a

Z = 3x 1 + 2x 2

x

1

2x

1

2x

2

+x

3

+x

2

+x

4

x 1 , x 2 , x 3 , x 4

=

=

5

2

3

2

0

x 2 , x 3

IN

Paso 1. (iniciaci´on). La cota sup erior inicial es +y la inferior −∞. El

problema rela jado, denominado P 0 , es: Minimizar

sujeto a

La soluci´on es

Z =

3x 1 + 2x 2

x

1

2x

1

2x

2

+x 3

+x

2

+x

4

x 1 , x 2 , x 3 , x 4

=

=

5

2

3

2

0

x 1 = x 2 = 0;

x 3 = 2.5;

x 4 = 1.5;

Z = 0

Esta soluci´on no satisface las condiciones de integralidad (x 3 / IN ). El valor de

la funci´on ob jetivo se emplea para actualizar la cota inferior de −∞ a 0.

Paso 2. (ramificaci´on). La variable que ha de ser entera, x 3 , mediante ra-

mificaci´on da lugar a los dos problemas siguientes. Las restricciones adicionales

son x 3 2 y x 3 3.

  • 172 Cap´ıtulo 7. Programaci´on lineal entera-mixta

Problema

P 1 . Minimizar

 

Z =

3x 1 + 2x 2

 

sujeto a

 

x

1

2x

2

+x

3

2x

1

+x

2

+x

4

 

x

3

x 1 , x 2 , x 3 , x 4

Problema

P 2 . Minimizar

 

Z =

3x 1 + 2x 2

 

sujeto a

 

x

1

2x

2

+x

3

2x

1

+x

2

+x

4

 

x

3

x 1 , x 2 , x 3 , x 4

=

=

5

2

3

2

2

0

=

=

5

2

3

2

3

0

Paso 3. (soluci´on). La soluci´on del problema P 1 es

x 1 = 0.5;

x 2 = 0;

x 3 = 2;

x 4 = 0.5;

Z = 1.5

Paso 4. (actualizaci´on de cotas). Puesto que la soluci´on obtenida satisface

las condiciones de integralidad (x 2 , x 3 IN ), y el valor de la funci´on ob jetivo,

1.5, es menor que el valor actual de la cota sup erior, ´este se actualiza de +a

1.5 (la soluci´on optima

´

est´a p or tanto entre 0 y 1.5), y el minimizador encon-

trado se almacena como mejor candidato.

Paso 5. (p o da). Puesto que la soluci´on obtenida satisface la condiciones de

integralidad (para x 2 y x 3 ), la rama se p o da. Se continua

´

con el paso 3.

Paso 3. (soluci´on). La soluci´on del problema P 2 es

x 1 = 0;

x 2 = 0.25;

x 3 = 3;

x 4 = 1.25;

Z = 0.5

Paso 4. (actualizaci´on de cotas). Puesto que esta soluci´on no satisface las

condiciones de integralidad (x 2 / IN ) y el valor corresp ondiente de la funci´on

ob jetivo, 0.5, est´a entre las cotas interior y sup erior, la cota inferior se actualiza

7.2.

El m´eto do de ramificaci´on y acotaci´on

173

de 0 a 0.5. Por tanto la soluci´on optima

´

est´a en el intervalo (0.5, 1.5). A con-

tinuaci´on se pro cede a ramificar sobre la variable x 2 , lo que da lugar a los dos

problemas siguientes:

Problema

P 3 . Minimizar

 

Z =

3x 1 + 2x 2

 

sujeto a

 

x 1 2x 2 +x 3

 
 

2x

1

+x

2

+x

4

 

x

3

 

x

2

 

x 1 , x 2 , x 3 , x 4

Problema

P 4 . Minimizar

 

Z =

3x 1 + 2x 2

 

sujeto a

 

x 1 2x 2 +x 3

 
 

2x

1

+x

2

+x

4

 

x

3

 

x

2

 

x 1 , x 2 , x 3 , x 4

que se anaden

˜

 

5

2

3

2

3

0

0

=

=

5

2

3

2

3

1

0

=

=

a la lista de problemas a pro cesar. Obs´ervese que las restriccio-

nes adicionales son resp ectivamente x 2 0 y x 2 1.

Paso 5. (p o da). Nada tiene lugar en este paso, se continua

´

con el paso 6.

Paso 6. (control de optimalidad). Puesto que la lista de problemas a pro-

cesar no est´a vac´ıa, se continua

´

con el paso 3.

Paso 3. (soluci´on). El problema P 3 es infactible.

Paso 4. (actualizaci´on de cotas). Nada tiene lugar en este paso.

Paso 5. (p o da). Puesto que el problema es infactible, se p o da la rama corres-

´

p ondiente, y se continua

con el paso 6.

  • 174 Cap´ıtulo 7. Programaci´on lineal entera-mixta

P 0 x 3 £ 2 P 1 ‡ 3 x 3 P 2 x 2
P 0
x 3 £ 2
P 1
3
x 3
P 2
x 2 £ 0
P 3
1
x 2
*
P 4
*
*

* No es posible otra ramificación

Figura 7.4: Ilustraci´on del pro cedimiento de ramificaci´on y acotaci´on en el ejem-

plo 7.2.

Paso 6. (control de optimalidad). Puesto que la lista de problemas a pro-

cesar no est´a vac´ıa, se continua

´

con el paso 3.

Paso 3. (soluci´on). El problema P 4 es factible. Su soluci´on es:

x 1 = 0;

x 2 = 1;

x 3 = 4.5;

x 4 = 0.5;

Z = 2

Paso 4. (actualizaci´on de cotas). Nada tiene lugar en este paso.

Paso 5. (p o da). Puesto que la soluci´on obtenida no satisface las condiciones

de integralidad (x 3 / IN ), y el valor corresp ondiente de la funci´on ob jetivo es

mayor que el valor actual de la cota sup erior, no p o dr´a lograrse una mejor solu-

ci´on que la disp onible llevando a cab o ramificaciones adicionales sobre la rama

corresp ondiente. La rama se p o da y se continua ´ con el paso 6.

Paso 6. (comprobaci´on de optimalidad). Puesto que la lista de problemas

a pro cesar est´a vac´ıa, y hay una soluci´on candidata a minimizador, esta soluci´on

es el minimizador del problema original. La soluci´on optima ´ es p or tanto

x = 0.5 x 2 = 0 x 3 = 2 x 4 = 0.5 Z = 1.5

1

El pro ceso en su totalidad se ilustra en la figura 7.4.

Obs´ervese que en este ejemplo sencillo, se ha empleado una estrategia de

pro cesamiento en anchura.

174 Cap´ıtulo 7. Programaci´on lineal entera-mixta P 0 x 3 £ 2 P 1 ‡ 3
  • 7.2.4 Otros problemas de programaci´on lineal entera-mixta

Otros dos tip os de PPLEMs (m´as restringidos) tienen inter´es: (i) problemas de

programaci´on lineal entera estricta (PPLEEs) y (ii) problemas de programaci´on

lineal entera-mixta 0/1 (PPLEM 0/1).

7.3.

El m´eto do de los cortes de Gomory

175

Los PPLEEs se resuelven mediante la t´ecnica del RA de forma similar a los

PPLEMs. En estos problemas to das las variables son candidatas p otenciales

para ramificar. Los PPLEM 0/1 tambi´en se resuelven de forma an´aloga; en

estos problemas ramificar es equivalente a fijar las variables binarias bien a 0,

bien a 1.

  • 7.3 El m´eto do de los cortes de Gomory

    • 7.3.1 Intro ducci´on

Un m´eto do alternativo de soluci´on de PPLEM es el pro cedimiento de los cortes

de Gomory. En esta t´ecnica, se resuelve el problema original rela jado en el que se

incluyen restricciones adicionales, que reducen la regi´on factible sin excluir solu-

ciones que cumplen las condiciones de optimalidad. En cada iteraci´on se anade ˜

una restricci´on que se denomina corte de Gomory. Este pro cedimiento genera

progresivamente una envoltura convexa de la regi´on factible entera-mixta, lo

que origina soluciones que cumplen las condiciones de integralidad. M´as infor-

maci´on sobre este pro cedimiento se puede encontrar en los manuales de Rao

[92], Bronson [17], y en el art´ıculo original de Gomory [50].

A continuaci´on se explica el algoritmo de Gomory para PPLEE. Su genera-

lizaci´on para PPLEM se deja como ejercicio al lector.

  • 7.3.2 Generaci´on de un corte

La regi´on factible del problema original es Ax = b, que empleando la partici´on

est´andar del simplex se escrib e como

N

 

x

x

N = b

B

x

B

x

N = B 1 b,

x

x

N =

B

˜

b

B

o

Bx B + Nx N = b

Desp ejando x B se obtiene

x B B 1 Nx N = B 1 b

B 1 N

I

U

que en forma matricial es

I

y empleando la notaci´on est´andar del simplex es

o

˜

x B + Ux N = b

  • 176 Cap´ıtulo 7. Programaci´on lineal entera-mixta

Sea x B i

una variable b´asica que ha de ser entera p ero no lo es.

La fila

corresp ondiente a esta variable en la ecuaci´on anterior es

x B i +

u ij x N j

j

˜

= b i

(7.1)

Puesto que la soluci´on obtenida es b´asica y factible, la variables x N j , que

˜

son no b´asicas, son cero; p or tanto, b = x B , y puesto que x B i es no entera,

ha de ser no entera.

˜

b i

Por otra parte, cada elemento u ij se puede expresar como suma de una parte

entera (p ositiva, negativa o nula) y una fracci´on no negativa menor que 1, f ij :

˜

u ij = i ij + f ij ; j

(7.2)

De forma an´aloga, b i se puede descomp oner como

˜

˜

˜

˜

b i = i i + f i

˜

(7.3)

donde i i es un entero (p ositivo o negativo) y f i una fracci´on no negativa menor

˜

que 1. Obs´ervese que algunos f ij pueden ser cero, p ero f i ha de ser p ositivo.

Sustituyendo (7.2) y (7.3) en (7.1) se obtiene

o

x B i + (i ij + f ij ) x N j = i i +

˜

j

˜

f i

x B i +

i ij x N j

j

i i = f i

˜

˜

j

f ij x N j

En la ecuaci´on anterior, el t´ermino de la izquierda ha de ser entero puesto que

to das sus variables son enteras. Por tanto, el t´ermino de la derecha tambi´en

ser´a entero.

Por otra parte, f ij para to do j , y x N j para to do j son no negativos, p or

tanto j f ij x N j es no negativo.

˜

El t´ermino de la derecha de la ecuaci´on precedente, f i j f ij x N j , esala

vez

  • - entero, y

˜

  • - menor que una fracci´on p ositiva, f i , menor que 1

y puesto que los enteros que satisfacen esa condici´on son 0, 1, 2,

˜

...,

entonces

f i j f ij x N j es un entero no p ositivo. Por tanto

o

f i f ij x N j

˜

j

0

j

f ij x N j

˜

f i

0

(7.4)

(7.5)

Esta ultima ´ desigualdad se denomina corte de Gomory aso ciado a la variable

b´asica x B i que ha de ser entera p ero no lo es.

7.3.

El m´eto do de los cortes de Gomory

177

  • 7.3.3 Algoritmo de los cortes de Gomory para PPLE

Entrada. Un PPLE que se quiere resolver.

Salida.

acotada.

Su soluci´on o un mensa je informando de infactibilidad o soluci´on no

Paso 1. (iniciaci´on). Se resuelve el problema original sin restricciones de

integralidad. Si la soluci´on no est´a acotada o el problema es infactible, se para;

el problema original o no est´a acotado o es infactible.

Paso 2. (control de optimalidad). Si la soluci´on obtenida cumple las condi-

ciones de integralidad, se para dado que esta soluci´on es ´optima. En otro caso,

´

se continua

con el paso siguiente.

Paso 3. (generaci´on de corte). Se emplea una variable b´asica que ha de ser

entera p ero no lo es para generar un corte de Gomory.

Paso 4. (resoluci´on). Se anade

˜

el corte de Gomory obtenido al problema pre-

´

viamente resuelto, se resuelve el problema resultante y se continua

con el paso 2.

Obs´ervese que el numero ´ de restricciones crece con el numero ´ de iteraciones.

Puesto que en cada iteraci´on se anade ˜ una nueva restricci´on, deb e emplearse

para la resoluci´on del problema el MPE (m´eto do simplex dual). Esto es as´ı

puesto que al anadir ˜ una nueva restricci´on, el problema primal corresp ondiente

se hace infactible p ero su dual p ermanece factible, aunque no optimo. ´ Por tanto,

para resolver el nuevo problema puede partirse de la soluci´on dual del proble-

ma previo (sin restricci´on adicional), lo que sup one una venta ja computacional

imp ortante. El ejemplo siguiente clarifica lo anterior.

En el problema primal se minimiza

Z = 3 5 x

1

x 2

sujeto a

1

0

0

1

3 2

 

x

x

2

1

4

6

18

x 2

x

1

0

0

Su minimizador es

x

x

1

2

=

2

6

´

y el valor optimo

de la funci´on ob jetivo es z = 36.

  • 178 Cap´ıtulo 7. Programaci´on lineal entera-mixta

En el problema dual del anterior, se maximiza

Z = y 1

y 2

y 3

4

6

18

sujeto a

y 1

y 2

y 3

1

0

0

1

3 2

3

5

y 1 y 2 y 3 000

El maximizador es

y

1

y

2

y

3

=

0

3

1

´

y el valor optimo

de la funci´on ob jetivo es z = 36.

Si la restricci´on adicional x 2 4 se anade

˜

vierte en minimizar

al problema primal, ´este se con-

sujeto a

3 5 x

1

x 2

1

0

0

1

3 2

0

1

x 2

x

1

4

6

18

4

x 2

x

1

0

0

Obs´ervese que la soluci´on optima

´

del problema primal original

x

x

1

2

=

2

6

es infactible para el problema previo.

El problema dual del anterior (con la restricci´on adicional) consiste en ma-

ximizar

Z = y 1 y 2

y 3

y 4

4

6

18

4

7.3.

El m´eto do de los cortes de Gomory

179

sujeto a

y 1

y 2

y 3

y 4

1

0

0

1

3 2

 

3

5

 

0

1

 
 

y 1

y 2

y 3

y 4

0000

 

Obs´ervese que la soluci´on del problema dual previo es factible aunque no optima

´

para este segundo problema dual

 
   

y

1

y

2

y

3

=

0

3

1

   

con

y 4 = 0

es una soluci´on factible, p ero no optima,

´

del problema anterior.

Ejemplo 7.3 (algoritmo de los cortes de Gomory).

El ejemplo siguiente

ilustra el algoritmo de los cortes de Gomory.

Consid´erese al siguiente PPLEM. Maximizar

sujeto a

Z = 120x 1 + 80x 2

2x

1

+x

2

6

7x

1

+8x

2

28

x

1

0

 

x

2

0

x

1

IN

cuya regi´on factible se muestra sombreada en la figura 7.5.

El problema anterior, rela jado, consiste en maximizar

sujeto a

Z = 120x 1 + 80x 2

2x

1

7x

1

+x

2

+8x

2

+x 3

+x

4

=

=

x 1 , x 2 , x 3 , x 4

6

28

0

La soluci´on de este problema es (v´ease el punto P 1 en la figura 7.5)

y

z = 391.11

˜

b = x

B = x

x

1

2

=

20

9

14

9

,

(7.6)

  • 180 Cap´ıtulo 7. Programaci´on lineal entera-mixta

Figura 7.5:

X 2 4 3 Primer corte x 1 +x 2 £ 7/2 2 P 1 Segundo
X
2
4
3
Primer corte
x 1 +x 2 £ 7/2
2
P 1
Segundo corte
x 1 +x 2 £ 55/16
P 2
1
Solución
P 3
óptima
Tercer corte
x 1 +x 2 £ 3
X
P
1
4
1234
Ilustraci´on gr´afica de los cortes de Gomory en el Ejemplo 7.3.
8
1
9
9
U ∗ = 
 .
(7.7)
7
2
9
9

Si se emplea la variable x 2 para general un corte de Gomory, la ecuaci´on

(7.1) se escrib e como x 2

7

9

2

x 3 + 9 x 4 =

14

9 . Por tanto, se obtiene:

u 21 = i 21 + f 21 ⇔ −

  • 7 9 1 +

=

2

9

f 21 =

2

9

 
  • 2 2

0 +

2

=

u 22 = i 22 + f 22

f 22 =

  • 9 9

9

˜

b 2

=

˜

i 2 +

5

y el corte (7.4) es 9 (

˜

f 2

2

9

  • 2
    9 ) x

14

  • 9

=

9

1 +

5

x 4 0 o´ x 3 + x 4 5

3

2 .

˜

f 2

=

5

9

N´otese que este corte puede expresarse en funci´on de las variables originales

x 1 y x 2 , de la forma siguiente.

Empleando las restricciones de igualdad del

problema rela jado en forma est´andar, x 3 y x 4 pueden expresarse en funci´on de

x 1 y x 2 :

x

3

x

4

=

=

6 2x 1 x 2 ,

28 7x 1 8x 2

7.3.

El m´eto do de los cortes de Gomory

181

para obtener el primer corte (v´ease la l´ınea a trazos en la figura 7.5): x 1 + x 2

7

  • 2 .

Si esta restricci´on se representa en IR 2 sobre la regi´on factible del problema

original (expresado en forma can´onica), se observa una reducci´on efectiva de la

regi´on factible. Sin embargo, no se excluye ninguna soluci´on entera.

El siguiente problema a resolver es maximizar

sujeto a

Z = 120x 1 + 80x 2

2x

1

7x

1

+x 2 +x 3

+8x

2

+x

4

=

=

x

3

+x

4

x 5 =

x 1 , x 2 , x 3 , x 4 , x 5

6

28

5

2

0

Obs´ervese que el corte de Gomory se escrib e incluyendo una variable artificial

  • x 5 .

Su soluci´on es (v´ease el punto P 2 en la figura 7.5)

Z = 380;

x

B =

x

1

x

4

x

2

=

5

2

5

2

1

;

U =

1

1

1

1

9

1

2

9

˜

Empleando x 1 para generar un nuevo corte, y puesto que b 1 = x

1 =

1

ecuaci´on (7.1) es x 1 + x 3 9 x 5 =

5

2 .

Por tanto, se puede escribir

  • 2 5 , la

u

11

= i 11

+ f 11

1

=

1+0

f 11

=

0

u

12

1

= i 12 + f 12 ⇔ − 9

˜

b 1

=

˜

˜

i 1 + f

1

5

2

=

1 + 9 8

f 21 =

=

2 +

1

2

˜

f 1 =

8

9

1

2

1

y el corte (7.4) toma la forma 2 ( 0

9 ) x 3

8

x

5

0 ´o x 5

9

16

Este segundo corte, en funci´on de las variables originales x 1 y x 2 tiene la forma

(v´ease la l´ınea de trazos en la figura 7.5): x 1 + x 2 55

16 .

El siguiente problema a resolver consiste en maximizar

Z = 120x 1 + 80x 2

  • 182 Cap´ıtulo 7. Programaci´on lineal entera-mixta

sujeto a

2x

1

+x

2

+x

3

=

6

7x

1

+8x

2

+x

4

x

3

+x

4

x

5

x

5

x

6

x 1 , x 2 , x 3 , x 4 , x 5 , x 6

=

=

=

28

5

2

9

16

0

La soluci´on es (v´ease el punto P 3 en la figura 7.5)

Z = 377.5;

x

B =

x

1

x

4

x

5

x

2

=

41

16

49

16

9

16

7

8

;

U =

1

1

0

1

1

9

1

1

2

9

˜

Empleando x 2 para generar un nuevo corte, y puesto que b 2 =

2

(7.1) pasa a ser x 2 x 3 + 9 x 6 =

7

8 .

7

  • 8 , la ecuaci´on

Por tanto, se puede escribir

u 41 = i 41 + f 41 ⇔ −1 = 1+0 f 41 = 0

u 42 = i 42 + f 42

˜

b 4

=

˜

˜

i 4 + f 4

  • 9 2 f 42 =

=

0 +

2

9

7

8

=

0 +

7

8

˜

f 4

=

2

9

7

8

y el corte (7.4) pasa a ser

7

8

( 0

2

9

) x

x 6 0 ´o x 6 63

3

16 .

En funci´on de las variables originales este tercer corte es

x 1 + x 2 3

El siguiente problema a resolver consiste en maximizar

Z = 120x 1 + 80x 2

Ejercicios

sujeto a

2x

1

+x

2

+x

3

=

6

7x

1

+8x

2

x

3

+x

4

+x

4

x

5

x

5

x

6

x

6

x

7

x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7

=

=

=

=

28

5

2

9

16

63

16

0

183

La soluci´on es (v´ease el punto P 4 en la figura 7.5):

z = 360;

x

B =

x

3

x

4

x

5

x

6

x

1

=

0

7

9

2

63

16

3

.

Esta soluci´on satisface la condiciones de integralidad y p or tanto es el mini-

mizador del problema original. Esta soluci´on es pues

Ejercicios

x = 3;

1

x 2 = 0;

z = 360

Ejercicios sujeto a 2 x + x + x = 6 7 x +8 x x

7.1 Una empresa manufacturera transforma materia prima en dos pro ductos

distintos. Esta empresa disp one de 6 unidades de materia prima y 28

horas de tiemp o pro ductivo. La manufactura de una unidad del pro ducto

I requiere 2 unidades de material y 7 horas de tiemp o, mientras que la

pro ducci´on del pro ducto I I requiere 1 unidad de material y 8 horas de

tiemp o. Los precios de venta de los pro ductoIyI I son resp ectivamente

$120 y $80, resp ectivamente. Determ´ınese el numero ´ de pro ductos de

cada tip o que ha de pro ducir la empresa para maximizar su b eneficio.

Resu´elvase el problema empleando un algoritmo de RA y el algoritmo de

los cortes de Gomory.

  • 184 Cap´ıtulo 7. Programaci´on lineal entera-mixta

    • 7.2 Un empresario tiene dos almacenes de l´amparas el´ectricas que contienen resp ectivamente 1200 y 100 l´amparas. Este empresario suministra 3 cen- tros comerciales cuyas demandas resp ectivas son 100, 700, y 500 l´amparas. Los costes de transp orte se muestran en la tabla siguiente.

 

Centro 1

Centro 2

Centro 3

Almac´en 1

14

 
  • 13 11

Almac´en 2

13

  • 13 12

Determ´ınese el numero ´ de l´amparas que se deb en mandar de cada almac´en

a cada centro comercial para, suministrando la demanda, el b eneficio del

empresario sea m´aximo. Resu´elvase este problema mediante el algoritmo

del RA y mediante el algoritmo de los cortes de Gomory.

  • 7.3 El mantenimiento predictivo de una determinada planta industrial requie- re llevar a cab o 4 tareas sucesivas. La compan´˜ ıa que lleva a cab o este mantenimiento cuenta con 6 traba jadores esp ecializados. El tiemp o que necesita cada traba jador para llevar a cab o cada tarea se muestra en la tabla siguiente.

 

Tarea 1

Tarea 2

Tarea 3

Tarea 4

Traba jador

1

65

 
  • 73 63

57

Traba jador

2

67

  • 70 65

58

Traba jador

3

68

  • 72 69

55

Traba jador

4

67

  • 75 70

59

Traba jador

5