Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FACULTAD DE INGENIERIA-EAPIM
5.1 Introduccin
1. Es posible que la solucin redondeada no sea factible.
En algunas situaciones que pueden representarse con modelos lineales, nos encontramos con
2.
no existesoluciones
ninguna dede
garanta
quefactible
la solucin
sea
que An
slo siendo
tienen factible,
sentido aquellas
la regin
en las
que todas o algunas de
ptima.
las variables de decisin sean nmeros enteros. Estas situaciones pueden representarse
Estos
dos problemas
se ilustran en
el ejemplo 2.a:
mediante
modelos matemticos
ligeramente
diferentes de la programacin lineal. Si todas las
variables de decisin deben ser enteras, tenemos un problema de programacin lineal entera. Si
slo algunas variables de decisin deben ser enteras, pudiendo ser reales las dems, se trata de
Ejemplo
2.a Encontrar
la solucin al modelo de programacin entera:
un problema
de programacin
lineal mixta.
[MAX]
z = 10x
+ ytodas o algunas de las variables enteras slo pueden tomar los valores de 0 o
En algunos
casos,
+ 6y variables
50
1. Axestas
se les llama variables binarias. De este modo tenemos tres tipos de
12x + y 60
variables:
y 0, enteras
a) x,
Variables
no enteras o reales
Podemos empezar por resolver el problema lineal asociado:
b) Variables enteras
[MAX] z = 10x + y
c) xVariables
+ 6y 50binarias
12x + y 60
La posibilidad de utilizar variables enteras o binarias ampla notablemente las posibilidades de
x, y 0
modelizacin matemtica. El precio por una mayor versatilidad de la herramienta es el de una
mayor
complejidad
la resolucin
del modelo. Esta complejidad se debe a los siguientes
La solucin
de este en
problema
es:
hechos:
Para las variables enteras del modelo,x*el= razonamiento
que se emple para mostrar que la
4,366
solucin ptima era un vrtice (o una combinacin
y* = 7,605 convexa de vrtices) de la regin factible no
es vlido: en un caso general, los vrtices
la regin factible no tienen porqu ser nmeros
z* = de
51,267
enteros. En consecuencia, la solucin ptima se encontrar en el interior de la regin factible,
por
lo que el sta
mtodo
smplex,
empleado
de forma
directa,
no proporcionar
la solucin
ptima.
Claramente,
no es
la solucin
del problema
entero.
Como
al redondear uno
de los dos
resultados
A diferencia
del problema
confactible,
variables
reales, eldar
nmero
de soluciones
de un modelo de
por
exceso salimos
de la regin
es tentador
como buena
la solucin:
programacin lineal entera es finito, por lo
que podra plantearse la posibilidad de encontrar la
x=4
solucin mediante la exploracin de todasy=7
las soluciones posibles. Sin embargo, el nmero de
soluciones a explorar para un problema mediano
z = 47 puede ser muy elevado: en principio, para un
problema con n variables enteras debemos explorar 2 n soluciones (excluyendo quizs algunas
descartadas
las restricciones).
Sin
embargo,por
si exploramos
el conjunto de posibles soluciones a partir de la representacin
Para n =o30, tenemos 230 = 1.073.741.924 soluciones posibles.
grfica,
Se han
desarrollado
metodologas
que
permiten
explorar de
manera
ms
eficiente
bien
introducimos
el problema
en un
programa
informtico
que
resuelva
modelos
de que la mera
enumeracin el
conjunto de soluciones posibles. Gran nmero de estas metodologas emplean la
programacin
enlgicaencontramos
del branch and
y estn
incorporadas
x* = 5
a la mayora de programas informticos que
tera,
quebound,
la solucin
ptima
es:
resuelven modelos lineales. Seguidamente
y* =se0 muestra este procedimiento y cmo resolver
modelos de programacinentera mediantez*programas
= 50
informticos.
El valor de la funcin objetivo es algo inferior al del programa lineal asociado, dado que se
encuentra dentro de la regin factible, aunque no tan pequea como la solucin obtenida por
redondeo.
El ejemplo 2.a nos muestra la necesidad de encontrar un procedimiento que nos permita, a partir
del problema lineal asociado, ir explorando las soluciones enteras hasta encontrar el ptimo del
modelo de programacin entera. Este procedimiento es el algoritmo de branch and bound. Se
trata de ir aadiendo restricciones al programa lineal asociado hasta encontrar la solucin entera
ptima. Para ello se procede en dos pasos: ramificacin (branch) y acotamiento (bound).
5.2.1 Ramificacin
Se trata de aadir restricciones al modelo que fuercen a que una de las variables sea entera.
Esto se consigue aadiendo una de estas dos restricciones para alguna de las variables xBi que
no sea entera en la solucin obtenida hasta el momento:
Redondeo por defecto: imponemos que la variable xBi sea inferior o igual a la parte entera del
valor de esa variable en el ptimo del problema lineal xBi con las restricciones obtenidas hasta el
momento.
Esto equivale a aadir la restriccin:
xi E(xBi)
Redondeo por exceso: imponemos que la variable xi sea mayor o igual al entero inmediatamente
superior del valor xBi. Esto equivale a aadir la restriccin:
xi E(xBi) + 1
Seguidamente, procederemos a resolver mediante el mtodo smplex dos problemas lineales. El
primero, adems de las restricciones que pudiera tener de etapas anteriores, llevar incorporada
la restriccin de redondeo por defecto incorporada en esta etapa. El segundo se diferenciar del
primero en que incluir la restriccin de redondeo por exceso, en vez de la de redondeo por
defecto.
5.2.2 Acotamiento
Para mostrar el razonamiento de la etapa de acotamiento, utilizaremos un problema de mximo.
El lector puede realizar, si lo desea, el mismo razonamiento para el problema de mnimo.
Ms arriba se mostr que la solucin ptima del modelo de programacin lineal entera se
encuentra dentro de la regin factible. Esto significa que, para un problema de mximo, el
ptimo del programa entero ser menor o igual que el ptimo del problema lineal asociado. Al
hacer la ramificacin, hemos encontrado dos alternativas posibles para obtener la solucin
entera. Los valores ptimos de la funcin objetivo z* de cada uno de los programas lineales
resueltos en la etapa anterior sern una cota superior de las posibles soluciones que
obtengamos mediante posteriores ramificaciones a partir de ese modelo. En consecuencia, slo
tendr sentido continuar con el procedimiento de ramificacin a partir del problema lineal que
tenga la mayor z* de los dos. Siguiendo la otra ramificacin, obtendremos soluciones enteras con
valores de z*
inferiores,
seguridad,
a los
que obtendramos
con la otra
y por
Este
hechocon
nostoda
marca,
adems,
cundo
debemos detenernos
enramificacin,
la exploracin
detanto
soluciones
subptimos.
enteras: cuando el problema escogido tenga una solucin con todas las variables enteras. Por
ser el valor de la funcin objetivo una cota superior del ptimo, cualquier otra solucin entera
que pudiramos explorar sera subptima, y por lo tanto no vale la pena seguir explorando.
Cul ser la solucin ptima del modelo de programacin entera? No necesariamente la
obtenida en la ltima etapa, sino la solucin entera con mayor valor de funcin objetivo de las
obtenidas en el proceso.
Puede suceder que alguna de las ramificaciones abandonadas condujera a una solucin entera
que en aquel momento tuviera un valor de z* inferior al de la otra ramificacin, pero mayor que
la z* obtenida al final.
Seguidamente se expone el algoritmo descompuesto en pasos. El ejemplo 2.b muestra el
funcionamiento del algoritmo para un caso concreto.
Paso 0
Paso 1
Si la solucin obtenida es entera: finalizar. El ptimo ser aquella solucin entera con
mejor valor de la funcin objetivo.
Si no, ir a paso 2.
Paso 2
Paso 3
Paso 4
Acotacin: de los dos problemas, escoger aquel que d como resultado un valor mejor
de la
funcin objetivo.
Paso 5
Ir a paso 1.
160Ag
3
700
Cu +
Cu 0
Ag
Ag
Todas
Cu* = 3
Ag* = 2.875
Z* = 7600
Ag 3
Cu* = 2.75
Ag* = 3
Z* = 7550
Ag 2
Cu* = 3
Ag* = 2
Z* = 6200
Ag 3, Cu 2
Cu* = 2
Ag* = 3.375
Z* = 7400
Ag 3, CEB 2
Cu* = 2
Ag* = 3
Z* = 6800
Solucin
ptima para
el PE
Ag 3, Cu 3
NO
FACTIBLE
Ag 4, Cu 2
Cu* = 0.75
Ag* = 4
Z* = 7150
Ag 4, Cu 0
Cu* = 0
Ag* = 4.375
Z* = 7000
Ag 4, Cu 0
Cu* = 0
Ag* = 4
Z* = 6400
Ag 4, Cu 1
NO
FACTIBLE
Ag 5, Cu 0
NO
FACTIBLE