96 387 70 69

Optimización de la producción multiobjetivo

Optimización multiobjetivo
Introducción a la optimización multiobjetivo

Según la Real Academia de la Lengua Española Optimizar es buscar la mejor manera de realizar una actividad. Esto es algo en lo que probablemente todos estemos de acuerdo, sin embargo, si preguntamos encontraremos diferencias sobre el significado de “la mejor manera”.

En el ámbito de la cadena de suministro, la mejor manera de gestionar los suministros será para un financiero, aquella que minimice la inversión y el riesgo del inventario. Por el contrario, para un comercial será aquella que permita dar el mejor nivel de servicio al cliente. Mientras que para un gestor de compras, lo importante será realizar el aprovisionamiento de manera que minimice los costes de adquisición. Todos ellos buscan maximizar o minimizar un objetivo (inversión, nivel de servicio, costes…). No existe pues una “mejor manera” universal.

Pero, además, si profundizamos en las respuestas, todos estarán de acuerdo en la necesidad y conveniencia de buscar un equilibrio entre los diferentes ‘objetivos’. Aunque se dé una mayor relevancia a los intereses de cada uno.

En la mayoría de decisiones cotidianas se busca satisfacer varios objetivos. El concepto de optimización multiobjetivo no es para nada algo abstracto y alejado de la realidad, sino más bien todo lo contrario.

Sin embargo, es muy habitual que cuando se aplica la optimización a estos problemas se acaben reduciendo a optimizar un único objetivo. Esto resulta en que se terminan obteniendo soluciones que no son las esperadas e incluso que carecen de sentido.

Aplicaciones de la optimización multiobjetivo

La optimización multiobjetivo tiene numerosas aplicaciones, de hecho, la inmensa mayoría de problemas reales requieren de este tipo de optimización.

Algunos de los más importantes son:

  • Programación de la producción: normalmente se busca cumplir con las fechas de entrega, maximizar la productividad y equilibrar la carga de trabajo de las máquinas y/o de los trabajadores. Y a pesar de que puedan parecer equivalentes, la realidad es que mejorar uno no siempre implica que mejore el otro, sino más bien todo lo contrario.
  • Rutas de vehículos: en este caso se busca servir al máximo número de clientes recorriendo los mínimos Km posibles. Además, es habitual que se intente utilizar la mínima cantidad de vehículos que sea posible.
  • Selección de personal: aquí entran en juego una gran cantidad de factores a considerar y tremendamente difíciles de comparar. Podemos encontrarnos casos donde la diferencia entre los candidatos se encuentre entre los años de experiencia y los masters o el nivel de inglés.
  • Selección de carteras: Si asumimos mayor riesgo, el potencial beneficio también suele ser mayor. Por lo que habría que determinar dónde está el punto óptimo entre ambos o al menos el que más nos conviene.

Está claro que los problemas más habituales e importantes a los que se enfrentan las empresas tienen una naturaleza multiobjetivo. Y la lista de aplicaciones de la optimización multiobjetivo podría extenderse mucho más.

Por tanto, si tenemos un enfoque multiobjetivo, las soluciones que obtengamos nunca podrán responder completamente a nuestras necesidades, ya que no se estarán contemplando todas las variables.

Qué es la optimización multiobjetivo

Está claro pues que las aplicaciones son muchísimas, veamos pues en qué consiste la optimización multiobjetivo y algunas técnicas que se aplican para resolver este tipo de problemas.

Empecemos por su definición formal:función multiobjetivo

Donde las f son cada uno de los objetivos y las x son las variables de decisión.

Viendo la definición podríamos pensar que se trata de algo muy extraño y complicado, pero en realidad es un problema que nos podemos encontrar en el día a día. Empecemos con un ejemplo muy sencillo, vamos a comprar un jamón y tenemos un amplio rango de precios y calidades. Nuestros objetivos son minimizar el precio y maximizar la calidad, mientras que las variables de decisión son los distintos precios y las distintas calidades. Así ya no resulta tan extraño, ¿no?

Lo más complicado en este tipo de problemas es que en la función objetivo aparecen variables difícilmente comparables entre ellas. Siguiendo con el ejemplo, aunque fuéramos capaces de asignar un valor numérico a la calidad, ¿cómo valoramos si es mejor una calidad 3 y 150€ o una calidad 1 y 270€?

 

Normalmente tomaremos la decisión de una manera intuitiva y personal, pero en entornos complejos y de empresa, la decisión no es tan simple y además queremos que la elección obedezca a unos criterios claros y objetivos.

Veamos qué técnicas podemos utilizar en estos casos.

Técnicas para resolver problemas multiobjetivo

La primera idea que se nos puede ocurrir es dar pesos a cada uno de los objetivos, esto da lugar al conocido como método de las ponderaciones.

Por ejemplo, si en un problema de programación de la producción tenemos los objetivos de minimizar el tiempo de fabricación y el número de paradas de máquina, podríamos multiplicar el primer objetivo por una constante para tratar de darles la misma importancia a ambos.

El problema de esta técnica es que si la constante es demasiado grande puede hacer que el peso del tiempo de fabricación sea prácticamente despreciable comparado con las órdenes fuera de plazo. Mientras que si la constante es demasiado pequeña podría llegar a darse el caso de que la mejor solución fuera no fabricar nada (que supone un tiempo de fabricación cero). Absurdo, verdad?

Además, aun obviando la constante, si el tiempo es una magnitud grande comparada con las órdenes, se comportará como si tuviera como único objetivo el tiempo de fabricación.

Por eso, aunque parezca una buena técnica, hay que ir con mucho cuidado, porque podemos caer en soluciones muy alejadas de lo que estamos buscando.

Para evitar este tipo de problemas, una técnica muy recomendable es la optimización lexicográfica.

Básicamente consiste en establecer previamente un orden entre los objetivos y seguir ese orden para resolverlos como problemas mono-objetivo. Donde el óptimo del primero pasará a ser una restricción para el siguiente y así sucesivamente:optimización lexicográficaPuede parecer complejo, pero si lo trasladamos al ejemplo de programación de la producción, lo podremos ver de forma muy intuitiva.

Podemos considerar que el primer objetivo es minimizar las órdenes fuera de plazo, y el segundo minimizar el tiempo de fabricación. De este modo, resolveríamos el problema para el primer objetivo y tomando como restricción las órdenes fuera de plazo, se resolvería el problema de minimizar las paradas de máquina.

De este modo, una solución con menos órdenes fuera de plazo siempre sería peor, independientemente del tiempo de fabricación. Pero a igualdad de órdenes en plazo, prima la solución que las haga en menos tiempo.

Además de estas técnicas hay algunas más complejas, como el método de la restricción, la programación por metas o la optimización de Pareto, entre otras.  Pero éstas se escapan al “objetivo” de este artículo, que tiene un carácter introductorio.

Conclusión

Ante cualquier problema al que nos enfrentamos, es muy importante que valoremos cuales son los objetivos que queremos conseguir y hasta qué punto estamos dispuestos a sacrificar unos frente a otros.

Una vez tengamos claros los objetivos y los criterios de elección, nuestra recomendación es aplicar siempre sistemas de optimización multiobjetivo.

Nosotros somos partidarios de utilizar los que se basan en el método lexicográfico, pues son intuitivos y sencillos de comprender, pues evitan el problema de comparar directamente entre varios objetivos, una de las grandes dificultades que presenta la optimización multiobjetivo. Nuestras soluciones de optimización de la producción