[ Visualizar este mensaje Online ] [ Reenviar a un amigo ] [ Imprimir ]

Carlos Pellegrini 781 Piso 1
CABA. Argentina

No optimiza el que quiere sino el que puede


Tome en cuenta las cuestiones importantes para resolver un problema de optimización.
No malgaste su capital y recursos humanos.
Evite las malas praxis.




En la última década, la optimización salió del área restringida de la producción industrial (y algunos otros sectores como el transporte y las telecomunicaciones) para intentar introducirse en áreas comerciales más amplias. En el a?o 2004 se empieza a hablar de BI Modeling and Optimization (BIMO). Los vendedores tradicionales de software de Investigación Operativa comienzan a mirar hacia este sector y los principales players en BI intentan extender su oferta de software para incluir este tipo de herramientas.

Empiezan a discutirse en el área de BI las distintas cuestiones de la investigación operativa y sus características. Se habla de la “nueva infraestructura de BI”. Se realizan taxonomías de las herramientas, incluyendo la clase más reciente de componentes de optimización anidados en sistemas empresariales más amplios como los de PeopleSoft, Manugistics, i2 y SAS. Solía presentarse a la optimización como el "non plus ultra" del análisis de datos. El resultado hasta ahora, casi diez a?os después, es relativamente escaso en todas estas nuevas áreas, más allá de la parafernalia de marketing que, luego de la explosión inicial fue decreciendo en consistentemente en los a?os posteriores, lo que es un claro signo del declinamiento. Sin embargo, la optimización, apropiadamente implementada, es un componentes muy importante de apoyo a las decisiones en cualquier organización ya que puede aportar, entre otras cosas, un conocimiento más profundo de los elementos de decisión, agregar consistencia, repetibilidad, adaptabilidad y persistencia a la misma y también la posibilidad de escalar a problemas más complejos. ?Por qué, entonces, la optimización no tuvo el impacto esperable? La respuesta es simple y la encuentra en el título de esta nota. En lo que sigue, le explicaremos las claves de un proyecto exitoso de optimización en una organización.

La optimización como investigación operativa

Los problemas de optimización se resuelven usualmente en el área que se denomina "investigación operativa". Este nombre no es casual. La primera parte (investigación) alude al enfoque que debe utilizarse para resolver estos problemas: el de la investigación científica. Esta es una disciplina usualmente no comprendida por muchos consultores en áreas económicas que carecen en absoluto de experiencia o incumbencia en esta área fundamental para una resolución correcta de problemas de optimización. La mayoría tiene una formación y experiencia en áreas ajenas a la investigación científica, o, más claramente, no posee ninguna formación científica. Sin embargo, son los recursos que pretendieron utilizarse en una gran mayoría de los proyectos de optimización en estas nuevas áreas.

?Qué implica que los problemas de optimización deban resolverse mediante un enfoque de investigación científica, es decir, usando el "método científico"? En primer lugar, el proceso debe comenzar por una cuidadosa observación y definición del problema a resolver. Esto incluye la recolección de datos. Esta etapa suele ser malentendida por los consultores sin experiencia. No hay (usualmente) una definición definitiva del problema al final de un proceso de formulación inicial del mismo y recolección de datos. Muchas veces, cuando no se tiene suficiente experiencia, estas tareas iniciales demoran tanto tiempo que por fuerza terminan generando algo que será una definición "final" (por decreto, no porque así deba serlo). Los procesos iniciales tomaron tanto tiempo e insumieron tantos recursos, que ya no hay posibilidad de revisar la definición (aunque todos reconozcan que no es buena). Obviamente, esto es un serio obstáculo para un proyecto. Una forma de encarar un proyecto totalmente errónea.

El paso siguiente es la construcción de un modelo formal. Se asume que este modelo será una representación suficientemente precisa de las características esenciales del problema, lo que permitirá generar soluciones apropiadas. Pero, en realidad, este supuesto es solo una hipótesis que deberá confirmarse en una etapa posterior, la de validación del modelo. Al igual que la anterior, este etapa tampoco es precisamente lineal ni nítidamente separable de la anterior o la siguiente. No hay una único modelo correcto para un problema. El enfoque apropiado es el de la famosa frase de un conocido estadístico (George E. P. Box): "Todos los modelos son erróneos, pero algunos son útiles".

