Vous êtes sur la page 1sur 7

PROGRAMACION LINEAL

INTRODUCCION
La Programacin Lineal es una pequea parte de una teora matemtica que se ha consolidado
en el siglo XX con el nombre de Optimizacin. En general, se trata de un conjunto de tcnicas
matemticas que intentan obtener el mayor provecho posible de sistemas econmicos, sociales,
tecnolgicos, ... cuyo funcionamiento se puede describir matemticamente de modo adecuado.
Una terminologa establecida desde los primeros tiempos de la Optimizacin, denominaba a la
solucin ptima un programa de accin a poner en prctica; de ah que la bsqueda de un tal
programa de accin utilizando mtodos matemticos se llamase Programacin Matemtica.
Segn las caractersticas de las funciones del problema y de las variables se tienen diferentes
tipos de problemas de Programacin Matemtica. Si todas las funciones del problema, objetivo y
restricciones son lineales, se tiene un problema de Programacin Lineal.
En esta unidad didctica, diseada para el curso 2 de Bachillerato de Ciencias Sociales, vamos
a estudiar Programacin Lineal para dos variables. En este caso particular, todas las actividades
pueden ser representadas y estudiadas grficamente y utilizar el Proyecto Descartes para su
resolucin.
HISTORIA
La Programacin Lineal es una teora matemtica desarrollada en el siglo XX. Los matematicos
que han intervenido en la creacin y desarrollo de la Programacin Lineal han sido:
Leonid Vitalevich Kantorovitch, que en 1939 publica una monografa titulada "Mtodos
matemticos de organizacin y planificacin de la produccin".
Tjalling Charles Koopmans, que junto con el anterior estudiaron entre 1941 y 1942 el conocido
ahora como problema del transporte. Ambos recibieron el premio Nobel de Economa en 1975.
George Joseph Stigler, que en 1945 plante el problema del rgimen alimenticio optimal,
conocido ahora como problema de la dieta.
George Bernard Dantzig, que formul en 1947 el enunciado general al que se reduce cualquier
problema de Programacin Lineal y autor del mtodo del simplex para la resolucin de problemas.
John von Neumann, que en 1947 relacion los problemas de Programacin Lineal con la teora
de Matrices.
Un problema de Programacin Lineal consiste en optimizar (maximizar o minimizar) la funcin:
z = F ( x
1
, x
2
, ... ,x
n
) = c
1
x
1
+ c
2
x
2
+ ... + c
n
x
n

sujeto a:
a
11
x
1
+ a
12
x
2
+ . . . + a
1n
x
n
= b
a
21
x
1
+ a
22
x
2
+ . . . + a
2n
x
n
= b
2

. . .
a
m1
x
1
+ a
m2
x
2
+ . . . + a
mn
x
n
= b
m

x
1
, x
2
, . . . , x
n
0

