Vous êtes sur la page 1sur 18

Tema 1

Modelos lineales y solucio´ n gra´


fica

La programacio´ n lineal es una importante rama de la Investigacio´ n


Operativa. Esta te´cnica matema´tica consiste en una serie de me´todos que
permiten obtener la mejor solucio´ n en problemas de optimizacio´ n lineal con
restricciones. Este tipo de problemas surgen en la pra´ctica en diferentes
contextos cuando se trata de asignar recursos limitados a actividades que los
necesitan para ser realizadas. La importancia de esta te´cnica radica en la
variedad de sistemas que se pueden representar utilizando un modelo lineal, as´ı
como su aplicacio´ n a otras a´reas de la optimizacio´ n. Algunos ejemplos son la
asignacio´ n de recursos a necesidadas, pla- nificacio´ n de la produccio´ n,
organizar el transporte de un producto desde or´ıgenes a destinos, problemas de
mezclas, etc.
La programacio´ n lineal utiliza un modelo matema´tico para describir el
proble- ma. El adjetivo lineal se refiere a que todas las funciones del modelo son
lineales.

1.1 El modelo lineal


Un modelo lineal es el que trata de optimizar (maximizar o minimizar) una
funcio´ n lineal sujeta a que las variables verifiquen un sistema de inecuaciones
lineales

opt z = cT x (1.1)
sujeto a
Ax >
≤ b (1.2)
x≥0 (1.3)

1
1.3. Construccio´
2 n de Tema 1. Modelos lineales y solucio´
2 n gra
modelos ´fica
(1.1) es la funcio´ n a optimizar y se llama funcio´ n objetivo, (1.2) son las
de- sigualdades que deben verificar las variables y se llaman restricciones y
(1.3) son las restricciones de no negatividad.
Los elementos que aparecen en el modelo planteado son los siguientes:

• x, vector de variables de decisio´ n, con n componentes.

• cT , vector de precios o vector de costes unitarios, con n componentes.

• b, vector de recursos, con m componentes.

• La matriz A, con m filas y n columnas se llama matriz de coeficientes tec-


nolo´ gicos. Cada elemento aij de la matriz A representa la cantidad de
re- curso i, i = 1, . . . , m, que se necesita para realizar una unidad de
actividad j, j = 1, . . . , n.

En el modelo lineal, cT , b y A son para´metros conocidos; el vector x es el


vec- tor de variables cuyo valor hay que determinar con el objetivo de que los
recursos del vector b sean asignados de forma o´ ptima.

1.2 Formas de escribir el modelo


1. Teniendo en cuenta el taman˜ o de los vectores y de la matriz de
coeficientes.

opt z = c1 x1 + c2 x2 + · · · + cn xn
sujeto a

a11 x1 + a12 x2 + · · · + a1n xn > b1

a21 x1 + a22 x2 + · · · + a2n xn > b2
.. . .
. . . . .

am1 x1 + am2 x2 + · · · + amn xn > bm
x1 , x2 . . . xn ≥ 0

OpenCourseWare, Investigacio´ n Operativa. Programacio´ n


UPV/EHU Lineal
2. Forma matricial.  x1 
 
opt z = (c1 , . . . , cn ) . 
sujeto a
 xn 

a11 a12 . . . a1n   b1 


 x1  ≤ 
  

    
 a21 a22   x
. . . a2n   2   b2 

 . .. .   .  =   . 
 . . .  .   . 

 am1 am2 . . . amn   xn   bm 

(x1 , x2 , · · · , xn )T ≥ (0, 0, · · · , 0)T

3. Si a1 , a2 , . . . , an son las columnas de la matriz A.

opt z = c1 x1 + c2 x2 + · · · + cn xn
sujeto a

a1 x1 + a2 x2 + · · · + an xn > b
xj ≥ 0 , j = 1, . . . , n

1.3 Construccio´ n de
modelos
Cuando se quiere analizar un sistema real por medio de la programacio´ n lineal
el primer paso es construir un modelo matema´tico que represente el problema.
Este primer paso es el ma´s dif´ıcil en el ana´lisis y, es importante porque la
solucio´ n que se obtiene para el sistema depende del modelo planteado. Para
construir un modelo no existen reglas, por eso algunos ejemplos pra´cticos
pueden ser de ayuda para desarrollar cierta habilidad.
Ejemplo 1. Problema de transporte.
Una empresa produce bicicletas en tres sucursales que tiene en las ciudades
C1 , C2 y C3 . La capacidad de produccio´ n mensual en cada una de las
ciudades es 1000, 2100 y 1500, respectivamente. Tiene cuatro clientes, A, B, C
y D, en distintos puntos que demandan mensualmente 800, 1100, 900 y 1300
bicicletas, respectivamente.
En la siguiente tabla se dan los costes unitarios de transporte de las bicicletas
que var´ıan en funcio´ n de la distancia que se recorre desde la ciudad en la que
se produce al punto de destino.