La representación formal de un modelo debe estar apoyada por un conocimiento profundo de los distintos formalismos que pueden ser apropiados, lo mismo que también por un conocimiento exhaustivo de la vinculación entre los formalismos y los distintos métodos de resolución (habitualmente algoritmos), ya que no solo queremos representar el problema sino, fundamentalmente, encontrar una solución apropiada. Una parte no menor de esta tarea es la de poder ubicar un problema en alguna taxonomía de problemas de optimización, al modo en que un médico diagnostica una enfermedad ubicando los síntomas y signos del paciente dentro de una nosotaxia. Lamentablemente, la mayoría de los consultores no tienen estos conocimientos dado que carecen de formación en esta área. El efecto es, entonces, muy conocido: para un martillo cualquier cosa es un clavo.

Además de pésimas o al menos inadecuadas representaciones formales, existe también la tendencia a pensar un modelo como una representación definitiva, en lugar de lo que es, solamente una hipótesis temporaria que debe ser validada. Un modelo de optimización suele tener parámetros de distintos tipos cuyos valores se deben estimar. Esta estimación suele involucrar una nueva tarea de adquisición de datos en medio de la etapa de modelización. Muchas veces se requiere una estimación grosera inicial que deberá ajustarse progresivamente en esta y las siguientes etapas. Esto suele requerir un análisis de sensibilidad, una técnica ingenieril muy conocida. Usualmente, se requieren varios ciclos de modelización-validación antes de llegar a un modelo provisoriamente satisfactorio. Por supuesto, más de una vez es necesario retroceder a la etapa anterior de formulación y recolección de datos. En conjunto, es un proceso de enriquecimiento (no necesariamente acumulativo) de un modelo tratando de encontrar una solución de compromiso entre dos propiedades importantes: precisión y tratabilidad.

Obtenido un modelo formal, la etapa siguiente es desarrollar un procedimiento para obtener una o más soluciones (los valores de las variables de control que permiten obtener un óptimo en la función objetivo). Muchas veces, esta etapa es sencilla. Consiste en utilizar alguno de los tantos algoritmos estándar existentes implementado en algún software. Un objetivo importante de la modelización previa consiste en llegar a una representación que luego pueda ser resoluble mediante alguno de estos algoritmos. El desarrollo de nuevos algoritmos y su implementación es una tarea mucho más costosa y, por lo general, innecesaria.

La etapa siguiente es la validación del modelo. Ya vimos que esta etapa debe estar íntimamente entrelazada con la de modelización. Como la postulación de un modelo es (ni más ni menos) una hipótesis, la forma de comprobarla es mediante experimentación. Esto requiere una formación apropiada en un área relativamente compleja.

Luego vienen las etapas de validación o testeo del modelo y, finalmente, la etapa de implementación. Ninguna de ellas es menos compleja ni menos crucial que las anteriores. Más de una buena resolución de un problema de optimización naufragó por problemas en su implementación posterior. Para no extender excesivamente esta nota, no las describiremos acá con mayor detalle.

Más allá de la necesidad de realizar correctamente una serie de etapas, básicamente de investigación según el método científico, la disciplina de la investigación operativa tiene otras características igualmente importantes que deben respetarse. No se trata de investigación teórica, sino aplicada en el contexto de organizaciones de distinto tipo. Esto implica varias cosas:

  • El objetivo del problema de optimización debe estar alineado con los otros objetivos de la organización. Más aun, qué es una buena solución para el problema de optimización se define en base a las características de la organización (recursos, límites, etc.), no a características formales.
  • Un proyecto de optimización debe ser llevado a cabo por un grupo interdisciplinario transversal en una organización. No bastan matemáticos aplicados o estadísticos y algún empleado del área de negocios involucrada. Cualquier organización es un sistema con todo lo que esto implica, y un problema de optimización es un problema sistémico. Esto significa que en un proyecto de este tipo deben participar representantes de distintos sectores y con distintas incumbencias profesionales para ayudar a formular correctamente el problema, asegurarse de prever, detectar y disolver los obstáculos que pudiesen presentarse, diagnosticar y resolver apropiadamente el impacto de la solución sobre la organización, etc. Todas estas cuestiones son tan importantes para el proyecto, como una correcta realización de los pasos antes mencionados.
