Sunteți pe pagina 1din 10

ITIG-UC3M 2008/09: Investigación Operativa

c José Niño Mora, 2006, 2007


Semana # 6: Programación entera: formulaciones, ejemplos, relajaciones lineales y resolu-
ción gráfica.

1. Programación entera: ejemplos y relajaciones lineales


1.1. ¿Qué es un programa entero?
Durante las semanas previas hemos estudiado la formulación y resolución de PLs. Una
caracterı́stica clave de éstos es que permiten que las variables de decisión tomen valores
continuos. Ası́, si una variable de decisión x1 representa la parte de un litro de mezcla de
varios tipos de zumo correspondiente a zumo de naranja, los valores fraccionarios de x1 , tales
como x1 = 0,6, tienen sentido, ya que el zumo es una sustancia continua. Sin embargo, en
otros problemas las variables de decisión sólo tienen sentido cuando toman valores enteros.
Tal será el caso, p. ej., si x1 representa el número de unidades de un cierto modelo de coche
que una fábrica ha de producir por mes. Otro ejemplo que ya hemos visto corresponde al
problema de selección de nadadoras en la primera práctica evaluable. Recordemos que las
variables de decisión sólo tenı́an sentido cuando tomaban los valores binarios 0 ó 1. Para
resolverlo, habı́amos ignorado este requisito, procediendo como si el problema fuese de PL,
con lo cual estábamos permitiendo que las variables tomasen valores fraccionarios. Por fortu-
na, la solución obtenida por el Solver de Excel resultó ser binaria. Esta semana veremos que
tal situación es excepcional, y que, en general, necesitaremos aprender nuevos métodos para
resolver problemas de optimización en los que las variables de decisión han de ser enteras.
Un problema de programación entera, o programa entero (PE), es una modificación de
un PL en la cual añadimos la restricción de que las variables de decisión sólo pueden tomar
valores enteros. En muchos PEs de interés sólo se permite que las variables de decisión tomen
valores binarios (0 ó 1): los llamaremos PE binarios.

1.2. Relajaciones lineales y relación fundamental: Un ejemplo


Para motivar el interés de los PEs y la necesidad de conceptos y métodos para su resolu-
ción distintos de los que vimos para la PL, consideremos el siguiente ejemplo. Una empresa
está evaluando cinco propuestas de proyectos, de las cuales ha de seleccionar alguna(s) para
llevar a cabo. Los proyectos se desarrollan en tres años, durante los cuales incurren costes.
Tras ser completados, proporcionan un retorno económico. La empresa dispone de un pre-
supuesto limitado cada año para invertir en proyectos. Los datos se muestran en la siguiente
tabla:
costes/año (M e)
proyecto 1 2 3 retorno
#1 5 1 8 20
#2 4 7 10 40
#3 3 9 2 20
#4 7 4 1 15
#5 8 6 10 30
presupuesto 25 25 25
Ası́, p. ej., el proyecto # 1 incurre gastos de 5, 1 y 8 M e en su primer, segundo y tercer
año de desarrollo, respectivamente, y proporciona un retorno, tras ser completado, de 20 M
e. Vemos también que la empresa dispone de un presupuesto de 25 M epara cada uno de los
tres años.
La empresa se propone seleccionar algunos proyectos, de tal manera que el retorno total
sea máximo, sin que se supere el presupuesto disponible. Ası́, la pregunta que nos planteamos
es: ¿Cuál es la selección óptima de proyectos?
Comencemos por formular este problema como un PE, identificando sus variables de
decisión, objetivo y restricciones. Los elementos de su formulación de PE son:

1. Variables de decisión: para cada proyecto j = 1, . . . , 5,


