Vamos a aprender a crear y resolver un ejercicio del siguiente tipo (más complicados que este sin duda que también):
Un carpintero tiene que construir mesas rectangulares cuyos lados no sobrepasen
En este tipo de problemas, aparece cierta cantidad que se ha de maximizar (también podría ser minimizar, pero no es este el caso). En este ejemplo es el perímetro de las mesas, que está sujeto a ciertas restricciones. La función a maximizar ( minimizar ) se lama función objetivo. El valor máximo (o mínimo) de la función objetivo se halla en los bordes de la zona factible delimitada por las restricciones del problema. A este valor se le llama el valor óptimo.
Veamos cómo expresar el problema del ejemplo matemáticamente:
Igual que en el primer nivel, lo primero a identificar son las variables o incógnitas. En este caso serán el lado largo de la mesa (al que llamaremos
Identificamos la función objetivo. ¿Qué se nos pide maximizar/minimizar? y ¿Cómo se expresa esta cantidad en función de las variables del problema?
En nuestro caso se nos pide maximizar el perímetro (al que llamaremos
Escribimos las restricciones como inecuaciones. Estas restricciones son:
-
Los lados no pueden ser de más de dos metros (ni de menos de cero, ya que no tendría sentido):
- La suma del lado mayor y el doble de la menor no ha de sobrepasar los
metros:
Identificamos la región de validez definida por las restricciones y calculamos los vértices de dicha región. Las rectas asociadas a las restricciones son:
y , que son rectas paralelas al eje , que pasan por y respectivamente. Las desigualdades de que provienen definen una franjade soluciones factibles entre y . y , que son rectas paralelas al eje , que pasan por y respectivamente. Las desigualdades de que provienen definen una franjade soluciones factibles entre y . , cuya zona de validez está por debajo de la recta (se puede ver comprobando que el punto , que está por debajo de la recta, cumple la inecuación ).
Los vértices de la región de validez se calculan como en el nivel anterior: viendo en qué puntos se cortan las rectas definidas por las restricciones y luego seleccionar de estos puntos los que cumplen todas las inecuaciones. Haciendo esto vemos que los vertices de la región de validez tienen por coordenadas:
-
donde cortan e . -
donde cortan e . -
donde cortan e . donde cortan e .
El último paso es calcular el valor de la función objetivo en los vértices de la región de validez, para ver cual de los puntos maximiza el perímetro de las mesas.
Vemos que el perímetro se maximiza en el punto
Otros ejemplos:
Ejemplo
Los
Primero identificamos las variables. En este caso serán el número de autobuses del tipo A (al que llamaremos
Las restricciones del problema en forma de inecuaciones:
-
, (por lógica, no podemos alquilar un número negativo de autobuses). -
(sólo hay autobuses del tipo A). -
(sólo hay autobuses del tipo B). -
(sólo hay conductores). (queremos que el número total de plazas de autobús sea disponibles sea como mínimo igual al número de alumnos).
Buscamos las rectas asociadas a las inecuaciones, las zonas de validez de cada inecuación y la zona factible común a todas las restricciones.
Y la zona factible queda:
El siguiente paso es calcular los vértices de la región de validez. En este caso son:
La función objetivo (el precio) toma los siguientes valores en los vértices de la región de soluciones factibles:
€ € €
como queremos minimizar el precio, el punto que queremos es el
En resumen, en todo problema de programación lineal tendremos que seguir los mismos pasos:
- Elegir las variables del problema.
- Escribir la función objetivo en función de los datos del problema.
- Escribir las restricciones en forma de inecuaciones.
- Determinar la región factible que indican las restricciones.
- Calcular las coordenadas de los vértices de la región de soluciones factibles.
- Calcular el valor de la función objetivo en cada uno de los vértices para ver en cuál de ellos presenta el malor máximo o mínimo, según nos pida el problema.