La optimización como concepto

Técnica y específicamente, "optimizar" significa encontrar el máximo global de una función, pero esto no es siempre posible o conveniente en un problema aplicado. Resolver un problema de optimización en una empresa u otro tipo de organización no es solamente una cuestión de resolver un problema matemático, es principalmente una cuestión de política de la empresa. Si usted no reconoce esto, perdió de entrada.

La función principal del equipo de optimización (o más en general, de investigación operativa) es el de soporte de las decisiones. Su objetivo más importante es identificar un número de alternativas particularmente atractivas bajo diferentes supuestos o diferentes valores de parámetros, probablemente con una evaluación de costo-beneficio, que luego deberán ser ponderadas por quienes deban tomar las decisiones. Una cuestión importante en la definición de un problema de optimización es formular los objetivos apropiados y para esto es importante determinar quién o quiénes tomarán las decisiones sobre el problema en curso y comprender su particular perspectiva sobre el problema, los objetivos y la organización en general.

Brown cheap hair extensions is a favorite choice for many people. real hair extensions is because it is safe enough to be close to black, hair extensions and charming.

Muchas veces no existe un solo objetivo sino varios que pueden combinarse de muchas maneras (una cuantas veces de manera contradictoria), de modo que el problema resulta ser un problema multiobjetivo, más complejo y difícil de resolver que un problema uniobjetivo. A veces es posible formular algunos de estos objetivos como restricciones, lo que puede simplificar el problema por un lado, pero tal vez sobreconstre?irlo, impidiendo así encontrar una solución apropiada.

Una solución "óptima" de un problema es, en realidad y suponiendo que se haya podido encontrar, óptima solamente respecto de un modelo, que no es más que una representación (considerablemente idealizada) del problema real. Un problema puede tener tantas soluciones "óptimas" como modelos se puedan generar.

En síntesis, "optimizar", en el mundo real es un concepto bastante más complejo y diverso de lo que su definición matemática permite suponer. Un problema real tiene demasiados imponderables e incertidumbres, cosas que un modelo trata de desechar para quedarse con las cuestiones "nucleares". Si el modelo fue bien formulado o probado podríamos esperar que la solución resultante tienda a ser una buena aproximación al curso ideal de acción para el problema real. Por ende una solución "óptima" sería la mejor de un conjunto de soluciones posibles (factibles) obtenidas de diversos modos. Esto, que es lo máximo a lo que podemos aspirar y pone en una perspectiva bastante distinta al concepto de "óptimo".

Tomando esto en cuenta, un premio nobel en economía, Herbert Simon, acu?ó el término "satisficing" (que traduciremos por "satisfacer"). Este término es una combinación de las palabras "satisfactory" y"optimizing". En muchas situaciones prácticas buscamos una solución "suficientemente buena", es decir, que satisfaga ciertas restricciones y sea mejor que otras, pero de ningún modo podemos garantizar (ni interesa muchas veces) que la solución sea "óptima". La distinción entre optimización y satisfacción es la diferencia entre la teoría y la práctica. En palabras de un conocido profesional inglés de la investigación operativa, Samuel Eilon, "Optimizar es la ciencia de lo último; satisfacer es el arte de lo factible". Por supuesto, un equipo de optimización debe tratar de aportar a la toma de decisiones tanto de la "ciencia de lo último" como sea posible, pero también tiene que tener clara conciencia de que debe aportarle a quien o quienes tomarán una decisión una guía de acción satisfactoria en un tiempo razonable. Esto implica, muchas veces, manejarse en el terreno de los procedimientos heurísticos (no la programación lineal) tratando de encontrar no una sino un conjunto de soluciones subóptimas que deberán analizarse, típicamente mediante análisis what-if (también llamados análisis de post-optimalidad). Todo este análisis es, de nuevo, muy poco lineal, más bien iterativo de mejoramiento progresivo.

