La programación lineal estudia las situaciones en las que se exige maximizar o minimizar funciones que se encuentran sujetas a determinadas limitaciones, que llamaremos restricciones.

Función objetivo

La programación lineal consiste en optimizar (maximizar o minimizar) una función objetivo, que es una función lineal de varias variables:

f(x,y) = ax + by.

Restricciones

La función objetivo está sujeta a una serie de restricciones, expresadas por inecuaciones lineales:

  a1x + b1y ≤ c1
a2x + b2y ≤c2
...    ...    ...
anx + bny ≤cn

Cada desigualdad del sistema de restricciones determina un semiplano.

Explicaciones y ejemplos de programación lineal - 1

Solución factible

El conjunto intersección, de todos los semiplanos formados por las restricciones, determina un recinto, acotado o no, que recibe el nombre de región de validez o zona de soluciones factibles.

Explicaciones y ejemplos de programación lineal - 2

Solución óptima

El conjunto de los vértices del recinto se denomina conjunto de soluciones factibles básicas y el vértice donde se presenta la solución óptima se llama solución máxima (o mínima según el caso).

Explicaciones y ejemplos de programación lineal - 3

Valor del programa lineal

El valor que toma la función objetivo en el vértice de solución óptima se llama valor del programa lineal.

Pasos para resolver un problema de programación lineal

1.

Elegir las incógnitas.

2.

Escribir la función objetivo en función de los datos del problema.

3.

Escribir las restricciones en forma de sistema de inecuaciones.

4.

Averiguar el conjunto de soluciones factibles representando gráficamente las restricciones.

5.

Calcular las coordenadas de los vértices del recinto de soluciones factibles (si son pocos).

6.

Calcular el valor de la función objetivo en cada uno de los vértices para ver en cuál de ellos presenta el valor máximo o mínimo según nos pida el problema (hay que tener en cuenta aquí la posible no existencia de solución si el recinto no está acotado).

Ejemplo de programación lineal

Unos grandes almacenes encargan a un fabricante pantalones y chaquetas deportivas.

El fabricante dispone para la confección de 750 m de tejido de algodón y 1000 m de tejido de poliéster. Cada pantalón precisa 1 m de algodón y 2 m de poliéster. Para cada chaqueta se necesitan 1.5 m de algodón y 1 m de poliéster.

El precio del pantalón se fija en 50 € y el de la chaqueta en 40 €.

¿Qué número de pantalones y chaquetas debe suministrar el fabricante a los almacenes para que éstos consigan una venta máxima?

1

Elección de las incógnitas.

x = número de pantalones

y = número de chaquetas

2

Función objetivo

f(x,y)= 50x + 40y

3

Restricciones

Para escribir las restricciones vamos a ayudarnos de una tabla:

pantalones chaquetas disponible
algodón 1 1,5 750
poliéster 2 1 1000

x + 1.5y ≤ 750 2x+3y≤1500

2x + y ≤ 1000

Como el número de pantalones y chaquetas son números naturales, tendremos dos restricciones más:

x ≥ 0

y ≥ 0

4

Hallar el conjunto de soluciones factibles

Tenemos que representar gráficamente las restricciones.

Al ser x ≥ 0 e y ≥ 0, trabajaremos en el primer cuadrante.

Representamos las rectas, a partir de sus puntos de corte con los ejes.

Explicaciones y ejemplos de programación lineal - 5

Resolvemos gráficamente la inecuación: 2x +3y ≤ 1500, para ello tomamos un punto del plano, por ejemplo el (0,0).

2·0 + 3·0 ≤ 1 500

Como 0 ≤ 1 500 entonces el punto (0,0) se encuentra en el semiplano donde se cumple la desigualdad.

De modo análogo resolvemos 2x + y ≤ 1000.

2·0 + 0 ≤ 1 00

La zona de intersección de las soluciones de las inecuaciones sería la solución al sistema de inecuaciones, que constituye el conjunto de las soluciones factibles.

Explicaciones y ejemplos de programación lineal - 6

5

Calcular las coordenadas de los vértices del recinto de las soluciones factibles.

La solución óptima, si es única, se encuentra en un vértice del recinto. éstos son las soluciones a los sistemas:

2x + 3y = 1500; x = 0 (0, 500)

2x + y = 1000; y = 0 (500, 0)

2x + 3y =1500; 2x + y = 1000 (375, 250)

Explicaciones y ejemplos de programación lineal - 7

6

Calcular el valor de la función objetivo

En la función objetivo sustituimos cada uno de los vértices.

f(x, y) = 50x + 40y

f(0, 500) = 50·0 + 40·500 = 20000 €

f(500, 0) = 50·500 + 40·0 = 25000 €

f(375, 250) = 50·375 + 40·250 = 28750 €    Máximo

La solución óptima es fabricar 375 pantalones y 250 chaquetas para obtener un beneficio de 28750 €.