Clientes
Ciudades

Plantear un modelo que sirva para organizar el transporte a coste m´ınimo.

• Variables de decisio´ n.
xij : cantidad de bicicletas que se env´ıan mensualmente desde la ciudad
Ci , i = 1, 2, 3 al cliente j, j = A, B, C, D.

• Funcio´ n objetivo: minimizar el coste de transporte.

min z = 10x1A + 8x1B + 10x1C + 13x1D + 19x2A + 6x2B + 15x2C +


+16x2D + 14x3A + 8x3B + 9x3C + 6x3D .

• Las restricciones son la oferta y la demanda.

– Oferta de los centros de produccio´ n: la capacidad de produccio´


n.

x1A + x1B + x1C + x1D ≤


1000 x2A + x2B + x2C + x2D
≤ 2100 x3A + x3B + x3C + x3D
≤ 1500
– Es necesario satisfacer la demanda de los clientes.

x1A + x2A + x3A ≥ 800


x1B + x2B + x3B ≥ 1100
x1C + x2C + x3C ≥ 900
x1D + x2D + x3D ≥
1300

– Las variables deben tomar valores no negativos.

xij ≥ 0, i = 1, 2, 3, j = A, B, C, D.

Ejemplo 2. Problema de produccio´ n.


Una empresa de produccio´ n fabrica tres tipos de piezas, P1 , P2 y P3 . En
el proceso utiliza tres tipos de ma´quinas, A, B y C, cuyas horas de trabajo
disponibles y el coste de produccio´ n se recogen en la siguiente tabla.

Ma´quina

En la tabla se da el nu´ mero necesario de horas en cada ma´quina para la


pro- duccio´ n de cada pieza.

Ma´quina A
Ma´quina B
Ma´quina C

Para producir las piezas se necesitan dos tipos de materiales, M1 y M2 de los


que se tiene 1000 kg y 1200 kg, respectivamente. La cantidad necesaria para
cada pieza de cada uno de los materiales se da en la siguiente tabla:
P1
P2
P3
El coste de 1 kg de M1 es 1.5 euros el de 1 kg de M2 es 3 euros. Por otra
parte, el precio de venta de cada pieza es 50, 56 y 70 euros, respectivamente. El
objetivo de la empresa es organizar la produccio´ n para obtener el ma´ximo
beneficio.
• Variables de decisio´ n.
xj : nu´ mero de piezas Pj , j = 1, 2, 3, que la empresa debe producir
sema- nalmente.
• Funcio´ n objetivo: maximizar el beneficio.
Beneficio = Precio Venta− Coste materiales − Coste produccio´ n.
– Precio de venta = 50x1 + 56x2 + 70x3 .
– Coste de los materiales = (1 × 1.5 + 2 × 3)x1 + (1 × 1.5 + 3 ×
3)x2 + (3 × 1.5 + 1 × 3)x3 .
– Coste de Producccio´ n = (1 × 6 + 2 × 4 + 1 × 5)x1 + (2 × 6 + 3
× 4+
1 × 5)x2 + (3 × 6 + 1 × 4 + 1 ×
5)x3 .
Haciendo los ca´lculos se tiene la siguiente funcio´ n objetivo:

max z = 23.5x1 + 16.5x2 + 35.5x3 .

• Las restricciones son el tiempo disponible de las ma´quinas y la cantidad


de material.

x1 +2x2 +3x3 ≤ 1000 (Ma´quina A)


2x1 +3x2 +x3 ≤ 1000 (Ma´quina B)
x1 +x2 +x3 ≤ 1000 (Ma´quina C)

x1 +x2 +3x3 ≤ 1000 (Material M1 )


2x1 +3x2 +x3 ≤ 1200 (Material M2 )
• Restricciones de no negatividad: x1 , x2 , x3 ≥ 0.

Ejemplo 3. Problema de mezclas.


En una refiner´ıa se producen gasolinas de tipos A y B mezclando y procesando
3 tipos de crudos. La siguiente tabla da la cantidad de barriles disponibles de
cada crudo y el precio por barril.

Crudo

Para que las gasolinas A y B sean de una calidad aceptable, las mezclas
deben tener la siguiente composicio´ n:

• La gasolina A debe contener al menos el 30% de crudo 1, al menos el 20%


de crudo 2 y no ma´s del 30% de crudo 3.