Una estrategia apropiada

La resolución de un problema de optimización es un problema de estrategia por varias razones. Un proyecto de este tipo nunca es lineal. Es un proceso iterativo de refinamiento progresivo que requiere más de una vuelta atrás y reformulación. Es muy frecuente que luego de formulado el problema y recolectados algunos datos, se descubra que con los recursos existentes no es posible resolverlo, lo que implica volver a la etapa de formulación. También suele ocurrir que la etapa de modelización formal o resolución matemática encuentre dificultades que obliguen a reformular algún paso anterior. O, desgraciadamente, que la validación posterior del modelo y sus resultados obliguen a una nueva vuelta atrás.

En muchos casos, es necesario una recolección previa de datos. Esta suele no ser una tarea sencilla. Demora mucho tiempo e insume muchos recursos. A veces se requieren generar nuevos repositorios de datos. Muchos datos suelen ser estimaciones iniciales bastante poco confiables que luego deberán refinarse.

Si una organización no tiene una cultura previa en la resolución de problemas de optimización, la falta del conocimiento o experiencia suficiente es un serio obstáculo. Muchas veces el aporte de consultores externos, expertos en optimización (con suerte), pero no en el dominio del problema, presenta un nuevo obstáculo importante.

Todas estas circunstancias hacen que los proyectos de este tipo sean, en buena medida, proyectos en los que es fundamental una estrategia apropiada para un desarrollo exitoso. La mejor, hasta ahora, es la de proceder mediante prototipos. Esto significa plantear un proyecto de optimización como el desarrollo de una secuencia de prototipos de complejidad y amplitud crecientes. Este modo de proceder tiene varias características ventajosas.

  • Requiere en cada etapa una recolección de datos mucho menos pesada. Las sucesivas recolecciones de datos están orientadas, restringidas y potenciadas por las recolecciones anteriores, de modo que el procedimiento es mucho más focalizado, flexible y adaptable a las contingencias que surgen siempre en un proyecto, y con el menor desaprovechamiento posible de los datos recolectados
  • Una evolución mediante prototipos se alinea muy bien con un método iterativo de refinamiento progresivo, e incluso lo potencia al hacerlo más efectivo
  • Cada prototipo resuelve un problema más sencillo, permite ganar en experiencia y conocimientos no solo sobre el problema, sino sobre los objetivos, modelos y métodos de resolución adecuados, y sobre los obstáculos, riesgos, etc. que, dentro de la organización, pueden encontrarse, a un costo mínimo. Además, muchas veces, estas soluciones claramente subóptimas son implementables.
  • La mayoría de los problemas prácticos admiten una descomposición en subproblemas más sencillos, resolubles mediante prototipos y que pueden implementarse en forma mucho más temprana que la solución completa.
Confusión de forecasting con optimizacion

Muchos problemas de optimización requieren resolver un problema en un futuro (probablemente, no muy lejano, pero futuro al fin). Por ejemplo, la mayoría de los problemas de transporte de mercancías deben optimizar un recorrido o capacidades de vehículos para la distribución de una cantidad y tipos de mercancías cuya composición exacta no se conocen actualmente, pero se deben poder prever. Esto significa que hay que poder predecir valores futuros de distintas cuestiones (en el ejemplo, cantidades y tipos de mercancías, demandas, inventarios, etc.) antes de poder resolver el problema de optimización. Para ello, debemos usar técnicas de forecasting (de predicción en series de tiempo). Este es un problema separado y distinto del problema de optimización que requiere métodos diferentes de resolución. En principio, los problemas de forecasting y de optimización son dos problemas independientes que deben resolverse independientemente.

?Cuál es la justa importancia del software y los consultores?