A la funcin z = F ( x
1
, x
2
, ... ,x
n
) = c
1
x
1
+ c
2
x
2
+ ... + c
n
x
n
se le denomina funcin objetivo o
funcin criterio.
Los coeficientes c
1
, c
2
, ... , c
n
son nmeros reales y se llaman coeficientes de beneficio o
coeficientes de costo. Son datos de entrada del problema.
x
1
, x
2
, ... , x
n
son las variables de decisin (o niveles de actividad) que deben determinarse.
Las desigualdades a
i1
x
1
+ a
i2
x
2
+ . . . + a
in
x
n
b
i
, con i = 1, ... , m se llaman restricciones.
Los coeficientes a
ij
, con i = 1, ... , m y j = 1, ... , n son tambin nmeros reales conocidos y se les
denomina coeficientes tecnolgicos.
El vector del lado derecho, es decir los trminos b
i
, con i = 1, ... , m, se llama vector de
disponibilidades o requerimientos y son tambin datos conocidos del problema.
Las restricciones x
j
0 con j = 1, ... , n se llaman restricciones de no negatividad.
Al conjunto de valores de (x
1
, x
2
, ... ,x
n
) que satisfacen simultneamente todas las restricciones
se le denomina regin factible. Cualquier punto dentro de la regin factible representa un posible
programa de accin.
La solucin ptima es el punto de la regin factible que hace mxima o mnima la funcin
objetivo.
TIPOS DE PROBLEMAS DE PROGRAMACION LINEAL
En un problema de Programacin Lineal, segn sean las restricciones, se obtendrn poliedros
diferentes, acotados o no, y segn sea la posicin de la funcin objetivo respecto de dicho
poliedro se pueden originar diferentes situaciones. Segn el tipo de soluciones que presenten un
problema de Programacin Lineal puede ser:
Factible: si existe la regin factible. En este caso nos podemos encontrar:
ptimo finito y nico. La solucin ptima est formada por un nico punto con coordenadas
reales.
Mltiples ptimos. Un problema de Programacin Lineal puede tener ms de un ptimo.
Adems, o bien el problema tiene un nico ptimo, o bien, tiene infinitos ptimos.
ptimo infinito. Un problema de Programacin Lineal puede tener un ptimo no finito, es
decir, la funcin objetivo puede tomar, un valor tan grande o tan pequeo como se quiera sin
abandonar la regin factible.
Regin factible no acotada, ptimo finito. La no acotacin de la regin factible no implica
necesariamente ptimo infinito. Puede ocurrir que la funcin objetivo alcance el ptimo en la zona
acotada de la regin factible.
Regin factible no acotada, ptimo finito e infinito. Puede darse el caso que todos los puntos
de una de las semirrectas que determinan la regin factible no acotada sean solucin del
problema.
No factible. Regin factible vaca. El conjunto de restricciones de un problema de Programacin
Lineal puede ser incompatible, conduciendo a una regin factible vaca.

INECUACION LINEAL
Una inecuacin lineal con dos incgnitas es una expresin de alguna de las siguientes formas:
ax+by<0 ax+by0 ax+by>0 ax+by0
Una ecuacin lineal con dos incgnitas es una expresin de la forma: ax+by=c. Representa un
sistema compatible indeterminado con un parmetro. Tiene infinitas soluciones. Las soluciones
son todos los puntos de la recta de ecuacin ax+by=c.
Esta recta divide al plano en dos semiplanos. Todos los puntos de uno de estos semiplanos
verifican ax+by<0 y todos los puntos del otro semiplano verifican ax+by>0.

SISTEMA DE INECUACIONES LINEALES CON DOS INCGNITAS
Para resolver un problema de Programacin Lineal tenemos que representar la regin factible
resolviendo el sistema de inecuaciones formado por el conjunto de restricciones.
Un sistema de inecuaciones lineales est formado por un conjunto de inecuaciones lineales.
Para resolverlo tendremos que resolver cada una de las inecuaciones que lo forman y despus
encontrar la interseccin de todos los semiplanos solucin (regin factible). La regin factible, si
es no vaca, siempre ser un conjunto convexo (dados dos puntos cualesquiera de ella, el
segmento que los une tambin est contenido).
La siguiente escena est preparada para resolver un sistema formado por hasta seis
inecuaciones. Vamos a comprobarlo con la siguiente actividad.
METODOS DE SOLUCION
Ya hemos representado la regin factible y hemos calculado sus vrtices. Ahora vamos a calcular el
mximo o el mnimo de la funcin objetivo en la regin factible. Nos encontramos con dos
procedimientos.
8.1. Procedimiento analtico.
Este procedimiento nicamente es vlido para problemas con regiones factibles acotadas. Para
resolver un problema de Programacin Lineal mediante el procedimiento analtico, necesitamos
conocer el siguiente teorema.