• La gasolina B debe contener al menos el 25% de cada uno de los crudos.

Los precios de venta de un barril de las gasolinas A y B son de 40 y 35


unidades monetarias respectivamente.
El objetivo es organizar la produccio´ n de gasolinas para obtener el ma
´ximo beneficio por las ventas.

• Variables de decisio´ n.

xij : cantidad de barriles de crudo i, i = 1, 2, 3, en la gasolina de tipo j, j = A, B.

• Funcio´ n objetivo (maximizar el beneficio) = Precio de venta − Coste


de produccio´ n.

– Precio de venta = 40(x1A + x2A + x3A ) + 35(x1B + x2B + x3B


).
– Coste de produccio´ n = 10(x1A + x1B ) + 8(x2A + x2B ) + 12(x3A + x3B ).
Haciendo ca´lculos, el objetivo es el siguiente:

max z = 30x1A + 32x2A + 28x3A + 25x1B + 27x2B + 23x3B .

• Las restricciones son las cantidades disponibles de crudos y la composicio´


n de las gasolinas.

– Cantidades de crudo.

x1A + x1B ≤ 2000 (crudo 1)


x2A + x2B ≤ 3000 (crudo 2)
x3A + x3B ≤ 1000 (crudo 3)

– Composicio´ n de las gasolinas.


30 (x1A + x2A + x3A )
x1A ≥
100
20 (x1A + x2A + x3A )
x2A ≥
100
30 (x1A + x2A + x3A )
x3A ≤
100
25 (x1B + x2B + x3B )
x1B ≥
100
25 (x1B + x2B + x3B )
x2B ≥
100
25 (x + x2B + x3B
x3B ≥ 100 1B
)

– Restricciones de no negatividad.

xij ≥ 0, i = 1, 2, 3, j = A, B.

Ejemplo 4. Problema de la dieta.


En un centro de nutricio´ n se esta´ preparando una dieta que contenga las
vi- taminas A, B, C y D en las siguientes cantidades: al menos 25 miligramos
de vitamina A, entre 25 y 30 miligramos de vitamina B, al menos 22 miligramos
de vitamina C y no mas de 17 miligramos de vitamina D.
Vitaminas (mg/g) Coste
Nutrientes

Las vitaminas se pueden obtener ba´sicamente a trave´s de cuatro


nutrientes. La tabla muestra la cantidad de miligramos de cada vitamina que
contiene cada gramo de nutriente y el coste de cada gramo de nutriente.
Un modelo lineal para encontrar una dieta de m´ınimo coste que garantice el
aporte necesario de vitaminas se plantea de la siguiente manera.

• Variables de decisio´ n.
xj : cantidad de gramos del nutriente j, j = 1, 2, 3, 4, que se debe incluir
en la dieta.

• Funcio´ n objetivo: minimizar el coste de la dieta.

min z = 0.014x1 + 0.009x2 + 0.013x3 + 0.016x4 .

• Restricciones: garantizar la cantidad necesaria de vitaminas.

2x1 + x2 + x3 + x4 ≥ 25 (Vitamina
A)

x1 + 2x2 + 2x4 ≥ 25 (Vitamina

B) x1 + 2x2 + 2x4 ≤ 30

(Vitamina B) x2 + 2x3 + x4 ≥ 22

(Vitamina C ) x1 + 2x2 + x4 ≤ 17

(Vitamina D)

• Restricciones de no negatividad: x1 , x2 , x3 , x4 ≥ 0.
1.3. Construccio´
10 n de Tema 1. Modelos lineales y solucio´
10 n gra
modelos 10 ´fica 10

Ejemplo 5. Problema del corte o´ ptimo.


Una empresa produce rollos de papel de un ancho esta´ndar de 5 metros y de
20 metros de longitud. Las demandas que recibe de sus clientes habituales son
de diferentes anchos y de longitud 20 metros. Para satisfacer las demandas la
empresa tiene que cortar los rollos esta´ndar. Los pedidos para el pro´ ximo mes
son los siguientes:

100 rollos de 3 metros de ancho,


100 rollos de 2 metros de ancho,
300 rollos de 1.5 metros de ancho,
150 rollos de 1 metro de ancho.

Para obtener las anchuras demandadas existen varios cortes posibles de los
rollos esta´ndar. En este problema lo que tenemos que calcular es el nu´ mero
de cortes de cada tipo. Para ello comenzamos construyendo la tabla de todos
los posibles cortes de rollos de 5 metros de ancho.

Opcio´ n Anchuras (m)


Papel
de corte

• Variables de decisio´ n.
xj : nu´ mero de rollos que se cortan con la opcio´ n j, j = 1, . . . , 7.