(
1 si se selecciona el proyecto # j
xj =
0 en otro caso.

2. Objetivo: maximizar el retorno total, esto es,


max 20x1 + 40x2 + 20x3 + 15x4 + 30x5

3. Restricciones:
presupuesto año 1 : 5x1 + 4x2 + 3x3 + 7x4 + 8x5 ≤ 25
presupuesto año 2 : x1 + 7x2 + 9x3 + 4x4 + 6x5 ≤ 25
presupuesto año 3 : 8x1 + 10x2 + 2x3 + x4 + 10x5 ≤ 25
valor máximo de las variables : x j ≤ 1, j = 1, . . . , 5
no negatividad : x j ≥ 0, j = 1, . . . , 5
integralidad : x j es entera, j = 1, . . . , 5.

Nótese que, a las restricciones de presupuesto para cada año, hemos añadido las restric-
ciones x j ≤ 1 que indican que el valor de cada variable no puede exceder la unidad, además
de las restricciones de no negatividad x j ≥ 0.
Nótese además que hemos añadido a las restricciones lineales un nuevo tipo de restric-
ción, denominada de integralidad, que indica que las variables han de ser enteras. Ası́, pode-
mos decir que un PE es un PL con restricciones de integralidad. Ası́, la región de soluciones
factibles de un PE es un conjunto discreto.
Ası́, hemos obtenido la siguiente formulación de PE:
(PE) zPE = max 20x1 + 40x2 + 20x3 + 15x4 + 30x5
sujeto a
5x1 + 4x2 + 3x3 + 7x4 + 8x5 ≤ 25
x1 + 7x2 + 9x3 + 4x4 + 6x5 ≤ 25
8x1 + 10x2 + 2x3 + x4 + 10x5 ≤ 25
x j ≤ 1, j = 1, . . . , 5
x j ≥ 0 y entera, j = 1, . . . , 5.
En adelante denotaremos las formulaciones que escribamos por unas siglas entre parénte-
sis. Ası́, la formulación de arriba es la formulación (PE). Además, indicaremos el nombre de
la formulación en el valor óptimo del objetivo, p. ej. escribiendo zPE .

2
¿Cómo podemos resolver tal formulación de PE? Como hasta ahora sólo hemos visto
cómo resolver programas lineales, resulta natural probar a pasar por alto las restricciones de
integralidad en la formulación (PE). Ası́, obtenemos la siguiente formulación de PL:

(PL) zPL = max 20x1 + 40x2 + 20x3 + 15x4 + 30x5


sujeto a
5x1 + 4x2 + 3x3 + 7x4 + 8x5 ≤ 25
x1 + 7x2 + 9x3 + 4x4 + 6x5 ≤ 25
8x1 + 10x2 + 2x3 + x4 + 10x5 ≤ 25
x j ≤ 1, j = 1, . . . , 5
x j ≥ 0, j = 1, . . . , 5.

Diremos que esta última formulación, que hemos denominado (PL), es la relajación lineal
de la formulación entera (PE) anterior. El término “relajación” se debe a que la formulación
(PL) se ha obtenido relajando las restricciones de (PE), esto es, haciéndolas menos estrictas,
mediante la eliminación de las restricciones de integralidad.

Relajación lineal: la relajación lineal de una formulación de PE es la formulación


de PL que se obtiene eliminando sus restricciones de integralidad.

Hemos denotado el valor óptimo de la relajación por zPL . Como veremos, el valor óptimo
de una formulación de PE y el de su relajación lineal no tienen por qué coincidir. Sus valores,
sin embargo, han de cumplir la siguiente relación.

Relación Fundamental de la PE: zPE ≤ zPL , esto es, el valor máximo de un PE


está acotado por arriba por el valor máximo de su relajación lineal.
¿Por qué ha de cumplirse tal relación? Simplemente, porque cualquier solución factible
para un PE es también una solución factible para su relajación lineal. La Figura 1 ilustra
gráficamente la Relación Fundamental.

zPE zPL

Figura 1: Relación Fundamental de la PE.

Nótese que si el problema fuese de minimización, y zPE , zPL denotasen los valores mı́ni-
mos de un PE y de su relajación lineal, la relación fundamental dirı́a que zPE ≥ zPL : el valor
mı́nimo de un PE está acotado por abajo por el valor mı́nimo de su relajación lineal
A continuación procedemos a resolver la relajación lineal (PL), p. ej. con el Solver de
Excel. Ası́, obtenememos la solución relajada xPL = (0,5789, 1, 1, 1, 0,7368), con valor
zPL = 108,68 e. Ahora bien, ¿podemos interpretar ésta en términos del problema de selec-
ción de proyectos? ¿Tiene sentido decir que xPL
1 = 0,5789? Claramente, la respuesta a ambas
preguntas es: en el contexto del problema entero de interés, no. En este caso, la solución de

3
la relajación lineal (PL) no es entera, y por tanto no es una solución factible del problema
entero (PE).
Aunque la solución de la relajación lineal anterior no nos da una solución factible para
(PE), sı́ nos proporciona, en cambio, información valiosa sobre el valor óptimo de (PE). Ası́,
aplicando la Relación Fundamental de la PE, obtenemos que zPE ≤ zPL = 108,68 e.
Alguien podrı́a sugerir la idea de tratar de obtener una solución factible para el PE redon-
deando la solución óptima de su relajación lineal. En este ejemplo, obtendrı́amos la solución
redondeada xRPL = (1, 1, 1, 1, 1), que, como podemos comprobar, no es factible para el PE.
Por tanto, debemos descartar tal idea en general, aunque en ocasiones puede dar buenos re-
sultados.
¿Cómo podemos entonces resolver un PE? En los apuntes de la próxima semana daremos
un método general de resolución: el método “Ramifica y Acota”. Veremos que éste se basa
en la resolución de relajaciones lineales, y en la aplicación de la Relación Fundamental de la
PE.

1.3. Criterio de optimalidad en PE


¿Cómo podemos estar seguros de que una solución entera factible dada, xF , es óptima
para un PE? Consideremos el ejemplo del problema de selección del equipo óptimo de nata-
ción, de la primera práctica evaluable. Como sólo conocı́amos entonces las formulaciones de
PL, habı́amos formulado el problema como

(PL) zPL = min ∑ ∑ ci j xi j


i=1 j=1

sujeto a
4
∑ xi j ≤ 1, i = 1, . . . , 6
j=1
6
∑ xi j = 1, j = 1, . . . , 4
i=1
xi j ≥ 0, para todo i, j.
Sin embargo, a la luz de nuestros nuevos conocimientos sobre PE, ahora sabemos que el
problema que realmente nos interesaba resolver es el PE

(PE) zPE = min ∑ ∑ ci j xi j


i=1 j=1

sujeto a
4
∑ xi j ≤ 1, i = 1, . . . , 6
j=1
6
∑ xi j = 1, j = 1, . . . , 4
i=1
xi j ≥ 0 y entera, para todo i, j.
Ası́, lo que resolvimos en realidad era (PL), la relajación lineal de (PE). Al resolver la
relajación lineal PL obtuvimos que su valor óptimo era de zPL = 254. Además, la solución

4
óptima de la relajación que obtuvimos, que designaremos como xF , resultó ser entera factible
(esto es, las variables de decisión tomaron valores enteros). El valor de la xF , por tanto,
será zF =PL .
En su momento, dimos por válida esta solución óptima de (PL) como solución óptima de
(PE). ¿Procedimos correctamente? Como muestra el siguiente resultado, la respuesta es que
sı́.
Criterio de optimalidad en PE: Una solución entera factible xF es óptima para
el PE si es solución óptima de una relajación lineal. En tal caso, se cumple que
zF = zPE = zPL .
La Figura 2 ilustra gráficamente el criterio de optimalidad.

zF = zPE = zPL

Figura 2: Criterio de optimalidad en PE.

Este criterio de optimalidad juega el mismo papel en PE que el criterio de no negatividad


de los costes reducidos en la tabla sı́mplex de un PL: nos permite reconocer que una solución
entera factible dada es óptima.

1.4. Acotación de la brecha de suboptimalidad de una solución entera factible


Antes de aprender a resolver PEs, abordaremos una cuestión más sencilla, que además
resulta útil en la práctica: cómo estimar la calidad de una solución entera factible.
Consideremos como ejemplo el PE de selección de proyectos discutido más arriba. Es
fácil comprobar que una solución factible para (PE) es xF = (1, 1, 0, 1, 0), y que su valor es de
zF = 75 e. Recordemos que habı́amos denotado por zPE el valor óptimo, que desconocemos,
de (PE), y por zPL el valor óptimo de su relajación lineal (PL), que sabemos que vale zPL =
108,68 e.
Abordaremos la siguiente cuestión: Cómo estimar, mediante una cota superior, la brecha
(absoluta) de suboptimalidad zPE − zF de la solución entera factible dada xF . Tal brecha indica
el valor que perdemos si empleamos la solución factible entera xF , con respecto a la ganancia
óptima que podrı́amos obtener, dada por zPE .
Con la información conocida hasta ahora, no podemos dar el valor exacto de la brecha de
suboptimalidad, puesto que no conocemos zPE . Para calcular una cota superior en tal brecha,
invocamos la Relación Fundamental de la PE, que nos asegura que zPE ≤ zPL . Ası́, obtenemos
que
0 ≤ zPE − zF ≤ zPL − zF ,
esto es,
0 ≤ zPE − zF ≤ 108,68 − 75 = 33,68.
Ası́, hemos obtenido que la brecha de suboptimalidad zPE − zF de la solución xF está aco-
tada por arriba por el valor zPL − zF , que podemos calcular y que en este caso vale 33,68 e.

5
Por tanto, si utilizamos la solución xF podemos asegurar que no estamos perdiendo más de
33,68 e con respecto al valor óptimo.
La Figura 3 ilustra gráficamente el procedimiento de acotación.

cota superior para la brecha

brecha de suboptimalidad de xF

zF zPE zPL

Figura 3: Acotación de la brecha de suboptimalidad de una solución entera factible.

Nótese que tal resultado prueba la validez del criterio de optimalidad que vimos en la
sección anterior. Ası́, si tuviéramos una solución entera factible xF que hemos calculado como
solución de una relajación lineal (PL), de manera que zPL = zF , la desigualdad obtenida más
arriba nos darı́a que
0 ≤ zPE − zF ≤ zPL − zF = 0 =⇒ zPE = zF ,
y, por tanto, la solución xF serı́a óptima.

2. Resolución gráfica de PEs con dos variables de decisión


En el primer tema del curso vimos cómo resolver PLs con dos variables de decisión me-
diante el método gráfico, lo cual nos proporcionó una valiosa comprensión intuitiva de las
principales propiedades de los PLs. En esta sección veremos cómo adaptar el método gráfico
para resolver PEs con dos variables de decisión. En el camino, ganaremos una comprensión
intuitiva, de tipo geométrico, sobre la PE, e introduciremos conceptos útiles para su resolu-
ción.
Consideraremos, como ilustración, la siguiente formulación de PE:

(PE) zPE = max x1 + 0,64x2


sujeto a
50x1 + 31x2 ≤ 250
− 3x1 + 2x2 ≤ 4
x1 , x2 ≥ 0 y enteras.

6
Comenzamos por formular su relajación lineal, dada por la formulación de PL

(PL) zPL = max x1 + 0,64x2


sujeto a
50x1 + 31x2 ≤ 250
− 3x1 + 2x2 ≤ 4
x1 , x2 ≥ 0.

A continuación, resolvemos la relajación (PL) mediante el método gráfico. La región


factible se muestra en la Figura 4. En este caso, las rectas de nivel del objetivo resultan
tener una pendiente muy próxima a la del lado derecho del polı́gono factible, que une los
vértices (376/193, 950/193) y (5, 0), por lo que resulta imposible determinar visualmente
cuál de ambos es óptimo. En tales casos, calculamos el valor del objetivo en cada uno de
los vértices entre que observamos que se encontrará el óptimo. Ası́, el primer vértice da
un valor de 5,0984 e, mientras que el segundo da un valor de 5 e. Por tanto, la solución
óptima de la relajación lineal es el vértice xPL = (376/193, 950/193) ≈ (1,9482, 4,9223), que
está marcado con un rombo azul en la figura. Hemos obtenido, ası́, que la solución óptima de
la relajación no es entera. El valor óptimo de la relajación lineal es zPL ≈ 5,0984 e. Aplicando
la Relación Fundamental, podemos asegurar, por tanto, que zPE ≤ zPL ≈ 5,0984 e. Por otra
parte, si redondeamos la solución óptima relajada obtenemos el punto xRPL = (2, 5), que no
es factible para (PE).

4
x2

0
0 1 2 3 4 5 6
x1

Figura 4: Región factible y solución óptima de la relajación lineal (PL).

Procedemos dibujando la región factible entera, que es el conjunto de puntos con coorde-
nadas enteras que quedan dentro del polı́gono dado por la región factible lineal, incluyendo
su frontera. La región factible entera se muestra como el conjunto de puntos verdes en la
Figura 5.
Para encontrar la solución óptima de (PE), hemos de desplazar las rectas de nivel del ob-
jetivo tanto como sea posible hacia valores mayores (en este caso, hacia arriba a la derecha),
y encontrar el punto entero factible (verde) que marca el lı́mite a tal desplazamiento. Como
comentamos más arriba, en este caso las rectas de nivel del objetivo son casi paralelas al lado
derecho del polı́gono que da la región factible lineal. Por tanto, observamos en la Figura 5
que la mejor solución factible entera será uno de los puntos (3, 3) y (5, 0). Para determinar

7
6

x2
2

0
0 1 2 3 4 5 6
x1

Figura 5: La región factible de (PE) y la de su relajación lineal (PL).

cuál de ellos es el óptimo, calculamos los valores del objetivo en ambos: en (3, 3), el objetivo
vale 4,92 e, mientras que en (5, 0) vale 5 e. Ası́, obtenemos que la solución óptima entera es
el punto xPE = (5, 0), con un valor de zPE = 5 e. Nótese que, en este caso, la solución óptima
entera está bastante alejada de la solución óptimal lineal.

3. Resolución de PEs por ordenador


En las clases prácticas correspondiente a este tema, veremos cómo resolver PEs utilizando
el Solver de Excel. En particular, el Solver incorpora, en el menú desplegable para seleccionar
el tipo de restricción, las opciones “int” (para indicar que una o varias variables son enteras),
y “bin” (para indicar que son binarias). Estas opciones indican al Solver que ha de utilizar el
método “Ramifica y Acota”, que estudiaremos la próxima semana.

4. Otros ejemplos de formulaciones de PE


4.1. Un modelo de asignación de tripulaciones a vuelos
Las compañı́as de lı́neas aéreas son grandes usuarias de la PE, que aplican para resolver
múltiples problemas de planificación. Como ejemplo, consideremos el siguiente problema de
asignación de tripulaciones a vuelos.
Una compañı́a aérea ha de cubrir un conjunto de vuelos, que denotaremos por I = {1, 2, . . . , m}.
Un vuelo se indica dando su origen y destino, ası́ como sus horas de salida y llegada. P. ej.,
A 7:15am→ B 8:30am.
Imaginemos que la empresa elabora una lista con las posibles asignaciones factibles de
tripulaciones a vuelos. Un ejemplo de tal asignación podrı́a ser: A 7:15am → B 8:30am,
B 9:00am → C 11:00am, C 12:00 → A 2:30pm, lo cual indica que la misma tripulación
cubre los tres vuelos sucesivamente. Denotaremos por J = {1, 2, . . . , n} el conjunto de todas
las asignaciones factibles de tripulaciones a vuelos. Para cada asignación j, se da el coste
correspondiente c j . La información sobre qué vuelos cubre cada asignación se proporciona

8
mediante la matriz de incidencia vuelo-asignación A = (ai j )m×n , donde
(
1 si la asignación j cubre el vuelo i
ai j =
0 en otro caso.

El problema que se plantea la aerolı́nea es: encontrar un conjunto de asignaciones facti-


bles de tripulaciones a vuelos de coste mı́nimo, que cubra todos los vuelos.
A continuación se dan los elementos de la formulación de PE binaria de tal problema:

1. Variables de decisión: para cada asignación j = 1, . . . , n,


(
1 si se selecciona la asignación j
xj =
0 si no.

2. Objetivo: minimizar el coste total, esto es,

min c1 x1 + · · · + cn xn .

3. Restricciones:

El vuelo i se ha de cubrir: ai1 x1 + · · · + ain xn = 1, i = 1, . . . , m.


No negatividad: x j ≥ 0, para cada j.
Variables enteras: x j es entera, para cada j.

Nótese que tales restricciones implican que las variables son binarias.

4.2. Un modelo de localización para cobertura wi-fi


Consideremos el siguiente problema de localización de puntos de acceso para Internet
sin cables (wi-fi). Una organización ha de decidir dónde instalar puntos de acceso wi-fi, entre
un conjunto J = {1, 2, . . . , n} de posibles localizaciones. Para cada localización j, se conoce
el coste correspondiente de instalación, dado por c j . Se trata de asegurar la cobertura de una
ciudad, dividida en un conjunto de barrios I = {1, 2, . . . , m}.
La información sobre qué barrios se cubren adecuadamente desde cada punto de acceso
se proporciona mediante la matriz de incidencia barrio-localización A = (ai j )m×n , donde
(
1 si un punto de acceso en la localización j da cobertura wi-fi al barrio i
ai j =
0 en otro caso.

El problema que se plantea la organización es: seleccionar las localizaciones para instalar
los puntos de acceso, de manera que se garantice la cobertura a coste mı́nimo.
A continuación se dan los elementos de la formulación de PE binaria de tal problema:

1. Variables de decisión: para cada localización j = 1, . . . , n,


(
1 si se instala un punto de acceso en la localización j
xj =
0 si no.

9
2. Objetivo: minimizar el coste total de instalación, esto es,

min c1 x1 + · · · + cn xn .

3. Restricciones:

El barrio i ha de tener cobertura: ai1 x1 + · · · + ain xn ≥ 1, i = 1, . . . , m.


Lı́mite máximo para cada variable: x j ≤ 1, para cada j.
No negatividad: x j ≥ 0, para cada j.
Variables enteras: x j es entera, para cada j.

Nótese que tales restricciones implican que las variables son binarias. Observamos que
la formulación dada es muy similar a la anterior, correspondiente al modelo de asignación
de tripulaciones a vuelos. La principal diferencia se encuentra en el bloque de restricciones
correspondiente a la matriz de incidencia: en el caso anterior, tales restricciones son del tipo
“=”, mientras que en caso presente son del tipo “≥”. ¿Puedes explicar por qué?

4.3. Modelos de PE binaria para selección de actividades; restricciones lógicas


Los modelos de PE binaria aparecen en una amplia variedad de aplicaciones en las que
se han de seleccionar algunas actividades de entre un conjunto de posibles actividades J =
{1, 2, . . . , n}. Las variables de decisión naturales en tales modelos son:
(
1 si se selecciona la actividad j
xj =
0 si no.

En tal contexto, resulta de interés formular restricciones lógicas como restricciones que
podemos incorporar a una formulación de PE.
Ası́, p. ej., supongamos que queremos formular la restricción lógica “No se pueden se-
leccionar más de dos actividades”. Su formulación natural es:

x1 + · · · + xn ≤ 2.

Otro tipo útil de restricción lógica corresponde a las relaciones de precedencia entre
actividades, como ilustra el siguiente ejemplo. Supongamos que, para que se lleve a cabo la
actividad 2, previamente se ha debido realizar la actividad 4. ¿Cómo podemos formular tal
relación? Resulta sencillo comprobar que podemos formularla como

x2 − x4 ≤ 0.

¿Puedes explicar por qué?

10

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