Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programación lineal
7.1 Introducción
Aunque conceptualmente los problemas de programación lineal no difieren
de los resueltos en temas anteriores, sı́ que presentan una caracterı́stica que
permite aplicar técnicas de resolución especı́ficas:
• La función objetivo del problema está descrita como una función lineal
de las variables de decisión.
• El sistema que recoge las restricciones impuestas a las variables de
decisión se expresa como un conjunto de igualdades o desigualdades
lineales.
Veremos que en este tipo de problemas, la solución siempre se alcanza
en al menos un punto extremo del conjunto factible, por lo que buscaremos
caracterizaciones de los mismos y estudiaremos los resultados teóricos que
permitirán formular el método Simplex, con el que resolveremos este tipo de
problemas ayudados de un software especı́fico.
40
siendo x = (x1 , x2 , . . . , xn )t el vector de variables de decisión, ct = (c1 , c2 , . . . , cn )
el vector de coeficientes de las variables de decisión en la función objetivo,
b = (b1 , b2 , . . . , bm )t el vector de términos independientes de las restricciones,
y aij el coeficiente de la variable xj en la restricción i.
Llamaremos conjunto factible al conjunto de las combinaciones de va-
riables de decisión que satisfacen todas las restricciones del problema, y se
denotará por F .
Pero cualquier PPL, independientemente de su formulación inicial, puede
plantearse en la forma estándar, que para todo el desarrollo posterior de
este tema consideramos que es:
Min. z(x1 , x2 , . . . , xn ) = c1 x1 + · · · + cn xn
sujeto a: a11 x1 + a12 x2 + · · · + a1n xn = b1
a21 x1 + a22 x2 + · · · + a2n xn = b2
.. .. .. (P),
. . .
am1 x1 + am2 x2 + · · · + amn xn = bm
x1 ≥ 0, x2 ≥ 0, · · · , xn ≥ 0
siendo bi ≥ 0, i = 1, . . . , m.
Además, supondremos siempre que m < n, y que el rango del sistema de
ecuaciones es m, para evitar redundancia en las ecuaciones y garantizar la
existencia de más de una solución posible.
Para transformar un PPL cualquiera a su forma estándar es posible rea-
lizar algunas modificaciones sobre el programa:
41
restamos la diferencia u holgura entre el término independiente (cons-
tante de restricción bi ) y el primer término:
Min. ctx
s. a: Ax = b
(P)
x ≥ 0
siendo A = (aij ) ∈ Mm×n de rango m. En este caso el conjunto factible es
F = {x ∈ IRn /A
x = b,x ≥ 0}
a1j
a2j
Por Pj = .. j = 1, . . . , n representaremos la columna j-ésima
.
amj
de la matriz de coeficientes A.
42
7.2 Resultados fundamentales
Dado un PPL cualquiera:
43
7.2.1 Tipos de soluciones y caracterización
Definición 26 (Tipos de soluciones) Sea F = {x ∈ IRn /Ax = b, x ≥ 0}
el conjunto factible de un PPL en forma estándar (P), con A = (aij ) ∈ Mm×n
de rango m.
44
xi xh
Tomando el valor θ = min /xij > 0 = el punto x∗ = (x∗1 , . . . , x∗n )t
xij xhj
con
∗
xi = xi − θxij si i = 1, . . . , h − 1, h + 1, . . . , m
x∗j = θ
∗
xi = 0 en otro caso
es también un punto extremo de F .
Teorema 14 Sea x una solución posible básica del problema (P) e y una
solución posible y sean z0 = z(x), z ∗ = z(y ), J el conjunto de ı́ndices no
j . Se cumple que
básicos de x y zj = ctB X
z ∗ = z0 − (zj − cj )yj
j∈J
Corolario 9 Sean x e x∗ los puntos extremos del teorema del paso de un
punto extremo a otro, z0 = ctx y z ∗ = ctx∗ . Se verifica que
z ∗ = z0 − (zj − cj )θ.
45
A la vista de estos resultados, como θ ≥ 0, para mejorar el valor de
la función objetivo, consiguiendo que éste disminuya, deberemos elegir los
ı́ndices no básicos con zj − cj > 0 y para valores de θ > 0, el ı́ndice j para
el que el producto (zj − cj )θ sea mayor. En la práctica se suele optar por el
ı́ndice j para el que el (zj − cj ) > 0 es mayor.
Estamos ya en condiciones de caracterizar las distintas posibilidades que
pueden darse al buscar las soluciones óptimas de un PPL desplazándonos
entre los puntos extremos del conjunto factible, que se recogen a continuación.
Criterios Sea x un punto extremo del conjunto factible del problema (P) y
J ⊆ {1, . . . , n} el conjunto de ı́ndices no básicos para x.
46
i. Si xik ≤ 0 ∀i = 1, . . . , m, no se puede obtener otra solución
posible básica óptima diferente, pero existen infinitas solu-
ciones óptimas.
ii. Si xik > 0 para algún ı́ndice, pasamos a la etapa 3.
Etapa 4 Se sustituye Ph por Pk , se obtiene la nueva solución posible básica
según lo descrito en el teorema de paso de un punto extremo a otro, y se
refieren todos los vectores a la nueva base.
47
48
Observaciones: Si en la etapa 3, el mismo valor θ se obtuviera para más
de un ı́ndice, tras hacer el paso a la nueva solución posible básica, algunas
variables básicas se anuları́an, obteniendo pues una solución degenerada.
Normalmente, esta situación no supone ninguna dificultad, ya que puede
continuarse con el algoritmo y obtenerse el óptimo. Sin embargo, cuando se
produce la degeneración hay iteracciones en las que, aunque se cambia de
base, el valor de la función objetivo no se modifica. En muy raras ocasiones,
la degeneración puede provocar que se entre en un ciclo en el que se repiten
las soluciones posible básicas obtenidas, no alcanzándose la solución óptima.
Aunque existen técnicas para tratar la degeneración y evitar los ciclos,
la posibilidad de que estos ocurran es mı́nima, razón por la cual se obvia en
este tema su estudio en mayor profundidad.
49
zj − cj , que aparecen en la última fila, ası́ como z0 , el valor de la función
objetivo en la solución dada.
Conocidos los valores zj − cj y calculado el valor de θ sabemos qué vector
sale de la base (Ph ) y qué vector entra (Pk ). Debemos proceder al paso a un
nuevo punto extremo, que consiste en un cambio de base. Las coordenadas
de Pk en la nueva base deberán ser todas cero salvo la h que será 1. Digamos
que en la columna k de la tabla, xhk deberı́a pasar a valer 1 y anularse los
demás valores. Para conseguir este cambio, manteniendo los demás vectores
básicos ocupando el mismo lugar en la nueva base, basta realizar operaciones
elementales con las filas de la caja central y las mismas operaciones con las
variables básicas. Considerando el valor xhk como pivote, este proceso se
denomina pivoteo y consiste en realizar las siguientes operaciones:
50
a la T1 , es M−1 cuyas columnas son las coordenadas que tienen en la tabla
T1 los vectores básicos de la tabla T2 . A continuación se presenta el esquema
de cómo se relacionan dos tablas mediante las matrices de cambio de base.
B cB P1 ··· Pm ··· Pr1 ··· Prm ··· Pn xB
P1 c1 xB1
.. .. ..
. . .
Pi ci Im ··· M−1 ··· xBi
.. .. ..
. . .
Pm cm xBm
↓ X j = MXj ↑ X j
j = M−1 X xB = MxB
B cB P1 · · · Pm ··· Pr1 · · · Prm ··· Pn xB
Pr 1 cr 1 xB
r1
.. .. ..
. . .
Pr i cr i M ··· Im ··· xB
ri
.. .. ..
. . .
Pr m cr m xB
rm
51
7.4.1 Método de la M-grande
Para que las variables artificiales introducidas no afecten a la solución
del problema, es deseable que dejen de ser básicas lo antes posible, para que
en la solución óptima estas variables artificiales se anulen. Por esa razón se
las penaliza en la función objetivo, asociándolas un coeficiente con un valor
simbólico M que expresa una cantidad tan grande como se desee cuando se
trata de minimizar.
Resolviendo el nuevo problema planteado por el método Simplex, si se
obtiene la solución óptima en la que alguna variable artificial es no nula,
podemos afirmar que el problema planteado inicialmente carece de soluciones
posibles. En otro caso la solución encontrada es la solución óptima del pro-
blema (P). Si al aplicar el Simplex al problema con variables artificiales,
en algún paso se aprecia que el problema tiene solución no finita, si en ese
momento todas las variables artificiales son nulas, el problema (P) tendrá
solución no finita, y si alguna no es nula el problema (P) no tiene solución.
52
7.5 Ejercicios
1. Se considera el sistema
2x1 − 3x2 + 4x3 − x4 + x6 = 2
x1 − 2x2 + 5x3 + x5 = 6 .
xi ≥ 0, i = 1, ..., 6
Identifique los puntos extremos y en cada caso señale las variables
básicas y no básicas.
2. Resuelva por el método simplex el problema
Max − x1 + x2
s.a: −x1 + 2x2 ≤ 0
2x1 + 3x2 ≤ 3 .
x1 ≥ 0, x2 ≥ 0
3. Resuelva el siguiente problema por el método simplex
Max mx1 − x2 + x3
s.a: x1 − 2x2 + x3 ≤ 1
−2x1 + x2 + x3 ≤ 1
,
x1 + x2 − 2x3 ≤ 1
xi ≥ 0, i = 1, 2, 3
para los siguientes valores de m:
(a) m = 1.
(b) m = −1.
4. Resuelva el problema siguiente por el método simplex
Min − 3x2
s.a: −x1 + x2 ≤ 1
x2 ≤ 4
.
3x1 + x2 ≥ 1
x1 , x2 ≥ 0
5. Resuelva gráficamente y por el método simplex el problema
Max x1 + 3x2
s.a: x1 + 2x2 ≤ 4
−x1 + x2 ≤ 1
.
x1 ≤ 3
x2 ≥ 0
53
6. Resuelva aplicando el método simplex
Min − x1 − x2
s.a: x1 ≥ 4
x1 + x2 ≤ 5
.
x1 − x2 ≥ −1
x1 , x2 ≥ 0
7. Dado el problema lineal
Max mx1 + nx2
s.a: −x1 + 2x2 ≤ 0
2x1 + 3x2 ≤ 3 .
x1 ≥ 0, x2 ≥ 0
Determine valores de m y n para que el problema propuesto tenga:
8. Dado el conjunto
A = {(x1 , x2 ) ∈ IR2 /x1 ≥ 0, x2 ≥ 0, −x1 + x2 ≤ 3/2, x1 + x2 ≤ 2},
se plantea el programa
Max mx1 + nx2
s.a: (x1 , x2 ) ∈ A,
donde m y n no son simultáneamente nulos.
54
10. Al resolver un problema lineal aplicando el método de las dos fases se
obtiene la siguiente tabla óptima en la fase I:
0 0 0 0 1 1 1
B c̄B P̄1 P̄2 P̄3 P̄4 P̄5 P̄6 P̄7 x̄B
P̄1 0 1 0 2 –1 1 1 0 2
P̄2 0 0 1 –1 2 –2 3 0 1
P̄7 1 0 0 −a 0 0 –1 1 b
zj − cj 0 0 −a 0 –1 –2 0 b
P C1 C2 C3 Capacidad máxima
Fase 1 2 4 1 1 16
Fase 2 1 0 1 1 8
55
Además el beneficio obtenido por la venta de una Tm. de P es de 1
u.m. mientras que los costes unitarios de C1 , C2 y C3 son 2, 4 y 1
u.m., respectivamente. El empresario desea minimizar la cantidad de
residuos almacenada con la condición de que el beneficio total obtenido
por la venta de P sea superior al menos en 6 u.m. al coste de fabricación
de los otros tres productos.
13. Una empresa fabrica tres productos A, B y C para lo cual utiliza tres
materiales distintos M1 , M2 y M3 . En este momento se dispone en
el almacén de 8, 6 y 20 unidades de materiales respectivamente. Las
cantidades de cada material necesarias para fabricar cada unidad de
producto vienen dadas por el siguiente cuadro:
A B C
M1 2 2 1
M2 4 1 2
M3 1 4 6
56