• Funcio´ n objetivo: minimizar el gasto de papel, es decir, minimizar el nu´


mero total de rollos que se deben cortar.
min z = x1 + x2 + x3 + x4 + x5 + x6 + x7 .

• Restricciones: satisfacer las demandas.

x1 + x2 ≥ 100
x1 + 2x3 + x4 + x5 ≥ 100
2x4 + 2x6 ≥ 300
2x2 + x3 + 3x5 + 2x6 + 5x7 ≥ 150

• Las variables deben de ser no negativas: x1 , . . . , x7 ≥ 0.


El problema tambie´n se puede plantear definiendo otros posibles cortes
acep- tando que se desperdicie papel. En la siguiente tabla se recogen los cortes
en los que se pierden hasta 0.5 m.

Opciones Anchuras (m) Papel


de corte

10
11
En este caso el nu´ mero de cortes y, por lo tanto, el nu´ mero de variables
es
11. Con la misma definicio´ n para las variables, se tiene el siguiente modelo
lineal para el problema.

min z = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11

sujeto a

x1 + x2 + x3 ≥ 100
x1 + 2x4 + x5 + x6 + x7 ≥ 100
x2 + 2x5 + x6 + 3x8 + 2x9 + x10 ≥
300
2x3 + x4 + x6 + 3x7 + 2x9 + 3x10 + 5x11 ≥ 150
x1 , . . . , x11 ≥ 0

1.4 Solucio´ n gra´


fica

En general, y a pesar de que todos los problemas lineales no se pueden resolver


gra´ficamente, todos tienen una interpretacio´ n geome´trica. La solucio´ n gra
´fica de modelos lineales tiene intere´s porque se pueden observar gra´ficamente
conceptos importantes de la programacio´ n lineal tales como mejora de una
solucio´ n, tipos de solucio´ n, puntos extremos, etc.
El conjunto de soluciones del sistema de inecuaciones se obtiene represen-
tando cada ecuacio´ n y determinando el semiespacio delimitado por cada
inecua- cio´ n. As´ı se obtiene el pol´ıgono de soluciones. La funcio´ n objetivo
es una familia de rectas paralelas, una para cada valor de z. El valor de z crece
desplazando la recta sobre el conjunto de soluciones y alcanza el o´ ptimo
cuando se desplaza hasta la frontera del conjunto. Si el problema tiene solucio´ n
acotada el valor o´ ptimo de la funcio´ n objetivo siempre se encuentra en un ve
´rtice del pol´ıgono.
1.4. Solucio´
13 n gra Tema 1. Modelos lineales y solucio´
13 n gra
´fica 13 ´fica 13

Problema con solucio´ n o´ ptima u´ nica. Considerar el modelo


lineal

max z = 6x1 + 3x2


sujeto a
2x1 + 4x2 ≤ 8
−x1 + 4x2 ≤ 4
x1 − x2 ≤ 2
x1 , x2 ≥ 0

El objetivo es determinar los valores de x1 y x2 que, verificando las


restricciones, maximicen el valor de la funcio´ n z = 6x1 + 3x2 .
Se puede representar la regio´ n que delimitan las restricciones en un
sistema de coordenadas. Cada restriccio´ n del modelo es un semiespacio
cerrado. Por ejemplo, para representar el semiespacio cerrado dado por la
primera restriccio´ n,
2x1 + 4x2 ≤ 8, se representa gra´ficamente la recta 2x1 + 4x2 = 8. Esta
recta divide el plano en 2 semiespacios. Los puntos delimitados por la restriccio
´ n son los de uno de los semiespacios ma´s los puntos de la recta. Para
identificar el semiespacio delimitado por cada restriccio´ n basta con tomar un
punto de uno de los semiespacios y comprobar si cumple la restriccio´ n. En la
representacio´ n gra´fica se indica con flechas el semiespacio asociado a cada
restriccio´ n.
Representando todas las restricciones, y teniendo en cuenta que las variables
deben tomar valores no negativos, se obtiene el conjunto de soluciones del pro-
blema que aparece sombreado en la gra´fica.
x2
max
−x1 + 4x2 = 4

B
A x1 − x2 = 2
C

