Documentos de Académico
Documentos de Profesional
Documentos de Cultura
entera,
.,
tra nsporte y asignacron
Introducción 277
, - •
INTRODUCCION -
üUJ ETl VO S
C ONTEN ID OS
PROB LEM A DE Ilefinicíón 3.3. Se dice que un problema de programación lincal entcra
PROGR A M ACiÓN mixto es un prob lema de programación lineal entera mixto cero -un o si
LINEAL ENTERA todas las varíabfes enteras del problema son variables binarias.
MI XTO CERO-UNO
Demostra ció n
La equivalenci a se demuestra sin más que probar que ca da variable entera
puede ser reemplazada por variables binarias. Hay dos maneras sencillas de
hacerl o.
l . Se reemplaza cada variables entera Xj por r.Z 1 Ikj, donde 1kj es una va-
j
ii) Se reemplaza cada variables entera Xjpor I t o2 klkb donde Ikj es una
variable cero-uno, es d e cir !kj = O, 1, para k = 0,2, . . . ,R/¡. , siendo Rj el
menor entero tal que I.l-o 2k = 2 ej + 1 - 1 > ul» y se man tiene la restrie-
.,
ClOn Xj -
- ", t i
L,k- O
2' Iltj _< Uj.
El resultado es consecuencia de que cada Xj puede tomar tan sólo valores
entre O y Uj .
l. o
3
0)
-"
/"
G
/-"
O I I "
.
O' I 2 3 4
/
I
I
1
2 .,
)
1 x,
Los ejemplos representado s en las figuras 3.1 y 3.2 nos inducen a reflexio-
nar ace rca de la gran dificultad que presentan los problemas de programac ión
lineal entera. A primera vista podría pensarse que es m ás sencillo resolver
un problema de programación lineal entera que uno continuo. Por ejemplo, la
restricción O < Xj < l junto con la condición de que Xj haya de ser entera signi-
fica que hay que estudiar únicamente dos valores de Xj en lugar de los infi nitos
valores que podría tomar en el caso continuo . Es decir, podría ingenuamen-
te pensarse que dado que hay muchas menos so luciones factibles enteras que
continuas será posible encontrar más fácilmente la solución de un problema
entero que la de uno continuo. Lamentablemente esto no sólo no es cierto sino
que puede afirmarse que ocurre justamen te lo contrario; m ientras en el mo-
mento actual es posible resolver problemas de programación lineal continua
con miles de variables y mil es de restricciones en u n tiempo razonab le des-
pués de más de cincuenta años de investigación no se dispone de algoritmos
de programaci ón entera que p uedan garantizar resultados simi lares .
Introducción a la programación entera 285
Maximizar z = 2 1x I + I Ix 2
suj eto a
7xl+ 4x2 < 13
X I,X2 > U y enteros
La figura 3.3 representa gráficamente el problema. Las únicas soluciones factib les son
los puntos (0 ,0) , (O, 1) , (0,2), (0, 3), ( 1, 0), (1, 1) . El mejur valor de z en estos puntos
se alcanza en (0, 3) que es la solución óptima, z = 33 . El procedimiento de solución
que hemos empicado , enumeración explícita de tod as las soluc iones factib les, nos da
una idea de la dificultad que entraña la resolución de pro blemas de programación ente-
ra de un tamaño moderado. Otro procedimiento de solución que parece a primera vista
prometedor es utilizar la estrategia del redondeo, es dec ir, resolver en primer lugar el
problema ignoran do la restricción de integridad y a continuación redondear al entero
más cercano la solución conti nua obtenida. Veamos qué ocurre en este ejemplo. La
286 UN IDA D DID ÁCTI CA 3 Progr amaci ón entera, transporte y asignación
• Xl O
4
óptimo entero
3
7xI + 4x;! = 13
I • •
ó pt imo continuo
=
solución co ntinua es X I = J,f, x 2 O. La mane ra "obvia" de red on dear esta solución
es hacer Xl = 2, X2 = O. que conduce a un solución no fact ible. Si decid imos redondear
cada valor a su parte ente ra obtenemos x 1 = 1, X2 = O qu e es facti h le y proporciona
a la función objetivo el valor z - 21 . Esta solución está lej os de ser el óptimo. En
defini tiva , no existe una manera evidente de redondear la solución co ntinua para ob-
ten er una sol ución entera óptima, incl uso cn problemas de tamaño moderado, Como
es fácil ver esta dificu ltad se agrava a medida que aume nta el número de variab les y
restricciones siendo especialmente complicados aquellos casos en que los coefientes
a ij de las restricciones son negativos.
soluciones del problema debe descartarse por ineficaz para problemas incluso
de tamaño moderado. Pensemos, por ejemplo, que para resolver de esta for-
ma un problema con 100 variables binarias habría que estudiar 200 posibles
soluc iones, 10 cua l está lejos de ser viable para el más rápido de los compu-
tadores ex istente actua lmente. Por tanto, y en tercer lugar, si un algoritmo ha
de ser prometedor tiene que basarse en la enumeración parcial de un número
manej able de soluciones y en la enumeración implícita de todas las demás.
Puede observarse que una fi losofía similar es la qu e inspira el algoritmo del
simp lcx para la programación lineal: de las múltip les bases de un problema,
únicamente son exa m inadas unas cuantas y se descartan de man era implícita
las demás.
Teniendo presente estas cons ideraciones, las estrategias para resolver pro-
blemas de programación en tera pueden resumirse en tres pasos:
Maximi7.ar f (x)
sujeto a
x ES
g (x ) > O ó h(x ) > O o ambas
Introd ucción a la programación ente ra 289
Figura 3.4: Un problema con región g(x) :> se h(x) > ( 1- 0 )11 0 = 0• 1
factible no conectada.
En efecto, si (5 = O entonces la segunda restri cción h(x) > 11 es redundante y
o
la primera es g(x) > O. Por otra parte, si = l . la primera restricción g(x) > G
es redundante mientras que la seg unda es h(x ) > O.
m
g¡(x ) > o¡G¡ i = l, . .. . m ¿ o¡<m-« o¡ = O, 1 i = I •. . . , m
i= 1
De nuevo es inmediato ver que las dos últimas condiciones garantizan que a lo
sumo m - k de las primeras restricciones son red undantes.
Xj O ó 1, j = I , . .. ,n
Este criterio no tiene en cuenta el riesgo de la decisión, es decir, no
conte mp la en el mode lo medi da alguna ace rca de la variabilidad de la
variable aleatoria. Este modelo, en cl cual las variables aleatorias se sus-
tituyen por sus esperanzas, es esencialmente igual al anterior.
2) Para tener en cue nta el rie sgo se pueden considerar otras funcione s dc
utilidad. Una posibilidad sería considerar la varianza de la inversi ón da-
=
da por J-; = 'Lj ,k:=: I Xjaj 4Xk, donde a j k Cov(cit q ), j ,k = 1,. . . ,n es
la covarianza de las variables aleatorias que dan la rentabilidad de las
inversiones j y k . El modelo sería
Maximizar y =E (z) - KV,
sujeto a
•
¿ E(Oij)Xj < E(bi ) i = 1,2 , . . . ,m
1=1
Xj Oó l j = l •. . .• n
en donde K es un coeficiente q ue tiene que especifi car el decisor para
ponderar la influencia cn el modelo del t érm ino de riesgo. El modelo
anterior no es un problema dc programaci ón lineal. El o bj etivo trata dc
maximizar el rendimiento medio, al mismo tiempo que minimizar la va-
rianza, es decir minimizar el riesgo. El problema puede todavía compli-
carse para tener en cuenta la ren tabil idad de las variables aleatorias que
•
292 UNIDAD D IDACTICA 3 Programación entera, transporte y asignación
> a, (3.1 )
=
cn donde ka i es tal que P{z < kai } a ¡ sicndo z un a variable aleatoria
con distribución normal estándar. z r- 1)1(0 , 1) . Por tanto la restricción
queda:
:t
J= 1
a;jE (xj ) + ka; ( va) :t
L=I
aUXj _ b;]) 1/2 < E (h ;)
El modelo anterior ese tamb ién un modelo no lineal que, en general,
será de d ificil resolución.
sujero a
Xj = O, I j = I, .. . ,n
~
SI xl' >O
Yj ={ st x¡ =O
Supongamos que que remos minimizar la función Jj(xj) ' Entonces dicha fun-
ción puede representarse por
X ·
J
>- 0
Y¡ ~ 0, I
x j (l - Yj ) ~ °
Esta últ ima condición tiene la siguiente interpretación: si x¡ > O entonces po r
fuerza Yj = I Y por tan to el coste fijo d¡ es sumado a la func ión gj ; por otra
parte, si xl' = O entonces Yj puede ser O ó 1; ahora bien, como d.t. > O y se
qui ere minimizar gj entonces en el mínimo ha de ser Yj = O, de forma que
x ¡ = O implica que Yj = O. La cond ición x j ( l - Yj ) es no lineal. Cuando se
dispone de una cota superior finita Uj > O de xl' es posible reemplazar esta
condición por la restricción lineal Xj < UjYj . De nuevo pode mos razonar que si
Xj > O y ademá s ha de cumplirse la restricción anterior entonces tiene que ser
=
y¡ 1. Por otra parte si x ) =..:: O la minimización de gj conlleva Yj O. =
En resumen, u n prohlema de coste fij o que incluya restricciones lineales
recogiendo las condici ones tecnológicas puede formularse como el siguiente
problema dc programación entera mixta:
PROBLEMA DE Definición 3.10. El p roblema de carga fija es de la forma
CARGA FIJA
n
M inimizar z = L ej X j -f -d jY j
j= 1
s ujeto a
,
L a ijXj = b¡ j = I , o. o, m
)= 1
O<
- x}· <
- u} -y}· j -=- l , ,n
Y ¡ = 0, 1 j = l, ,n
y¡ = O, 1 i = I, . .. ,m
distinta. Definimos :
Máquina k
Máquina k
Ór.d: = 0, l
donde M es un númcro suficientemente grande. Observemos que sc han reem-
plazado dos restricciones tales que se cumplía únicamente una de las dos por
dos restricciones que se han de verificar las dos simultáneamente. El significa-
do de la transformaci ón es claro. Si 4 .d : = I al ser M suficientemente grande,
se vuelve redundante la primera restricción que simplemente expresa en este
caso que la diferencia entre dos números es mayor que un número negativo
sufic ientemente grande en valor absoluto. Si 4.d: = O es la primera rcstriccion
la que se vuelve act iva y la segunda redundante. Podemos notar que hay f,G)
variables binarias (5 y me;) pares de restricciones asociadas.
Introducción a la programaci ón entera 297
1),." = O, I r, S = L• •• • • n; r f:.s ; k = I , . .. ,m
El algoritmo básico
La fo rma gene ral de un algor itmo todo entero responde al siguiente esque-
ma básico:
• Paso 1
• Paso 2
• Buscar una nueva restricción de desigualdad, o corte, ba sada en las
restricciones actuales del problema y la condición de integridad
de modo que se corte, es decir se elimine o haga no factible, la
solución óptima del problema continuo, pero s in e liminar ning una
so luc ión en lera.
• A ñadir la nueva restricción de desigua ldad como última fila de la
tabla de l sim plex . Ello hará que la solución continua deje de se r
primal factible , es decir, la variab le de holgura asociada a la res-
tricción añadida toma un valor negat ivo .
• Ir al paso 3.
• Paso .1
• Reconstru ir la so lución óptima usando el método du al de l simplcx,
si es preciso en su forma lexicográfica. Si el nuevo problema de
programación li neal no es factible, es decir el dual es no acotado,
entonces el problema entero no tiene solución. FINALIZAR .
• Si el nuevo óptimo es entero el problema entero es tá res uelto. FI-
NALIZAR.
• En otro caso vo lver al paso 2.
7 Y
6 •
A
5 • • • • •
x' > O
4 • • • • • •
3 • • • • •
.'(" -> O
2
/: • • • • , -,Solución
óptima
entera
/
D
X
O I I I
O 2 3 4 5 6 7 R
EjE MPLO 3.5 En la fi gura 3. 7 observamos que la región factible del problema con-
tinuo es ARC/J}-;. Los puntos representan las soluciones enteras . La so lución del pro-
blema lineal co ntinuo es el punto D . Supongamos quc se añade una nueva restri cción
3 011 UN IDA D DID ÁCTI C A 3 Progra mación cntera. tra nsporte y asignación
7 Y
- _ __ -e_ Oprimo
.Óptimo dcl l' L
6 .. del PE
Intersección de un
número infinito
5 • • • • de cortes
4 • • • •
3 • •
2 • •
x
o I
o 1 2 3 4 5 6 7 8
X > O que elimine cl punto /) sin eliminar ninguna solución factible entera. Se obtic-
ne entonces una región fa ctible ABCClI:E del problema lineal continuo cuya soluc ión
óptima se alcanza en cl punto F, cuyas coordenadas no son enteras. Supongamos que
se añade a continuación una segunda restricción x" > n que elim ine F. sin eliminar
soluciones enteras. La nueva región factible es ABCGlllH y ahora el óptimo del pro-
blema lineal contin uo es 11 que, al tener todas sus coordenadas enteras, es la solución
del problema entero.
En este a parta do estudiaremos d ive rsas formas de defin ir los cortes, si bien,
es posibl e que algunos métodos no ll eguen a alcanzar la convergencia en un
nú mero fin ito de iteraciones , pues teóricamente puede producirse un efecto de
curva en la frontera de la regi ón facti ble como e l d ibuj ado cn la figura 3.8 .
Como se ha ind icado a ntc rionncntc los algoritmos dc planos de corte in-
troducen e n cada iteraci ón rest ricc iones adicionales al probl ema. Esto lleva
consigo que e n cada iteraci ón hay que añadir a la tabla del simplex nuevas ce-
lumnas correspondientes a las variables dc holgura asociadas a las nuevas res-
tricciones. Por razones de comodidad en la escritura. en las referencias clásicas
de programación entera es habitual presentar la tabla del s implex de una for-
ma ligerame nte diferente a la que hemos manejado hasta el momento para la
programación lineal continua . La nUCY"d forma de la tabla no es más que la tra-
ducción tabular dc una manera alternativa de expresar la función objetivo y las
restricciones del problema lineal entero.
Algoritmos de programación entera 301
Xo z
aoo o
- ao} c} j = I •. . . ,n
UI/ +1,0 b, í = l, ,m
al/ +i,¡ a l} i = l, ,m, j = I •.. . ,n
FORMATO Del Definiei én 3.13. El formato del problema de programación lineal entera
PROBLEMA DE para la aplicación de los algoritmos de planos de corte es de la manera
PROGRAMACiÓN siguiente:
LINEAL ENTERA
PARA LOS Maxim izar xo= aoo+ aol(- xl)-1- a02( - X2) +···-t aún ( -Xn )
ALGORITMOS DE
PLANOS DE CORTE sujeto a
X, - (- 1)(- XI )
X2 (- I)(x,)
•
•
•
Xn (- I)(xn)
Xn ll = 0 ,, + 1,0
X n + m = G n • 117.0
Al exigir que x¡' j = I , ...• n sea entero, junto con la hipótesis de que los
datos del prob lema son enteros, podemos aseg urar que la función del objetivo
Xo y las variab les de holgura x".¡ 1, . .. ,XI/" In toman siempre valores enteros en
cualq uier so lución entera . El problema se puede resumir en forma de tabla
como se indica en la tabla 3.1. en la cual cada varia ble )f . i = 0, 1, ... , n + m
viene representada en función de las variables no básicas Al , . .. ,XI/'
,
302 UN IDA D DIDA CT ICA 3 PrObYfUmaci ón entera, transporte y asignación _
o - 1
x" O - 1 >O
Xn t i - Un+ IJ ,-, antl ,n >O
k - SIM a CORTE Definición 3.1 4. La res tricción que define el k-sima corte de Gomory del
DE GOMORY . algoritmo todo entero viene dada por
ALGO RI TMO TODO
n
ENT ERO
x"+m " = - J... + I (-J'i)( - xJ(j )) > O
j -= I
en donde
J",j = aVj - [allj ] j =O, I, . . . •n
y X n t m +k es la k -sim a variah/e de holgura de Gom o!)' correspond iente a
la k -sima desigualdad añadida.
A lgoritmos de programac ión entera 303
O bservemos que por definición O < f¡¡(J < I y que O < ¡vi < 1, j l •. .. ,no =
Al añadi r la restricción de corte de Gomory a la tabla óptima la solución act ual
deja de ser factible, pues la vari able de holgura asociada a dicha restricci ón
toma un valor negativo xn +m --l k = - ~"J < O. Entonces hay que rehacer la solu-
ción para qu e vuelva a ser factible. Para ello se ut iliza de nuevo el algoritmo
dual y se logra una nueva so luc ión factible, cumpliendo también la restricción
añadida. Si esta solución es entera , e l problema ya está res uel to. En caso con-
trar io, el pro cedim iento se repite hasta obtener una solución entera. Antes de
just ifi car la fonna del corte anterior, ve remos algunos ejem plos sobre c ómo
trabaja el algoritmo de Ciomo ry.
EJEMPLO 3.6 Sea el problema
Maximizar z = - 4xl - S X2
suj eto a
< -5
< -7
> O y enteros
Añadimos las vari ables de holgura X] , X4 para pasarlo a la forma estándar.
Maximizar z = - 4x l - SX2 + OX ] + OX 4
sujeto a
4x, + x] -5
2x, + X4 -7
XI , -ca, .r j , X4 > O y enteros
Utilizamos ahora el formato caracter ístico de la prog ramación lineal entera. El prcblc-
ma puede ponerse de la forma siguiente:
Iteración 1 1 ~X I -rxa
Xo O 4 5
x, O - 1 O
x, O O - 1
x] -5 - 1 -4
X4 -- 7 -3 -2
Resol vemos el problema contin uo utilizando el algoritmo dual del simplcx. Las va-
riables básicas son X 3 Y.l"4 con valores X 3 =- - 5, X4 :::- - 7. Puesto que no todas las
variab les son no negativas la solución actual no es óptima. Util izamos el criterio de
salida para determinar la variable saliente.
por lo que sale de la base la v ariable .r-1 _ Pura determinar la variable ent rante ut ilizamos
el criterio de entrada del algoritmo dual:
4 5} 4
Min {1 31'1 - 21 = 3
por lo cual ent ra la variable x l . El pivote es ele mento (14 1 = - 3. A l realizar el cambio
de base obtene mos la tabla siguiente:
Iteración 2 1 - x, - x,
xo - 28/3 4/) 7/)
x, 7/) - 1/ ) 2/)
x, O O -1
x) - 8/ ) - 1/) - 10/ )
x, O - 1 O
La so lución ac tual tiene variables con va lores negativos por lo que no es óptima. De-
term ina mos la variable salien te de acuerdo con el criterio
Mín {-n~- ~
por 10 cual sale la variable X3. La variable entrante viene determinada por
-
M In
{
1)
1
7}
)
, - - 'HI = -
7
1- ,11 -,1 10
por lo cual entra la va riable X2. El ca mbio de base conduce a la tab la siguiente
Iteración 3 1 - X4 - X)
XO - 112/ 10 11/ 10 7/ 10
x, 18/ 10 - 4 / 10 2/1 0
X, 8/ 10 l/l O - J I lO
X) O O -1
x, O - 1 O
La tabla anterior muestra la so lución óptima de l problema continuo dado que todos
los valores de las variables son no negativos:
18 112
XI =- 10 ' Xo --' -
lO
Como pued e observarse esta so lución no es en tera por lo cual no tenemos el óp timo del
prob lema entero. Vamos a utilizar en tonces el algoritmo de Gomory. Seleccionamos
eomo fila fuente la fi la correspondiente a la variable x l. Resulta
IR 2
ato ::"" 10' al 2 ""- 10
A lgoritmos de programación entera 365
por 10 que
2
fv z = (l1 2 - 2 - [ 10
[aJ2J= 10 2] = 2
10 0= -
10
Introducimos en el sistema de restricciones la ecuación de corte
x, = _2lO /- (_2-(-x
10
,)) + (- ~
10
(-x,))
y añadimos la correspondiente fila a la tabla.
M' { II / IO 7I 10 } 11
In 1- 6 / 101' 1- 2/ 101 =6
es decir, entra la variable .ra. La nueva tabla es:
La solución ac tual no es entera por lo que debernos añadir una nueva restricción de
corte. Determinamos como fi la fuente la fila correspondiente a X2 . El lo lleva a la nueva
restricción de corte
Iteración 4 1 - x, -x]
x. - 76/6 11 /6 2/6
XI 14/6 - 4/ 6 216
X2 4/6 1/6 - 2/6
Xl O O - 1
x, K/ 6 10/6 2/6
x, O - 1 O
x, - 4/6 - 1/ 6 - 4/6
11/ 6 2/6 } 2
Min { 1 1/61' 1- 4/61 = 4
Iteraci ón 5 I 1 - x, - x,
x. I - 13 7/ 4 214
x, 2 - 3/ 4 2/ 4
x, 1 1/4 - 214
X.l 1 1/4 - 6/ 4
x, 1 - 7/ 4 2/4
x, O - 1 O
x, O O 1
La so lución de la tab la ac tua l tiene todas la variables enteras, por lo cual es la so-
luc ión óptima entera, Los valores óptimos de las variables son X I = 2, X2 - l que
proporcionan a la función obj etivo un valor óp timo .r o = - 13,
Vamos a expresar las va riab les de holgura añadidas en los cortcs,x S y Xl'> en función
de las variables origina les XI y X2, Tendremos:
8 6 2
10 + iO X4 + l():!)
8 6 2
- - + - [- 7 + 3x l ~ a2 1+ - 1 -5 CX I +4x2J
10 10 10
- 6+ a, l a,
Como X5 > O resulta que - 6 + 2.11 + 2X2 > O, es decir, la ex presión de la primera
restricción de corte añadida con respecto a las variables originales es XI + X2 > 3.
Análogamente
4 I 4
6: I 6X5 ~ 6 X3
4 1 4
6+ 6[ 6 l-a¡+a,I+¡¡ 1- 5+ xl 14x,1
5-t X I + 3 X2
Como X6 > O resulta - 5 + XI f' 3 X2 > O por lo que la segunda restricción de corte
añadida es la restricc ión XI + · 3."(2 > 5. Observemos que en cada ca so, la variab le de
A lg oritm os de p rog ramación entera 307
ho lgura de Gomcry puede expresarse como una combinación lineal toda entera de las
variables no básicas origin ales.
Otro hecho interesante es que se puede obtener una tabla óptima entera co n todos
sus ele mentos enteros si se continúan añadiendo cortes. Supongamos q ue en la tabla
óptima anterior elegimos la lila cero como fi la fuente. Entonces añadimos a la tab la el
corte X7 = 0 - H ¡
- X5) - (- X6) . Después de dos pivotcjcs obtenemos una tab la con
todos sus elementos enteros:
~ración 5 ·t 1 - x, - X6
Xo - 13 7/4 2/4
x, 2 - 3/ 4 2/4
x, 1 1/4 - 2/ 4
x, 1 1/4 - 6/ 4
X4 1 - 7/ 4 2/4
x, O - 1 O
X6 O O - 1
X7 O -3/4 - 2/4
L a últimatabla nos muestra la so lución óptima del problema y todos sus elementos
son enteros. Podemos observar q ue en es te proceso la primera columna no se mod ifica .
Ello es consecuencia inmediata de las fórm ulas de cambio de hase, dado de que en las
filas miad idas el e lemento de la primera co lumna siempre es cero al se r la co lumna
entera.
La figura 3.9 muestra gráfic amen te las iteraciones. En ella se señnlnn los pun-
tos correspond ientes a cada una de las tablas. Las iterac iones 5, 6 Y 7 corresponden
l ógicamcruc ,11 mismo punto, ya que las desigualdades añadidas x 7 > O y XII > O que
equivalen , respectivamente, a 2x 1+ l t"2 > 7 y X l -i- X2 > 3 son redundantes, al haberse
generado corno co mbinación de desigualdades existentes .
Maximizar z = XI + X2
sujeto a
+ x, < - 1
+ x, < 3
Xl , X2 > O y enteros
30S UNIDAD DIDÁ CTI CA 3 Progr.unación t..."Iltcra, transporte y asignaci ón
• • • • • •
• • - 4.' 1- 5X2 • • •
• • • • • •
," • • • • •
1 1.1 l Óp<_ ~ F~
1 (1_ • • • • • • •
TI) In'
\)1"'""'1'.( 5
O I I
u. I O
.tI'
8
-= O
La base in icia l está formad a por las var iables de holgura. La primera tabla es
I 1 - XI -x,
X<) I O - 1 - )
x, O -- 1 O
x~ O O 1
x, - 1 -4 ~ )
x, 3 4 - )
Esta solución no es primal factible, porque la variable X ) toma UII valor nega tivo, ni
dual fact ible , porque cn la prime ra fila hay elementos negativos. Puesto que algorit-
mo dual comienza siempre con un program dual factible recurrimos al método de la
restri cción arti ficial del apartado 2.2.7.3 , Hay que añadir una restricción artifici al de l
tipo
en donde podemos poner, por ejemplo, M = 10, aunque si fues e necesario tendríam os
que incrementar este valor. Al introducir la correspondiente vari able de holgura s, la
restricci ón artificial se convierte en la restricción de igualdad x 1 +X2 +s ;- M , es decir,
s = 10 - X 1 - X2. Añ adimos esta fi la a la tabla.
Algoritmos de programación entera 309
Iteración I 1 1 - x, - Xl
Xo I J) - 1 - 1
x, O - 1 J)
x, J) O - 1
x] 1 -4 1
X4 3 4 - 1
s lO 1 1
De acuerdo con los criterios de salida y entrada del algo ritmo dual, sale la variab le s
y entra la variable X I . La nueva tabla es :
Iteraci ón 2 1 - s - X2
.lo JJ) 1 O
x, JJ) 1 1
X2 J) J) 1
x) 39 4 5
X4 - 37 - 4 -3
s O - 1 O
La tabla anterior muestra una solución dual factible. Seguimos ap licando el algoritmo
dual del simplex. Buscamos ahora la solución del problema sin las restri cciones de
integr idad. Sale la variable X4 y entra la variable X2 .
Iteración 3 1 -s - X4
.lo 10 1 O
x, - 7/3 - 113 1/3
X2 37/3 4/ 3 - 1/3
XJ - 68/3 - 8/ 3 5/3
X4 O () - 1
s O - 1 O
Iteraci ón 4 1 ·Xl - X4
.lo 12/ 8 3/8 5/8
x, 4/ 8 - 118 1/8
x, 1 4/8 4/ 8
Xl () - 1 ()
X4 O O - 1
La so lución actua l X l .-;: ~. X2 = I es primal y dual factible. Por tanto es el óptimo del
problema continuo. No obstante no es entera, por lo que debemos aplicar el algori tmo
310 UN IDAD DIDÁCT ICA 3 Programación entera, transporte y asignación
12 4
/00 - - 1 ~-
8 8
3 3
/0' - - 0- -
8 8
5 5
- - 0- -
8 8
Añadimos la restricción de corte con la correspondiente variable de holgura .rs,
Iteración 4 I - x] - X4
La variable saliente es X5. El criterio de entrada Mín { I~~: I ' 1 5tJ8[} = I produce un
empate. Este empate pu ede romperse selecc ionando arb itra riamente la variable en-
trante o, mejor aún , em pleando el criterio lexicográfi co que con siste en uti lizar en el
numerador los elementos de las fi las sucesivas hasta deshacer el empate. En este caso,
al tomar los elementos de la fila siguiente resulta Min { 1- ~ql' [-}j~l } = - ~ por lo cual
entra la variable X ] . La nueva tabla es
Iteración 5 -x,
Xo O
x, 2/3 - 1/3 1/ 3
x, \/ 3 4/3 - 1/ 3
X3 4/3 8/3 5/3
X4 O O - 1
X, O \ O
- 2/ 3 - 2/ 3 - 1/ 3
Iteración 6 t I - x, - X6
Xo I I O
x, O - 1 I
x, \ 2 1
X] -2 -6 5
X4 2 2 3
x, O - \ O
X6 O O 1
Algoritmos de programación entera 311
Iteración 7 1 x] x6
XO 4/6 1/ 6 5/6
x, 2/6 - ]/ 6 ] /6
x, 2/ 6 2/6 4/6
XJ O - 1 O
x, 8/6 2/6 - 8/ 6
x, 2/6 - 1/ 6 - 5/ 6
X6 O O - ]
X7 - 4/ 6 - 1/ 6 - 5/ 6
Iteración 8 I 1 - X7 - X6
Xo O 1 O
x, ] - 1 1
x, - ] 2 - 1
XJ 4 -6 5
x, O 2 -3
x, 1 - ] O
X6 () O - 1
x, O - ] O
Iteración 9 1 x, x,
Xo () 1 O
x, () ] 1
X2 O O - ]
XJ - ] 4 5
X4 3 -4 -3
x, 1 - ] O
X6 1 -2 - ]
x, O - 1 O
La última tabla muestra que el dual es no acotado, puesto que la variable x 3 es negativa
y toda su fi la es positiva. Entonces, según cl teorema de la dua lidad, 2.6, el primal es no
factible. Por tanto el probl ema entero es no factible. Podemos encontrar la expresión
de las restricciones de corte en función de las variables originales.
x, =
z c rece
'> plimo PL
I A(j, I)
•
)
4
,
•
·1· XI
'x
-,-
-
11
I
~
"" /
,
-,
- 1 / t. 8( 1, 1)
x\ > ()
2 -7(mod 5) l ss ü fmod t }
xz =-:: y z (mod K )
(x+x') = (y +y') (m od K)
Además, si x e y son enteres xx =yy (m od K).
Demostración
Consecuencia inmediata de la definició n de congruenc ia.
Dado quc cualquier n úmero entero es congruente con cero modulo 1, tene-
mos en particular que °=
[a"" J {mod 1) Y también °=-
[a,.1 (mod 1). Si
tenemos en cuenta la propiedad g) del corolari o 3.3 obtenemos
j- I
[mod 1)
y puesto que hemos denotado f¡.{} = ava - [ovO j, (yen general / ij = Qij - [aij ]),
tendremos
° n
= f "" + ¿a,j (-xj (j)) {mod 1)
j= l
(3.2)
Podernos afirmar también que O < j;(J < 1, puesto que GvO es no entero . Asi-
mi smo, puesto que en cualquier solución en tera el valor de la variable ~ (j ) es
entero tenemos
0 '" - Xj (¡ ) (mod 1) (3.3)
Teniendo en cuen ta la propi edad g) del co ro lario 3.3 podemos s umar o res-
tar a la relación 3.2 cualquier número de veces 1<1 relac ión 3.3 sin perder la
congrue ncia . En particular, si (Iv) > Oentonces restamos 3.3 de 3.2 un número
[av¡'j de veces, mientras que si Cl,oj < O entonces s umamos 3.3 .1 3.2 un 11 (II11e-
I
re Cl vj JI de veces. Esta o perac i ón reduce cada (I¡'j a su part e fracciona! i·j·
Como la relación de congrue ncia se conserva, resulta
n
O= j ;. + :L f ,j (- xj (;)) [mod 1)
} - -I
Falta por demostrar que el k-simo corte de Gomory es también de esta fonna.
Para ello basta con demostrar que el valo r de cualquie r variable de holgura
de Gomory es necesariamente entera en cualquier solución entera, lo cual se
demostrará en la proposición 3.1. Si admitimos este resultado. entonces a la
hora de derivar el siguiente corte estamos en la misma situación por lo que
el procedimiento es válido para el k - simo corte. Finalmente, debido al modo
según el cual se ha obtenido el corte, cua lqui er solución entera debe satisfacer
las desigualdades creadas.
EJ EMPLO 3.9 Vamos a seguir paso a paso el procedimiento de derivación del corte
utilizando el ejemplo 3.6. Teníamos eomo tila fuente:
18 4 2
XI = -- - - (-x4)1-- (- x, )
\0 10 \O
18 4 2
- - -(-X4) ; -( - x,) ", O
10 10 \O
Restando 1 = Oqueda
8 4 2
- - - ( - x4)1 -( - X1) -:: 0
10 10 \0 -
Sumando - 1( - X4 ) ss O se obtiene:
es decir
8 6 2
- " -(X4) t -(x,)
10 10 10
lo cual implica quc
316 UNI DAD DIDÁCT ICA 3 Programación entera, tmnsporte y asignación
M 6
x, = - - - - (
10 10
que es el corte de Gomory añadido.
Completamos la j ustificac ión de la derivación de corte con la proposición
que j ustifi ca que todos los cortes pueden derivarse de la misma forma.
Dem ostración
Consideremos la fi la fuente de la primera desigualdad añadida
n
x, =a.. + ¿ a,j{- xJU) )
j= \
= {Ia.. ]+ i F =I
la,j ](- XJu))} -{ a.. + i a,j)(- xJU)} (3 .4)
]- 1
Ahora, cada una de las actuales variables no básicas xJ(; ) o bien es una d e las
variables ori ginales no básicas o bien es una de las variahles ori ginales básicas.
En el prim er caso te nemos que xJ(; ) = xJ.: para algú n g = 1, 2, .. . , n . En el se-
=
gun do caso te nemos xJ(j) = a; I ;,0 + L}o= l ant iJ {Xj ), para algún i 1,2, . , m.
o .
Ahora bien, los coeficientes de esta última expresión son todos en teros dado
que los datos originales son, por hipótesis, en teros. Así pues. cada variable
xJ(j ) se puede escrihi r como una combinación lineal con todos los coeficientes
enteros de las variables no básicas originales. Entonces el primer sumando del
lado derecho de la igualdad 3.4 es una ex presión entera cuando se escribe en
función de Xl, .. • ,XI'J . A su vez, el segundo sumando d el lado derecho de la
igualdad 3.4 es igual a x"o De nuevo, razonamos que esta variable o bien es una
de las variables originales no básicas, o bien aparece como una combinación
lineal entera de las variables no básicas ori ginales. En cualquier caso, el se-
gundo sumando del lado derecho de la igualdad 3.4 resulta ser una expresión
entera cuando se escribe en función de Xl , ' . • , X n • En defi nitiva, ..(/1 -+ mt-l > O
Algoritmos de programac ión entera 31 7
Final izamos la exposición del algo ritmo haciendo algunos comentarios so-
bre su apli cación práctica.
1) Deb ido a que habi tualmente hay diferentes fi las que son candidatas a ser
consideradas fil a fue nte se pueden emplear varios criterios de selección.
Los m ás ut iliz..a dos en la práctica son los s iguientes :
3) En genera l, el núm ero de restricciones que hay que añadir puede cre-
cer arbitrariamente . Por ello, par a mantener el número de filas dentro
de unos de terminados lími tes de almacenamiento computaciona l, una
práctica habitual consiste en eliminar las desigualdades añadidas cuan-
do la variab le de holgura correspondiente vuelve a ser bás ica. Recorde-
m os que cuando se añade un cort e se pivota sobre la fi la añadida. Por
tanto, la variable de holgura correspondiente al corte se convierte en no
básica. Sin en una iteración posterior esta variable vuelve a entrar en la
base entonces se elim ina su ec uación. Dado qu e so lo hay 11 variables no
b ásicas, esta estrategia pon e un lim ite superi or de a lo sumo " varia bles
de holgura de Gomory. Obsérvese sin em bargo que puede ocurri r que en
iteraciones s iguien tes el óptimo de PL esté en un punto de un a zona pre-
viamcntc cortada. debido a ha ber eliminado esta variab le. S in embargo
esta es trategia es mas práctica para mantene r el nú me ro de restricci on es
en un nivel razonable .
4) Se demuestra que el algo ritmo todo entero de Gomory converge bajo las
siguientes hipótesis:
El algoritmo básico
• Paso 1
• Paso 2
• P.1S0 3
= J.
con a,.() fraccional. Denotamos .!v) a y) - [aYj j = 0, 1, . . . •n. Entonces el
k - simo corte de Gomo ry de define d e la manera siguiente.
k - SIMQ CORT E Definición 3.1 6. La res tricción quc define el k - simo corte de Gomory del
DE GOM ORY. algoritmo entero-mixto viene dada por
ALGOR ITMO
"
ENTERO-M IXTO x,,+m' k = - j .. + ¿ ( -g'j)( - XJ(j) ) >O
t» 1
donde
.
ay} S/ avj >O y x1(j ) cs una vurieble continua.
j ..
1ayj S/ uv) < O y xJ(j ) es una variable continua.
!vO _
s -¡ >
Iv} SI j ,j < j .. y xJ(j ) es una variable en tera.
f.o
( I - j ,¡) SI ¡;j > j .. y xJ(j ) es una variable ensera.
1- 1,0
Observemos que O < lvO < 1, por lo que cuando se añade la desigualdad
Xn+m +k = - lvO < () la soluc ión actual deja de ser factible. Veamos a continua-
ción por qué razón se ha de finido el corte de la manera anterior. Supongamos
que la fi la fuente es
"
x = ao + ¿ aj ( - xJ(j)
j= l
o eq uivalentemente
"
L GjX)(¡) - Jo{mod 1) (3.6)
j=l
Supongamos que "I') =Ia j xJU ) es po sitivo. Entonces en virtud de la rel ación 3.6
su diferencia co n lo es un número ente ro; co mo Jo es mayor que eero resulta
que I J=I Qj xJ(j ) debe ser uno de los térmi nos
" n
L GjxJ(j) > L GjxJ(j ) > lo (3.7)
JET j =!
Supongamos ahora que ¿'j,_ :.I GjXJ(j ) es negativo. Al razonar corno antes se
llega a que su valor debe ser uno de los términos
aA
Es claro que I.j=1 - x/U» o bien es positivo o bien es negativo. puesto
que no puede ser cero por ser congruente con J¡ que es un a fracción propia
Algoritmos de programac ión entera 321
por hipótesis. Por tanto se tiene q ue dar o bien la desigualdad 3.7 o bien la
desigualdad 3.8. Ahora bien, por construcción cn cualquiera de estas dos de-
sigualdades el lado izquierdo es no negativo para los valores dc las variables
factib les. Por tanto tenernos que
Esta restricción elimina el óptimo actual , puesto que al hacer igual a cero las
variables no básicas Xy (j ) resu lta :1 = -JO < O, es decir, la solución actual es
no factible. También, deb ido a c ómo ha sido constru ida, se satisface para cual-
quier solución entera-mixta. Por tanto la desigualdad 3.9 es un corte válido.
No obstante, este corte puede mejorarse si algunas de las variables no básicas
están restringidas a ser enteras. Vamos a considerar esta situació n. Nuestro ob-
jetivo será modificar los coeficientes de las variables no básicas en cantidades
enteras en la relación 3.5 a fin de que en la inecuación que da el corte 3.9 se oh -
tengan unos coeficientes lo más peq ueños posib les. Esto hará que el hiperplano
x = O intcrscquc a cada uno de los ej es xJ(¡ ) lo más lejos posible del origen
y por tanto será mayor la profundidad del corte. Co nsideremos una variable
no básica entera X¡ con af 1= O. Es claro que si sumarnos o restamos múltiplos
enteros de XI en la relación 3.5 no se destruye la relac ión de cong ruenci a. Ini-
cialmente podemos optar entre co locar a t cn T o bien en T para luego derivar
la de si gualdad 3.9. Si t se coloca, o ya está, en r , entonces el coefic iente más
pequeño posi ble en 3.9 es ¡; que se obtiene cambiando ~ por Ji en 3.5. Por otra
parte, si colocamos, o dej amos, t en 704 el coefi ciente más peq ueño posible en
3.9 es (----t}.ro) (Ji - 1) que se obtiene cambiando q por el número negativo
(ji - 1) en la relaci ón de congruencia 3.5. Este hecho se ded uce de que si t
va a estar en 1" entonces a, debe ser igual a ¡; - l, ¡; - 2, ft - 3, ft - 4•. . ..
Como {+lo es un número negat ivo fijo, el va lor más pequeño de l coeficiente
-l+lo a, se alcanza cuando el( es igua l a ¡; - l. Así pues, la mejor estrategia es
haee r que testé cn T cuando
(3. JO)
y hacer que t esté en T' en caso contrario. Ahora bien, si ¡; < JO entonces ( 1-
Jo) < ( 1- f, ) y dcuquíf, ( I - lo ) < 10 ( 1- f, ) porlo quc sc cumplc 3.10. Por
otra parte, si f, > /0 resulta que f, ( 1- lo ) > Io( 1- ft ) y por consiguiente ¡; >
-ftro U - 1). cumpliéndose la opuesta de la relación 3.10. Por lo tanto, para
322 UN IDA D DID ÁCTI CA 3 Programación entera, transporte y asignación
donde
aj SI aJ, >
- 0 y xy(j ) variable continua.
fo •
a· SI aj < O y xJ(j ) variab le continua.
fo >: I J
gj =
Jj SI Jj < f o y xJ(j ) vari able entera.
Iteración 3 1 - X, - X,
X<J - 112/ 10 11 / 10 7/1 0
XI 18/1 0 - 4/ 10 2/10
x, 8/10 1/ 10 - 3/ 10
x, O O - 1
x, O - 1 O
En las tablas siguientes se presentan las iterac iones, indicando las variables entrante y
saliente y el cálculo de los coeficientes de la restricción de corte.
4 ) _ ~
O O I
" O - 1 O ;1;_ I ) ( - 1"0
" ( ¡\ - 10
" -s/io
O 2/1 0 2
10
Algoritmos de programación entera 323
Fila fuente: X Q.
d4 x, x,
-, - 188/1 6 11 n« 9 /16
'"x,x, 2 - 4/16 4/16 loo - 188 _ [ _ 188 ] _ 4
16 16 -- 16
x,
12/ 16
O
1/ 16
- 10/16
O -,
- 5 /1 6
2/16 gOl -
11
-16
Xx 8/1 6
x, O -, O
9
g02 - -
16
x, - 4/ 16
G - 9/ 16
Fila fuente: X I .
~5 - '>
,
' X(,
xc 12 o 23 [ 23 ] 1
-> x, 23/1 1 - 4/ I 1 5/ I J 101 = TI - TI = TI
x, 8/1 1 1/ 1I - 4/1 1
-,
'>
"x,
8/ 11
o O
- 10 / 11 7/11 g il - (-Ir -, I)(- Tl)= 11O
TI 4 4
x,
4/ 11
O -,
16 /11 9/JI
O
5
g l2 -
x, - 1/1 1 - 4/1 1
G 11
Tabla óptima.
d' , x. x,
ro - 12 , o, Xo - 12
2 - 2/ 5
"x, 4/ 5 6 /50 - 4/ 5 x, 2
x., '/5 4/50 - 11 / 5 4
3/5 - 48/ 50 7/5 X2 -
" ' /5 - 76 / 50 9/5 5
" o -,O -,o x5 - 13 + 5x ]+4X2 > O
" o
" x, - - 12 + 4x l- 1 5x2 > 0
14 3
X7 - 5 + 5 x I + 2x2 > 0
Observemos que las variables de holgura de Gom ory, no son necesariam ente una
combinación lineal entera de las variables no básicas originales. Por tanto, no tienen
por qué ser enteras.
324 UN IDA D DI DÁ CTI C A 3 Programación entera. transpol1e y asignación
Para ilustrar como trabaj a esta dicotomía supongamos que resolvemos el pro-
blema s in la restricc ión de integridad y obtene mos una solución tal que AJ =
2]0 .
Consideremos la parte entera de este valor ¡2]U] = 6. Entonces formulamos y
resolvemos dos problemas más. Uno añadiendo a las restricc iones del prob le-
ma la nueva restricción I .j < Xj < 6 =
[2]°1 Yotro añadiendo la restricci ón
[2]0] + 1 = 7 < Xj < V j . Am bos problemas se res uelven de nuevo medi ante
un algoritmo de programación lineal continua. Supo ngamos que ambos pro-
blemas tienen un a sol ución óptima que satisface la cond ició n de integridad.
Entonces la solución que da mej or va lor para la func ión objetivo es la solución
óptima del problema orig ina l. Usualmente uno, o ambos problemas. no tienen
soluc ión óptima entera. Entonces hay que vo lver a aplicar la dicotomia. Vea-
mos de qué manera sistemática puede reali zar se esto . Razonaremos en primer
lugar mediante un ejemplo, para a partir de él enunciar el algoritmo.
EJE:MPl O 3.11 Consideremos el problema
5
Optirno cont in uo
4 . ~'75
.\ 1 - 0
' "
X2 = 1.25
3
-, -~o37)-
"o .
2 • •
• • •
o
I 2 3 4 5
5
, Xl > .:1
.\1 .>
4
• •
3 •I • •
, e-
" • PLI •
I
I.- • • PL2
, ,
(J
• • •
1 2 3 4 5 6
PU l
XI 4
PLI
PL2 /
.,.I --
O .3 ,. \ ~ -- o- , -• -- 23.
Puesto que X2 = 0.8 333 no es entero debemos ramificar a partir de X 2. Las dos ramas
son X2 < O y X2 ~ 1. Obtenemos ahora dos nuevos subpro blemas
En este momento tenemos tres subproblemas para elegir: PI.l , 1)1 .3 Y PL4. Suponga-
mos que seleccionamos arbitrariamente PLA . Tenemos entonces que resolver el pro-
b lema
Maximizar z -'--- 5x I + 4X2
sujeto a
XI + X2 <
- 5
IOXI 1 (U 2 < 45
XI > 4
X2 -> 1
X l . X2 > O y enteros
y encontramos que no tiene soluciones factibles. Por tanto este subprob lema está ya
sondeado. A continuación seleccionamos arbitrariamente PL3 y lo resolvemos:
Maximizar z = 5x I I 4X2
sujeto a
XI + X2 < 5
IOX I + 6x 2 < 45
XI >
- 4
X2 < O
XI > 5
X I, X2 > O y enteros
que claramente no tiene soluciones fact ibles. Por tanto PL6 está sondeado. Elegimos
Algoritmos de programación entera 329
PUl
1.25, x = 23.7l
1'L1
1'1.3
xl >5 / "
->
rL6 r L5
cola inferior
cuya solución ópt ima es X I ... 4, X2 = 0, Z =- ,20 que es entera y proporciona una
cota inferior para la fu nci ón obj etivo z = 20, Unicam cruc queda por invest igar PI , 1
que proporciona como sabemos un va lor z = 23. Siendo esta la mejor cota para el
valor del obj etivo y no habiendo más problemas por investigar, concluimos que la
solución de PLI es la soluc ión óptima. La fi gura 3. 14 representa esque mát icamente cI
transcurso de las iteraciones . En este easo se ha buscado deliberadamente la secuencia
de iteraciones que representa el peor caso del algoritmo. Como se pued e apreci ar,
si en los primeros pasos se d ispone de una buena cota para la funci ón del objetivo
bastará únicamente resolver algu nos su bproblemas, micntra.. . que en case contrario
puede ser necesario resolver todos los su bproblemas antes de llegar al ópt imo.
330 UN IDA D DID ÁCTI CA 3 Programación entera, transporte y asignación
e i = O.
• Paso 1:
So ndeo I Acotaciún
Seleccionar PU como problema para investigar. Resolver PU
e intentar sondearle ulilizando las condiciones adecuadas.
a) Si PU está sondeado (solución inferior, no factible o en-
tera), actualizar la cota inferior z si se ha encontrado u,,,,
soluci6n entera superior; en otro caso, seleccionar U1I nue-
vo subproblcma y repetir el Paso , .
Si todos los problemas han sido investigados, FINALl-
ZA R. El óptimo entero está asociado con el subproblema
que ha proporcionado la mejor cofa Z, si existe. En otro
caso:
b) Si PLi no 1m sido sondeado, ir al Paso 2 y cfcc tuar I,J ni-
mific<lcián de PLi.
• Paso 2:
Ramificación.
Seleccionar una de la varia bles Xj cuyo valor óptimo xj en la
solución de PU no cumpla la condición de integridad. Eliminar
la regiún
Ixj] < X j < [xj] + 1
donde [A) denota la parte cntcra de A, es dccít; el mayor entero
menor o igual que A. creando dos subproblemas PL COITC.fipOn-
dientes a las siguientes condiciones mutuamente excluyentes
Destin o
Origen DI D2 D3 Oferta
01 4 7 5 30
02 2 4 3 20
Demanda 15 10 25
332 UN IDA I) DI DÁCTI C A 3 Programación entera, transporte y asignación
• Variables:
Las variables del prob lema recogen la cantidad de producto que hay que
transportar desde cada origen a cada destino.
x i) = Cantidad de producto que hay que transportar desde
el orige n i = I, . . . , m hasta el destino j =
1, ... ,n.
• Restricciones:
Las restricciones hacen refere ncia a la cantidad de producto d isponible
en cada origen y la ca ntidad demandada cn cada destino, además de las
condiciones naturales de que las cantidades transportadas no pueden ser
negativas.
"
"'x
,¿". 1··
) <a
_ I i = 1, .. . ,m
)= 1
OR iGENES OESTlNOS
•
•••
••
•
•
". --- •
am - - _
• Función objetivo:
El obj etivo del modelo es minimi zar el coste total del transporte:
m n
Minimizar z =L L CjjXij
i =l j ",,1
m n
Minim;7.ar Z = L¿ eljXi j
i 1I » 1
sujeto a
n
¿ Xi j < (Ji i = l . .. . ,m
I»I
m
L Xij > b, j = l , .. . . n
• I
Xij > O i = l, ,m
j = I, ,n
•
334 UN IDA O DI DACT ICA 3 Programaci ón entera, transporte y asignación
Observaciones
Por tanto si existe un x i} solución, entonces se debe verificar ¿aí > L b}.
o equiva lentemente s i La; < L b} enlonces el problema no tiene so lu-
..
cron.
por lo cua l
m
= ¿ a;
i= 1
El modelo del transporte 335
De esta última igualdad podemos ded ucir que las restricciones relativas
a los orígenes tamb ién se eumplcn en igualdad. En efceto, al ai'í udir las
variables de holgura 1;' tenemos
n
¿ xi} +1,' a, ¡ = 1, .. . ,m
1'= 1
J!, > O ¡ = 1, ... ,m
In n m m
l l X,j+l x7 = l a,
;= 1j= J 1=1 ;=1
FORMA Definición 3. 19. } ,a forma equi librada del problema del transpo rte cs:
EQUILIBRADA D EL
m "
PROB LEM A D EL
TRANSPORTE
M inimizar z= :¿ L ciixij
;= 1j ::=; I
sujeto a
" a¡ i = 1•• ••• m
L Xi}
¡ =:: I
m
L Xij bj j = I •. . .• n
i_1
X ij > O i = l •. . . •m; j = I, ,, . ,n
,'m
¿..; : 1 a ¡ ¿j =:: I hj ; a, > O, b¡ > O. Cij > O
I (1 . "'
(1
(1 I (1
A= •
(1 (1 "' . I
1 1 "' . 1 (m I n) x (m·n)
Demostración
Los valores
a¡bj
<r »: i = l, . . . ,m, j = 1, .. . ,n
Demostra ción
Si m = n = I es trivial. Si m, n > 2, en tonces, dado que m + n < In ' n, se
deduce que la menor dimensión de la matriz es m -1- n y por tanto rango(A) <
m + n. Obviamente rango (A ) 1= m + n, ya que como
siendo d¡ j igual al subvcctor columna de Gij que se obti ene al considerar sola-
mente las m + n - I primeras componentes . Es claro que la matriz A es una
matriz triangular superior de la forma
Demostración
Vamos a demostrarlo por inducción en e l orden de las suhmatriees cua-
dradas de A. Sea Dk una submatriz cuadrada de orden k, con I < k ~ m + n.
extraída de A. Si k = 1 está claro q ue e l determinante de una submatriz 1 x I
extraída de A es o bien O o bien l . Su pongamos la propiedad cierta para k -- 1,
es decir, supongamos que cualq uier submatriz de orden k - I es totalmente uni-
mod ular. Consideremos la submatriz Dk y design emos por U la submatriz de
Dk formada por fi las de A que corresponden a los orígenes y por V la subma-
tri z de Dk formada por filas de A que corresponden a los destinos. Si todas las
column as de Dk tiene do s elementos no nulos, es decir dos unos, entonces uno
de e llos está en una fi la de U y el otro en una fila de V. Por tanto, la suma de las
fi las de D k que pertenecen a U menos la suma de las filas de 1\ q ue pertene-
cen a V da una fi la compuesta exclusivamente por ceros y por tanto 1 =
l.l1 O.
Supongamos ah ora que existe al menos una columna q ue contiene menos de
dos elementos no nulos, es decir con ningún 1 o bien con un 1. Entonces si no
tiene ningún uno, el determinante de l4 es cero y s i tiene un uno al desarrollar
el determinante según los elementos de esta columna I~ I = ±1 1h-tl. Por la
hipótesis dc inducción se obtiene entonces el resu ltado deseado .
Dem ostración
Sea H una matriz bás ica de A. Por el teorema 3.4 el rango de B es igua l a
m +" - I Y adem ás debe contene r a l menos una col um na con solo un 1, ya que
de lo contrario IBI = O Y no sería invcrtiblc. Permutando, s i es necesario, las
co lumnas y las fi las de IJ pod emos poner
B- [1
O B
q ]
m "¡ n - 2
Consideremos ahora B m h - 2. Esta mat riz de be tener as imi smo por lo menos
una columna con un 1 ya que si no su determinante se ria cero. Entonces pode-
mos pon er, permutando si es necesario las fil as y colum nas
1
Bm +n _ 2 = [0 B m Pt-II - 3]
El modelo del transporte 339
y por tanto
1 qs
/J = O I
O O
Si continuamos razonando de la misma manera se llega a que B es efectiva-
mente triangular, es decir:
1 Q
B=
O I
Co rola rio 3.4 Si los valores de ai, bj son números enteros entonces Io-
do prognlma básico toma valores enleros y existe al mcnos un programa
óptimo entero.
Demostración
Es con secuencia inmediata del teorema 3.6, ya que un sistema triangular es
de resolución inmediata y como los elementos de B no nulos son uno, se sigue
que las soluciones del sistema de ecuaciones son números enteros. La existen-
cia del programa óptimo entero es una consecuencia del teorema fundamenta l
de la programaci ón lineal.
Puesto que toda matri z básica es m + n - I existen dos opciones para iniciar
el algoritmo del simplcx: o bien se elige una submatriz de rango m + n - I o
bien se puede añad ir una variable artificial para completar una matriz cuadrada
de orden Cm + n). Usualmente se empleará esta segunda opción.
(3.1 1)
cn donde los Yij son los vectores de la tab la del simplex correspondiente a B.
El sistema 3.11 se puede resolver por la regla de Cramcr:
del /J,
Y ·k - - - --
'} - det B
en donde Bk es la submatriz deducida de la B al reemplazar la columna k por la
columna de términ os independientes (l¡j - Ahora bien, sabemos que A es total-
mente un imodular. Por tanto el determinante de Bk tiene que ser dct Hk = ± I o
340 UN I DAD DID Á CTI C A 3 Programación entera, transporte y as ignación
bien detBf¡ = =
0, m ientras que detS ± 1 ya que B es una base . Así pues, dcdu-
cimos que, en c ua lquier ite ración del método del sim plex, todos los términos
de la tabla Yi j tienen que se r Y i} = ± 1 o b ien Yi} = o. Como consecuencia
podemos form ular el sig uiente resultado .
Prupn siciún 3.2 En una itemción cualquiera del m étodo del simplcx
aplicado al problema del transporte, todos los elementos de una tabla del
sis tema de ecuaciones son ± 1, ó O. Además, cada vector q} de la matró:A
puede obtenerse como tina combinación de s umas y restas de los vectores
de la base.
Demost ración
=
Es trivial dado qu e, como se acaba de probar. y, j k ± l 0 Y ij lr. = Oy, por otra
=
parte, el siste ma By;} (lij se puede escribir corno LU,EB asYjj.~ = Gij donde los
a, son los vec tores de la base.
Corno es conocido, cualquier vec tor Gij tiene una única representación co-
mo combinación lineal de elementos de una base. Acabamos de demostrar q ue
en la tabla del transporte los coeficientes que originan la comb inación lineal
son O. ± l . Entonces parece lógico pensar qu c debe habe r una manera senci-
lla de calcular las componentes de los vec to res de la tabla J/j . Veamos cómo
+
puede hacerse. Sabemos que aij = C¡ Cm I jo donde d¡ = (O, 1, O) es un
=
vec tor d ime ns ión m + l1 con un 1 e n c1 luga r i Y~" _I_j (0 , . . . • 1, , 0) es
+
tambié n un vector de di men sión m 11 con un I en el lugar m + j . Este vector
a ,} podrá escribirse como com binación lin ea l de los el emento s de la base que
son tamb ién vectores de la matriz A . Para poder exp resa r l1j en fun ción de los
vectores de la hase, está claro qu e necesari a mente tiene que haber un vector
en la base de la forma a¡" = e¡ + em +k. o sea, con un I en cllugar í; esto a su
vez im plica que necesariamente ha de haber e n la base un vector de la forma
a n.= ce + em~ k que en la expresión de aij estará a fectado por un coefi ciente
igual a - 1; si repe tim os suces iva mente es te mismo argum ento llegaremos fi-
nalmente a que necesariamente ha de exi st ir un vector básico q,j = el! + cm +j .
afec tado con un coeficiente 1 cuando se esc ribe q j corno combinación lineal
de los vectore s de la base. En re sumen, podemos escribir
J ¡
"
(0
•
O lI n ,\
: Gn i
·
·•
I
•
•
•
•
O O
• a, ~, el t,
•
•
•
•
•
•
•
•
•
•
•
O
•
•
•
I
(f¡ j (ll k
Figura .'\.16: Reprcnscntación gráfica de la expresión de un variable del problema del transporte
en funció n de las variabl es de la base.
GRAFO ASOCIADO Definición 3.21. Se Ililma grafo asociado a 1<! tabla del trsnsportc, a un
A LA FORM A par (} = (X ,E) en donde X es un eoniunw de puntos llamados v értices
TA B UL A R DEl correspondientes a cada casilla del problema y ccncracos por un índice
TRANSPORTE de fila y columna, mientras que E es un conj unto de aristas que unen dos
vértices que están en un fila o columna contigua.
CADEN A V CiClO Definición 3.22. Una cadena es una sucesión de aristas tal que cada
EN LA FORM A término tiene en común con el anterior un vértice. Un ciclo es una caden a
TAB ULAR D EL que empieza y acaba en el mismo vértice. Una cadena o un ciclo se llaman
PROBL EMA D EL elementales si no usan dos veces la misma arísre.
TR A NSPO RTE
FiJ/:urB 3.18: Árbol de expansión de la representación gráfica de una hase en la forma tabular
del problema del transporte.
El modelo del transporte 343
Veamos como pueden especializarse los criterios ge nerales del algoritmo del
simplcx a cada uno de estos pasos.
Método d e la esq uina noro este o de la esquina superior izq uie rda
Este m étodo asigna a eada Xi} el mayor valor posible según lo permitan
los valores de las ofertas y las demandas Dichos valores se aj ustan en cada
paso empezando por la esquina superior izquierda, o sea. por la variable ~ l .
~
Denotemos por 0; , b¡ a los valores de las ofertas y las demandas una vez ajus-
~
~ ~
2. A continuación:
Como recurso auxiliar se pueden marcar cada vez la fila o columna que se
satisface. La representación gráfica del procedimiento se encuen tra en la figu-
ra 3.19.
H 8 a,
8 8 H
a2
B 8 a,
EJEM PLO 3.15 Consideremos el problema de transporte con cuatro orígenes y cua-
tro destinos con las siguientes ofertas y demandas:
DI D2 f)J
15 20 3I 84
El modelo del transporte 345
04 25
)'5 20 31 84
O
Se satisface la primera fi la. Se
DI D2 V3 lJ4
ajusta la demanda de l destino
oI 15 15 ;JO, )'5 , O [>2 al valor 20- 1S =: 5. Se pasa
a la casilla (2,2). Se asigna a es-
ta casilla el valor
()2 45
'22 ~ Min{5, 45} = 5
()3 50
()4 25
)'5 ~) 31 84
O 5
VI V2 V3 1J4 Se satisface la segunda co lum-
na. Se ajusta la oferta del origen
o1 15 15 ;JO, l'5, O 02 al valor 4 5-5 = 40. Se pasa a
la casilla (2,3). Se asigna a esta
casilla el valor
() 2 5 15,40
rn = Mln{3 I, 40} ~ 3 1
()3 50
o4 25
31 84
04 25
~O 84
346 U N IDA D DID Á CTI C A 3 Programaci 6n entera, transporte y as ignación
--
DI D2 DJ /-'4 Se satisface la segunda tila. Se
ajusta la demanda del destino
o1 15 15 }Il, r.;, O D4 al va lor 84 -9 = 75 . Se pasa
a la casilla (3,4). Se asigna a es-
al 5 31 9 ta casilla el va lor
o4 25
f'S ;111
O :(
O
DI D2 VJ 1)4
Se satisface la tercera fi la. Se
o1 15 15 }Il, r.;, O aj us ta la demanda del destino
D4 al valor 75-50 - 25. Se pa-
02 5 31 9 15,,¡o, r,O sa a la casilla (4,4). Se asigna a
esta cas illa el va lor
25
~O ~
25
DI D2 V3 1)4
() 1 15 15 }Il, f'S , O
Se satisfacen la fil a y columna
cuartas. El proced imiento ha fi ~
5 31 9 nalizado. La soluc ión que fi gu ra
en la tabla es una solución ini-
o3 50 ~, O cial del problema.
25 ~O
r.;
O
~O
Métod o primal
J k
n o (J" i
O
tI " .<
I O O
al A "1,
I
e O
{Ji ¡,
y por tanto
El criterio del óp timo es el habitual del algoritmo del simplex ~} - Ci} < O para
todos los índi ces. Por otra parte, si 2'tt - cú > O entonces la variable .llt es
cand idata .a entrar en la base. En caso de haber varios ?jj - Cij > O se toma el
máximo . Este es el criterio de entrada.
EJ EMPLO 3.16 Supongamos que en una iteración del a lgoritmo del transporte te-
nemos una base como la indicada en la tabla siguienle, mientras que los coeficientes
de la función objetivo fi guran en los recuadros.
348 UN IDAD DIDÁ CT ICA 3 Progr amaci ón entera. transporte y asignación
4 7 5
B B B
2 4 ]
Entonces se tiene
ZII -CII -- 4- 5 + 3 2- O
Z22 " en 7 5 +3 - 4= 1
Método dual
Por tanto
Para aplicar esta fórmula, necesitamos conocer li y Vj. Veamos como podemos
calcularlos. Tenemos w = eB B - I • es decir. w es solución del sistema de ecua-
ciones wB = ¿J. Si introducimos una variab le artificial. podemos considerar
que B es una matriz (m + 1J) X (m + n). Dicha variable artificial será siempre
nula en cualquier soluc ión factible y además tendrá costo ca = O. Es decir. po-
demos con siderar que B es una matriz formada por m + n - I columnas dc A
más una columna em+" Y así tenemos:
Entonces el s istema wB = ¿J es
(UI, .. . ,Um. VI•.. .•V,, )(upq•. . .•a.fh em. " ) = (cpq•.. . ,es/.O)
El modelo del transporte 349
Si tenemos en cuenta que aij = e¡ + e m +}> e l sistema anterio r pued e escrib irse:
Up + Vq epq
•
•
•
4 7 5
", B IJ B
2 4 3
"' B
Ul -1 VI . 4
",+I v,
Jll v~
7
5
U2 + V} 3
v, - O
V) = O U2 = 3 UI =- 5 V2 - 2 VI =-}
A partir de la so lución anteri or sc obtienen los valores
U2+VI-C21 = 3 - 1 - 2= 0
U2 I V2 -C22 =3 - 2- 4 = I
Ahora bien, sabemos que las .Ykl son todas ± 1 o cero y además son los coc -
fi cientcs que da n la representación de la col umna no básica (k ,t) en func ión
de las columnas básicas. Para sa be r si son 1, - 1, ó O basta con seguir el ciclo.
Si una componente d C }'.ti es + 1, entonces la variable básica correspondiente
di sminui rá cn b u, mientras que si es - 1 aumentará y si es cero quedará como
es tá. Por tanto, como xB ha de ser m ayor o igual que O, el valor del inc remento
b u será el va lor m ás pequ eño de la variable de base actual que tenga + l en su
coeficiente. Esto se puede detectar fác ilmente en el ciclo , es decir,
2 3 4 5 6
10 12 L!l. 8 14 19
18
2
15 18 uz 16 19 O
22
3
17 16 tu. 14 IIo II 8
39
II 9 II x @ Jll 12 13
4 14
10 11 13 20 24 15
Comprobamos, en primer lugar, que el problema est á equi librado
La solución básica inicial calculada por el método de la esqu ina noroeste fi gura en la
tabla siguiente:
El modelo del transporte 35 1
10 8 /'H 't O
3 15 6 12)') 6
14 24 1 19 ~ ¡
14 14
~ ;l'4
14 O
Se inician ahora las iteraciones del algoritmo del transporte que se res umen en los cua-
dros que fi guran más adelante. El signifi cado de los nú meros de los cuadros se ex plica
a continuación. En el recuadro superior derec ho de elida casilla figura el coeficiente
de coste c¡¡ en la func ión objetivo de la variable correspo nd iente a dicha casilla. Los
números que fi guran en el centro dc las casi llas son los valo res de las variables d e la
base. La s casillas co rres pondientes a variab les no básicas están en b lanco, ind icando
que el va lor correspond iente es cero. En los marge nes superior y lateral izquierdo de
los cuadros aparecen los valores de las variables duales, necesarios para el cá lculo de
los coeficientes z¡¡ - ('ji; estos coeficien tes se inclu yen en el recuadro inferior izquier-
do de cenia casilla y no son nec esarios en las casillas básicas porque, CO Il1U es sab ido,
ZjJ - c¡¡ -= O para los índices correspondientes a variables básicas. En los cuadros se
marca la variable entrante, que corresponde 31valor máximo de los Z j¡ - "'ji , Yel c iclo
que describe a dicha variable en función de las variables de la base y permite identifi-
car a la variable sa liente al tener en cuenta el signo ± de cada casilla del ciclo. Como
se indicó anteriormente, la variable sa liente es la correspondiente a la casilla del ciclo
que tiene menor valor entre las marcadas con signo negativo. Al hacer el cambio, esta
variable disminuye hasta el valor ce ro, mientras que la variable entrante aumenta hasta
el valor que tenia la variable saliente. El resto de las variab les de la base se ajusta con-
venientemente en más o en menos según la marca que fi gura en su casilla, quedando
inalteradas aquellas variables básicas que no están en el c iclo.
Iteración I
Se parte de la solución inicial encontrada por el método de la esqu ina noroeste.
Se escriben las m +11 - I ecuaciones con m + ,, - I incógnitas del dual ti I + Y, =
Cu rara los índ ices de la base. Se completa el sistema con la ecuación " 6 = O, en
donde la variable y el indice se han elegido arbitrariamente. Se resuelve el sistema y
se encuentran los valores de las varia bles duales II ¡. Yj. A partir de ellos se calcu lan
los coeficientes %j } - ('ji = 11; +"}- Ci/ para las variables que no cstán en la base . El
máximo de estos coeficientes corresponde a la casilla ( 1. 4) pUf lo que la variable x 14
es la ca nd idata a entra r en la base. Se busca en e l cuad ro el ciclo que permite expresar
está variable en fu nción de las varia bles que están en la base. COIl1U se indica CII el
cuadro. dicho ciclo incluye las casillas ( 1,4). (2 ,4), (2,3) ( 1,2). Estas cas illas se marcan
alrc mativamcn tc co n" y - empezando co n signo ·/ por la casilla (1 ,4) ya que es la
cas illa que va aume ntar de valor. El menor valor de la variables básicas con ind icador
negativo en el ciclo es la variable X 2" que v ale 6. Esta variable sa le de lu base. Las
varia bles del ciclo se ajus tan: las q ue es t án marcadas con el signo i aumentan su valor
en (,; las marcadas con el signo - disminuyen su valor en 6. El resto de las variables
pcrmanL"Cen inalteradas. Las operaciones an teriores se resumen en el cuadro siguiente:
•
352 UN IDAD DIDA CTICA 3 Programación entera. transporte y asignaci ón
-
VI - - 4 1'2 --;-; - 2 VJ = -8 V4 =-4 V5 = -8 V6 = O
lO 12 13 8 14 19
Ut = 14
10 8 -7 2 t .. tra -8 -5
15 18 12 16 19 20
112 = 20
1 3 + 13 (0 ' l -7 O
17 16 13 14 10 18
1<13 = 18
3 O -3 14 24 1
19 18 20 21 12 13
- 10 -7 - 15 - 12 -7 14
Iteración 2
10 12 13 8 14 19
UI - 12
~
10 2 O -7 6 - 10 -7
15 18 12 16 19 20
U2 ~ 18
1 9 13 -, -9 -2
17 Enlr 16 13 14 10 18
u] = 18
- 1 2 K - 1 14 O 24 1
19 18 20 21 12 13
114 =-1 3
-8 -5 - 13 - 12 -7 14
Iteración 3
Una vez ajustados los va lores de las variables se repite el cálculo de todas los ele-
mentos de la tabla. La nueva variable entrante es ahora x n . El ciclo viene representado
en el cuadro y determin a que la variable saliente es X22 . Los cálculos se resumen en el
siguiente cuadro:
El modelo del transporte 353
VI ...;c - 2 V2 = 2 V3 =- 8 V4 - 4 Vs - - 8 v(, - O
10 12 13 8 14 19
= 12
r
UI
10 2 -9 8 - 10 -7
15 18 12 16 19 20
Uz = 20
3 '7' 9 O 13 O -7 O
17 2 16 13 14 lO 18
143 = 18 ~
- 1 • -3 12 24 1
19 18 20 21 12 13
-8 -7 - 15 - 12 -7 14
Iteración 4
Una vez actualizada la tabla se recalculan todos sus elementos. Observamos ahora
que se cump le la condición de óptimo, Z ij - Cij < O. Por tanto la solución actual es la
solución óptima buscada.
v¡ = - 2 \12 --, -2 v3 - - 5 V4 - -4 vs = - 8 V6 - - 0
Ul = 12 1 17
-2 -6 10 -7
Uz = I7 9 IJ
-3 -3 - 10 -3
U3 = IX I1 3 24 1
- 1 O
144 = 13 14
-8 -7 - 12 - 12 -7
Xll = I XI4 17
-c:;
x ZI = 9 X23 = 13
x32 =-1 1 X 34 =3 X3 5 =24 X.l6 - 1
X46 = 14
que indican las cantidades que se debe transportar desde cada origen a cada destino y
proporcionan a la función obj etivo un valor z = 1095.
En el desarrollo del algoritmo del transporte se supuso qu e no hab ía degene-
ración en el problema. Veamos ahora que, al igual que ocurre en la programa-
ción lineal general, la presencia de degeneraci ón no suele producir demasiadas
354 UN IDA D D ID ÁCTI CA 3 Programación entera, transporte y asignación
2 3 4 9
20
14 12 5 1
30
12 15 9 3
40
lO 10 20 50
Calculamos la solución inicial mediante el mét odo de la esq uina noroeste. Los
paso s se resumen en el sig uiente cuadro.
2 3 4 9
fIJ, yo,O
10 10
14 12 5 1
, ;¡ü, yo, O
20 lO
12 15 9 3
40
yo yo fIJ ~
O O O 40
VI = 10 \12 = 1I VJ = 4 V4 - O
UI = - 8
ID
o ID
(0
-8 - 17
U2 = 1
-3
O 20 100
= 3
u)
'T (0 -1 -2 40 0
Como podemos apreciar Zj l - C"JI = I por lo que la so lución actual no es óptima.
Ha de entrar 1;1 variable x ) l . Para determinar la variable sa liente hay que rea lizar el ej.
c10 que ex presa la variable X) I en funci ón dc las variables básicas. En este ciclo j uega
un papel importante la casilla (2,2) que corresponde a la variable básica degenerada .
Sin ella no podríamos encontrar el c iclo. Además, esta casilla tiene signo - en el ci-
clo, por lo que determina el valor de la variab le cntmntc que toma también el valor
cero . Tenemos una nueva base que también es degenerada. Actualizamos la tabla y
obtenemos.
VI - 9 V2 -' 10 VJ = 4 V4 = O
UI =-7 10 10
-7 - 16
20 10
-4 -1
U3 = 3 O 40
-2 -2
La tabla anterior muestra que la solución actual es óptima porque los Zij - Cjj < o.
Tenemos una so lució n básica óptima degenerada:
3.3.3 .4 Métodos a lte rnativos parar enco nt rar una solución facti ble
inicial
Se ha estudiado e l m é todo de la esq u ina noroeste para dcte nn inar una so-
lución básica factib le inicial. E.'HC método, que es muy sencill o, no tiene ne-
cesariamente q ue proporcionar un b uena solución. es decir, la solución que
encuentra puede esta r lej o s del óptimo y preci sar varias iterac io nes para en-
contrar la so luc ió n del problema del transporte. Po r ello , se han ensayado otros
procedimientos como lo s que vamos a ver a conti nuación.
,
356 UN IDA D DID ACT IC A 3 Programa ción entera, transporte y asignación
11 0 JL 120 II
15
11 2 lz, 9 120 25
O L!! 16 18
5
5 15 15 10
El menor coste de la tabla, con valor O, correspon de a las cas illas ( 1,2) Y (3 , 1). Se-
leccionamos arbitrariame nte la casi lla ( 1,2). Asignamos o esta casilla el mayor valor
que permite su fi la y columna que es Mío {IS, 15} = 15 Y corresponde a la vez a la
fil a y a la columna. Ajustamos la oferta y dem anda dc la fil a y co lumna que pasan a
valer ambas O. Marcamos arbitrariamen te como satisfech a la columna 2. Buscamos
seguidamente el menor coste ent re 13s fil as y columnas no marcadas. Corresponde al
valor Ode la casilla (3, 1). Asignamos a es ta casi lla el valor Mín {5, 5} - 5. De nuevo
se produce empate . Aj ustamos la oferta y demanda de la fi la que pasan ambas a valer
O. Marcamos arbitrariamente la columna l . Buscamos ahora el menor coste en las fi las
y columnas no marcadas. Este valor es 9 y corresponde a la casi lla (2,3). Asignamos a
esta casilla el valor M ín {15, 25} -= 15. Se satisface la columna y por tanto la marca-
mos. Ajustamos las oferta y demandas convenientemente. Buscamos ahora el menor
coste en la columna 4 que es la única no marcada. El mínimo es 11 y corresponde a
la casi lla (1,4). Asignamos a esta casilla el valor M in { 1O,O} - O. Se satisface la fila,
por lo cual ma rca mos la fi la 1. El ajuste es inmediato pues no ha habido mod ificación
de ningu na o ferta ni demanda. Buscamos ahora el menor coste en las casillas que res-
lan sin marcar, es decir, las casillas (2,4) y (3 ,4). Dicho valor es 18 y co rresponde a
la casil la (3,4). El valor que asignamos es Mín { IO, O} = O. La casi lla (3 ,4) to ma el
valor cero y se satisface la fil a 3, por lo cual la ma rcamos. Só lo queda sin marcar la
casilla (2,4) a la cual as ignamos el res to de oferta y dem anda disponible que es 10.
Marcamos la co lumna como satisfecha. Puesto que solo queda la fi la 3 por marcar
el procedim iento ha finali zado . La secuenc ia de operaciones realizadas y la so lución
obtenida se muestra en el cuadro siguiente :
El modelo del transporte 357
15 O 1'5, O
15 10 /S, IO
5 O 1: O
ys 1'5 10
() O O
Otro procedimiento para encontrar una solución inicial del probl ema del
transporte que proporciona, en ge neral. bue nas soluciones es el método de
aproximación de \'hgel. Su operativa es com o sigue:
2. Identifi car la fila o columna con penal idad máxima, rompiendo los em-
pates arbitrariamente. Asignar la mayor cantidad posib le que permitan
su fila y columna a la variable Xi) que tenga menor coste de la fi la o
co lumna sel eccionada . Ajustar las o fertas y demandas y eliminar la fi1a
o columna cuya ofe rta o demanda se haga nula. Si se satisfacen ambas
sirnultáncarnentc entonces se borra una sola de las dos, la otra se aj usta
¡¡ cero y no se conside ra en los pasos siguientes para el cálculo de las
penalidades.
4. Si s ólo queda una fila o columna con oferta o demanda positiva sin elim i-
nar, dctcnn inar las variables básicas en la fila o columna por el método
del coste mínimo.
6. En otro caso volver a ca lcular las penalidades para las fil as y columnas
no elimi nadas. Ir al paso l .
10 O 20 11
15
12 7 9 20
25
O 14 16 18
5
5 15 15 10
12 7 9 20
O 14 16 18
5 14 -0 =14
5 15 15 10
Penalidad columna 10 -0 = 10 7 - 0 = 7 16 9 =7 18 I1= 7
La penalidad m ayor es 14. Corresponde a la fi la 3. En esta fil a, el mínimo coste es O
y está en la casi lla (3,1). Entonces se as igna a la variable X31 la mayor cantidad que
se puede asi gnar Mín {S.S } - S. lIay empate por lo que arb itrariamente marcarnos
la co lumna. La fil a se ajusta a O y no se considera para el cálcul o de las penalidades
futuras. Rec alculamos las penalidades
o•
Penalidad fil a
10 O 20 II
12 7 9 20
2S 9 -7 =2
O 14 16 18
5
ro O
15 15 10
Penalidad columna 7 -0 =7 20 -9 =1120 11 = 9
El modelo del transporte 359
• • Penalidad fila
10 O 20 II
15 11- 0 = 11
12 7 9 20
?S, 10 20 -7 =13
15
O 14 16 18
r, O
5
15 10
Penalidad co lumna 7- 0 =7 20 - 11 -9
• • Penalidad fila
10 O 20 II
15 11- 0 = 11
12 7 9 20
10 15
O 14 16 18
5
ro O
lS, 5 10
Penal idad columna 14 -0 = 14 18 -1 1=7
• •
10 O 20 11
15, 10
5
12 20
o· 10
7
15
9
O 14 16 18
5
ro O
10
En la tabla anterior la única columna no eliminada con demanda positiva es la colum-
na 4 . Asignamos esta demanda a las casillas de la co lumna por el método del coste
mínimo . En este caso el coste mínimo es 11 y corresponde a la variable x 14. Asigna-
mos a esta variable el va lor 10 . Se elimina esta columna. La situación sc muestra en la
tabla siguiente.
•
o• •
10 O 20 11
5 10
12 20
o· 10
7
15
9
O 14 16 18
ro O
5
En la tabla an terior la fil a 3 tiene oferta aj ustada igual a O. Entonces se asigna valor
cero a la variablc x jj. Se marca la fi la 3. Puesto que sólo queda una columna sin marcar
el proce so finaliza . Se ha ob tenido una solución bási ca inicial que es degenerada.
000
• • •
10 O 20 1I
5 10
12 7 9 20
10 15
O 14 16 18
5 O
El modelo de asignaci ón 361
M áquinas
Trabajos M, M2 • •• Mj • •• Mn
1; CII CI2 • •• Clj ••• C 'n
1, C2I C22 C2j · .. C2n
1; Ci l C,' c ij Cin
•
•
Tm Cm ' Cm2 • • • Cmj Cmn
EJEMPl.O 3.22 Cuatro contratistas el. C2, e3. C4 concurren a un concurso con-
vocado por una compañia para la construcción de cuatro edi fici os A. B.C.D. Debido
a que las obras tienen que estar final¡..adas en un determinado período de tiempo y
que la capacidad dc trabajo de cada uno de los contratistas en dicho periodo sólo le
permite abordar la construcción de un único edif icio, la compañía tiene que adjudi-
car cada obra a un contratista diferente. Cada uno de los contratistas ha elaborado su
oferta económ ica valorando, en mi llones dc euros, la construcción de cada uno de los
cuatro ed ificios . Dichas ofertas se incluyen en el cuadro que figura a co ntinuación.
362 UNIDAD DID ÁCTI CA 3 Programación entera. transpo rte y asignación
Conrrans ta
Edific io CI e2 C3 C4
A 48 48 50 44
B 56 60 60 68
C 96 94 90 85
IJ 42 44 54 46
El problema con que se enfrenta la compañfaes determinar qu éedificio debe adj udicar
a cada contratista para lograr un mínimo coste de construcción de los cuatro edificios.
• VaríabIes:
Las variables del problema son indicadores de cuál es el tra bajo que se
asigna a cada máquina. Para i = 1•.. . •m. j = l •. . . ,n definimos
• Restricciones:
Las restricciones tienen que asegurar que se realizan todos los trabajos
y que a cada máquina no se lc as igna más de un trabajo ,
í = 1•.. .• m
j = 1... .. n
• Función objetivo:
El objetivo consiste en minimizar el coste global de la asignaci ón.
m •
Minimizar z= I I C;j Xij
;-! j = l
El modelo de asignación 363
- - - - - - -- - - - - - - - - - - - -
Podemos hacer las siguien tes observaciones so bre el planteamiento anterior. Si
m < n entonces hay más máqui nas que trabajos por lo q ue habrá máquinas que
no tengan que hacer ningú n trabajo. Formalmente esto se puede interpretar co-
mo que existen (n - m) trabaj os ficticios, con coste de ejecución igual a cero,
que se pueden incorporar al conjunto de trabajos considerados. Por otra parte,
si m > n entonces hay más trabajos que máquinas, por 10 que (m- n) traba-
jos no se podrán ejecutar. Formalmente esto se puede interpretar diciendo que
existen (m - n) má quinas ficticias que " realizan" los trabajos que no se van a a
ejecutar con un coste de as ignación que dependerá del contexto del problema.
Por tanto, sin pérdida de generalidad. en el desarro llo teórico podemos hacer la
hipótesis de que m = n, es decir. podemos suponer que existen tantos trabaj os
cómo máqui nas. Baj o esta hipótesis. cada máquina ejecutará un trabajo y cada
trabajo tendrá asignada un a máquina, por lo cual las restricciones tornarán la
forma de igualdad. Así pues el modelo de asignación puede form ularse como
el siguiente problema de programaci ón lineal con variables O- l .
sujeto a
m
L Xij I i = I •. . . • m
j~ 1
m
¿ X i} 1 j = I . ... . m
i= 1
Xij O6 J i.i = I •.. ••m
e - ( CI I •... , Cl m, • • • , Cm l , . . . 'C mn )
b (1,1)', 1 = ( I , .~. , I )
1
1
A - ••
•
I
1 1 ••• 1 2mxm 2
Max imizar w -b
sujeto a
wA < C
w no restringida
11/ m
Maxim izar L. u¡ + L. Vj
i= 1 j= l
suj eto a
= l, . . . , m
i,j
Esto se ob tiene de manera trivial sin más que sustituir los valores ante riores
en las restri cciones. Podemos señalar que Ui es el m ínimo de la fila i y Vj es el
minimo de la CO I U l1l n~1 t'jj - nj •
366 UN IDA D DI DÁCTI CA 3 Program ación entera., transporte y asignac ión
1 2 3 4
I 3 2 5 4
2 O 1 2 3
3 4 1 -1 3
4 2 5 3 4
Tomamos
es decir:
v, Min {I,O,S,O) ~ O- .,
Min {O, 1,2,3j = O ~.,
Vl - Min {3, 2, O, 1) = O ~ .3
Min {2,3,4,2) ~ 2 = .4
signifi ca que hay que encontrar valores de las variables primales Xij y de las
variables de holgura duales hi} que la verifiquen. En particular. dados los va-
lores d uales U¡. Vj definidos an tes. s i consideramos los valores de las variables
de holgura asociados C;, = cij - U¡ - Vj podre mos tener una matriz reducida de
costes en la cua l, en virtud de la defi nici ón de ~ y Vjo habrá como mínimo un
cero en todas las filas y en todas las columnas, y todos sus elemcntos serán no
negativos.
EJE MPLO 3.24 Veamos como sc calcula la matriz reducida del ejemplo 3.23.
M ín
I 2 3 4 2 3 4 1 2 3 4
fila
1 3 2 5 4 2 1 0 3 2 1 O 3- 0
Restando a Rcsnnoo a
2 O I 2 3 O O I 2 3 O I 2 I
cada fila cada columna
3 4 I ·1 3 -1 su min imo
5 2 O 4 JlJ miOlmo
5 2 O2
4 2 5 3 4 2 • O 3 1 2 • O3 1 O
OOO 2
Mm ~1;ltn ..
cojum na reducida
EJEM PLO 3.25 Si examinamos la matriz reducida quc hemos calculado en el ejem-
plo 3.24 podemos encontrar la solución óptima del problema de asignación. En cada
fi la y cada columna de dicha matriz poder nos encontrar un cero. En efecto, en la casi-
llas ( 1.2). (2,1), (3) Y (4,4) aparecen sendos ceros . Entonces la asignación x 12 = 1,
X21 = 1, X32 = 1, X44 = I Y las restantes variables iguales a cero es una as ignaci ón
óptima pues cumple el teorema débil de las holguras complementarias. Esta asigna-
ción tiene un coste mín imo z .- 2 -+- O- 1 + 4 :;: 5.
Mln
f la
035 025
2 5 7 2
2 I O 2 O O
4 2 I I --+
043 0 33
2 6 5 2
Mín
O 1 O
columna
Como vernos, no hay manera algu na de elegir un conjunto de ceros tal que esté exac-
tamcn tc uno en cada fila y exactamente uno en cada columna, es decir, no aparece de
forma evidente, el conjunto dc variables primalcs qu e ha dc hacerse iguales a J para
dar la asignación óptima.
Para poder identificar la solución dcl problema de asignación después de
encontrar la matriz reducida necesitamos introducir el concepto de casillas in-
dependientes .
EJ EMPLO 3.27 En el ejemplo 3.24 son cas illas independientes las indicadas en los
cuadros siguient es: (,-.
x x
x x x x
x x
x
x x x
x
2 5
e
3 3
El modelo de asignación 369
El resu ltado 3.7 nos proporciona un criterio para saber cuándo tendremos
la so lución ó ptima del problema de as ignac ión. Como se deduce del e nunciado
del teorema, cuando el número de casillas independientes es igual a la dimen-
sió n de la matriz de costes, o dicho de o tra manera. cuando el numero mínimo
de lineas qu e se precisan para cubrir todos los ceros de la matriz reducida es
igual a la dimen sión de dicha matriz... entonces la so lución que se obtiene al
asignar el valor 1 a un conjunto de variables pa ra las cua les hay un cero en
la correspond iente cas illa, una por cada fila y por cada co lumna, y asignar el
valor Oal resto es una solución óptima del problema de asignación.
Se plante" entonces 1.1 cuestión sobre c ómo proceder cuando en 101 matriz
reducida no se observa un número de casillas independientes igual a la dimen-
sión de la matriz. LI forma de aborda r este problema consiste en mod ificar
convenientemente los elementos de la matriz, de forma que el prob lema siga
siendo equivalente mientras que se añadan nuevos ceros a las filas y co lumnas.
Veamos entonces como modificar la matriz.
Supongamos que a ún no se hu obten ido la solución óptima, es decir, no
es posible encontrar un número sufic iente de valores x,j positivos a part ir de
casillas qu e valen cero de la matriz reducida. Consideremos la matriz reducida
cub ierta, es deci r, la matriz con todos los ceros cubiertos por el menor número
de lineas posib les. Se" este número k < m. Denotemos
Es sencillo com probar que los estos valores constituyen un nuevo programa
dual factible. En efecto,
• i E Sr,) E Se
-'
U¡ + ~
Vj = -U¡ + Ca +-Vj Ca = iji + Vj < Cij
• j E Sr, ) E Sr:
•
- -
i ESn) ESc
Paso Genera I
l . Trazar el mínimo número de lineas sobre las fijas y las columnas para
cubrir todos los ce ros de la matriz reducida. Sea s dieho número.
CONV ERGENCIA Teorema 3.8 Si todos los elementos dc la matriz dc coste son enteros
D EL ALGO RIT M O 110 negativos y están acotados s uperiormente el algoritmo húngaro conver-
HÚN GARO ge en un nlim ero finito de iteraciones.
Demostración
Es obvio que si todos los elementos de la matriz de coste se hacen nu los se
puede encontrar de manera inmediata una asignación ópt ima. Entonces, para
demostrar la convergencia vamos a demostrar que el a lgoritmo reduce en cada
,
372 UN IDA D DI DACTl CA 3 Programación entera, transporte y asignac ión
¿¿Cij- ¿¿0j
' J i j
+ ¿ (Cir 0) + ¿ (Cir 0)
~ ,sc S"SC
¿ co+ ¿ O+ ¿ O+ ¿ (- col
s.s; S"Sc s...s.: 5"S..
p +q -m = (2m k )-m =m -k
Así pues
EJEMPLO 3.28 Sea el problema de asignación defi nido por el cuadro sigu iente:
I 234 5
I 2 3 5 I 4
2 - I I 3 6 2
3 -2 4 3 5 O
4 I 3 4 I 4
5 7 1 2 I 2
E l m odelo d e asignació n 373
I 2 -, 4 5 I 2 3- 4 5 I 2 3 4 5
I 2 3 5 I 4 I I 2 4 O 3 I 2 3 O 2
2 - 1 1 3 6 2 - 1 O 2 4 7 3 O 2 3 7 2
3 -2 4 3 5 O -2
>
O 6 5 7 2
-, O 6 4 7 1
4 I 3 4 1 4 I O 2 3 O 3 O 2 2 O 2
5 7 1 2 I 2 1 6 O 1 O I 6 O O O O
O O 1 01
Cubrimos ahora los ceros de la matriz reducida con el meno r número de líneas posi-
ble. En este caso basta con tres líneas como se ve el cuadro siguiente, por lo qu e no se
puede encontrar todavía una solución ópt ima.
2 3 2
Identifi carnos el mínimo de los elementos no cubier-
2 3 2 tos que va le l . Restamos es te valor a los elementos
no cub iertos y lo sumamos a los elementos cu biertos
6 4 0 por dos líneas, dejan do inalterados el resto. El nuevo
cuadro se muestra co nt inuac ión .
2 2 2
\-- o- --1l-
I I 2
Bastan cuatro linea s para cubrir todos los ceros por lo
1 2 cua l no se puede encontrar aú n una solución ópti ma.
El menor número no cubierto vale l. Modi fi camos los
5 3 elementos de la tabla restando este va lor a los clcmcn-
1 (0 tos no cubiertos y sumándolo a los elemen tos cubicr-
tos por dos líneas. Obten emos el cu adro siguiente.
-f- --+- - -
+- - (}-- +- -0- -+
En el cuadro an terior se necesitan cinco líneas para
-(}- - 0- -+ - 7- --l cubrir todos los ceros por lo cual ya es posible iden-
uficar una solución óptima. II¡IY que buscar un con-
't -4-- -O
junto de casillas COn un cero, una en cada fila y en
-0- 1-0 -- --0-- - 0- - 1- cada columna. Una posible selección se muestra en el
siguiente cuadro .
-¡¡- - 0- - (}--
-+ - 1-
374 UNIDA J) DIDÁCT ICA 3 Programación entera, transporte y asignación
1 0 1 O 1
La so lución identifi cada es
0 O 1 7 1
X 12 =- 1, X 21 = 1, X35 = 1, X44 = 1, XS 3 = 1
O 4 2 7 0 que tiene un coste de as igna ción igual a
O o O 0 1
8 ()
0 2 1
Este problema tiene más de una solució n óptima que sc pueden identificar selección
un conju nto diferen te de casillas con valor cero. En el cuadro siguiente se muestra una
solución alternativa.
1 O 1 0 1
La solución que se señala en el cuadro corresponde a
0 O 1 7 1 los siguientes valores de las variables :
1 O 1 0 1
8 o 0 2 1
Problemas de autocvaluaci ón 375
Problema 3.3
Sea un problema de tran sporte con 3 orígenes
(0 1.02, 0 }) con ofertas respectivas (4,3,9). cuatro desti-
nos (1J¡, l h ,D}.D4) co n demandas respectivas (5,2,6,3) y
tabla de costes de transporte da da por
01 k 1 5 2
02 4 6 3 1
O, 7 1 5 8
Problema 3.4
En un tumo laboral, se considera la realización de
seis trabaj os (1' 1- 7'6) disponiend o solame nte de cuatro
Soluciones de los problemas de autoevaluación 377
4 O
3
1 2 6
Hazaraa, :\1.S.; .I.J. Jarvís }' 11.0. Sher a tí (2005): Linear programming and
network flow, Wilcy.
Rron son, R. }' G . Naad im u lh u ( 1997): Schaum 's oulline of opcrations tese-
arch, McGraw-Hill.
Ford, L. R. & O.R. Fulkcrso n ( 1962): Flows in Networks, Pri nccn ton Press.
Garfi n kel, R. }' G .L. Nem hauser ( 1972): Integ er progmmming, Wilcy.
S ha piro, R.O. ( 1984): Oplimizacion modcls fOI planning and sitoceuoe: lext
and cases in mathcma!ieal programming, Wilcy.
S im mo na rd, 1\1. (1 978): Programmation lincairc el extensions, Dunod.
379
,
Indice alfabético
,
Arbol de expa nsión, 342 método de la esquina superior
izquierda, 343
Actualización de la base inversa, 199 determi naci ón de una solución
Adición de una restricción, 246 básica factib le inicial, 343
Ad ición de una variable, 243 solución factible inicial, 355
Algoritmo (primal) del sirnplcx, 124 A lgoritmo dual del simplcx, 1R1, 185
A lgoritmo de asignación criterio de entrada, 185
método húngaro, 37 1 criterio de salida, 185
Algoritmo de descomposición fundamentos, 182
X acotado, 2 17 solución bás ica dual fact ible, 18 1
X no acotado, 228 Alternativas de un problema de de-
Problema m áster, 2 15 cis ión óptima, 7
Subproblema lineal, 2 17 Análisis de sensibilidad, 236, 248
Algo ritmo de l simplcx coefi cientes de la función obje-
Definiciones y notaciones, 115 tivo, 251
Esq uema algorítmico, 125 vector del lado derecho de las
Fórmulas de cambio de base, 126 restricc iones, 248
variables acotadas (minimización), Análisis param ótrico, 236, 254
2 10 Asignaci ón
Base artificial, 133 Casillas indcpen ticntcs, 368
forma revisada, 193
método de la gran M, 136 Base
método de las dos fases, ] 39 inversa, 199
fase 1, 140
fase 2 ,14 1 Cadena, 342
método de las penalidades, 136 Caracterizaci 6n de una base en la
pivote, 126 tabla del transporte, 342
problema aumentado, 135 C iclaje, 144
problema penalizado, 136 reg la para prevenirlo, 146
programa inicial de base, 133 Ciclo, 342
tabla del simplex, 129 Clausura de un conj unto convexo,
variables artifi ciales, 133 64
vector dc variables artificiales, Coeficientes
135 de la func ión objetivo, 28
vector lex icográficamente posi- de las restricciones, 28
tivo, 149 Cong ruencia, 313
Algoritmo del simplex (forma rev i- Conj unto convexo
sada), 193 dirección, R7
Algoritmo del transporte, 343 Conjunto po liédrico, 84
método de la esquina noroeste, Conjuntos convexos
343 separables no d isjuntos, 8 1
38 1
separables no d isj untos ni con- Dualidad y algoritmo del simplcx,
vcxos , 81 173
separados estrictamente, 8 1
Conj untos poliédricos, 84, 94 El algoritmo de descomposi ción, 214
Constantes , 16 El algoritm o del sim plex , l l 5
Conve rgencia, 144 El teorema de la dua lidad en progra-
Corte de Go mory, 302 mación lineal, 164
Envoltura convexa, 60
Dantzig, O., 3 Politopo, 62
Datos, 19 Simplex,62
Decisor, 7 esque ma de generación de colum-
Definición del modelo del transpor- nas , 218
te, 33 ¡
Fórmulas de cambio de base, 128
Defi nici ones
Forma producto de la inversa, 197
Punto interior, 65
Función objetivo, 9, 28
Abierto, 65
Cenado, 65 Gomory, R., 277
Clausura , 65 Grafo asociado a la forma tabular
Combinación convexa, 58 del transporte, 34 1
Conj unto convexo, 57
Entorno, 64 Hipcrplano, 72, 73
Envoltura convexa, 60 sepa ración estricta, 73
Frontera, 65 separación fuerte, 73
Hiperplano, 72 separación impropia, 73
Recta, 56 separac ión propia, 73
Regla del paralelogramo, 68, 69 normal, 72
Segmento recto , 56 norma l al hipcrplano, 72
Degeneración, 144 scmiespacios ab iertos, 72
Degeneración problema transporte, scmicspacios cerrados, 72
354 Hipcrplano soporte, 79
Determinación de una solución b ási- en un único punto , 79
ca factib le inicial, 343 impropio, 79
Dicotom ías, 288 en más de un punto, 79
Dirección de un conj unto, 87 en un punto, 79
Dirección extrema, 92 l liperplano soporte propio, 79
Dualidad Ho lguras complementarias, 165
algoritmo del si mp lex, 181 . .
ejemplo de la int erp retación cconómi _lntenor de un conjunto convexo, 64
ca, 176
La derivación del corte, 3 13
interpretación de l problema du al, Lagra ngiano asociado, 170
173, 177
Localización de p lantas, 295
interpretación económica, 178
soluc ión bási ca dual factible, 181 Método de aproximación de Vogel,
variables duales, 173 357
382
Método de la restricción artifici al, O ptimización, 7
187 Dinámi ca, 20
Método de lo s planos de corte, 298 modelo matemático, 9
Método del menor coste, 356 modelos, X
M étodo del simplcx, 3 multiobj ctivo, 15
comparació n con el s irnp lex re- por m eta s, 15
visado, 195 Problema genera l, 27
Forma lexicográfi ca, 149 sistemas, 7
revisado, 192
Variables acotadas, 202 Paramctrizaci ón del vector dc coefi -
Método del si mplcx para variab les cientes de la funci ón obj e-
acotadas tivo, 262
Variab les básicas, 203 Param ctrización del vector del lado
Variab les no básicas, 203 derecho de las restricciones,
Métodos de los planos de corte 255
algoritmo mixto, 3 18 Planifi cación de la p roducción no li-
Matriz básica, 100 neal, 45
Matri z elem enta l, 196 Planifi cación de tareas, 297
Matriz no básica, 100
Postopti m izaci ón, 235
Modelo, 8
Precios sombra, 177
ñsico, 9
Problema
formal,9
aumenta do, 135
matemátic o, 9
auxiliar de la primera fase, 140
funció n objetivo, 9
del transporte
res tricciones, ')
balanceado, 334
variables, 9
equi librado, 334
Modelo m atemático de optimizaci ón ,
fonnulaci6n en fonna matri-
9
cial, 336
análisis del siste ma, 10
form ulaci ón equilibrada , 336
formulación, 11
dual, 153
refonnulación , 13
penalizado, 136
solución, 12
puesta en práctica, 14 Problema
val idación, 13 de as ignación
Modifi cación de los coeficientes aj dual , 365
y Cj de una variab le x j. 245 forma matricial, 364
Modificación del vector de coeficien- fundamentos, 365
tes de la func ión objetivo, modificación de la matriz, 369
24 1 Problema aumentado algoritmo d ual
Modifi caci ón del vecto r dcll ado de- del s imp lex, 188
recho de las rcstricioncs. 239 Problema de asignación, 36 1, 363
problema dual, 365
Objetivo, 14 forma matricial , 364
Operaciones conjuntos convexos, 57 fundamentos, 365
383
modi fi cación de la matri z redu- método de la esquina superior
ci da, 369 izquierd a, 343
planteamiento, 362 método del menor coste, 356
Probl ema de carga fij a, 294 solución factible inicial, 355
Problema de control de la contami- Probl ema dual, 153, 154
nac ión, 47 interpretación variables duales,
Probl ema de decisión óptim a, 7 176
Probl ema de la dicta, 36 definición, 153
Probl ema de la mochila, 292 Formas equivalentes
Problema de los patrones de corte, canónica, 156
37 mixta, 156
Problema de planificación de auto- standard, 156
buses, 40 formas eq uivalentes, 155
Problema de programación lineal, 28 interpretación, 177
Fonn a canónica, 32, 33 Lagrangi ano asociado, 170
Forma general, 28 propiedades, 154
Forma mixta, 32, 33 tabla , 157
Forma standard, 32, 33 Teorema del Lagrangiano, 171
Problema de programación lineal en- variable dual, 160
tera mixto cero-uno, 28 1 Problema má ster, 2 15
Problema de programación lineal entera- Problemas lineales
mixto, 28 1 de los patrones de corte
Problema de selección d e la cartera, el modelo matemático, 39
7 solución geométrica, 48
Problema del transporte, 333 Programa, 99
cadena, 342 Programa óptimo, 99
elemental , 342 Programa básico, 101
caracterización de una base en Programación continua de la produc-
la tabla, 342 ción, 43
ciclo, 342 Programación entera
elemental, 342 aplicaciones, 288
degeneraci ón, 354 tabla, 300
determinación de una solución Pro gramación lineal, 3
básica factible inici al, 343 álgebra del algoritmo del sim-
formulación en forma matricial, plcx,11 9
336 Formulaciones eq uivalentes, 29
formu lación equilibrada, 336 hipótesis, 29
grafo asociado a la fonna tabu- Propi edades de los vectores en tabla
lar, 34 1 del simplex, 339
método de aproximación de Vo- Punto de silla, 170
gel , 357 Punto extremo, 85
mé todo de la esquina noroeste Puntos extremos, 88
o de la esquina superior iz-
quierda, 343 Ram ificación y acotaci ón, 324
384
algoritmo. 330 Caratheodory, 63
Regla lexi cográfica. 147 convergencia del algoritmo húnga-
Restricciones, 9, 17. 28 ro, 371
de acotación, 19 déb il de las holguras comple-
dc defi nición. 17 mentarías, 16 5
de no negatividad, 28 de dualidad, 164
empíricas, 17 existencia, 164
normativas, 18 de la dual idad
Restricciones alternativas, 289 alternativas, 166
Restricciones condicionales, 290 de las holguras complementa-
Restricciones duales, 160 rias, 165
del Lagrangiano, 17 1
Selecci ón de inversiones, 290 dual idad
Scmiespacio, 72 ta bla, 165
Separación envoltura convexa, 58, 60
Teorema, 74 ex istencia de puntos extremos,
Separación conj unto convexo, 68 91
Separación de dos conjuntos conve- factibi lidad del teorema del trans-
xos, 81 porte, 337
Sistema, 7 r arkas, 76
aná lisis del , 10 fue rte de las holguras comple-
S istema explí cito, 11 5, 117 mcntarias , 166
Situaciones especiales en PL fu nd amentales de la programa-
región factible no acotada, 51 ción lin eal. 119
óptimo finito, 52 G ordan,83
óptimo infini to , 5 1 hipe rpla no soporte, 79
región factible vacía, 54 mínima di stancia a un punto, 69
Situaciones especiales en programa- matri z unimodular del probl e-
ción lineal , 50 ma del transporte, 338
m ultiples óptimos, 50 rango de la matriz del problema
Solución del trans porte, 337
de un prohlema de decisión ópti- representación dc conj untos po-
ma, 7 liéd ricos, 94
Solución básica, 100 separación, 81
Solución de base separación fuerte, 84
dual factible inicial, 187 triangularidad ma triz del trans-
Soporte conjunto convexo, 68 porte, 338
Subproblema lineal , 2 17 Términos dcll ado derecho de las res-
tricciones, 28
Teorema
Caracterización de las dirccci o- Variahles,9, 15,28
nes extremas, 92 básicas, ) 00
binarias, 28)
caracterización puntos extremos,
88 no básicas, 100
385