Teorema fundamental de la Programacin lineal
Si un problema de Programacin Lineal tiene regin factible no vaca, entonces, si
existe el ptimo (mximo o mnimo) de la funcin objetivo, se encuentra en un punto
extremo (vrtice) de la regin factible.
Si una funcin alcanza el valor ptimo en dos vrtices consecutivos de la regin
factible, entonces alcanza tambin dicho valor ptimo en todos los puntos del segmento
que determinan ambos vrtices.
Teniendo en cuenta el teorema anterior, para calcular el mximo o el mnimo de una funcin,
ser suficiente con evaluar la funcin objetivo en todos los vrtices de la regin factible y
quedarnos con el que proporciona el valor ptimo.
Actividad 10.
Aplicar el Teorema fundamental de la Programacin Lineal para calcular el mximo y el mnimo
de la funcin F(x,y)=2x+3y sujeta a las restricciones de la actividad 5 de la pgina anterior:
(1) x + y 10 (2) 3x - y -2 (3) 2x + 3y 6 (4) x 6 (5) x 0 (6) y 0
(Como ya tenemos la regin factible y los vrtices, hay que calcular el valor de la funcin
objetivo en cada uno de ellos. Para ello te puedes ayudar de la siguiente escena sabiendo que a, b y
c son los coeficientes de la funcin objetivo F(x,y)=ax+by+c)

APLICACIONES PROGRAMACION LINEAL
Aunque surgi como aplicacin a cuestiones de carcter logstico y militar, es la industria y la
economa donde, posteriormente ha encontrado sus aplicaciones ms importantes.
As, por ejemplo, la Programacin Lineal permite resolver problemas de mezclas, nutricin de
animales, distribucin de factoras, afectacin de personal a distintos puestos de trabajo,
almacenaje, planes de produccin, escalonamiento de la fabricacin, problemas de circulacin,
planes de optimizacin de semforos, estudios de comunicaciones internas, etc.
Veamos algunas de las aplicaciones ms importantes:
9.1. El problema del transporte.
Trata de organizar el reparto de cualquier tipo de mercancas con un coste mnimo de tiempo,
de dinero o de riesgo (por ejemplo, el transporte de mercancas peligrosas).
Se dispone de m centros de produccin u orgenes (O
i
), con sus respectivas ofertas ; y n centros
de consumo o destino (D
j
), con sus demandas correspondientes. A su vez, son conocidos los costes
de envo (c
ij
), desde cada origen a cada destino.
El objetivo del problema del transporte es determinar cuntas unidades de producto deben
enviarse desde cada origen hasta cada destino de forma que se minimicen los costes totales de
distribucin, se satisfaga la demanda de cada destino y no se exceda la capacidad de oferta de
cada uno de los orgenes. (El total de unidades que salen de los centros de origen debe ser igual al
total de unidades que llegan a los centros de destino). Podemos expresar el problema con la
siguiente tabla:
Orgenes
Destinos
D
1
D
2
... D
n

Ofertas

O
1
c
11
c
12
... c
1n
a
1

O
2
c
21
c
22
c
2n
a
2

... ... ... ... ... ...
O
m
c
m1
c
m2
... c
mn
a
m

Demandas b
1
b
2
... b
n

En 1958 se aplicaron los mtodos de la programacin lineal a un problema concreto: el clculo
del plan ptimo del transporte de arena de construccin a las obras de edificacin de la ciudad de
Mosc. En este problema haba 10 puntos de partida y 230 de llegada. El plan ptimo de
transporte, calculado con el ordenador Strena en 10 das del mes de junio, rebaj un 11% los
gastos respecto a los costes previstos.
Ejemplo: Dos almacenes A y B, tienen que distribuir fruta a tres mercados de la ciudad. El
almacn A dispones de 10 toneladas de fruta diarias y el B de 15 toneladas, que se reparten en su
totalidad. Los dos primeros mercados necesitan diariamente 8 toneladas de fruta, mientras que el
tercero necesita 9 toneladas diarias. El coste del transporte desde cada almacn viene dado por
los datos del cuadro. Planifica el transporte para que el coste sea mnimo.
Orgenes
Destinos
Mercado 1 Mercado 2 Mercado 3
Almacn A 10 15 20
Almacn B 15 10 10

9.2. El problema de la dieta.
Trata de determinar los alimentos que deben incluirse en una dieta para asegurar la nutricin
necesaria y a la vez minimizar el coste.
Alimentos
Componentes
C
1
C
2
... C
n
Costes
A
1
b
11
b
12
... b
1n
a
1