O
D 2x1 + 4x2 = 8 x1
El pol´ıgono OABC D es un conjunto convexo. Se pueden determinar los
pun- tos extremos del conjunto resolviendo sistemas de ecuaciones. El punto
O es el origen de coordenadas. El punto A = (0, 1) es la interseccio´ n de
la recta
−x1 + 4x2 = 4 con el eje de ordenadas. El punto D = (2, 0) es la interseccio´ n
de la recta x1 − x2 = 2 con el eje de abcisas. El punto B = ( 34 , 34 ) es la inter-
seccio´ n de las rectas −x1 + 4x2 = 4 y 2x1 + 4x2 = 8. El punto C = ( 8 , 2 ) es
la 3 3
interseccio´ n de las rectas x1 − x2 = 2 y 2x1 + 4x2 = 8.
El valor de z aumenta desplazando la funcio´ n objetivo a trave´s de la
regio´ n de soluciones, aleja´ndola del origen de coordenadas hasta llegar a la
frontera del conjunto. As´ı se puede comprobar que el o´ ptimo se encuentra en
el punto C y el valor de la funcio´ n objetivo es z ∗ = 18.
Problema infactible. Considerar el modelo lineal
max z = x1 + x2
sujeto a
2x1 + x2 ≤ 5
x1 − x2 ≥ 4
x1 , x2 ≥ 0

Representando todas las restricciones del problema podemos comprobar,


como se ve en la gra´fica, que no hay ningu´ n punto que verifique todas las
restricciones. Por tanto, el problema no tiene solucio´ n.

x2

2x1 + x2 = 5

x1 − x2 = 4

x1
Problema con soluciones o´ ptimas mu´ ltiples. Considerar el modelo
lineal

max z = x1 + x2
sujeto a
x1 + x2 ≤ 8
−4x1 + 4x2 ≤ 8
2x1 − x2 ≤ 6
x1 , x2 ≥ 0

Para calcular el conjunto de soluciones del problema se procede como en el


ejem- plo anterior. En este caso el conjunto de soluciones es el pol´ıgono
OABC D que aparece sombreado en la gra´fica. El punto B es la interseccio´ n
de las rectas x1 + x2 = 8 y −4x1 + 4x2 = 8, es decir, B = (3, 5). El punto C es
la interseccio´ n
14 10
de
). las rectas x1 + x2 = 8 y 2x1 − x2 = 6, es decir, C = ( ,
3 3

x2
B
max

C
x1 + x2 = 8
A

O D x1
−4x1 + 4x2 = 8 2x1 − x2 = 6

La funcio´ n objetivo crece si se desplaza la recta alejandola del origen de


coor- denadas hasta la frontera del conjunto de soluciones. Las soluciones o´
ptimas son los puntos extremos B, C y los puntos del segmento BC . El valor o
´ ptimo de la funcio´ n objetivo es z ∗ = 8.
Regio´ n no acotada. Solucio´ n no acotada. Considerar el modelo
lineal
max z = x1 + 2x2
sujeto a
x1 + 2x2 ≥ 2
−2x1 + x2 ≤ 4
x1 , x2 ≥ 0

Como se ve en la gra´fica el conjunto de soluciones es no acotado y, la


funcio´ n objetivo se puede desplazar indefinidamente aleja´ndola del origen de
coordenadas. Por tanto, el valor o´ ptimo de z crece hasta infinito. Se dice que la
solucio´ n o´ ptima es no acotada.

x2

−2x1 + x2 = 4

max

x1
x1 + 2x2 = 2

Regio´ n no acotada. Solucio´ n acotada. Considerar el modelo


lineal
min z = x1 + 2x2
sujeto a
x1 + 2x2 ≥ 2
−2x1 + x2 ≤ 4
x1 , x2 ≥ 0
En este ejemplo el conjunto de soluciones es no acotado, pero se puede
encon- trar el o´ ptimo acotado desplazando la funcio´ n objetivo acerca´ndola
al origen de coordenadas hasta la frontera de la regio´ n. As´ı podemos
comprobar que el o´ ptimo se encuentra en los puntos A = (0, 1), B = (2, 0)
y en todos los puntos del
segmento y z ∗ = 2.

x2

−2x1 + x2 = 4

min
A

B x1
x1 + 2x2 = 2

En los ejemplos hemos visto todos los tipos de soluciones que se pueden en-
contrar al resolver un modelo lineal. Se trata de poder identificar las condiciones
asociadas a cada tipo de solucio´ n. Esto se hace en al Tema 2 en el que se da
el algoritmo simplex para resolver problemas lineales.

Las definiciones y propiedades de semiespacio, conjunto convexo, etc. se dan


con ma´s detalle en el Apendice A dedicado al a´lgebra lineal y conjuntos
convexos. En el Tema 2 probaremos que la solucio´ n o´ ptima de un modelo
lineal se encuentra en un punto extremo del conjunto convexo de soluciones.
18 Tema 1. Modelos lineales y solucio´ n gra
18 ´fica

OpenCourseWare, UPV/EHU

Vous aimerez peut-être aussi