El software es una parte importante dentro de un proyecto de optimización, pero, no se confunda (o no deje que lo confundan), no es una condición ni necesaria ni suficiente de un proceso exitoso. Es cómodo y conveniente disponer de un software de optimización, simplifica y hace eficiente algunas de las tareas que mencionamos, pero software hay muchos, open source y propietarios, y ninguno le garantiza el éxito. Sí, en cambio, se lo garantiza (si el problema es resoluble) una adecuada comprensión práctica de los temas que hemos expuesto más arriba.

No obstante, algunas buenas prácticas son siempre buenos aliados:

  • Sobre el software, es conveniente que el que vaya a adquirir o utilizar tenga una cantidad importante de usuarios (satisfechos), con una buena integración de componentes específicos de optimización (habitualmente denominados "resolvedores") y un lenguaje de modelización (usualmente denominado "lenguaje algebraico"), y de componentes más generales de integración de datos para la parte de adquisición de datos, un lenguaje de programación subyacente suficientemente poderoso para ganar en flexibilidad y potencia, y un componente de generación de reportes y gráficos, que facilite el trabajo posterior de comunicación de los resultados obtenidos en la empresa. Los folletos de marketing y los "casos de éxito" son enga?osos. Pregunte a usuarios con experiencia.
  • Sobre los recursos humanos de apoyo, la utilización del software suele requerir (al menos inicialmente) uno o más consultores "expertos" en él. Muchas veces, esos supuestos "expertos" son provistos por el fabricante del software (?quien más sabría usarlo de un modo "experto"?) y son "vendidos" también como "expertos" justamente en el tipo de problemas que usted debe resolver. Pero, cuidado. Por distintas razones de economía laboral y políticas de recursos humanos, los consultores "expertos" de una empresa de software suelen ser consultores junior, no expertos en el software y mucho menos en el tipo de problemas sobre los que deben trabajar. En el mejor de los casos, cuando realmente son "expertos", son cautivos, sin una opinión independiente y supeditados a las necesidades y objetivos del vendedor del software que no necesariamente son los de su proyecto o empresa. Muchos proyectos fracasan o son mucho más costosos o ineficientes debido a las malas praxis de los que este tipo de recursos son responsables. La mejor estrategia es, de lejos, que usted consiga, de modo independiente, un equipo externo de acompa?amiento que no esté ligado al vendedor de software ni comprometido con él. Existen numerosas consultoras que pueden proveer estos servicios.

Si todo lo anterior lo toca de cerca, podemos ofrecerle las siguientes cosas:

  • Explicarle más detenidamente cuál es el problema que debe resolver o cómo planificar un proyecto de este tipo, mediante un curso breve introductorio, luego de haber comprendido sus necesidades (una evaluación inicial).
  • Explicarle cómo puede resolver el problema usted mismo usando los métodos correctos, mediante un curso de capacitación o un coaching.
  • Resolverle nosotros el problema mediante la suscripción a un servicio de optimización que utilizará los métodos apropiados, si el problema es suficientemente sencillo. Un servicio implementado por especialistas con mucha experiencia, no "consultores junior"...
  • Dise?ar un proyecto de desarrollo e implementación para su problema de optimización y llevarlo a cabo o acompa?arlo en su realización.
 

Cualquiera sea su inquietud, por favor, tome contacto con nosotros


Carlos Pellegrini 781 Piso 1 - CABA - Argentina
Tel: (54 11) 5217-4636

info@maysaconsultores.com.ar  www.maysaconsultores.com.ar

[ Remover Suscripción ]
  [ Actualizar mis Datos]

Este mensaje ha sido enviado a %%emailaddress%% cumpliendo la normativa legal vigente en la República Argentina. Ud. ha recibido este mensaje porque consideramos que sería de su interés. Si no fue asi y no desea seguir recibiendo nuestros mensajes, envíe un mensaje con el Asunto “REMOVER” a la siguiente dirección de correo electrónico: info@maysaconsultores.com.ar . Al recibirlo, bloquearemos su dirección de correo electrónico en nuestra lista de distribución y excepto que lo solicite expresamente, procuraremos no enviarle mensajes similares en el futuro (Ley 25.326 -Art. 27- Decreto 1.558/01).