17 MATEMÁTICAS
Programación lineal.
Aplicaciones.
24-13809-13
Temario 1993
tema 17
matemáticas
1. Programación lineal
1.1. Conceptos básicos
1.5. Dualidad
2. Aplicaciones
3
tema 17
matemáticas
INTRODUCCIÓN
En los siglos xvii y xviii, matemáticos como Newton, Leibniz, Bernouilli y sobre todo, La-
grange, que tanto habían contribuido al desarrollo deI cálculo infinitesimal, se ocuparon de
obtener máximos y mínimos condicionados de determinadas funciones.
Posteriormente, el matemático francés Jean Batiste-Joseph Fourier fue el primero en intuir,
aunque de forma imprecisa, los métodos de lo que actualmente llamamos programación
lineal.
Si exceptuamos al matemático Gaspar Monge, quien en 1776 se interesó por problemas
de este género, debemos remontarnos al año 1939 para encontrar nuevos estudios relacio-
nados con los métodos de la actual programación lineal. En este año, el matemático ruso
Leonidas Vitalyevich Kantorovitch publica una extensa monografía titulada «Métodos ma-
temáticos de organización y planificación de la producción» en la que por primera vez se
hace corresponder a una extensa gama de problemas una teoría matemática precisa y bien
definida llamada, hoy en día, programación lineal.
En 1941 se formula por primera vez el problema deI transporte, estudia-do independiente-
mente por Koopmans y por Kantorovitch, razón por la cual se suele conocer con el nombre
de Koopmans-Kantorovitch.
Tres años más tarde, G. Stigler plantea otro problema particular conocido con el nombre de
«régimen alimenticio opcional».
En estos años posteriores a la II Guerra Mundial, en Estados Unidos se asumió que la
eficaz coordinación de todas las energías y recursos de la nación era un problema de tal
complejidad, que su resolución y simplificación pasaban necesariamente por los modelos
de optimización que resuelve la programación lineal.
En 1947, G. B. Danzing formula, en términos matemáticos muy precisos, el enunciado
standard al que cabe reducir todo problema de programación lineal. Danzing, junto con
una serie de investigadores deI United States Departament of Air Force, formarían el grupo
que dio en denominarse Scoop, siendo una de las primeras aplicaciones de los estudios deI
grupo el puente aéreo de Berlín. Posteriormente se constituyen, en Estados Unidos, distin-
tos grupos de estudio para ir desarrollando las diferentes ramificaciones de la programación
lineal.
Respecto al Método Simplex señalaremos que su estudio comenzó en 1951 y fue desarro-
llado por Danzing.
La programación lineal consiste en un conjunto de técnicas matemáticas que intentan ob-
tener el mayor provecho posible de sistemas económicos, sociales, tecnológicos, ... cuyo
funcionamiento se puede describir matemáticamente de modo adecuado.
5
tema 17
matemáticas
1 Programación lineal
sujeta a: a11x1 + a12x2 + …+ a1nxn = b1
a21x1 + a22x2 + …+ a2nxn = b2
…………………………………………………….
am1x1 + am2x2 + …+ amnxn = bm
xk ≥ 0, k = 1, 2, …, n
Se supone además que el número de variables, n, es mayor que el número de res-
tricciones de igualdad, m. Sin ninguna pérdida de generalidad puede suponerse
también que bk ≥ 0 para todo k = 1, 2, …, m.
Las principales características de esta formulación de problemas lineales son:
Se trata de minimizar una forma lineal.
Todas las restricciones son de igualdad, siendo el término independiente no
negativo.
Las variables de decisión solo pueden tomar valores no negativos.
En notación matricial el problema se plantea de la siguiente forma:
minimizar z=C·X
sujeta a: A·X=B
X≥0
siendo:
x1 a11 .........a1n b1
...................
C = (c1 , ..., cn ), X = , A = , B = con m < n
...................
x a .........a b
n m1 mn m
6
tema 17
matemáticas
Lineal: g(X) = c1x1 + c2x2 + …+ cnxn
Las restricciones de desigualdad pueden transformarse en igualdades introdu-
ciendo unas nuevas variables que se conocen como variables de holgura
ak1x1 + ak2x2 + …+ aknxn ≤ bk
entonces existe y ≥ 0 tal que:
ak1x1 + ak2x2 + …+ aknxn + y = bk
De igual forma, si ak1x1 + ak2x2 + …+ aknxn ≥ bk, existe y ≥ 0 tal que:
ak1x1 + ak2x2 + …+ aknxn − y = bk
sujeta a: A·X=B
X≥0
7
tema 17
matemáticas
∑ α i X i donde
i =1
∑α
i =1
i = 1, α i ≥ 0 ∀i = 1,..., k
Un punto X de un conjunto convexo S ⊆ n se dice vértice o extremo de S si no
se puede poner como combinación lineal convexa de otros dos vectores de S, es
decir, si X1, X2 ∈ S y X = (1 − α)X1 + αX2 con α∈[0, 1] entonces X1 = X2. Un vér-
tice nunca puede ser un punto intermedio de un segmento que esté completamente
contenido en el conjunto.
Un conjunto convexo de n se dice conjunto poliédrico o poliedro si posee un
número finito de vértices.
Pasamos ya a estudiar las propiedades de la región factible de un programa lineal.
XX Teorema
X 1 ≥ 0, AX 1 = B ⎫
⎬ αX 1 + βX 2 ≥ 0 y A( αX 1 + βX 2 ) = αAX 1 + βAX 2 = αB + βB =
X 2 ≥ 0, AX 2 = B ⎭
= B pues α + β = 1
8
tema 17
matemáticas
n n
Sea λ = mín{f(Xi), i = 1, ..., n} ⇒ f(X0) ≥ ∑α · λ = λ · ∑α = λ
i =1
i
i =1
i
XX Teorema
9
tema 17
matemáticas
Demostración:
Supongamos que X no es vértice de S.
Si X no es vértice de S, existirán X1 = (x11, x12, ..., x1n), X2 = (x21, x22, ..., x2n) vértices
distintos de S y α, β ∈ (α ≥ 0, β ≥ 0, α + β = 1) tales que: X = αX1 + βX2, o sea:
(x1, ..., xk, 0, ..., 0) = α(x11, ..., x1n ) + β(x21, ..., x2n)
Podemos considerar que α ≠ 0, β ≠ 0 ya que:
Si α = 0 ⇒ β =1 ⇒ X = X2
Si β = 0 ⇒ α =1 ⇒ X = X1
Por tanto,
x1k +1 = x2k+1 = ... = x1n = x2n = 0, y entonces como X1, X2 ∈ S
de donde, por ser los Pi linealmente independientes resulta que x1i = x2j ,
para i = 1, ..., k, y por tanto sería X1 = X2, que es una contradicción.
Demostración:
Sea X un vértice de S de la forma (x1, ..., xk, 0, ..., 0) con xi > 0, 1 ≤ i ≤ k, entonces
sus vectores asociados mediante:
n
∑ x · P = B son P , ..., P .
i =1
i i 1 k
k k k
∑ x ⋅ P + α ⋅ ∑ β ⋅ P = ∑ ( x + α ⋅ β ) ⋅ P = B
i =1
i i
i =1
i i
i =1
i i i
k k ⇒ k
∑ xi ⋅ Pi − α ⋅ ∑ βi ⋅ Pi = ∑ ( xi − α ⋅ βi ) ⋅ Pi = B
i =1 i =1 i =1
10
tema 17
matemáticas
Como todas las xi > 0 siempre podemos elegir un α > 0 tal que todas las
xi + α · βi > 0 y xi – α · βi > 0, según esto, X1, X2 ∈ S, por el teorema anterior.
Pero,
X1 X 2 X1 + X 2
+ = =X
2 2 2
lo que entra en contradicción con que X es un vértice de S, porque si X es el
punto medio deI segmento definido por X1 y X2 en el convexo S ⇒ X no es
vértice de S en contradicción con la hipótesis, luego P1, ..., Pk son linealmente
independientes.
11
tema 17
matemáticas
Si hay una única solución óptima, ésta estará en un vértice deI recinto. Puede que
haya infinitas y se encontrarán en un lado. También es posible que no haya solu-
ción óptima, pues cuando el recinto es infinito, la función objetivo puede crecer o
decrecer indefinidamente.
Una vez representado el recinto de validez, la solución óptima se encuentra con
la ayuda de una recta variable que representa la función objetivo y que se mueve
paralelamente a sí misma.
Si se quiere localizar la solución óptima sin valerse de la representación gráfi-
ca, puede hacerse obteniendo los vértices del recinto y calculando el valor de la
función objetivo en cada uno de ellos. Este método es arriesgado, pues es difícil
estar seguro, sin representarlo, de si un punto de corte entre dos rectas bordes de
semiplano es o no vértice deI recinto de validez.
Método gráfico para el cálculo de soluciones
Para hallar, gráficamente, la solución de un problema de programación lineal de
dos variables es conveniente seguir el proceso que indicamos a continuación:
1. Se dibuja el recinto limitado por las restricciones del problema.
2. Se representa el vector director de la recta que viene dada por la función que
hay que maximizar o minimizar (función objetivo).
3. Se trazan rectas paralelas a este vector que pasen por cada uno de los vértices
deI recinto, y se observa en qué vértice la función z se hace máxima, (o mí-
nima), sin más que tener en cuenta cuál de las citadas rectas tiene mayor (o
menor) ordenada en el origen.
12
tema 17
matemáticas
XX El problema de la dieta
Supongamos que se quiere elaborar una dieta alimenticia para ganado que satis-
faga unas condiciones mínimas de contenidos vitamínicos diarios, por ejemplo,
2 mg de vitamina A, 60 mg de vitamina B y 40 mg de vitamina C. Para ello se van
a mezclar dos clases de pienso, P y Q, cuyo precio por kg es, respectivamente, de
40 y 60 euros, cuyo contenido en las vitaminas citadas es el siguiente:
A B C
1 kg de P 1 mg 20 mg 10 mg
1 kg de Q 0,5 mg 20 mg 20 mg
¿Cómo deben mezclarse los piensos para que se satisfagan esas necesidades vita-
mínicas con el menor gasto posible?
Para resolver el problema designemos por x la cantidad de pienso P que debe con-
sumir diariamente cada animal, y por y la cantidad de pienso Q en kg.
Los valores x e y están sometidos a las siguientes restricciones:
1. x ≥ 0
2. y ≥ 0
3. x + 0,5y ≥ 2
4. 20x + 20y ≥ 60
5. 10x+20y ≥ 40
Estas inecuaciones forman un sistema que llamaremos S.
La función objetivo que ahora es una función de gasto o de costo es:
f(x, y) = 40x + 60y
Se trata ahora de encontrar entre todas las soluciones del sistema S aquellas para
las que la función de costo tenga un valor mínimo.
Siguiendo los pasos indicados en la resolución gráfica, obtenemos:
13
tema 17
matemáticas
Si la función objetivo tiene dos (o incluso tres) variables, y las restricciones no son
demasiadas, el problema se puede resolver gráficamente como hemos visto en el
apartado anterior. En la práctica, las variables y restricciones pueden llegar a ser
de miles, y entonces es cuando se hace uso del método simplex y, con la impres-
cindible ayuda del ordenador, se soluciona el problema.
El método simplex nos facilitará la obtención de la solución óptima mediante la
elaboración de un criterio que nos permitirá saber si una solución básica es o no
es la solución óptima y, en caso negativo, nos dará un procedimiento de aproxi-
mación a dicha solución óptima.
Para ello partimos deI conocimiento de una solución básica inicial (vértice), de
la que pasamos a otra solución básica (vértice contiguo) en la que el valor de la
función objetivo z = C · X es menor que en la anterior, y así sucesivamente hasta
llegar a una solución básica (vértice) en la que el valor de la función objetivo sea
el mínimo (solución óptima).
En lo sucesivo supondremos:
a) Que el problema tiene solución óptima.
b) Que conocemos una solución básica inicial. (Esto siempre es posible, pues
como m < n bastará con anular n – m de las variables xi y si en el sistema
A – X = B sus ecuaciones son entre sí independientes, nos darán m soluciones
no nulas que junto con las n – m nulas constituyen la solución básica inicial).
c) Que cada solución básica es no degenerada, es decir, tiene exactamente n – m
coordenadas nulas.
Antes de pasar al siguiente teorema, vamos a definir unos ciertos zj:
x10
x20
Sea X 0 = xm 0 con todas las xi0 > 0 y (i = 1, ..., m)
0
0
14
tema 17
matemáticas
La solución básica inicial conocida, sean P1, ..., Pk los m vectores linealmente
independientes asociados a X0 mediante la expresión:
x10 · P1 + x20 · P2 + ... + xm0 · Pm = B (1)
y sea
zo = C · X0 = c1 · x10 + c2 · x20 + ... + cm · xm0 (1 bis)
el valor de la función objetivo en el punto X0.
Como P1, ..., Pm son linealmente independientes, constituyen una base del espacio
vectorial <P1, Pm, ..., Pn>, cualquier Pj de este conjunto podrá expresarse en fun-
ción de dicha base, así:
m
Pj = λ1j · P1 + ... + λmj · Pm = ∑ λ P,1 ≤ j ≤ n
i =1
ij i
(2)
Definimos:
zj = c1 · λ1j + c2 · λ2j + ... + cm · λmj (2 bis)
XX Teorema
Si para un j cualquiera zj – cj > 0 (obsérvese que j debe ser distinto de 1, ..., m),
entonces podemos construir un conjunto de soluciones posibles tales que zj < z0,
pudiendo ser el extremo inferior de dichos valores zj finito o infinito.
Si el extremo inferior es finito podemos elaborar una nueva solución posible con
m variables no nulas, y si es infinito con m + 1 variables no nulas, siendo arbitra-
riamente pequeño el valor de la función objetivo.
Demostración:
Si θ > 0 es un parámetro, multiplicamos (2) por θ y restamos de (1):
m m
B – θ · Pj = ∑(x
i =1
i0
– θ · λij)Pi ⇒ B = ∑(x i =1
i0
– θ · λij)Pi + θ · Pj (3)
Si los coeficientes de P1, ..., Pm, Pi en (3) fuesen no negativos, tendríamos una nue-
va solución posible ((x10 – θλ1j), ..., (xm0 – θλmj), 0, 0, ..., 0) para la cual el valor de
la función objetivo según (3 bis) sería z0 – θ · (zj – cj) y además como por hipótesis,
zj – cj > 0 para algún j, tenemos que:
z0 – θ · (zj – cj) < z0
Veamos que si el extremo inferior de los valores zj es finito, podemos elaborar una
nueva solución posible con m variables no nulas.
15
tema 17
matemáticas
Supongamos que para el j tal que zj – cj < 0 hay al menos un λij en (3) tal que λij
> 0, entonces el mayor valor de θ para el que todos los coeficientes del segundo
miembro de (3) son no negativos es:
x
θ 0 = min i 0 , 1 ≤ i ≤ m
λij
xi 0
xi 0 − θ 0 ⋅ λij = xi 0 − ⋅λ =0
λij ij
con lo que obtenemos una nueva base constituida por m – 1 vectores de la base
inicial P1, ..., Pm más el Pj. Esta nueva solución mejora la solución básica inicial,
ya que z0 – θ0 · (zj – cj) < z0.
El proceso se continúa hasta que todas las zj – cj ≤ 0, o hasta que para una zj – cj > 0
sean todos los λij ≤ 0.
Veamos por último que si el extremo inferior de los valores de zj es infinito, la
nueva solución posible posee m + 1 variables no nulas y el valor de la función
objetivo es arbitrariamente pequeño.
Si para un j es zj – cj > 0 y todas las λij ≤ 0, entonces para todo θ > 0 los coeficientes
deI segundo miembro de (3) son no negativos, con lo que obtenemos una nueva
base constituida por los m vectores de la base inicial P1, ..., Pm más el Pj. Además,
si hacemos θ suficientemente grande el valor z0 – θ · (zj – cj) será tan pequeño como
queramos.
Para terminar el método simplex, veamos el siguiente teorema.
XX Teorema
16
tema 17
matemáticas
y10
y
Sea Y0 = m 0 otra solución básica cualquiera, entonces
0
0
m m m
y10 ⋅ ∑ λi1 ⋅ Pi + y20 ⋅ ∑ λi 2 ⋅ Pi + ... + ym 0 ⋅ ∑ λin ⋅ Pi = B
i =1 i =1 i =1
Por verificarse (4) y (5) y teniendo en cuenta que P1, ..., Pm son linealmente inde-
pendientes, entonces sus coeficientes deben ser iguales.
m m m
m m
z1 ⋅ y10 + ... + zm ⋅ ym 0 = ∑ ci ⋅ λi1 ⋅ y10 + ∑ ci ⋅ λi 2 ⋅ y20 + ... +
i=1 i=1
m m m
+ ∑ ci ⋅ λin ⋅ ym 0 = ∑ y j 0 ⋅ λ1 j ⋅ c1 + ∑ y j 0 ⋅ λ2 j ⋅ c2 + ... +
i=1 j =1 j =1
m
+ ∑ y j 0 ⋅ λmj ⋅ cm = x10 ⋅ c1 + x20 ⋅ c2 + ... + xm 0 ⋅ cm = z0 ≤ z*
j =1
17
tema 17
matemáticas
λmj
c) Mediante (2 bis) calcularemos los zj = c1 · λ1j + ... + cm · λmj
d) A continuación formaremos las diferencias zj – cj
Si zj – cj ≤ 0 ∀j, entonces X0 es la solución óptima.
Si zj – cj > 0 para algunos j, entonces tomaremos el Pj correspondiente a la di-
ferencia mayor de aquéllas que son zj – cj > 0 y lo incorporaremos a la base.
e) Para excluir uno de los Pi de la base inicial, incorporando el Pj deI apartado
anterior a dicha base, elaboramos los cocientes:
xi 0
con xi0 > 0 (apartado a) y λij > 0 (apartado b y teorema 3)
λij
El Pi excluido corresponderá al mín
xi 0
> 0, 1 ≤ i ≤ m
λij
.
Si la base inicial era {P1, ..., Pi –1, Pi+1 ..., Pm} la nueva base obtenida será
{P1, ..., Pi –1, ..., Pm, Pj}.
Para saber si esta nueva base corresponde o no a la solución óptima, será preciso
repetir el proceso hasta que todas las diferencias zj – cj ≤ 0 o todas las λij ≤ 0.
18
tema 17
matemáticas
Una solución básica es degenerada cuando al menos una de sus variables es nula.
Es decir, si tenemos la base {P1, ..., Pm} tal que:
m
∑x
i =1
i0
· Pi = B
decimos que la solución básica (x10, x20, ..., xm0) es degenerada si al menos
un xi0 = 0 con 1 ≤ i ≤ m.
En este caso no podemos utilizar el método simplex, ya que:
x
θ 0 = min. i 0 , 1 ≤ i ≤ m = 0
λij
λmj
X0(ε) = X0 + ε · L1 + ... + εn · Ln
19
tema 17
matemáticas
x ( ε)
min . i 0 > 0, 1 ≤ i ≤ m
λij
Mediante este procedimiento, podemos aplicar el método simplex para solu-
ciones degeneradas.
1.5. Dualidad
XX Teorema de dualidad
Si el primal posee solución óptima finita, entonces el dual también posee solu-
ción óptima finita y además mín. z = máx. t.
Demostración:
Supongamos que la base correspondiente a la solución óptima del primal es
P = {P1, ..., Pm}, entonces la solución óptima será X0 = P–1 · B.
Además, A = P · X luego P–1 · A = X.
Llamando C0 = (c1, ..., cm), Z = (z1 – c1, ..., zn – cn) y teniendo en cuenta que X0 es
la solución óptima, tenemos, Z = C0 – X – C ≤ 0.
20
tema 17
matemáticas
Tomemos un vector W 0 = (w10, ..., wm0) tal que W0 = C0 · P–1 y probemos que es
una solución del dual:
W 0 · A = C0 · P–1 · A = C0 – X, restando C en ambos miembros:
W 0 · A – C = C0 · X – C = Z ≤ 0, luego W 0 · A ≤ C, y por verificar
W 0 las restricciones del dual es la solución del dual.
El valor de la función objetivo t en W 0 es:
t = W 0 · B = C0 · P–1 · B = C0 · X0 = mín. z
es decir, la solución del dual es la solución óptima del primal.
Veamos a continuación que esta solución W 0 es la solución óptima del dual.
Para cualquier X ≥ 0 que verifique A · X = B y para cualquier W ≥ 0 que verifique
W · A ≤ C, tenemos:
W ⋅ A⋅ X = W ⋅ B = t
⇒ t ≤ z , ∀(W , X ) ⇒ max. t ≤ min. z
W ⋅ A⋅ X ≤ C ⋅ X = z
21
tema 17
matemáticas
2 Aplicaciones
Como se ha estudiado en este tema, la programación lineal se plantea de un modo
geométrico: encontrar un vector (solución) de Rn que pertenezca a una cierta re-
gión convexa R (restricciones), y que haga máxima o mínima una función lineal
f (función objetivo).
Actualmente, la programación lineal aborda cuestiones que nada tienen que ver
con la geometría. En efecto, numerosos problemas de Economía, Industria o Ad-
ministración tratan básicamente de la asignación de recursos limitados (personal,
dinero, tiempo, materiales, espacio, etc.) encaminada a maximizar beneficios o
a minimizar costes. Si las restricciones de los recursos se pueden expresar como
ecuaciones o desigualdades lineales, y la función de beneficios o costes es lineal,
entonces nos encontramos ante un problema de programación lineal.
Un ejemplo característico es el problema del transporte que surge al tener varios
puntos de producción y varios de distribución, y se plantea el modo de distribuir
los productos para que el coste deI transporte sea mínimo. Un ejemplo muy co-
nocido de este problema se dio en Gran Bretaña al estudiar cuál sería la mejor
distribución del carbón de 800 minas a 200 centrales eléctricas.
Otro caso muy común es el problema de la dieta: determinar las cantidades diferen-
tes de alimentos (frutas, vitaminas, piensos, forraje, etc.) que hay que proporcionar
a una persona o animal, para asegurarle la nutrición necesaria con un coste mínimo.
En algunos países en vías de desarrollo se utilizaron técnicas de programación lineal
para planificar la producción de alimentos, con vistas a satisfacer las necesidades
(minera-les, proteínas, vitaminas, etc.) mínimas de la población, teniendo en cuenta
los condicionantes deI clima, tipo de suelo, recursos técnicos, etc.
También podemos abordar el problema de producción que se plantea al contar
con varios centros de producción con sus características particulares (horas de
trabajo disponibles, número de empleados, beneficios por unidad de producción,
etc.), y hay que estudiar la manera de planificar la producción de los distintos
centros para obtener el beneficio máximo.
Un ejemplo más de aplicación de la programación lineal es el problema de asig-
nación de recursos limitados (personal, dinero, tiempo, materiales, espacio,…)
en el que las restricciones de los recursos se pueden expresar mediante desigual-
dades lineales y la función de costes o beneficios es lineal.
22
tema 17
matemáticas
BIBLIOGRAFÍA
ABELLANAS, P.: Elementos de Matemática. Ed. El Autor, 1975. Madrid.
JIMÉNEZ GUERRA, P.: Álgebra I. UNED, 2001, Madrid.
RÍOS, S.: Matemática aplicada. Ed. Paraninfo, 1975.
MARTÍNEZ, I. y PEÑA, F. J.: Aplicaciones económicas de la programación lineal. Ulzama Edicio-
nes, 2003.
WEBER, J.: Matemáticas para Administración y Economía. Ed. Harla, 1984. México, D.F.
23
tema 17
matemáticas
RESUMEN
PROGRAMACIÓN LINEAL.
APLICACIONES.
1.
1 Programación lineal
25
tema 17
matemáticas
1.5. Dualidad
Asociado a todo programa lineal, llamado primal, puede definirse otro llamado el dual.
El Teorema de Dualidad establece que si el primal posee solución óptima finita, entonces
el dual también posee solución óptima finita y además relaciona ambas. Esto nos permite
resolver un programa a través de su dual y recíprocamente ya que la dualidad es involutiva,
es decir, el dual del dual es el primal.
2.
2 Aplicaciones
Actualmente, la programación lineal aborda cuestiones que nada tienen que ver con la geo-
metría. En efecto, numerosos problemas de Economía, Industria o Administración tratan
básicamente de la asignación de recursos limitados (personal, dinero, tiempo, materiales,
espacio, etc.) encaminada a maximizar beneficios o a minimizar costes. Si las restricciones
de los recursos se pueden expresar como ecuaciones o desigualdades lineales, y la función
de beneficios o costes es lineal, entonces nos encontramos ante un problema de programa-
ción lineal. Como ejemplos citamos: el problema del transporte; el problema de la dieta;
el problema de producción y el problema de asignación de recursos limitados (personal,
dinero, tiempo, materiales, espacio…).
26