A
2
b
21
b
22
b
2n
a
2

... ... ... ... ... ...
A
m
b
m1
b
m2
... b
mn
a
m

Necesidades c
1
c
2
... c
n

Ejemplo: Un ave de rapia necesita para subsistir al da 30 unidades de protenas, 20 de grasas y 8
de vitaminas. Sus presas son dos tipos de animales: ratones que le proporcionan 3 unidades de
protenas, 4 de grasa y 1 de vitaminas; y palomas, que le proporcionan 6 unidades de protenas, 2
de grasas y 1 de vitaminas. Si cazar y comer un ratn le cuesta 7 unidades de energa y una paloma
12 unidades de energa, cuntas presas de cada clase debe cazar para satisfacer sus necesidades,
con el menor gasto de energa?
9.3. El problema de la planificacin de la produccin.
Pretende planificar la produccin de una empresa de acuerdo con las materias primas
disponibles para obtener mximos beneficios.
Factores
Productos
P
1
P
2
... P
n
Recursos
F
1
a
11
a
12
... a
1n
r
1

F
2
a
21
a
22
a
2n
r
2

... ... ... ... ... ...
F
m
a
m1
a
m2
... a
mn
r
m

Beneficios
o costes
c
1
c
2
... c
n

Ejemplo: Una fabrica de muebles produce dos tipos de sillones S1 y S2. La fabrica cuenta con dos
secciones: carpintera y tapicera. Hacer un silln de tipo S1 requiere 1 hora de trabajo en la
seccin de carpintera y 2 horas en la de tapicera. Un silln del tipo S2 necesita 3 horas de
carpintera y 1 de tapicera. El personal de carpintera suministra un mximo de 90 horas de
trabajo; en tapicera se dispone de 80. Si las ganancias por la venta de los sillones S1 y S2 son
respectivamente de 6000 y 3000 pesetas, cuntos sillones de cada tipo hay que fabricar para
maximizar las ganancias?
ALGORITMO DEL SIMPLEX
Segn el teorema fundamental de la Programacin Lineal, si un problema de Programacin Lineal
tiene solucin ptima finita, sta se alcanza en un vrtice de la regin factible. Los vrtices se
obtienen como solucin de sistemas de ecuaciones lineales determinados por las restricciones. Al
haber un nmero finita de restricciones, hay tambin un nmero finito de vrtices. Por tanto la
solucin del problema se puede obtener evaluando la funcin objetivo en un nmero finito de
puntos.
Sin embargo, el nmero de vrtices de la regin factible puede ser muy grande y por tanto el
clculo de la solucin ptima puede resultar bastante entretenido. Sera interesante un
procedimiento que escoja unos cuantos vrtices sin necesidad de trabajar con todos. Esto el lo que
intenta el algoritmo del simplex descubierto por G. B. Dantzig. El nombre del mtodo es debido a
que en una de sus primeras aplicaciones, la regin factible estaba formada por un "simplex", es
decir, un poliedro convexo generado por (n+1) puntos de R
n
, no situados en una misma variedad
lineal (n-1)-dimensional.
Este procedimiento parte de un vrtice cualquiera y mediante algoritmos se va pasando a vrtices
adyacentes que mejoran el valor de la funcin objetivo en el vrtice anterior, obteniendo la
solucin ptima en un nmero de pasos bastante inferior al de evaluar la funcin objetivo en
todos los vrtices.
Por ejemplo, supongamos que una hormiga se encuentra con la estructura de un complicado
poliedro convexo y quiere subir al vrtice situado en lo ms alto siguiendo las aristas del poliedro.
Cul es la forma ms rpida de conseguirlo? Parece lgico que desde el suelo escoja la arista con
ms pendiente y suba por ella hasta llegar al vrtice en el que finaliza. Despus escoger de todas
las aristas que salen de dicho vrtice la que tiene mayor inclinacin y subir por ella hasta un nuevo
vrtice. Repitiendo este procedimiento llegar al vrtice ms alto en el menor nmero de pasos
posible.
El desarrollo del algoritmo del simplex se sale de los contenido del curso 2 de Bachillerato.