Modelos logisticos

MODELACIÓN DE SISTEMAS LOGÍSTICOS Carlos Quiñones Botero Institución Universitaria Esumer Todos los derechos reserva

Views 204 Downloads 0 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • galo
Citation preview

MODELACIÓN DE SISTEMAS LOGÍSTICOS

Carlos Quiñones Botero

Institución Universitaria Esumer

Todos los derechos reservados. Esta publicación no puede ser reproducida, ni en todo ni en parte, por ningún medio inventado o por inventarse, sin el permiso previo, por escrito, de la Institución Universitaria Esumer.

Las opiniones expresadas en esta publicación son responsabilidad directa de sus autores y no necesariamente representan los puntos de vista de la Institución Universitaria Esumer.

La correspondencia en relación con esta publicación debe dirigirse a la Oficina de Comunicaciones de la Institución Universitaria Esumer, Calle 76 80-26, Carretera al Mar, Medellín,

Colombia,

o

a

la

dirección

electrónica

[email protected]

© Institución Universitaria Esumer ISBN 978-958-8599-14-4 Coordinación Editorial Comité Editorial Esumer Asesora Juliana Marcela Vélez Díaz

Diseño de Portada Mónica Vasco Bastidas

Revisión y Evaluación Comité Editorial Esumer

Corrección de Estilo Juliana Marcela Vélez Díaz

Diseño y Diagramación Sergio Andrés Calderón Ossa

Institución Universitaria Esumer, 2011 Calle 76 80-126, Carretera al Mar Teléfono: (57) (4) 403 81 30 www.esumer.edu.co Medellín, Colombia

Publicado y hecho en Colombia Published in Colombia

CONTENIDO

Introducción

Reconocimientos

1. Técnicas de modelación 2. Heurísticas generales para construir modelos 3. Técnicas de modelación algebraica 4. Características de un buen modelo 5. Software para modelación 6. Técnicas de modelación con Excel 7. Herramientas para el análisis con hoja de cálculo 8. Opciones de Excel Solver 9. Obteniendo lo máximo de Excel Solver 10. Construcción de modelos logísticos

Glosario

Referencias

Modelación de sistemas logísticos

Introducción

El transporte es un componente esencial de las economías modernas. Alcanza el 10% del producto interno bruto de los Estados Unidos, el 15% de los gastos nacionales del Reino Unido, el 16% de los de Canadá y el 9% de los de Francia. Requiere inversiones intensivas en capital con largos periodos de implementación. No es estático y se ha debido adaptar a situaciones políticas y sociales rápidamente cambiantes. Zonas de comercio más extendidas, han resultado en menos centros de distribución y rutas de transporte más largas. El transporte por tierra en la Unión Económica Europea se incrementó un 34% entre 1988 y el año 2000. De acuerdo con esto, el campo de la modelación logística ha avanzado sustancialmente en los últimos 50 años, pero los libros que ayuden al estudiante a construir habilidades prácticas de modelación son realmente escasos. Más aún, la modelación de sistemas logísticos ha sido un tema que se ha evitado en la mayor parte de los cursos de postgrado en logística, los cuales han preferido enfocarse en temas estratégicos, dejando a los estudiantes con sólo la mitad del cuadro general de la logística.

La literatura ha evolucionado lentamente en los últimos 50 años. Tratando de superar esta situación, este libro no trata la programación lineal como el concepto básico de la modelación de sistemas logísticos, dado que la mayor parte de los problemas que aparecen en ingeniería y la administración ya no son problemas lineales sino que involucran elementos multiobjetivos, discretos y no lineales. El libro no se concentra en la programación lineal, puesto que si esto se hiciera así, los estudiantes concluirían que las técnicas de optimización son muy estrechas para encarar problemas reales. Y con la misma idea en mente, dado que todos los modelos de optimización reales requieren el uso del computador, se trata con detalle cómo modelarlos en el computador, desechando su solución manual.

Todo lo anterior nos lleva a descartar la explicación del método simplex. Por un lado, no se utiliza en la práctica profesional, y por otro, su desarrollo histórico ha oscurecido las

Carlos Quiñones Botero

6

Modelación de sistemas logísticos

intuiciones que el estudiante podría derivar de su uso. El énfasis se debe hacer en las habilidades e intuiciones para la modelación de problemas prácticos, y no en los algoritmos para su solución. El uso del método simplex sólo se puede efectuar sobre problemas de laboratorio que en nada ayudan para motivar a los estudiantes, quienes usualmente desean trabajar sobre problemas más similares a los que encararán en su práctica profesional.

Teniendo en cuenta que este libro está dirigido a las personas que administran la logística día a día, se hace énfasis en la solución práctica de los problemas logísticos, dejando de lado los detalles de los algoritmos que los resuelven. Para facilitar el desarrollo de los modelos, utilizamos hojas de cálculo, sean construidas en Excel o Open Office, las cuales se pueden encontrar en todas las empresas modernas. De esta manera, dejamos de lado algunos programas profesionales para optimización que pueden ser más poderosos y de más calidad, pero que no pueden ser obtenidos inmediatamente en forma gratuita, y que además, pueden requerir una curva de aprendizaje muy exigente.

Carlos Quiñones Botero

7

Modelación de sistemas logísticos

Reconocimientos

El autor quiere agradecer especialmente al Profesor Giovanny Cardona, Director de Investigaciones de la Institución Universitaria Esumer, por la motivación y colaboración para terminar este libro.

Carlos Quiñones Botero

8

Modelación de sistemas logísticos

1. Técnicas de modelación

Los modelos pueden diferir en cuanto a la facilidad con que pueden ser comprendidos sus resultados, qué tan rápido se pueden obtener estos, cuántas y cuáles herramientas matemáticas se requieren para obtener los resultados, cuánto poder de cómputo se requiere para obtener los resultados y cuántos datos se deben recolectar, entre otros factores.

A pesar de que la modelación tiene una base necesariamente matemática, incluso cuando se modela con hojas de cálculo, el modelador no necesita al final, conocer muchos detalles de matemática avanzada ni de los algoritmos subyacentes al proceso de solución. Bastan conocimientos elementales de las funciones algebraicas cuadráticas, exponenciales y logarítmicas, algunos principios de lógica, como las tablas de verdad de Y y O, que pueden utilizarse dentro de funciones como IF y MAX, y conocimientos sobre probabilidades y las distribuciones estadísticas más importantes. Tampoco se requieren habilidades muy avanzadas en Excel, puesto que el principal objetivo de la modelación es encontrar la representación del problema dentro de la hoja de cálculo que sea más efectiva y simple.

Proceso de construcción de un modelo.

Modelar es construir una simplificación de la realidad que capte sus aspectos más

Carlos Quiñones Botero

9

Modelación de sistemas logísticos

importantes, y que nos permita experimentar y ensayar ideas sin el costo y los riesgos de hacerlo en el mundo real. Todos los aspectos secundarios y no esenciales deben suprimirse del modelo, con el fin de disminuir su complejidad. Algunas personas ven este proceso como contraproductivo y artificial, criticando a veces, la sobresimplificación presente en los modelos. Sin embargo, en muchas oportunidades, la modelación es la única manera práctica de obtener un conocimiento más profundo sobre la realidad.

La primera fase se conoce como formulación del modelo y conlleva a que examinemos y tomemos decisiones sobre: 

Las variables, por ejemplo, las cantidades que se comprarán o fabricarán.



Las salidas, especialmente aquellas que nos permitirán evaluar el funcionamiento del modelo, tales como la eficiencia, ganancias y costos.



Estructura, o sea, las relaciones matemáticas que unen las diferentes partes del modelo. Una de las relaciones más usadas se formula como Ganancia = Ingresos – Costos.



Datos, especialmente todo lo relacionado con las fuentes de donde se tomarán.

Luego sigue la fase conocida como análisis del modelo, en la cual buscamos entender por qué una solución es benéfica y otra no lo es; otras veces, cuáles datos o entradas del modelo son más importantes para obtener un buen resultado; y en otras, cuáles entradas tienen una influencia más fuerte en los resultados. El análisis sigue unas metodologías claramente entendidas, haciéndolo más una ciencia que un arte.

Finalmente, pasamos a la fase de interpretación del modelo, en la cual traducimos los resultados del análisis en una forma que la gerencia pueda entenderlos claramente.

Comparación entre modeladores expertos y modeladores novatos.

Al igual que en tiempos medievales, la mejor manera de convertirse en un buen

Carlos Quiñones Botero

10

Modelación de sistemas logísticos

modelador es trabajar al lado de uno durante un tiempo. Como esto usualmente no es posible, se deben seguir otras vías. Una de ellas es comparar la manera en que modelan los expertos y compararlos con los novatos. Willemain (1995) hizo una investigación sobre este tópico y sus principales conclusiones fueron las siguientes: 

Los expertos siguen los pasos estándares al construir modelos, a saber, estudiar el contexto del problema, la forma de descomponer el problema en subproblemas y cómo escoger parámetros y relaciones, si el modelo puede ser implementado con los datos disponibles y si el resultado sí cumplirá los objetivos esperados, especialmente si el cliente aceptará el modelo propuesto. Pero los expertos no siguen estos pasos en un orden secuencial, sino que alternan continuamente entre ellos, a medida que avanzan en su trabajo. Así mismo, sólo le asignan un 60% de su tiempo a la construcción del modelo como tal, y a medida que lo construyen, están continuamente verificando su validez en cuanto a corrección y aceptabilidad por parte del cliente. Construyen los modelos de una manera iterativa, sintiéndose confortables con un alto grado de ambigüedad.



Los novatos, por otra parte, tienden a comprometerse con una única manera de construir el modelo, sin verificar otras aproximaciones posibles a la solución. Tampoco evalúan el funcionamiento del modelo tan crítica o frecuentemente como los expertos. Utilizan sólo los datos del problema, sin usar la experiencia o herramientas que podrían traerse de otros modelos. Su capacidad para analizar el problema se debilita por su bajo entrenamiento en matemáticas, lo que les impide pensar en términos de variables abstractas y relaciones, concentrándose en los datos numéricos como tales. La exploración del problema es poco estructurada, algo similar a una tormenta de ideas, sin tratar de organizar los problemas de una manera que les permita construir un modelo adecuado.

Carlos Quiñones Botero

11

Modelación de sistemas logísticos

Procedimientos para la solución de problemas.

El objetivo de la modelación es ayudar a tomar mejores decisiones empresariales, por lo que no debería ser considerada como un fin en sí misma. El proceso comienza con la identificación del problema y termina con la implementación de una solución. Algunas personas siguen una metodología altamente estructurada, mientras que otras resuelven el problema de una manera informal y poco estructurada. La modelación es sólo una de las muchas herramientas que existen para la solución de problemas.

El modelador puede ser la misma persona que quiere resolver el problema y debe desarrollar todos los pasos necesarios para construir el modelo. Es una situación que se presentará con más frecuencia en el futuro, porque existen muchos problemas pequeños que deben ser resueltos en las empresas y los conocimientos para resolverlos con hojas de cálculo serán más comunes.

En otros casos, los más frecuentes, es un miembro de un equipo quien quiere resolver un problema empresarial. Usualmente, es un experto en modelación, y al ser miembro de un equipo debe tener buenas habilidades para relacionarse y comunicarse con otras personas.

Y en otros, es un consultor independiente quien desarrolla el modelo para una empresa. Su papel exige que tenga excelentes habilidades para relacionarse y comunicarse. Dado que no pertenece a la empresa, debe hacer un esfuerzo para entender completamente el problema que le plantea el cliente. Algunos consultores tienen un perfil muy técnico y es importante seleccionarlos teniendo en mente que puedan describir la solución en términos entendibles para los directivos de la empresa.

No es muy común que las personas sigan un proceso estructurado para resolver problemas. Si una única persona está resolviendo el problema, esto no conlleva dificultades.

Carlos Quiñones Botero

12

Modelación de sistemas logísticos

Pero si el problema lo está resolviendo un equipo, un enfoque poco estructurado puede acarrear problemas porque lo que es intuitivo y claro para uno de los miembros del equipo, no lo es para otro. Para mitigar esta dificultad, describiremos un proceso secuencial que ayuda a darle estructura a la solución del problema, pero que no debería considerarse una camisa de fuerza. Como vimos anteriormente, los modeladores expertos saltan de un aspecto a otro del problema sin seguir un orden secuencial.

Para que un problema pueda ser resuelto debe estar bien definido. Esto no es lo más común, puesto que las situaciones que se encuentran en la práctica presentan datos poco claros o insuficientes, existe poca información relevante, los modelos conocidos para la solución no se adecuan exactamente al problema, etc.

De una situación empresarial determinada, se pueden extraer un conjunto de problemas diferentes. El problema que se escoja para resolver dependerá fundamentalmente de lo que nuestra experiencia indique que ayudará en forma más efectiva a la empresa. De manera que la definición correcta del problema es un paso crítico y se le debe dedicar suficiente tiempo y atención.

Por ejemplo, si la red logística de una empresa que tiene flota de vehículos propia presenta un aumento de sus costos, debido a un aumento en los salarios de los conductores, se podrían enumerar los siguientes problemas: 

¿De qué maneras podemos aumentar la productividad de los camiones?



¿De qué maneras podemos modificar el horario laboral de los conductores?



¿De qué maneras podemos optimizar las rutas de los camiones?



¿De qué maneras podemos cambiar el tipo de camiones en la flota para disminuir sus costos?



¿De qué maneras podemos subcontratar con un operador logístico los servicios de

Carlos Quiñones Botero

13

Modelación de sistemas logísticos

transporte para disminuir costos? 

¿De qué maneras podemos agregar el volumen transportado por nuestra empresa, con el volumen de otras empresas, para optimizar el costo de transporte?

Una distinción útil para resolver problemas es diferenciar entre problemas bien estructurados y problemas mal estructurados. Los problemas bien estructurados tienen las siguientes características: 

Sus objetivos son claros.



Las hipótesis que se deben hacer son obvias.



Todos los datos necesarios están disponibles.



La lógica que guía la solución está bien desarrollada y entendida en la literatura. Los problemas clásicos sobre sistemas de ecuaciones del álgebra básica son ejemplos de

problemas bien estructurados.

En los problemas mal estructurados, las condiciones anteriores son poco claras o están incompletas. Un ejemplo podría presentarse al tratar de decidir si se debe construir un centro de distribución automatizado o si se debe construir uno que tenga procesos manuales. Frecuentemente, en los problemas mal estructurados es más beneficioso tratar de encontrar alternativas por medio de la exploración del problema, que encontrar una solución definitiva. Tal exploración permitirá descubrir facetas importantes del problema que no eran obvias.

Se obtienen grandes beneficios en el proceso de solución de problemas si cada una de las personas involucradas en su solución es consciente sobre su estilo de pensamiento. Las personas en las que domina el pensamiento divergente tienen más capacidad para generar nuevas ideas que para evaluarlas. Por el contrario, las personas en quienes domina el pensamiento convergente tienen más capacidad para encontrar la solución única de un problema o para alcanzar una meta determinada. El pensamiento divergente es más útil en las

Carlos Quiñones Botero

14

Modelación de sistemas logísticos

primeras fases de la solución de los problemas, en tanto el pensamiento convergente lo es en las últimas fases. Cuando cada persona conoce su estilo de pensamiento puede hacer más esfuerzos en las fases en las que se utiliza el estilo opuesto. Las personas que saben que son fuertes para evaluar propuestas, por su fortaleza en el pensamiento convergente, deberían tratar de generar más ideas en las primeras fases del proceso. Fases del proceso de solución de problemas.

Figura 1. Pasos a seguir en la solución de problemas Pensamiento divergente Pensamiento convergente Exploración

Identificar problemas y oportunidades

Búsqueda de información

Recopilar datos y puntos Identificar la información de vista más relevante

Identificación del problema

Construir varios problemas posibles

Escoger el problema más prometedor

Búsqueda de soluciones

Desarrollar muchas alternativas para la solución

Seleccionar las ideas más viables

Evaluación de soluciones

Crear varios criterios para evaluar las soluciones

Identificar los criterios más apropiados

Implementación de una solución

Identificar varios Llevar a cabo la solución elementos que permitan más prometedora implementar la solución

Concentrarse en la meta

Exploración. Lo más corriente es que, al principio, los problemas no tengan una forma claramente definida. Para identificarlos debemos hacernos preguntas de este tipo: 

¿Cuales problemas debemos resolver?



¿Por qué consideramos que no estamos en el nivel de desempeño apropiado?



¿Cuáles son nuestras metas explícitas e implícitas?

Carlos Quiñones Botero

15

Modelación de sistemas logísticos

En la compañía que estamos tratando, es claro que los costos de distribución están subiendo hasta niveles inaceptables, debido al aumento del precio del petróleo, pero los problemas que trae la gestión día a día de la red de distribución han impedido que la gerencia se concentre en darle una solución de fondo al problema. Lo más probable es que los empleados de la compañía ya tengan algunas ideas dispersas sobre cómo solucionar el problema, pero hasta que la gerencia no establezca un equipo formal para resolverlo, lo más probable es que no se adelante en el proceso de solución.

Búsqueda de información. En conveniente buscar y contactar la mayor cantidad posible de fuentes para tener un número amplio de puntos de vista. Podrían incluirse libros, revistas, otras compañías, expertos, empleados de la empresa, fuentes gubernamentales, entre otras. De esta manera, empezaremos a comprender cuál es la información más relevante. Es útil preguntarnos lo siguiente: 

¿Qué pasos podemos seguir?



¿Cuáles son las causas del problema?

En este paso, podríamos comparar los costos de nuestra red de distribución frente a los de la competencia, contactar empresas que vendan medios de transporte más económicos, e incluso, podríamos estudiar casos como los de Cuba, que han tenido restricciones en el suministro de combustibles líquidos durante un largo periodo, con el fin de analizar cómo han reconfigurado sus redes de distribución.

Identificación del problema. Es conveniente empezar esta fase con un conjunto de cinco o seis problemas tentativos. La definición de los problemas puede ser cambiada a medida que avanza esta fase, pero debe

Carlos Quiñones Botero

16

Modelación de sistemas logísticos

quedar claro que los costos y riesgos de hacer esto se incrementan a medida que pasa el tiempo. Algunas preguntas relevantes durante esta fase podrían ser: 

¿Estamos ante un problema que tenga una técnica de solución ya conocida?



¿Es conveniente dividir el problema en subproblemas para analizarlo más fácilmente?



¿Cual problema parece más importante?



¿Hemos resuelto problemas de esta clase anteriormente?

En nuestro ejemplo, el equipo se ha centrado en dos problemas: 

Los problemas de la red de distribución provienen de una negociación inadecuada de las tarifas.



La estructura de la red, en cuanto a localización de los centros de distribución y las plantas, no es la más adecuada.

Sin embargo, el gerente de la empresa es consciente de que tiene pocos problemas entre los cuales escoger, y hace un esfuerzo para que el grupo genere otras ideas: 

¿De qué maneras podemos disminuir el número de intermediarios en la red de distribución?



¿De qué maneras podemos utilizar otros canales de distribución que no estamos usando actualmente?



¿De qué maneras podemos agregar nuestro volumen de transporte a los de otras compañías con el fin utilizar en forma más óptima nuestros vehículos?



¿De qué maneras podemos adelantar un proceso de colaboración con nuestros distribuidores para optimizar nuestra red de transporte?

El equipo debe realizar un esfuerzo para definir los problemas de la forma más clara

Carlos Quiñones Botero

17

Modelación de sistemas logísticos

posible.

El equipo decidió que tratar de modificar los canales de distribución sería difícil porque los clientes están acostumbrados a los canales tradicionales que ya usa la empresa. Los procesos de colaboración y de agregación de volúmenes en el transporte traerían ventajas a la empresa, pero no se centran en la dificultad principal. Además, una revisión de los contratos de transporte de la empresa encontró que no están mal negociados, por lo que al final, el equipo decidió que el problema principal de la empresa consistía en el inadecuado diseño de su red de distribución.

Búsqueda de soluciones. Es conveniente generar la mayor cantidad de soluciones, sin importar qué tan poco factibles parezcan en un comienzo. Para obtenerlas, se pueden utilizar técnicas de pensamiento lateral, (De Bono, 1994). No se deben descartar soluciones antes de alcanzar este punto, puesto que si no se tienen suficientes alternativas, se podrían alcanzar soluciones subóptimas o equivocadas. Algunas preguntas que serían útiles en esta situación podrían ser: 

¿Cuales soluciones han llevado a cabo otras empresas ante situaciones similares?



¿Cuales soluciones están dentro del alcance de los recursos de la empresa?

La empresa encontró que algunas soluciones posibles eran: 

Contratar a un operador logístico 3PL que suministrara centros de distribución en ciudades mejor localizadas que las que tiene disponible la empresa actualmente, teniendo en cuenta la localización actual de las plantas y de los centros de consumo de los bienes de la empresa.



Optimizar matemáticamente la red logística y proceder a la instalación de nuevos

Carlos Quiñones Botero

18

Modelación de sistemas logísticos

centros de distribución y a la relocalización de plantas que el modelo indique.

Evaluación de soluciones. En esta fase se construye un conjunto de criterios que permitan evaluar las soluciones. Es conveniente utilizar técnicas de pensamiento divergente para encontrar criterios que no sean tan obvios. Los criterios se pueden utilizar de varias formas. Si es uno solo, se puede escoger la solución que tenga el valor más alto o el valor más bajo. Si son varios criterios, se pueden descartar las soluciones que no cumplan algunos de ellos, o se puede asignar un puntaje a cada criterio.

En el ejemplo que nos ocupa, la empresa decidió evaluar las soluciones con los siguientes criterios: 

Costo a largo plazo de la propuesta.



Inversiones necesarias.



Potencial para crear una ventaja sostenible a largo plazo.



Adecuación de la solución dentro de la estrategia general de la empresa.

Al evaluar ambas soluciones, se encontró que la más apropiada era la optimización matemática de la red logística y las inversiones posteriores que ella indicara.

Implementación de una solución. Las empresas no siempre actúan racionalmente y están sujetas a juegos de poder que pueden impedir que la solución escogida se lleve a cabo. De ahí que sea importante identificar, utilizando técnicas de pensamiento divergente, los posibles obstáculos que se pueden presentar, así como todas aquellas personas, circunstancias o instituciones que puedan ayudar a sacar adelante la solución. Algunas preguntas útiles podrían ser:

Carlos Quiñones Botero

19

Modelación de sistemas logísticos



¿Cuáles barreras podrían impedir la implementación de la solución?



¿Existen recursos disponibles para implementar la solución?



¿Existen ejemplos fuera de la empresa que sirvan para motivar al personal para alcanzar la solución?

En la empresa que nos ocupa, el personal de la red de distribución actual pensaba que podía perder su empleo si se implementaba la solución. Fue necesario realizar una campaña informativa para que el personal entendiera que sería relocalizado en otras áreas de la empresa. 2. Heurísticas generales para construir modelos

En este apartado no trataremos las habilidades técnicas que se requieren para la modelación, tales como manejar Excel adecuadamente. Nos interesan las reglas heurísticas que permiten resolver un problema efectivamente. Por heurística se entiende usualmente, una estrategia o truco que ha probado ser efectivo para resolver una situación determinada. Las habilidades técnicas se pueden enseñar y aprender con relativa facilidad, en tanto las reglas heurísticas son más difíciles de asimilar. El manejo de las reglas heurísticas se desarrolla más lentamente con base en la experiencia. Lo que distingue en modelación al experto del novato es precisamente el manejo apropiado de las reglas heurísticas.

Sin embargo, existen pocas referencias en la literatura sobre estas reglas. La principal razón es la falta de investigación sobre el trabajo real de los modeladores, debido probablemente a que es difícil de realizar dado que estas técnicas se utilizan de manera inconsciente. Esta es una situación desafortunada, dado que conocerlas es una condición básica para ser un modelador experto. Debe anotarse que aparte de estas heurísticas específicas para modelación, existen heurísticas generales que también pueden utilizarse para modelar sistemas logísticos. Al respecto, referimos al lector al excelente trabajo de Polya (1957).

Para explicar las reglas heurísticas de la modelación, nos basaremos en los siguientes

Carlos Quiñones Botero

20

Modelación de sistemas logísticos

ejemplos:

Ejemplo 1. Centro de distribución. Una empresa quiere construir un centro de distribución, pero no ha decidido el nivel de automatización que tendrá, para lo cual quiere construir un modelo que evalúe sus costos y su impacto sobre los niveles de servicio.

Ejemplo 2. Empresa de paquetería. Una empresa de paquetería de alcance nacional quiere determinar si aumentar la densidad de sus puntos de recibo aumentará las utilidades de la empresa. Cada punto de recibo cuesta US$200.000 y la empresa quiere saber si se debe embarcar en este proyecto de expansión.

Ejemplo 3. Transporte de gases por carretera. Una empresa productora de químicos tiene dos gases industriales como materia prima, los cuales importa y traslada por carretera desde el puerto hasta la sede de la empresa. La empresa ha estado preocupada por las pérdidas que se están generando en el trayecto, que se calculan actualmente en el 1% por peso. Quiere determinar si un nuevo tipo de camiones o de trayecto disminuirá las pérdidas.

Ejemplo 4. Operador logístico 4PL Un operador logístico 3PL quiere incursionar en el mercado 4PL porque considera que estos podrían aumentar las utilidades de la empresa. Ya tiene información sobre los costos en los que incurriría al implementar los nuevos servicios, y tiene datos de los últimos seis años sobre el crecimiento del mercado 4PL. ¿Cuál será el mejor precio para estos servicios y cómo podrían reaccionar los competidores ante su introducción?

En los apartados siguientes explicaremos las reglas heurísticas más importantes.

Carlos Quiñones Botero

21

Modelación de sistemas logísticos

Escriba todo lo que conoce sobre el problema.

Al realizar una investigación sobre un producto o servicio es muy frecuente que encontremos información valiosa, que al no ser correctamente registrada, no se pueda acceder posteriormente.

Separe la creación de ideas de su evaluación.

Muchos modeladores son pensadores más convergentes que divergentes, y por lo tanto, tienen más fortalezas juzgando que creando nuevas ideas. Si esta tendencia no se controla apropiadamente pueden vetar todas las nuevas ideas antes de evaluarlas debidamente. Al principio del proceso de modelación es más conveniente utilizar el pensamiento divergente que el convergente, y es en este momento cuando los modeladores deben ser más conscientes sobre cómo están actuando.

Concentre sus esfuerzos en la estructura del modelo y no en la recolección de datos.

Los modeladores novatos tienden a sobrevalorar los datos. Usualmente, consideran que los datos contienen la información necesaria para el modelo, y por lo tanto, mejorarán la calidad de las recomendaciones que den. Los modeladores expertos son muy críticos con este punto de vista. Saben por experiencias pasadas que los datos pueden contener errores y desviaciones que reflejan lo que ocurrió en el pasado, y por lo tanto, no son fácilmente aplicables a las situaciones del futuro que se deben modelar. En el caso de la empresa de paquetería, los ingresos pudieron crecer a una tasa del 10% en los últimos cinco años, pero este porcentaje dependerá de la economía global y se pueden obtener valores por encima o por debajo en los próximos años.

Carlos Quiñones Botero

22

Modelación de sistemas logísticos

Un análisis sistemático y detallado de las fuentes de error en la recolección de datos daría para escribir un libro. Sólo nos concentraremos en los más conocidos: 

Errores de muestreo, fuente de errores muy conocidos en estadística, que han llevado a que en elecciones presidenciales, los resultados sean muy diferentes a los de las encuestas.



Errores por datos inapropiados, de los cuales existen excelentes ejemplos en mercadeo, y que han conducido a subvalorar enormemente el potencial de ventas de nuevos productos, al basarse en las ventas de otros productos similares, pero cuya información no es aplicable al caso estudiado.



Errores de enmascaramiento, por usar datos que aparentemente miden lo que pretendemos. Por ejemplo, las ventas no son un indicador confiable de la demanda potencial de un producto.

Los datos también son susceptibles a su manipulación por parte de grupos de interés. La discusión sobre el calentamiento global nos da un excelente ejemplo, en donde se cruzan acusaciones mutuas entre los grupos industriales y los científicos, sobre la confiabilidad y precisión de los datos y métodos utilizados.

Un efecto poco conocido y estudiado es la manera en que los datos disponibles inclinan la construcción de los modelos en determinadas direcciones. Los datos más fácilmente disponibles no necesariamente corresponden a las variables más importantes que deben ser incorporadas en un modelo. En el ejemplo del transporte de gases por carretera, los datos de la distancia recorrida y del tipo de camión son fáciles de obtener. Pero la temperatura ambiental en el recorrido es una variable crucial, y aunque obtenerla puede ser difícil, un modelo que no la

Carlos Quiñones Botero

23

Modelación de sistemas logísticos

incorpore produciría resultados equivocados. Existe una tendencia a construir modelos que sólo incorporan las variables de los datos fácilmente disponibles.

Un error sutil y difícil de detectar surge a partir de la presentación de los datos. En el caso del operador logístico 4PL, podríamos tener datos sobre cómo reaccionan los miembros de esta industria ante los precios de sus competidores en la forma de una razón entre ambos precios. Estos datos nos pueden distraer del hecho plausible de que un competidor puede reaccionar simplemente ante la diferencia de los precios, sin siquiera conocer cuál es la razón entre ambos precios. Por esta razón, los modeladores expertos construyen la estructura del modelo antes de poner en consideración los datos, los cuales utilizarán posteriormente para refinar el modelo. Los novatos, en cambio, tienden a creer que los datos les ayudarán a pensar. Pero la fuente principal del proceso intelectual de construir modelos siempre son las ideas, no los datos. Se piensa con conceptos, no con números.

Los clientes rara vez valoran la calidad de los modelos por la calidad de los datos originales. No debemos olvidar que la principal función de los modelos es proveer una estructura que permita analizar diferentes escenarios en una forma económica y libre de riesgos. La misma precisión de los datos depende de la estructura del modelo. De acuerdo con las relaciones matemáticas incorporadas dentro del modelo, existirán variables que con pequeño cambio modificarán en forma importante los resultados de un modelo, en tanto otras necesitarán cambiar sustancialmente para alcanzar los mismos efectos. Un ejemplo muy simple lo vemos en la siguiente ecuación:

Un pequeño cambio en el valor de la variable X cambia sustancialmente el resultado de la variable Z, pero incluso, cambios muy grandes en la variable Y no producen el mismo efecto.

Carlos Quiñones Botero

24

Modelación de sistemas logísticos

De manera que, una vez se tiene la estructura de un modelo, se puede determinar cuáles datos se requieren y con cuál precisión. Es plausible incluso, desarrollar modelos para utilizarlos sin datos de entrada reales. Sólo se construyen para analizar la interrelación de las variables.

A partir de la discusión anterior, se podría pensar que la recolección de datos es una actividad irrelevante. Pero una vez se construye la estructura de un modelo y se recopilan los datos, éstos tienen un papel importante en la validación del modelo frente a la realidad. Al correr el modelo con estos datos, se deben obtener resultados consistentes con la realidad, de otra manera, el modelo debe corregirse. Pero se deben evitar los grandes esfuerzos que ocasionalmente vemos en algunos equipos de modelación para recolectar datos que poco influirán, o si lo hacen, tendrán una influencia dañina sobre el modelo.

Simplifique el problema.

Un punto fundamental de la modelación es la simplificación con un buen criterio. No se trata de simplificar por simplificar, sino de hacerlo hasta el punto que permita alcanzar los objetivos de la modelación. En general, un modelo que es más simple de lo que debería ser no representa un problema, porque puede ser refinado posteriormente. En cambio, un modelo que es muy complejo representa un esfuerzo adicional innecesario, que en razón de su misma complejidad, es posible que no pueda ser simplificado fácilmente. El hecho de que el modelo sea simple no implica que consideremos que el problema como tal sea simple.

Desde el punto de vista práctico, también existen ventajas en los modelos simplificados. Un modelo simple puede ser desarrollado y depurado más rápidamente, es más fácil de entender y de aplicar y esto conlleva a que sus usuarios le tengan mayor confianza.

Una pregunta que siempre debe tener el modelador en mente es si una característica

Carlos Quiñones Botero

25

Modelación de sistemas logísticos

determinada del modelo es realmente necesaria para alcanzar los objetivos propuestos. Toda la complejidad innecesaria debería ser suprimida del modelo.

Una técnica importante para adelantar la simplificación del modelo es concentrarse en las relaciones claves entre las entradas y las salidas del modelo. En el ejemplo del centro de distribución, más automatización aumenta la inversión inicial, pero al mismo tiempo, disminuye los costos variables de la mano de obra y aumenta los niveles de servicio. En el caso de la empresa de paquetería, más puntos de recibo aumentan el capital necesario para operar, pero hacen que los clientes tengan a la empresa más cerca, aumentando los ingresos. Y en el operador logístico 4PL, precios más bajos para los servicios aumentarán la participación en el mercado, pero podrían generar reacciones de los competidores. Así mismo, precios más bajos disminuirán los ingresos por cliente del operador y su rentabilidad.

Los modeladores experimentados no dudan en hacer este tipo de simplificaciones, pero siempre son conscientes de lo que hacen, puesto que de esta manera, se puede evaluar su sensibilidad, ante cambios en ella.

Determine el resultado clave.

Powell y Baker (2009) recomiendan una heurística novedosa que llaman la heurística PowerPoint. Si los clientes que recibirán los resultados finales del modelo son personas tan ocupadas que sólo tienen tiempo para ver una sola presentación de PowerPoint, ¿cuál tabla, gráfico o recomendación incluiría en esta diapositiva?

En el caso de la empresa de paquetería, se decidió que tal gráfica mostraría como las utilidades de la empresa aumentarían en forma constante, pero sólo hasta un punto, luego del cual se obtendrían utilidades decrecientes y luego se generarían pérdidas.

Carlos Quiñones Botero

26

Modelación de sistemas logísticos

Descomponga el problema.

La descomposición permite fragmentar el problema en módulos más pequeños que son más fáciles de desarrollar y depurar. Es conveniente que estos módulos sean tan independientes como sea posible.

En el problema del centro de distribución, podríamos construir un módulo que cuantifique los costos de construirlo, y otro módulo que evalúe el nivel de servicio. En el caso de la empresa de paquetería, un módulo calcularía los costos de acuerdo a la densidad de la red de centros de entrega, y otro módulo calcularía los ingresos de acuerdo a la densidad de la red. En el transporte de gases por carretera, un módulo calcularía los costos de operación de la flota de transportes, y otro modulo calcularía las pérdidas de acuerdo al tipo de tanques y su tecnología, de manera que al final se obtengan los costos totales de operación. Y en el caso del operador logístico 4PL, existirían unos módulos para calcular los costos de cada uno de los servicios que se planean ofrecer, y otros módulos para calcular el crecimiento de la demanda de cada servicio, teniendo en cuenta la reacción de los competidores a cada nivel de precio.

Construya iterativamente un prototipo.

Un prototipo es un modelo que funciona, aunque quizás aún no tenga todas las características y refinamientos que incorporará el modelo definitivo. Se utiliza para verificar si se está avanzando en la dirección correcta en el desarrollo, no solamente a nivel técnico, sino también en relación con las expectativas de los usuarios finales, quienes pueden no ser capaces de definir correctamente lo que esperan del modelo, hasta no trabajar directamente con él. Una vez se tiene retroalimentación, se procede a iterar sobre el prototipo, para construir una nueva versión más avanzada. La utilización de prototipos se lleva a cabo sobre todo cuando los desarrollos se deben hacer con restricciones de tiempo y presupuesto.

Carlos Quiñones Botero

27

Modelación de sistemas logísticos

En el caso de la empresa de paquetería, podríamos construir un primer prototipo que tendría en cuenta las siguientes hipótesis: 

El volumen de negocios crece linealmente con el aumento en el número de centros de recepción.



La inversión requerida crece linealmente con el aumento en el número de centros de recepción.

Con base en la información anterior, se podría responder lo siguiente: 

Los ingresos proyectados de la empresa.



La utilidad proyectada de la empresa. Este modelo nos permitiría construir una grafica que relacione inversiones con la

utilidad, permitiéndonos examinar si ésta es la información que desean obtener los usuarios finales.

Sin embargo, es claro que las hipótesis de este primer prototipo son demasiado simples. Debe haber un límite más allá del cual la construcción de más centros de recibo, uno cerca del otro, no traerá más negocios a la empresa, de manera que podríamos modelar este volumen con una gráfica que primero crece rápidamente, y luego disminuye su crecimiento. Este cambio nos llevaría a un segundo prototipo, que sería una representación más exacta de la realidad.

En el caso de transporte de gases por carretera, el primer prototipo podría considerar las siguientes hipótesis: 

La pérdida es una función lineal creciente del tiempo de transporte.



La pérdida es una función no lineal creciente de la antigüedad de los vehículos.



La pérdida es una función lineal decreciente del tamaño de los tanques.

Carlos Quiñones Botero

28

Modelación de sistemas logísticos



La pérdida es una función no lineal creciente de la temperatura ambiental.

Los valores específicos que tendrían los coeficientes de estas funciones podrían obtenerse a partir de una muestra de varios viajes realizados. Con este prototipo podríamos tratar de encontrar las especificaciones de los vehículos que disminuyen las pérdidas de los gases.

Para que un prototipo esté completo se deben haber construido prototipos más pequeños de cada módulo, y se debe analizar los resultados de cada prototipo, para entender en qué forma se responden las preguntas planteadas inicialmente. Es un error construir un prototipo tras otro y sólo al final verificar qué clase de respuestas devuelve el modelo, porque en este caso, no se aprovecha la principal ventaja de los prototipos que es la retroalimentación. Tal proceso ayuda a que el modelador se concentre en el problema real en primer lugar, y sólo entonces atienda los requerimientos del modelo.

Los prototipos también son útiles en situaciones con restricciones de tiempo, porque permiten evaluar el avance del trabajo, mostrar algunos resultados y decidir si vale la pena refinar el modelo.

Esboce gráficas que muestren las relaciones claves entre las variables.

Algunas personas tienen dificultades para expresar relaciones entre variables utilizando fórmulas matemáticas. Una técnica heurística muy potente en estos casos es cambiar el sistema de representación y mostrar la relación utilizando gráficas, en el sentido en que éstas constituyen un lenguaje que puede ser entendido fácilmente por todos los miembros de un equipo de modelación.

Las relaciones más utilizadas son las siguientes:

Carlos Quiñones Botero

29

Modelación de sistemas logísticos



Función lineal,



Retornos progresivamente más grandes,



Retornos progresivamente más pequeños,



Decaimiento exponencial,



Forma de S,



Creciente hasta una asíntota,

(

)(

, ,

) (

)

Identifique los parámetros de las ecuaciones utilizando un análisis de sensibilidad.

Según vimos en la regla heurística anterior, con base en los gráficos podemos seleccionar una ecuación que modela la relación entre las variables. Sin embargo, rara vez conocemos los coeficientes de estas ecuaciones. Una manera de determinarlos es utilizar los datos reales y tantear con diferentes valores de los coeficientes hasta que ambas curvas se sobreponen con cierta exactitud.

Carlos Quiñones Botero

30

Modelación de sistemas logísticos

3. Técnicas de modelación algebraica

Se acostumbra escribir los modelos siguiendo un formato estándar, a saber: 

Definición de variables.



Función objetivo, y si se maximiza o minimiza.



Restricciones principales.



Restricciones relacionadas con el tipo de variable.

Definición de las variables.

Los programadores novatos frecuentemente tienen problemas para determinar las variables de un modelo. Varias heurísticas se pueden seguir para averiguarlas: 

En muchos modelos logísticos, las variables corresponden a la cantidad de unidades que

Carlos Quiñones Botero

31

Modelación de sistemas logísticos

se despachará a través de una determinada ruta. 

Puede también tratar de pensar en qué parámetros pueden ser cambiados en el modelo, con el fin de mejorar la función objetivo. Por ejemplo, en los problemas de minimización de costos, frecuentemente se puede cambiar la cantidad de productos de un tipo determinado que se pueden producir.

Construcción de la función objetivo.

Los objetivos que se pueden buscar en un problema empresarial son de muchas clases: 

Maximice la utilidad.



Minimice los costos.



Maximice el valor presente neto.



Minimice los años para recuperar una inversión.



Minimice el personal.



Maximice la redundancia.



Minimice la redundancia.

Es posible que no todos estos objetivos puedan ser optimizados al mismo tiempo, dado que pueden presentarse conflictos entre ellos. Pero debe quedar claro que se pueden construir modelos que traten con objetivos únicos, objetivos múltiples, objetivos en conflictos, e incluso modelos sin optimización en la función objetivo.

Objetivo único. La mayor parte de los problemas de optimización logística involucran la maximización de utilidades o la minimización de costos. En el último caso, sólo tiene sentido incluir los costos variables, aunque la solución no cambiará si se incluyen los costos fijos. Una excepción se da en Carlos Quiñones Botero

32

Modelación de sistemas logísticos

la programación entera en donde el modelo decide, por medio de una variable binaria, si debe incluir un costo fijo determinado. Se deben utilizar costos o utilidades marginales y no valores medios de estas variables. La experiencia indica que los modelos de minimización de costos se aceptan y entienden más fácilmente dentro de las organizaciones que los modelos de maximización de utilidades, dado que estos últimos contienen coeficientes más controversiales.

Si el modelo incluye flujos de dinero que se desarrollan sobre un periodo de tiempo, los valores en el futuro no serán equivalentes a los valores presentes y deben ser descontados utilizando una tasa mínima de retorno apropiada.

Objetivos múltiples. Es raro que un problema logístico sólo tenga un objetivo. Interesa minimizar los costos, pero también mejorar el nivel de servicio o disminuir el personal utilizado en la operación. Desde el punto de vista matemático, un modelo de optimización sólo puede ser resuelto para un objetivo, pero esto no significa que un problema con objetivos múltiples no pueda ser resuelto.

Una primera alternativa consiste en resolver el modelo para cada uno de los objetivos, separadamente. La comparación de estas soluciones puede indicar una solución de compromiso aceptable. Las soluciones obtenidas pueden ser más parecidas y el esfuerzo computacional puede disminuirse si comenzamos a correr cada modelo partiendo de la solución del modelo anterior.

Una segunda alternativa consiste en construir una combinación lineal de todas las funciones objetivo. Los coeficientes que se utilicen para estos objetivos se basarían en la experiencia personal y siempre es recomendable experimentar con varios grupos de coeficientes.

Carlos Quiñones Botero

33

Modelación de sistemas logísticos

Pocas veces se reconoce que las restricciones y la función objetivo de un modelo son hasta cierto punto, intercambiables. Un modelo puede tratar de minimizar un costo, teniendo como restricción no bajar el nivel de servicio debajo de un nivel determinado. Pero también se podría construir un modelo que trate de maximizar el nivel de servicio manteniendo los costos bajo cierto nivel. Si se tienen varios objetivos al mismo tiempo se puede optimizar uno de los objetivos y los demás se pueden incluir como restricciones. Los resultados anteriores nos darán una idea de cuál política es más conveniente seguir.

Objetivos en conflicto. En este caso, podríamos seguir las mismas técnicas utilizadas en el caso de los objetivos múltiples. Ya no hablamos de objetivos sino de metas, que pueden o no, ser alcanzadas.

En la primera alternativa explicada en el apartado anterior, se debe tener cuidado en incorporar restricciones incompatibles que no permitan resolver el modelo. En este caso, se deben relajar las restricciones, es decir, hacerlas menos exigentes para que dejen de ser incompatibles.

En la segunda alternativa, se puede medir el grado de desviación de cada meta al construir una única función objetivo con todos los objetivos incorporados, como se describió anteriormente. En este caso, nos referimos a la programación por metas.

Objetivos no existentes. Se pueden presentar situaciones empresariales con restricciones tan complejas y exigentes que basta con encontrar cualquier solución que cumpla estas restricciones. En este caso, se puede colocar cualquier función objetivo, puesto que la meta no es optimizar ninguna expresión, sino simplemente encontrar una solución factible. Esta técnica también se puede utilizar para validar la corrección de un modelo. Las variables obtenidas deben ser consistentes con la realidad, en caso contrario, el modelo debe ser modificado.

Carlos Quiñones Botero

34

Modelación de sistemas logísticos

Construcción de las restricciones.

Restricciones duras. Muchas restricciones empresariales son completamente estrictas. Ejemplos son el número de contenedores que pueden ser transportados en un barco o el nivel de servicio especificado en un contrato de tercerización. Estas restricciones se modelan de la forma usual.

Restricciones suaves. Sin embargo, puede valer la pena no cumplir una restricción pagando un costo por ello, si esto supone una mejora importante en la función objetivo. En el problema de la paquetería, supongamos que el costo de un punto de recepción pequeño es de US$100.000, en tanto el costo de uno grande es de US$200.000. Si el presupuesto para toda la inversión es de US$10.000.000, esta restricción podría modelarse así:

Pero supongamos que la empresa estaría dispuesta a invertir más de US$10.000.000 si esto supone una ventaja en cuanto al aumento de los ingresos. El nuevo modelo sería:

Este nuevo modelo permitirá que se aumente el límite de US$10.000.000 siempre y cuando esto no disminuya apreciablemente la función objetivo que se debe maximizar.

Restricciones en conflicto. Si las restricciones no se pueden cumplir simultáneamente, se utiliza un tipo de

Carlos Quiñones Botero

35

Modelación de sistemas logísticos

programación conocida como programación por metas. Se trata de cumplir las restricciones tan cerca como sea posible. Supongamos que en el caso del centro de distribución, queremos utilizar 100 empleados. No debemos utilizar más empleados porque aumentaríamos los costos de operación, ni debemos contratar menos empleados porque esto supondría que no cumpliríamos con un contrato de exención tributaria con el país donde se proyecta construir el centro de distribución. Sin embargo, estas restricciones no son estrictas, y podemos usar más o menos empleados si las otras restricciones del modelo lo exigen. La modelación sería:

Si

y

deben cumplir las condiciones de no negatividad,

utilizando más de 100 empleados y

indicará que estamos

indicará que estamos utilizando menos de 100 empleados.

Supongamos que los aumentos de costos por contratar más personal impactan más las utilidades de la empresa que la disminución en las exenciones tributarias por contratar menos de 100 empleados. La función objetivo debe reflejar esta situación:

Cada empleado que supere los 100 se multiplica por dos, puesto que su impacto es más grande en las utilidades.

Si queremos minimizar la máxima desviación con relación a la meta de tener 100 empleados, sea hacia arriba o hacia abajo, introducimos una nueva variable Z y las siguientes restricciones:

Carlos Quiñones Botero

36

Modelación de sistemas logísticos

Y la siguiente función objetivo,

Las restricciones exigen que

no tome un valor menor que cualquiera de las

desviaciones, mientras que la función objetivo hace que tome el valor más pequeño posible. Esta combinación conduce a que

tome como valor la máxima desviación.

Restricciones redundantes. En la programación lineal una restricción redundante es una restricción que al ser evaluada no alcanza el valor de su lado derecho. Supongamos que en el ejemplo del centro de distribución se exige que se utilicen menos de cinco montacargas:

Sin embargo, al resolver el modelo, la solución óptima utiliza cuatro montacargas. El valor del lado izquierdo (cuatro) no alcanza el valor del lado derecho (cinco), y por lo tanto, es una restricción redundante. Sin embargo, a pesar de que podríamos remover esta restricción del modelo sin afectar la solución óptima, esto no lo sabemos hasta después de resolver el modelo. Además, lo más importante de muchos modelos es su estructura y se diseñan para ser resueltos con los datos de entrada de escenarios diferentes. Podría suceder que uno de estos escenarios exigiera que el número de montacargas fuera menor que tres. En este caso, la restricción ya no sería redundante y no debería ser removida del modelo.

Una restricción también puede pasar de ser redundante a no redundante, sin que los coeficientes o el lado derecho de la restricción cambien. La restricción puede ser igual a su lado derecho por causa de otra restricción.

Carlos Quiñones Botero

37

Modelación de sistemas logísticos

4. Características de un buen modelo

Es recomendable que los modelos: 

Se puedan entender fácilmente.



Se construyan para detectar los errores rápidamente.



Se puedan resolver en el computador en poco tiempo.

La forma de obtener estas características se describe a continuación.

El nombre de la variable debe indicar a que se refiere.

Los nombres de las variables deben ser significativos, es decir, con sólo leer la variable se entiende qué está representando. Si en el caso de la empresa de paquetería tuviéramos dos tipos de oficinas de recepción de paquetes, una grande y otra pequeña, los siguientes nombres

Carlos Quiñones Botero

38

Modelación de sistemas logísticos

de las variables serían apropiados:

: Número de oficinas de recepción grandes. : Número de oficinas de recepción pequeñas.

Cuando estas variables aparezcan en la función objetivo o en las restricciones, se puede determinar inmediatamente a qué se refieren, sin necesidad de leer su definición. En cambio, no es recomendable usar las siguientes variables:

: Número de oficinas de recepción grandes.

Esta regla tiene su excepción. En modelos muy grandes, con 10.000 o más variables, no es posible nombrar cada variable con un nombre. En este caso, es mejor colocar como subíndice de cada variable un número. : Número de oficinas de recepción grandes.

Elimine las variables innecesarias.

Existen técnicas especializadas para reducir el tamaño de los modelos, las cuales son ejecutadas por muchos paquetes de optimización automáticamente. Algunos tienen opciones que permiten efectuar o no la reducción antes de resolver el modelo.

Para entender en qué consisten estas reducciones, obsérvese el siguiente modelo:

Maximizar

,

,

Carlos Quiñones Botero

39

Modelación de sistemas logísticos

Si queremos maximizar la función objetivo es claro que

debe tomar el valor más

pequeño posible, y dado que existe una condición de no negatividad para esta variable y aparece en restricciones del tipo

tomará necesariamente el valor de cero y puede ser

removida del modelo.

Dado que los paquetes de optimización efectúan estas reducciones automáticamente, no es usualmente muy importante que los modeladores conozcan estos procedimientos. De todas maneras, el hecho de una variable no necesite ser incorporada en un modelo si tiene implicaciones en la forma en que se entiende un problema empresarial. Podría darse el caso, para dar un ejemplo, que antes pensáramos que el número de montacargas afectaba la eficiencia de la operación de un centro de distribución, pero al poder remover la variable que representaba su cantidad, concluimos que no afectan la productividad.

Cuando utilizar igualdades o desigualdades en los modelos de redes.

Si la suma de las ofertas de los nodos de salida igualan a la suma de la demanda de los nodos de llegada, las restricciones se pueden modelar con =. Pero si la oferta excede la demanda, los nodos de oferta no se pueden modelar con =, puesto que no habría capacidad en los nodos de demanda para recibir toda esta oferta. En este caso, se podrían modelar los nodos de oferta con < =. Otra alternativa sería introducir un nodo ficticio con una demanda igual a la diferencia entre la oferta total y la demanda total, y establecer el costo de envío a este nodo como cero, en cuyo caso sí se podrían modelar los nodos de oferta con =.

Como encontrar si un modelo no es factible.

Un modelo no es factible si las restricciones son contradictorias entre sí. Un ejemplo muy

Carlos Quiñones Botero

40

Modelación de sistemas logísticos

simple podría ser el siguiente:

Muchos programas de optimización indicarán que el modelo no es factible, pero descubrir la razón específica puede ser más difícil. Existen de todas maneras, algunas técnicas que pueden ayudar en este sentido. En el momento en que el programa se detiene, e indica que el modelo no es factible, se pueden revisar las restricciones y observar cuales no se están cumpliendo. Si estamos seguros de que existe una solución óptima, podemos utilizar datos reales del problema y sin resolver el modelo, observar cuáles restricciones no se están cumpliendo. Es altamente probable que estas restricciones contengan errores. Finalmente, es posible el problema no haya sido estudiado anteriormente y en este caso, es probable que no sea posible resolverlo.

Si no hay seguridad sobre el lado derecho de una restricción y se considera que puede ser más estricta de lo que se debería, se podría utilizar la técnica vista anteriormente que conduce al modelo:

De esta manera, la restricción no se cumpliría, pagando un costo por ello al disminuir el valor de la función objetivo.

Como descubrir si un modelo no es acotado.

En este caso, la función objetivo puede ser optimizada sin encontrar ningún límite, es

Carlos Quiñones Botero

41

Modelación de sistemas logísticos

decir, si estamos maximizándola puede crecer sin límite, o si estamos minimizándola puede disminuir sin límite. Un ejemplo sencillo es el siguiente:

Max

Los programas de optimización usualmente indican si un modelo es no acotado, pero al igual que con los modelos no factibles, puede ser difícil encontrar la causa específica. La razón más común por la cual aparecen modelos no acotados es olvidar alguna restricción.

Una técnica más sofisticada para encontrar la razón por la cual un modelo no está acotado es convertirlo en su modelo dual, el cual nunca será factible. Es posible que encontrar la razón por la cual este modelo no es factible sea más fácil. Sin embargo, debe tenerse presente que si el modelo original no es factible, esto no significa que el modelo dual sea no acotado, dado que también puede no ser factible. También se puede evitar que el modelo no sea acotado dándole una cota superior muy grande a cada una de las variables. Si una variable alcanza esta cota es muy probable que esté relacionada con las causas del no acotamiento.

Examine críticamente las soluciones de los modelos.

Todas las soluciones que arrojan los modelos de optimización deben ser examinadas críticamente con el fin de encontrar posibles errores en el modelo. Si en un problema de maximización, la solución es factible pero aún nos parece demasiado baja, es posible que algunas restricciones sean más exigentes de lo que deberían ser. Lo mismo se podría concluir si en un problema de minimización, la solución es factible pero nos parece demasiado alta. Para descubrir la causa podríamos reemplazar los datos correspondientes a la situación actual y revisar que sucede con las restricciones. Si algunas restricciones no se cumplen, debe existir

Carlos Quiñones Botero

42

Modelación de sistemas logísticos

algún problema con ellas. Desafortunadamente, esta técnica puede que no siempre funcione, dado que al reemplazar los datos es posible que todas las restricciones se cumplan.

En todo lo anterior, debe tenerse en cuenta que muchas soluciones son contraintuitivas, y en esto radica precisamente su valor, puesto que si las soluciones se pudieran encontrar por simple inspección, los modelos que construimos no tendrían ninguna utilidad. Siempre es conveniente presentar la solución de una forma no técnica con el fin de determinar si la solución efectivamente puede ser implementada.

El proceso descrito anteriormente implica que el proceso de modelación tiene un carácter iterativo que mejora progresivamente la calidad de las soluciones propuestas. Sería equivocado aceptar la primera solución devuelta por un modelo, especialmente si es grande o complejo.

Es ventajoso interpretar un problema como un modelo de red.

Muchos problemas prácticos pueden ser convertidos en modelos de redes, haciendo que sean más fáciles de resolver con programas comerciales. Otra ventaja que se puede obtener al reconocer modelos de red dentro de los problemas prácticos, es que muchos modelos de red generan soluciones enteras sin necesidad de recurrir a programación entera, reduciendo de esta manera la carga computacional necesaria.

Porque no se requiere utilizar programación entera en los modelos de redes.

Los modelos de redes cumplen la importante propiedad de que si las ofertas y las

Carlos Quiñones Botero

43

Modelación de sistemas logísticos

demandas son enteras (o lo que es lo mismo, los valores de los lados derechos de las restricciones), entonces al resolver el modelo los valores óptimos de las variables son también enteros. Esto evita que debamos utilizar programación entera haciendo el modelo más rápido de resolver.

Sea cuidadoso al modelar las restricciones de los nodos de demanda.

La demanda de los nodos de llegada de los modelos de red algunas veces utiliza una convención que hace que esta demanda sea negativa. Por ejemplo, si un almacén tiene una demanda de 100 unidades y sólo puede ser atendida por una sola carretera, se deberá suministrar a través de esta una cantidad

mayor o igual a 100 unidades:

Obsérvese que pareciera que la restricción hubiera sido mal construida, puesto que se está suministrando una cantidad menor que ─100. Pero recuerde, si suministramos 120 unidades, ─120 es menor que ─100.

Uso de algoritmos especializados para resolver modelos de redes.

Frecuentemente, es más eficiente resolver los modelos de redes con algoritmos especializados que con el algoritmo simplex revisado debido a que estos problemas tienden a ser muy grandes. El modelador debería saber si está tratando con un problema que pueda resolverse con estos algoritmos especializados con el fin de tomar ventaja de ellos. Sin embargo, los programas computacionales actuales son diseñados para ser altamente eficientes y no será muy frecuente que se deban recurrir a algoritmos especializados como el simplex de redes.

Las técnicas de descomposición deben ser usadas con cuidado.

Carlos Quiñones Botero

44

Modelación de sistemas logísticos

Se han desarrollado técnicas de descomposición que permiten resolver modelos muy grandes por partes. Aunque la idea es atractiva, los resultados prácticos no han sido los mejores. Se recomienda utilizar estas técnicas en modelos grandes que deban ser resueltos una y otra vez. En este caso se pueden evaluar si realmente se obtienen ventajas computacionales con estas técnicas.

Por qué se deben preferir los modelos determinísticos a los modelos estocásticos.

La potencia y generalidad de los métodos matemáticos disponibles para el análisis de modelos estocásticos es muy inferior al de los métodos para modelos determinísticos.

5. Software para modelación

Comparación entre los programas de optimización comerciales y de fuente abierta.

Los códigos algorítmicos de gran escala confían en técnicas de álgebra lineal muy refinadas y el esfuerzo que implica su desarrollo conlleva a que este software tienda a ser caro. Los códigos que son gratis tienden a ser menos robustos que los códigos comerciales, aunque aún así, son suficientes para modelar muchos problemas de logística. No existen a la fecha códigos para modelos de gran escala que no sean comerciales.

Carlos Quiñones Botero

45

Modelación de sistemas logísticos

Cómo comparar programas de optimización.

Al evaluar un programa de optimización, tenga en la mente que casi todos los de alta calidad tienen opciones que mejoran su desempeño al resolver ciertos problemas difíciles. Los estudios comparativos que se obtienen de diferentes fuentes, usualmente no tienen en cuenta estas opciones y subestiman la capacidad de algunos programas.

Capacidades de programas para optimización.

Como se observa en la figura 2, Cantidad de variables, existen programas profesionales de mayor capacidad que Solver, pero para muchos problemas prácticos, la capacidad de este último es más que suficiente.

Figura 2. Cantidad de variables soportadas Restricciones

Variables

Variables enteras

No ceros

Premium Solver Demo

1.000

2.000

1.000

Ilimitados

Premium Solver Platform Demo

8.000

8.000

2.000

Ilimitados

XPress Student Version

400

800

400

5.000

Ilimitadas

Ilimitadas

Ilimitadas

Ilimitadas

Producto

XPress Demo

Figura 2. Cantidad de variables soportadas por algunos programas profesionales. Tomado de Linear Programming

Carlos Quiñones Botero

46

Modelación de sistemas logísticos

Survey, 2007, por OR/MM Today. Recuperado de: http://www.lionhrtpub.com/orms/surveys/LP/LP-survey.html

Así mismo, en la figura 3, Tipos de variables, vemos que Solver no tiene todos los tipos de variables que aparecen en el software profesional, pero aun así, con las variables enteras y binarias es suficiente para modelar la gran mayoría de los casos empresariales.

Figura 3. Tipos de variables soportadas (OR/MM Today) Entera /binaria

Semicontinua

Discreta arbitraria

Lineal por pedazos

Premium Solver Demo



No

No

No

Premium Solver Platform Demo



No

No

No

XPress Demo









Producto

Figura 3. Cantidad de variables soportadas por algunos programas profesionales. Tomado de Linear Programming Survey, 2007, por OR/MM Today. Recuperado de: http://www.lionhrtpub.com/orms/surveys/LP/LP-survey.html

Desventajas de la hoja de cálculo.

La modelación con hojas de cálculo es inicialmente fácil, pero se hace difícil cuando el modelo se hace más complejo. Con el software profesional ocurre lo contrario. Sus desventajas específicas son de tres tipos: 

Documentabilidad, que es la capacidad para documentar una hoja de cálculo para que otros usuarios la puedan entender y mantener. El manejo de comentarios en Excel es problemático cuando los modelos son grandes.



Escalabilidad, que se refiere a la capacidad de cambiar el número de ítems en un modelo.



Hiperescalabilidad, por la que entendemos la capacidad para añadir o remover dimensiones al modelo.

Carlos Quiñones Botero

47

Modelación de sistemas logísticos

Estos problemas han llevado a que algunas personas piensen que a medida que los usuarios aumenten sus conocimientos informáticos, seremos menos dependientes de las hojas de cálculo.

6. Técnicas de modelación con Excel

La hoja de cálculo permite reducir significativamente la complejidad inherente de los modelos algebraicos, permitiendo que administradores sin formación matemática construyan modelos de optimización. De esta manera, se reducen los tiempos de programación y en ciertos casos, se disminuyen los errores. A continuación presentamos algunas estrategias y técnicas para mejorar la calidad de los modelos construidos en Excel.

Comprenda lo que quiere hacer.

Desarrolle un claro entendimiento de los requerimientos de la tarea. Puede ser más apropiado utilizar bases de datos, paquetes estadísticos, u otras herramientas especializadas.

Simplifique.

Carlos Quiñones Botero

48

Modelación de sistemas logísticos

Haga su hoja de cálculo lo más simple posible, pero no más simple de lo que debe ser. Si se requieren funciones definidas por el usuario, utilícelas, pero trate de usar lo que sea más simple. Sea especialmente cuidadoso con las funciones incorporadas en la última versión de Excel, puesto que pueden tener problemas. Un ejemplo de esto ocurrió con la función ALEATORIO que no funcionó adecuadamente cuando se introdujo al mercado.

Construya prototipos.

Utilice prototipos para las partes más complejas de la hoja de cálculo. Al fin y al cabo se deben desechar al final, y por eso se puede experimentar con ellos. Y un prototipo puede convertirse en la solución de un problema.

No construya una hoja electrónica muy rígida.

Construya una hoja de cálculo tolerante al cambio. Si su hoja de cálculo va a ser exitosa, cuente con que se harán múltiples versiones de ellas en el tiempo.

Separe las secciones de la hoja de cálculo.

Mantenga las entradas, la lógica y los reportes de la hoja de cálculo en lugares separados, preferiblemente en diferentes pestañas, sobre todo en modelos grandes. De esta manera, es menos probable que las fórmulas sean sobrescritas, y los usuarios podrán formatear los reportes como ellos deseen, sin ningún temor. Si estas secciones no se deben colocar en pestañas separadas, colóquelas en diagonal, de manera que, si se borran las columnas de una sección, no se afecten las otras secciones. Sin embargo, ninguna de estas alternativas previene que cualquier celda de la hoja de cálculo sea reescrita con una macro.

Carlos Quiñones Botero

49

Modelación de sistemas logísticos

Pero también se pueden mantener las entradas, la lógica y los reportes en una sola pestaña, porque si se reparten en varias pestañas, los nombres de las celdas se hacen más largos, haciendo más difícil la depuración de la hoja de cálculo. Así mismo, si se ubican las secciones en varias pestañas, la herramienta de auditoría de fórmulas no puede mostrar flechas saltando entre pestañas.

Para hacer compatibles las últimas dos recomendaciones, tenga en cuenta el tamaño de la hoja de cálculo, la frecuencia de las referencias fuera de una pestaña determinada, la complejidad del formateo, entre otros aspectos.

Construya un flujo lógico en la hoja de cálculo.

La hoja de cálculo se debe leer de arriba hacia abajo y de izquierda a derecha. Todas las celdas dependientes deberían estar hacia abajo o hacia la derecha. Una excepción ocurre cuando la primera celda de una columna depende de la última celda de la columna a la izquierda.

Trabaje por etapas.

Construya las hojas de cálculo complicadas por etapas. Depure completamente cada etapa antes de seguir con la siguiente.

Limite las conexiones entre las celdas.

Disminuya la longitud de las celdas en cascada. Se puede demostrar que si una la probabilidad de error de una celda es del 5%, la probabilidad de error de seis celdas enlazadas por fórmulas es del 25%. Una cascada muy larga puede tener una probabilidad de error de casi

Carlos Quiñones Botero

50

Modelación de sistemas logísticos

el 100%.

Cree una pestaña que describa cómo construyó la hoja de cálculo.

Construya una pestaña separada llamada COMO, que documente como se construyó la hoja de cálculo. Esta pestaña podría incluir: 

Un gráfico de dependencias.



Un listado de todas las celdas importantes de la hoja de cálculo, describiendo su función y especificando su fuente bibliográfica, en el caso de celdas de entrada.



Descripción de aspectos complicados de su hoja de cálculo.



Descripción de macros y funciones definidas por el usuario.

Complete las propiedades de la hoja de cálculo.

Llene la hoja de propiedades de la hoja de cálculo que aparece en Botón de Office/Preparar/Propiedades. Esta información es indexada para búsqueda. La información de la versión, las palabras clave o la fecha de la última revisión pueden ser especialmente importantes.

Cambie el estilo de referencia de las celdas cuando sea conveniente.

Utilice el estilo de referencia R1C1. Aunque el estilo A1 es más común, el estilo R1C1 tiene la ventaja en que la fórmula funcionará sin importar donde esté ubicada. Esto significa que las celdas copiadas trabajaran en forma idéntica al original, sin importar donde sean copiadas.

Carlos Quiñones Botero

51

Modelación de sistemas logísticos

Comprenda completamente las referencias absolutas y relativas.

Entienda completamente los efectos sobre las referencias absolutas y relativas de las inserciones, borrados, copiados, ordenaciones y otras formas de movimiento.

Asigne un nombre a los rangos.

Asigne nombres descriptivos, breves y significativos a los rangos. Utilice nombres en lenguaje natural. Si el nombre se escoge correctamente servirá como la mejor documentación para una celda. La mejor forma de definir un nombre es con el cuadro Nombre de la barra de fórmulas.

Solo utilice una formula por fila o columna.

Observe el siguiente ejemplo:

Sales Gross Profit Net Income Percent to Sales Gross Profit Net Income

$14.729 $4.601 $1.245

$14.021 $4.292 $880

31,2% 8,5%

30,6% 6,3%

Sea cuidadoso con los números mágicos.

Los números mágicos que no tienen significación para el modelo, como el indicador de columnas de la función BUSCARV se definen mejor como una constante con un nombre que no es visible al lector de la hoja de cálculo.

Carlos Quiñones Botero

52

Modelación de sistemas logísticos

Tenga cuidado con autocompletar.

Desactive el autocompletar en las celdas de entrada, ya que se podrían ingresar datos incorrectos.

Revise los datos de entrada del modelo.

Valide las entradas de las celdas para garantizar que se encuentren en determinados rangos. Nunca utilice rangos abiertos.

Aclare cuales son las celdas de entrada.

Formatee en forma diferente las celdas de entrada.

No confíe en los enlaces externos.

Sea escéptico sobre enlaces externos a la hoja de cálculo. No solamente estos enlaces pueden romperse, sino que pueden ser manipulados para cometer fraudes, como sucedió en el Allied Irish Bank, donde un estafador cambió los enlaces de una hoja de cálculo por otros que apuntaban a datos que le convenían (European Spreadsheet Risk Internet Group, s.f.). Si va a usar estos enlaces, formatéelos en forma diferente.

Gestione los errores.

Carlos Quiñones Botero

53

Modelación de sistemas logísticos

Atrape los errores y envíe mensajes significativos con la función ESERROR. No oculte los errores ni permita que aparezcan en otros lugares de la hoja de cálculo. Esto es mejor que un simple mensaje #¡DIV/0!

No utilice más de un intervalo de tiempo en el modelo.

Mantenga un intervalo común para los cálculos. Si una hoja de cálculo hace operaciones semestrales y luego las hace anuales, convierta los cálculos anuales en semestrales.

Evite las referencias circulares para calcular soluciones iterativas.

Utilice Solver para calcular soluciones iterativas. No utilice referencias circulares.

Utilice las funciones CELDA, TIPO e INFO.

Utilice las funciones CELDA, TIPO e INFO para devolver información que sea útil para el modelo.

Controle lo que el usuario puede cambiar en su modelo.

Bloquee todas las celdas, excepto las celdas de entrada. Esto evitará que la hoja de cálculo sea inadvertidamente cambiada, pero publique la clave para que se hagan los cambios que sean realmente necesarios.

No deje la documentación para el final.

Documente extensivamente las celdas de su hoja de cálculo en el momento en que la

Carlos Quiñones Botero

54

Modelación de sistemas logísticos

cree, cuando tiene todas las ideas claves presentes. Por ejemplo, explique las formulas complicadas y cada una de las opciones de una función SI.

Tenga cuidado en que puede pasar cuando el modelo cambie.

Utilice funciones que manejen rangos dinámicos, por ejemplo CONTARA, que permiten que los rangos de los datos crezcan o disminuyan. Defina los nombres para que cubran toda una columna o una fila, de manera que puedan crecer o encogerse.

Utilice funciones especiales para navegar y depurar el modelo.

Utilice la función Ir a especial para seleccionar celdas que contengan constantes, números o errores. Las opciones Diferencia entre filas y Diferencia entre columnas son especialmente útiles para encontrar formulas que difieren de sus vecinas.

Indique automáticamente resultados extraños.

Utilice formateo condicional para resaltar resultados improbables. Una rentabilidad del 200% indica que, o hemos encontrado un producto sobresaliente, o existe un error en el modelo. Utilice estilos para crear una hoja de cálculo consistente.

Formatee utilizando estilos, más que botones. Esto provee un estilo consistente a toda la hoja de cálculo.

Separe claramente las áreas del modelo.

Utilice espacios en blanco alrededor de los datos para definir áreas.

Carlos Quiñones Botero

55

Modelación de sistemas logísticos

Sea cuidadoso con ciertas gráficas de Excel.

Evite las graficas más sofisticadas, como muchas en tercera dimensión, que hacen más compleja la presentación sin añadir significado.

Automatice con macros.

Utilice macros para evitar hacer el mismo trabajo dos veces. Las macros mejoran la precisión del trabajo y disminuyen el tiempo de desarrollo de la hoja de cálculo.

Evite formulas largas e ilegibles.

Descomponga las expresiones largas y complicadas en varias celdas. Sin embargo, tenga en cuenta el número de celdas en cascada, el cual, como se explicó, no debe pasar de seis.

Si el problema es muy complejo utilice VBA.

Utilice Visual Basic for Applications (VBA) en lugar de escribir formulas muy complicadas, especialmente aquellas que contienen ciclos.

Utilice técnicas para acelerar su trabajo.

Construya una librería de macros y funciones usadas frecuentemente. Las plantillas aceleran la depuración de las hojas de cálculo porque las partes comunes sólo deben ser depuradas una vez.

Imprima una lista con todas las fórmulas.

Carlos Quiñones Botero

56

Modelación de sistemas logísticos

Si se siguió el consejo de darle nombre a todas las celdas y escribir una sola fórmula por fila o columna, en la pestaña Fórmulas se puede escoger Mostrar fórmulas y luego se pueden imprimir. La lista resultante muestra toda la lógica de la hoja de cálculo con un formato aceptable. Un ejemplo de esta impresión es el siguiente: Año = 1+Año_Anterior Ventas = (1+Tasa_Crecimiento)*Año_Anterior Precio_Unitario = (1+Tasa_Crecimiento)*Año_Anterior

Ejecute unas pruebas sencillas.

Efectúe un conjunto de pruebas utilizando papel y calculadora, antes de entregar el trabajo: 

Revise los totales.



Compare los resultados con valores conocidos.



Agregue ceros en todas las celdas y observe que los valores obtenidos sean los que se esperan, usualmente ceros.



Utilice un análisis dimensional para asegurarse que las unidades de los resultados son correctas. Por ejemplo, si dos celdas que están medidas en metros, se multiplican. El resultado se obtendrá en metros cuadrados. Si esta celda la igualamos a otra, es necesario que esta última también esté medida en metros cuadrados.



Verifique que sucede si se colocan valores extremos esperados en las celdas de entrada.



Imprima su hoja de cálculo y léala.



Las hojas de cálculo grandes, complejas y que tienen especificaciones poco definidas están sujetas a más riesgo y se les deben efectuar pruebas más extensas y rigurosas.

Carlos Quiñones Botero

57

Modelación de sistemas logísticos



Permita que otra persona efectúe las pruebas de la hoja de cálculo.

No trabaje solo.

Trate de que la hoja de cálculo la construyan dos personas, un experto en hojas de cálculo y un experto en el problema que se está resolviendo. Así mismo, se ha encontrado que dos auditores que trabajan independientemente y luego comparan su trabajo, son capaces de encontrar el 80% de los errores, en comparación con el 30 - 50% que es capaz de encontrar un solo auditor.

Revise los resultados.

Verifique que la hoja de cálculo está obteniendo lo que realmente debería obtener. El error más frecuente que se da en hojas de cálculo no es un error de tipo técnico como los explicados en el apartado anterior, sino el incumplimiento de las especificaciones de lo que se pretendía obtener.

Trabaje organizadamente.

Construya un ambiente organizado que incentive a trabajar correctamente. Se pueden tomar innumerables medidas, entre las que podemos mencionar, escribir el nombre del desarrollador y el auditor en cada hoja de cálculo; crear un sistema de revisión por pares del trabajo que se vaya adelantado, y si la hoja de cálculo tiene una importancia crítica para la empresa, dos desarrolladores podrían trabajar independientemente hasta que alcancen un consenso entre ellos.

Evite los errores técnicos más comunes al crear hojas de cálculo.

Carlos Quiñones Botero

58

Modelación de sistemas logísticos



Crear una fórmula utilizando una celda incorrecta.



Cambiando un grupo de celdas copiadas, pero olvidando cambiar otras.



Rangos incompletos a los que les falta un extremo o el otro del rango.



Fórmulas que utilizan rangos que se expanden sin actualizar las fórmulas.



Correcciones temporales del tipo que se dan cuando se suprime una fórmula pero se deja su valor, quizás para presentar los valores con cierto formato.



Falta de entrenamiento para diferenciar referencias relativas y referencias absolutas. Un poco de ayuda a este respecto se puede obtener si se utiliza el estilo R1C1 y se le dan nombres a los rangos.



Sumar cantidades con unidades diferentes, por ejemplo, una celda que se mide en unidades con otra celda que se mide en miles.



Argumentos de funciones ingresados en un orden incorrecto. El uso del botón Insertar función mitiga este problema.

Asuma que está cometiendo errores al construir el modelo.

No sobreestime sus capacidades para escribir hojas de cálculo sin errores. Estudios realizados mediante encuestas con desarrolladores mostraron que mientras ellos consideraban una tasa de errores del 18%, una evaluación por terceras partes encontró una tasa del 86%. Si usted no considera que su código tenga errores, no los buscará, reforzando la sobreestimación de sus propias capacidades.

Utilice herramientas de auditoría.

Las herramientas especializadas para la auditoría de hojas de cálculo permiten identificar errores mediante un conjunto de técnicas diferentes, mostrando con el mismo color, por

Carlos Quiñones Botero

59

Modelación de sistemas logísticos

ejemplo, las celdas que se crearon arrastrando.

Evite problemas con la opción Autorecuperación.

Para prevenir la pérdida de datos, utilice la opción de Autorecuperación de Excel que puede se encontrar en Botón de Office, Opciones de Excel, Guardar.

Nombre adecuadamente las versiones de los archivos.

Cree versiones consecutivas del archivo donde está construido el modelo, para que en caso de que se presente un error grave, se pueda reiniciar el trabajo desde un punto anterior. Un ejemplo de este nombre podría ser modelos_01.xlsx, modelos_02.xlsx, etc.

Manténgase actualizado sobre los riesgos de las hojas de cálculo.

Conozca los riesgos de seguridad que se pueden presentar al desarrollar hojas de cálculo,

visitando

sitios

como

European

Spreadsheet

Risk

Internet

Group,

http://www.eusprig.org/.

7. Herramientas para el análisis con hoja de cálculo

Los modeladores se acostumbran a un conjunto de herramientas y dejan de lado otras

Carlos Quiñones Botero

60

Modelación de sistemas logísticos

que podrían ser útiles para responder ciertas preguntas relacionadas con los modelos. Usualmente, esto debilita las conclusiones de la modelación, puesto que no se formulan las preguntas que podrían ser respondidas con esas herramientas.

Figura 4. Herramientas para el análisis Análisis

Herramientas utilizadas

Caso base

Excel

Sensibilidad

Excel

Metas

Administrador de escenarios de Excel

Optimización

Solver

Riesgo

Crystal Ball

Análisis del caso base.

El caso base más utilizado es la operación actual de la empresa. Su importancia radica en que nos permite validar la corrección del modelo. Al ingresar el caso base dentro del modelo, los resultados deben ser consistentes con lo que se observa en la empresa.

Algunas veces se utilizan varios casos base. El primer caso base podrían ser los resultados del año pasado de la empresa y luego podríamos utilizar como caso base, los datos del año actual.

Análisis Y si.

Cambio de una sola entrada. Carlos Quiñones Botero

61

Modelación de sistemas logísticos

Consiste en cambiar algunas entradas del modelo para valorar el cambio en los resultados. Estas entradas pueden ser parámetros, es decir, entradas que no dependen de decisiones administrativas, o bien variables de decisión, que sí pueden ser cambiadas por la empresa.

Cuando estudiamos el cambio de un parámetro estamos reconociendo que las hipótesis sobre las cuales se construyó el modelo pueden cambiar. En el caso de la empresa de paquetería, el parámetro a modificar podría ser el crecimiento económico.

Cuando estudiamos el cambio de una variable de decisión, estamos tratando de encontrar cómo podemos alterar la variable para mejorar los resultados. Este cambio lo podemos hacer cuando lo deseemos, porque depende directamente de nosotros. En la empresa de paquetería, podríamos cambiar el tamaño y personal de los locales que planeamos abrir, con el fin de evaluar si mejora la rentabilidad de la empresa.

También podemos evaluar la sensibilidad de los resultados a un cambio en la estructura del modelo. En la empresa de paquetería, podríamos haber considerado que existía una relación lineal entre la densidad de los puntos de recibo y los ingresos, aunque es claro que eventualmente la red se saturará y más puntos de recibo no traerán mayores ingresos. Por lo tanto, podríamos cambiar esta relación lineal por una relación creciente, pero asintótica.

Hemos explicado cómo analizar la respuesta del modelo a cambios en una sola entrada al mismo tiempo. Es un análisis importante que nos permitirá entender cuáles son las entradas que tienen mayor impacto sobre los resultados y también puede ayudar a encontrar errores en el modelo si se producen resultados inesperados.

Es importante mantener un registro de todos los cambios que se le hacen al modelo, con el fin de poder comparar los resultados al final.

Carlos Quiñones Botero

62

Modelación de sistemas logísticos

Análisis de escenarios. Es posible que un grupo de entradas del modelo sólo tengan sentido cuando se analizan juntas. En el centro de distribución, podríamos analizar el escenario cuando se hacen ciertas inversiones para automatizar el centro y se maneja un nivel de servicio que permite atender los pedidos en tres horas, un tiempo inalcanzable si no existe automatización. No tendría sentido analizar el aumento de las inversiones únicamente, porque sólo se efectúan si se ven reflejadas en un mejor nivel de servicio. Tampoco tendría sentido mejorar únicamente el nivel de servicio, puesto que esto sólo es posible si se han hecho inversiones en automatización.

Para registrar los cambios en Excel, encontramos una herramienta especializada en Datos/Herramientas de datos/Análisis Y Si/Administrador de escenarios.

8. Opciones de Excel Solver

Excel Solver tiene una configuración predeterminada adecuada para la mayor parte de los problemas encontrados en la práctica. Se pueden modificar, sin embargo, ciertos parámetros, como se explica a continuación.

Tiempo máximo.

Carlos Quiñones Botero

63

Modelación de sistemas logísticos

El valor por defecto es de 100 segundos, tiempo que es adecuado para problemas pequeños, pero puede especificarse un valor máximo de 32.367 segundos, o sea, unas nueve horas, aproximadamente. Este valor puede ser insuficiente para ciertos problemas reales, como la optimización de la logística inversa de Nukote, que requiere alrededor de 27 horas (LeBlanc & Galbreth, Implementing Large-Scale Optimization Models in Excel Using VBA, 2007).

Iteraciones.

El valor por defecto es 100, que es adecuado para problemas pequeños, pero puede especificarse un valor máximo de 32.767. Se puede considerar una medida indirecta del tiempo.

Precisión.

Es un número entre 0 y 1 y su valor por defecto es 0,000001. Indica la tolerancia dentro de la cual las restricciones se consideran cumplidas y las variables enteras se consideran como tales, si se está utilizando programación entera. Mientras menor sea su valor, mayor es la precisión.

Tolerancia.

Se expresa como un porcentaje y puede tomar valores entre 0 y 100%. Se utiliza únicamente en la programación entera y permite que Solver se detenga cuando está cerca de un valor entero, pero aún no ha llegado a él. Se utiliza para limitar el tiempo requerido en modelos no triviales, dado que en estos casos, el algoritmo encuentra una solución razonablemente buena con gran rapidez, pero luego necesita mucho tiempo para verificar que

Carlos Quiñones Botero

64

Modelación de sistemas logísticos

es una solución óptima. Tenga en cuenta que su valor por defecto es 5% y no cero, de manera que es posible que la respuesta a variables enteras no sea entera y difiera del valor entero en un porcentaje igual a lo especificado en esta opción.

Convergencia.

Es un número entre 0 y 1 y su valor por defecto es 0,0001. A medida que Solver se acerca a la solución óptima, el cambio de la función objetivo es progresivamente menor. Si este cambio en las últimas cinco iteraciones, es menor que el valor especificado en la convergencia, Solver se detendrá. De manera que mientras menor sea el valor especificado en la convergencia, mayor será el tiempo que requerirá Solver para obtener una solución. Esta opción se aplica únicamente a problemas no lineales.

Adoptar un modelo lineal.

Esta opción no está seleccionada por defecto. Al escogerla, Solver utiliza el algoritmo simplex, que es mucho más rápido que otros algoritmos. De manera que siempre se debería seleccionar si el modelo es lineal o existen dudas en cuanto a su linealidad. En caso de que no lo sea, Solver indicará que no es un modelo lineal.

Adoptar no negativos.

Los primeros algoritmos que se utilizaron en optimización requerían que las variables no tomaran valores negativos. Esto obligaba a efectuar ciertos trucos cuando aparecían variables que tomaban valores negativos. Sin embargo, con los programas de optimización actuales, y específicamente con Solver, esta restricción no es estrictamente necesaria, y queda a

Carlos Quiñones Botero

65

Modelación de sistemas logísticos

escogencia del modelador, utilizarla o no.

Usar escala automática.

Esta opción se debe utilizar si los órdenes de magnitud de las variables de decisión y la función objetivo son muy diferentes. Por ejemplo, si las variables se miden en toneladas y la función objetivo se mide en dólares. Se recomienda utilizar esta opción siempre que sea posible.

Mostrar resultado de iteraciones.

Si se selecciona esta opción, Solver muestra los valores de las variables de decisión que va obteniendo.

Estimación tangente.

Es una opción del algoritmo de búsqueda que utiliza la extrapolación lineal de un vector tangente. Es la opción por defecto de Solver.

Estimación cuadrática.

Es otra opción del algoritmo de búsqueda que mejora la velocidad en problemas no lineales. Derivadas progresivas.

Se utilizan en los modelos donde los valores izquierdos de las restricciones cambian lentamente. Es la opción por defecto de Solver.

Carlos Quiñones Botero

66

Modelación de sistemas logísticos

Derivadas centrales.

Se utiliza en los modelos donde los valores izquierdos de las restricciones cambian rápidamente. Es una opción más lenta, pero se recomienda utilizarla cuando Solver muestre un mensaje indicando que la solución no puede mejorarse.

Buscar Newton.

Utilice esta opción si tiene un problema que no requiere mucha memoria y que desee resolver rápidamente.

Buscar conjugado.

Utilice esta opción si tiene un problema grande que requiere una cantidad de memoria que podría ralentizar el computador y que se espera que no necesite mucho tiempo para ser resuelto. Esto lo puede determinar en la práctica iniciando Solver y analizando si está avanzando rápida o lentamente hacia la solución.

Guardar modelo y Cargar modelo.

Con la opción Guardar modelo se pueden almacenar los valores que aparecen en la hoja electrónica y se pueden recuperar posteriormente con la opción Cargar modelo. Esto puede ser útil si la solución está tomando mucho tiempo y se debe suspender temporalmente a Solver. El modelo se guarda en el estado en que se encuentre y luego se reinicia en el punto en que se dejó. Esta opción también es útil si se va a correr el modelo con otros datos. No es necesario utilizar esta opción si se va a guardar un solo modelo, puesto que éste queda incluido automáticamente con la hoja de cálculo.

Carlos Quiñones Botero

67

Modelación de sistemas logísticos

9. Obteniendo lo máximo de Excel Solver

Solver es el programa ideal para muchas empresas.

Existen muchos programas de optimización dirigidos al mercado profesional de la investigación de operaciones, los cuales son altamente técnicos y necesitan especialistas para operarlos. Solver, por otra parte, trabaja sobre Excel, que es la lengua franca de los negocios, y de esta manera, puede ser utilizado con más facilidad por las empresas.

Excel Solver permite resolver problemas más complejos.

Debido a la arquitectura de las hojas de cálculo, se pueden crear fácilmente funciones discontinuas o con valores no numéricos. Estos modelos, usualmente no se pueden resolver con los métodos de optimización clásicos, y Solver tiene procedimientos especiales para tratarlos.

Carlos Quiñones Botero

68

Modelación de sistemas logísticos

Cuándo construir modelos con Visual Basic for Applications (VBA).

En general, los modelos que tienen hasta 1.000 variables, se pueden construir con Excel, pero sin utilizar VBA. Si el modelo tiene entre 10.000 y 100.000 variables, se puede utilizar Excel con VBA. Y si el modelo tiene más de 100.000 variables, no se debería utilizar Excel, y se deberían buscar otros programas de optimización profesionales.

No tiene mucho sentido utilizar la función Buscar objetivo.

Solver es un programa más sofisticado y seguro que la función Buscar Objetivo, y no tiene mucho sentido seguir utilizando esta última.

Es mejor suponer primero que el problema es lineal.

En general, un modelo lineal se resuelve más rápidamente que un modelo no lineal. Cabría esperar entonces, que Solver tratara de resolver primero los modelos con algoritmos lineales, pero sucede justamente lo contrario. El valor por defecto en Solver es no lineal y esto se debió a que Microsoft deseaba una aproximación general a los problemas. Los algoritmos no lineales pueden resolver modelos lineales y no lineales, en tanto los algoritmos lineales sólo pueden resolver modelos lineales.

Si se escoge la opción No lineal, Solver no tratará de verificar si el modelo es lineal. Pero si el usuario indica que el modelo es lineal, Solver efectuará un chequeo de linealidad para tratar de verificar si esto es cierto. Debido a que existen cientos de funciones de Excel que pueden aparecer en los modelos, y el chequeo se efectúa en puntos discretos, esta revisión no es perfecta. Algunos modelos lineales que no están bien escalados pueden aparecer como no

Carlos Quiñones Botero

69

Modelación de sistemas logísticos

lineales. Ésta es una razón por la cual es importante escoger la opción Use escala automática si se escoge opción Lineal.

Olvídese de la función Estimar.

La función Estimar de Solver para determinar las variables (celdas cambiantes), casi siempre falla y no debería utilizarse.

Es más rápido ingresar las restricciones en bloque.

En la figura 5, Ingreso de restricciones en bloque, observamos que si todas las restricciones son del mismo tipo, en este caso, todas son menores o iguales (≤), podemos ingresarlas en una sola operación seleccionando los rangos.

Figura 5. Ingreso de restricciones en bloque

Utilice nombres para las celdas y los rangos.

Carlos Quiñones Botero

70

Modelación de sistemas logísticos

En la figura 6, Ingreso de restricciones utilizando nombres de rangos, observamos cómo primero nombramos al rango D3:D5, Horas_Utilizadas, y al rango F3:F5, Horas_Disponibles, y luego ingresamos la restricción, señalando estos rangos, como aparece en el apartado. Es más rápido ingresar las restricciones en bloque. Solver automáticamente convertirá los rangos en sus nombres, haciendo más fácil de depurar el modelo.

Figura 6. Ingreso de restricciones utilizando nombres de rangos

No es lo mismo una restricción en Excel que en Solver.

Para la hoja electrónica, -0.0000003 no es cero, pero para Solver, estos valores sí pueden ser iguales, dependiendo de cómo se configuró la opción Precisión. En ella se indica la tolerancia dentro de la cual las restricciones se consideran cumplidas y las variables enteras se consideran como tales, si se está utilizando programación entera.

Si necesita opciones más sofisticadas, evalúe a Premium Solver.

La versión estándar de Solver que viene instalada con Excel 2007 tiene algoritmos para la programación lineal, la programación entera y la programación no lineal, asumiendo que las funciones son lisas. Esto puede no ser suficiente en ciertas situaciones. Si se tienen modelos con

Carlos Quiñones Botero

71

Modelación de sistemas logísticos

funciones que no son lisas, escritas con cualquier función de Excel (SI, ESCOGER, entre otras), la versión estándar de Solver puede tener dificultades. Es más probable que Premium Solver pueda resolver el modelo, utilizando los algoritmos genéticos que tiene incorporados.

Premium Solver es más rápido que la versión estándar en toda clase de problemas y tiene también un tipo de restricción especial llamada alldifferent, que obliga a que los valores enteros de las variables de decisión sean diferentes entre sí.

Si quiere controlar el tiempo de solución, especifique el número máximo de iteraciones.

Algunos modelos pueden tomar un largo tiempo para ser resueltos y puede ser conveniente especificar un número máximo de iteraciones. El valor máximo posible se encuentra alrededor de 32.767.

Si no logra alcanzar una solución, puede suspender los procesos de Solver.

Si el modelo está tomando mucho tiempo, y no se puede continuar con el proceso de búsqueda de la solución, se puede suspender la ejecución con la tecla ESC. Una vez inspeccionados los valores que aparecen en el modelo, se puede decidir si se continúa, se guardan estos valores o se suspende el proceso de búsqueda.

Puede guardar cada uno de los resultados que obtenga.

Si en el apartado anterior se decidió guardar los valores que ha obtenido Solver hasta el momento, se puede utilizar la opción Guardar escenario.

Carlos Quiñones Botero

72

Modelación de sistemas logísticos

Es mejor utilizar la opción Usar escala automática.

La opción Usar escala automática se incorporó en Solver porque incluso profesores universitarios decían que Solver no obtenía la solución correcta, sin observar que el problema estaba mal escalado. No es sorprendente esta situación, dado que al irse enfatizando con el transcurso del tiempo más la modelación que los algoritmos, los problemas del escalamiento se han ido olvidando.

Para escalar un problema, Solver utiliza el método especificado en por Gill, Murray y Wright, (1981) que es el método preferido en la literatura. Sin embargo, el método tiene limitaciones y es posible construir modelos que fallan al utilizarlo. No es necesario desescalar la solución, porque al final, Solver lo hace automáticamente.

Algunas opciones no se utilizan si es un modelo lineal.

Las opciones de convergencia, estimado, derivadas y búsqueda, se utilizan únicamente para resolver modelos no lineales. Se puede utilizar Solver desde el lenguaje Visual Basic for Applications (VBA).

Cada función de Excel tiene una equivalente en VBA, lo cual es crítico para desarrollar aplicaciones a la medida.

Las diferentes partes del modelo deben construirse en sitios específicos.

Solver requiere que las celdas de las variables de decisión, la celda de la función objetivo y los lados izquierdos de las restricciones, aparezcan en la hoja activa. Todo lo demás, es decir, valores de entrada, fórmulas del modelo y los lados derechos de las restricciones, pueden

Carlos Quiñones Botero

73

Modelación de sistemas logísticos

aparecer en otras hojas.

Si el modelo no es lineal, es posible que no se obtenga el óptimo global.

Para resolver modelos no lineales, Solver utiliza el algoritmo GRG2, que a pesar de ser robusto, sólo garantiza que se obtiene un óptimo local en modelos con funciones diferenciables continuamente, que no encaran problemas numéricos. Esto significa que muchos modelos con discontinuidades, construidos con ABS, Y, MIN, MAX, NO, ENTERO, O, REDONDEAR, SI y BUSCAR, entre otras, puede que no lleguen a un óptimo, ni siquiera local. Los modelos no lineales resueltos con GRG2 son, además, más sensibles a los problemas de escalamiento que los modelos lineales resueltos con el simplex, por lo que se recomienda incluir la opción Usar escala automática, siempre que sea posible.

Mejore la confiabilidad de los mensajes de infactibilidad.

El mensaje Solver no pudo encontrar una solución factible, puede no indicar que un modelo no lineal es realmente no factible. Para mejorar la confiabilidad de este mensaje, se debe seleccionar la opción Usar escala automática, aumentar la precisión (es decir, disminuir el valor en la casilla correspondiente), disminuir el porcentaje de tolerancia, utilizar derivadas centrales e iniciar Solver con otros valores diferentes en la celdas que representan las variables de decisión.

Tenga cuidado con los valores de arranque.

Una de las razones por las que no se obtiene el óptimo global radica en los valores que tienen las celdas de las variables de decisión antes de correr Solver, especialmente si son puros ceros. Para mitigar este problema, se pueden ubicar en estas celdas, antes de iniciar a Solver, valores representativos de la solución óptima, o bien, generar valores aleatorios en ellas, lo que

Carlos Quiñones Botero

74

Modelación de sistemas logísticos

puede lograrse con una rutina automática escrita en VBA. Si al final de este proceso, Solver obtiene los mismos valores en las celdas correspondientes a las variables de decisión, se puede tener confianza de que se ha obtenido un óptimo global.

Ajuste correctamente la precisión de la solución.

La precisión de la computación hará que los valores de Excel y de Solver difieran levemente. Si la opción Precisión se ajusta a un valor muy grande, las restricciones se cumplirán muy fácilmente. En problemas no lineales, el rango debería estar entre 0,000001 y 0,01, recomendándose un valor de 0,0001. Mientras más pequeño el valor, mayor será la precisión de la repuesta. La precisión máxima se alcanza cuando se toma un valor de 0,000001 y se escoge la opción Derivadas centrales.

Qué significa Incumbente.

El término Incumbente que aparece en la pantalla cuando está corriendo Solver, se utiliza para referirse a una función objetivo mejor cuando se utiliza programación entera.

Una solución entera que no es entera, sí puede ser la solución correcta.

La opción Tolerancia se utiliza únicamente en la programación entera para permitir que Solver se detenga cuando está cerca de un valor entero. Esto se hace para limitar el tiempo requerido en modelos no triviales, dado que en estos casos, el algoritmo encuentra una solución razonablemente buena con gran rapidez y luego necesita mucho tiempo para verificar que es una solución óptima. Su valor por defecto es 0,05, y no cero, y por esta razón, algunos usuarios han creído que Solver no estaba trabajando correctamente, puesto que no estaba obteniendo

Carlos Quiñones Botero

75

Modelación de sistemas logísticos

soluciones enteras. Los profesores tienen la opción de utilizar una tolerancia cero durante su clase para estar seguros de que se obtienen soluciones enteras.

Comparación entre la programación lineal y la programación entera.

La principal ventaja de la programación entera sobre la programación lineal es que muchas veces permite construir modelos más realistas. Su principal desventaja es que los modelos de programación entera son más difíciles de resolver.

Casos en los que un modelo de variables enteras se puede modelar con programación lineal.

Cuando las magnitudes de las variables óptimas son tan grandes, que las fracciones no tienen importancia práctica, se prefiere modelar con variables continuas en lugar de variables discretas, porque la optimización con variables continuas es usualmente más tratable que la modelación con variables discretas.

Utilice Premium Solver para los problemas de programación entera más difíciles.

Los problemas de programación entera más complejos pueden tomar mucho tiempo si se utiliza la versión estándar de Solver que viene por defecto con Excel. Se puede utilizar la versión Premium para acortar este tiempo en forma significativa.

No existen garantías en los problemas enteros no lineales.

Carlos Quiñones Botero

76

Modelación de sistemas logísticos

En los modelos lineales, el algoritmo simplex garantiza que se encuentra un óptimo global en caso de que el problema sea factible. Pero existen limitaciones intrínsecas para resolver modelos enteros no lineales con Solver. Es posible que el algoritmo GRG2 simplemente falle, o puede devolver un óptimo local. De todas maneras, aunque no se encuentre un óptimo global, usualmente se encuentra una solución aceptable que mejora la operación logística.

Los computadores son más rápidos, pero aun las soluciones pueden tomar tiempo.

Los modelos de programación entera pueden requerir un tiempo importante para ser resueltos, incluso cuando son de tamaño pequeño. Sin embargo, tenga en cuenta que los costos de la supercomputación han bajado ostensiblemente y a la fecha (2010) se pueden encontrar modelos de introducción de la marca Cray, líder en el mercado, por sólo US$25.000, por lo que empresas en Estados Unidos están considerando esta alternativa.

Qué información suministra el reporte de sensibilidad en Solver.

El reporte de sensibilidad suministra los valores duales de las variables de decisión y de las restricciones. En la literatura técnica, los valores duales de los modelos lineales se denominan costos reducidos y precios sombras respectivamente. En los modelos no lineales, su nombre cambia, y se denominan, respectivamente, gradientes reducidos y multiplicadores de Lagrange. Tanto en los modelos lineales como no lineales, sus valores sólo son válidos en determinado rango, que también es suministrado por Solver.

Algunos reportes no incluyen información significativa.

El reporte de límites no incluye información relevante para el análisis de los modelos. La

Carlos Quiñones Botero

77

Modelación de sistemas logísticos

razón por la cual aparece es histórica, puesto que hace unas décadas, esta información la incluía Lotus, una hoja de cálculo que competía con Excel en ese entonces.

Los formatos de las celdas pueden inducir a errores en los reportes de Solver.

Las celdas de los reportes de Solver tienen el mismo formato de las celdas originales, sean porcentajes, dólares o valores enteros. Si una variable que no es entera se formatea como tal, los valores duales aparecerán como enteros, lo que algunas personas podrían considerar un error. Para corregir este problema, reformatee la variable para que no sea entera.

No es estrictamente necesario modelar con condiciones de no negatividad.

Los primeros programas de optimización que se construyeron requerían que las variables fueran no negativas. Esto ya no es necesario con los programas más modernos, aunque aún se considera una buena práctica en ciertos contextos.

Tamaño de los problemas que se pueden resolver.

Gracias al avance en la capacidad de computo en las últimas décadas, los problemas de programación lineal con alrededor de 10.000 variables y restricciones son vistos actualmente como pequeños. Problemas del orden de 100.000 variables son resueltos con regularidad. Los problemas de programación entera son necesariamente más pequeños, pero aun están en el orden 2.000 variables o restricciones. Dificultades con los modelos de programación entera.

Sea cual sea el programa de optimización que usted maneje, debería estar preparado para invertir mucho más tiempo para resolver problemas de programación entera que para resolver problemas de programación lineal. Más aún, el tiempo para resolver problemas de

Carlos Quiñones Botero

78

Modelación de sistemas logísticos

programación entera no siempre es consistente, algunos modelos con unos pocos cientos de variables pueden ser muy difíciles de resolver, en tanto otros, con miles de variables, se resuelven rápidamente. El origen de esta discrepancia está en la manera en que se modela el problema.

Ciertas funciones de Excel pueden ralentizar a Solver.

En el modelo de Nukote (LeBlanc & Galbreth, Implementing Large-Scale Optimization Models in Excel Using VBA, 2007) tenían restricciones en cuanto al número de columnas disponibles y decidieron utilizar la función SUMIF para disminuir el número de columnas necesarias. Este procedimiento exigió mucho más tiempo para alcanzar la solución, puesto que las celdas con SUMIF debían ser recalculadas en cada iteración del algoritmo de solución del modelo.

Pasos para modelar problemas de programación entera.

Los problemas de programación entera con cientos de variables deben resolverse ensayando diferentes modelaciones y probando las opciones que el software tiene, lo que resulta a menudo en mejoras bastante grandes en su eficiencia. En ciertos casos, puede ser más práctico no tratar de alcanzar el óptimo, detener el programa antes de que termine su ejecución, y aceptar una solución no óptima que de todas maneras genera importantes mejoras a la operación logística de una empresa. La excepción a lo anterior son los modelos de redes, los cuales se pueden resolver con eficiencia y rapidez mediante versiones especializadas del método simplex. Requerimientos adicionales de los problemas prácticos.

Los problemas prácticos pueden ser más complejos que los problemas teóricos. Pueden aparecer varios tipos de productos, requerimientos de balanceo, determinación de flujos de

Carlos Quiñones Botero

79

Modelación de sistemas logísticos

contenedores vacios, entre muchos otros requisitos. En el caso de Nukote (LeBlanc & Galbreth, Implementing Large-Scale Optimization Models in Excel Using VBA, 2007) era necesario limitar los envíos de cartuchos vacios disponibles a la cantidad de cartuchos manufacturados que se iban a enviar a ese mercado.

Cómo encontrar por qué es no factible un modelo logístico.

La no factibilidad de un modelo de programación lineal usualmente indica un error, porque el modelo idealiza una operación logística y ésta en principio sí debe ser factible. Encontrar la fuente exacta de la no factibilidad puede no ser fácil. Excel Solver muestra la última solución no factible encontrada, y revisando qué restricciones no cumple, se pueden obtener algunas pistas sobre la fuente de la no factibilidad. Un ejemplo típico son las capacidades que no pueden copar la demanda.

Otra técnica para encontrar las no factibilidades consiste en modelar una variable con una penalidad muy alta a cada restricción de capacidad. Esta variable aparecería con un valor positivo en la solución óptima, señalando de esta manera, la fuente de la no factibilidad. De hecho, esta es una aproximación realista al problema, porque en la práctica, muchas restricciones pueden no cumplirse si se ofrece un precio suficientemente alto.

Factores que hacen grandes los modelos de optimización.

Los modelos de optimización se hacen grandes debido principalmente a que un número pequeño de elementos de la función objetivo y de las restricciones se repite muchas veces, a través de diferentes periodos, localizaciones y productos. En el caso específico de los modelos logísticos, si se envía un SKU desde 10 plantas hacia 100 clientes, tendríamos un modelo con 1.000 arcos. Y si adicionamos 10 SKU, alcanzaríamos 10.000 arcos.

Carlos Quiñones Botero

80

Modelación de sistemas logísticos

Utilice Excel 2007 para construir modelos grandes.

Las 256 columnas de Excel 2003 algunas veces eran insuficientes para construir modelos grandes. En Excel 2007, el número de columnas se aumentó a 16.384, haciéndolo preferible para construir modelos de gran tamaño.

10. Construcción de modelos logísticos

Aspectos preliminares en el diseño de modelos logísticos.

Los modelos logísticos no deben construirse únicamente sobre bases matemáticas, sino que también se deben tener presentes los canales de distribución sobre los cuales se implementan. En el sistema de distribución física aparecen dos objetivos en conflicto. Por un lado, un alto servicio al cliente que exige tener más centros de distribución, más puntos de venta y sistemas de transporte más rápidos. Por otro lado, se busca disminuir los costos de la logística de la empresa. El nivel de servicio es una variable compleja que puede medirse de diferentes maneras y es la empresa quien debe decidir el nivel de servicio adecuado. Una alternativa para tratar el nivel de servicio es reducirlo a costo de oportunidad, estableciendo como objetivo, minimizar el costo total de la distribución.

El canal de distribución se escogerá en función del tipo de producto del que se trate, de

Carlos Quiñones Botero

81

Modelación de sistemas logísticos

los hábitos de compra de los clientes, de la imagen que se le quiera proyectar al producto, entre otros aspectos. Modificar la estructura de un canal de distribución puede ser difícil, porque los intermediarios se rigen por normas difíciles de controlar por parte del productor.

Al diseñar el sistema, se debe tener en cuenta el número de plantas que tiene la empresa y el tamaño del canal de distribución más adecuado para el tipo de producto. Los canales de distribución cortos se utilizan básicamente para la distribución de productos industriales, en tanto que los canales largos se utilizan en los artículos de consumo. En general, se considera que los canales cortos conducen a precios más bajos que los canales largos, aunque ésta no es una regla que siempre se cumpla.

La selección de un canal de distribución aparece primero, cuando se funda la empresa, luego, cuando se lanzan nuevos productos, y finalmente, cuando por razones de mercado, los canales se abandonan. La elección de los canales de distribución se hace siguiendo varias técnicas, por ejemplo, puntuación por criterios ponderados, ordenación por preferencias jerárquicas, el método Electra, por mencionar algunos. Estos métodos no son métodos de optimización, sino métodos matriciales.

Una vez se configura el canal de distribución, se procede a especificar el movimiento de productos entre las plantas de producción y los centros de consumo. El problema consiste en determinar las rutas que producirán un costo total mínimo, lo cual se logra usualmente utilizando técnicas de optimización.

Los tres aspectos fundamentales que se requieren para construir los modelos logísticos son: 

Las decisiones disponibles a quienes deben tomarlas.



Las restricciones que limitan las decisiones disponibles.

Carlos Quiñones Botero

82

Modelación de sistemas logísticos



Los objetivos que hacen algunas decisiones preferibles a otras.

Clasificación de los modelos logísticos.

Los modelos logísticos se pueden clasificar de varias maneras. De acuerdo con las políticas que implementan, se pueden clasificar en tres niveles: estratégicos, tácticos y operacionales. Las políticas estratégicas tienen un horizonte de largo plazo y ejemplos de ellas son el diseño de la red física y su evolución, la localización de las plantas y centros de distribución, la adquisición de recursos, el nivel de servicio deseado y las políticas tarifarias. Las políticas tácticas se construyen sobre el mediano plazo y corresponden a la escogencia de las rutas, reglas generales de operación para cada terminal, reposicionamiento de vehículos para el próximo periodo de planeación, entre otras. Finalmente, las políticas operacionales tienen un horizonte de corto plazo e incluyen la programación de los servicios, las actividades de mantenimiento y la asignación de personal, por poner algunos ejemplos.

Los modelos logísticos también se pueden clasificar de acuerdo al tipo de problema que resuelven, como se explica a continuación.

Modelos de flujo de costo mínimo. El objetivo de este modelo es determinar las rutas de distribución de las mercancías, de manera que se obtenga un costo mínimo. Puede darse el caso de que los arcos tengan capacidad máxima de envío y también capacidad mínima, en cuyo caso se deberán modelar dos restricciones por cada arco. Las restricciones máximas de capacidad en los arcos se pueden dar en situaciones especiales, tales como el transporte aéreo de flores desde Suramérica hacia Estados Unidos en el día de San Valentín o en el transporte de ciertos químicos especiales como la Caprolactama, que requiere camiones con temperaturas especiales. Las restricciones mínimas de capacidad aparecen si se tienen contratos vigentes con transportadores de carga que deben ser cumplidos.

Carlos Quiñones Botero

83

Modelación de sistemas logísticos

Para modelar la restricción de cada nodo, se suman los arcos que salen del nodo y se restan los arcos que entran al nodo.

Si las ofertas, las demandas y las restricciones de capacidad en los arcos son enteras, se puede garantizar que los valores óptimos de las variables serán enteros, y esta solución se puede obtener con programación lineal.

Si se quiere utilizar un algoritmo especializado que no incorpora restricciones de capacidad en los arcos, existe un truco para removerlas. Una cantidad mínima a transportar por un arco puede modelarse mediante un nodo ficticio que se coloca en el arco y que recibe una cantidad igual al valor mínimo de la restricción del arco. Para efectos de nivelar la red, esta misma cantidad debe salir del nodo que está antes del nodo ficticio. Una cantidad máxima también puede modelarse con un nodo ficticio colocado en el arco, pero en este caso, el flujo sale del nodo ficticio hacia el nodo al final del arco, el cual, para nivelar la red, también debe incorporar un flujo igual a la restricción del arco. Pueden existir nodos intermedios que actúan como centros de distribución o plataformas de cross-docking, en cuyo caso su demanda será cero, puesto que todo lo que entra en el nodo, debe salir. Esto corresponde también a aquellas situaciones en donde puede ser conveniente enviar la mercancía de una planta a otra, antes de proceder con su distribución.

Los problemas reales involucran generalmente el envío de miles de referencias de productos a través de la red. Sería imposible resolver un modelo si para cada referencia deberíamos trazar un arco. Por esta razón, se recomienda agrupar las referencias similares, tanto en cuanto al tipo de transporte requerido, como en sus costos. De esta manera, se acostumbra generar alrededor de 20 grupos para simplificar el problema. Aparte de esto, su modelación es exactamente igual a la del modelo de flujo de costo mínimo.

Carlos Quiñones Botero

84

Modelación de sistemas logísticos

Un detalle importante es que al extender el problema del flujo de costo mínimo a varios productos, ya no queda garantizado que la solución será entera, a pesar de que las ofertas, demandas y capacidades lo sean. Si se requiere que la solución sea entera, se debería utilizar programación entera.

Modelos de localización. En los modelos de localización, tratamos de encontrar el punto óptimo para construir un nuevo centro de distribución o una nueva planta de producción. Desde el punto de vista matemático, la forma más conocida de tratar este problema es construir un caso base con las plantas y centros de distribución existentes. Luego, al caso base se le adicionan cada una de las localizaciones candidatas para el nuevo centro de distribución y se resuelve nuevamente el modelo de flujo de costo mínimo. Al final, se comparan todos los valores de la función objetivo y el que tenga el menor valor corresponderá al lugar donde se debe construir el centro de distribución.

Modelos de distancia más corta. Se puede modelar como un problema de flujo de costo mínimo, donde el nodo de entrada tiene una disponibilidad de 1, y el nodo de llegada tiene un requerimiento de 1.

Modelos de asignación. Se puede resolver como un modelo de flujo de costo mínimo, donde todos los nodos se listan como nodos de entrada y también como nodos de llegada. Los nodos de entrada se igualan a 1 y los nodos de llegada se igualan a ─1.

Modelos de rutero. El objetivo del modelo de rutero es, partiendo de un centro de distribución, visitar un

Carlos Quiñones Botero

85

Modelación de sistemas logísticos

grupo de clientes una sola vez y regresar al centro de distribución, de manera que se minimice la distancia recorrida. En forma un poco sorprendente, su solución por técnicas de optimización es más difícil que la de problemas muy similares, como el de la distancia más corta. Se han desarrollado algoritmos heurísticos especializados que se consideran actualmente como el estado del arte en la materia, pero que para una empresa sin muchos recursos, pueden ser difíciles de implementar. Por tal razón, explicaremos en el siguiente ejemplo, su modelación con Solver, la cual por demás, es poco conocida.

Ejemplo 1. Ruteo de vehículos. El primer paso es construir una matriz de distancias entre los puntos que se visitarán:

A B C D E F G H I J K L M N A #### 1295 980 1010 750 520 245 465 258 410 590 920 820 1119 B 925 #### 1335 390 1210 930 1300 1250 1280 1020 1150 390 520 785 C 978 954 #### 880 415 1115 690 985 1210 980 1580 1100 1420 1615 D 1180 330 790 #### 720 390 1050 820 1010 1190 805 678 777 965 E 564 1050 620 640 #### 640 640 520 780 560 1300 1250 1050 1230 F 785 790 865 450 670 #### 570 320 570 780 1020 1150 1250 1450 G 680 1300 750 790 520 310 #### 240 460 680 820 1250 1050 1330 H 410 1310 940 970 760 540 200 #### 210 500 610 982 885 1010 I 665 1200 1250 790 920 315 420 215 #### 640 400 1150 1050 1300 J 420 1650 940 1400 750 900 600 800 620 #### 610 570 490 690 K 610 1200 1700 700 1400 750 900 600 400 600 #### 1300 1200 1250 L 740 2200 1300 1700 1050 1320 970 1210 980 710 890 #### 280 560 M 720 2050 1550 1680 1390 1280 820 1050 830 620 810 790 #### 290 N 920 2250 1900 1950 1720 1390 1110 1290 1150 920 1150 820 465 ####

Obsérvese que en la intersección de la fila A con la columna A aparece #### porque el ancho de la celda no permite ver el numero allí. Como no tiene sentido que se recorra desde el nodo A hasta el nodo A, en esta celda se debe ubicar un valor muy grande, 100.000 en nuestro caso.

Necesitamos que cada nodo sea recorrido una sola vez. Esto lo podemos lograr sumando filas y columnas e igualándolas a 1.

A A B C D E

Carlos Quiñones Botero

0 0 0 0 -0

B C D E F G H I J K L M N 0 0 0 0 0 -0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 -0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -0 0 0 0 0

1 1 1 1 1

≤ ≤ ≤ ≤ ≤

1 1 1 1 1

86

Modelación de sistemas logísticos

F G H I J K L M N

0 0 0 0 1 0 0 0 0 1

0 0 -0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -0 0 0 0 0 0 0 0 0 0 0 0 -0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1

≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤

1 1 1 1 1 1 1 1 1

Una restricción adicional consistirá en la suma de todas las celdas verdes (variables) y se igualarán al número de nodos, que en este caso, es 14. Esto garantizará que se visiten todos los nodos. El problema se resolverá por programación entera, por lo que las celdas verdes deberán asignarse como enteras. La función objetivo será una suma, producto de la matriz de distancias y la matriz compuesta por las celdas verdes. Debe escogerse modelo lineal y Asumir no negativos.

Al correr el modelo obtenemos la siguiente solución:

A A B C D E F G H I J K L M N

B 0 0 0 0 -0 0 0 0 0 1 0 0 0 0 1



C 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1

≤ 1 14

≤ 1

=

D 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1

E 0 1 0 0 0 -0 0 0 0 0 0 0 0 0 1

≤ 1 14

Carlos Quiñones Botero

F 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1

≤ 1

G 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1

≤ 1

H -0 0 0 0 0 0 0 1 0 0 0 0 0 0 1

≤ 1

I 0 0 0 0 0 1 0 0 -0 0 0 0 0 0 1

≤ 1

J 0 0 0 0 0 0 0 -0 0 0 1 0 0 0 1

≤ 1

K 1 0 0 0 -0 0 0 0 0 0 0 0 0 0 1

≤ 1

L 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1

≤ 1

M 0 -0 0 0 0 0 0 0 0 0 0 0 0 1 1

≤ 1

N 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1

≤ 1

0 0 0 0 0 0 0 0 0 0 0 0 1 0 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1

≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤

1 1 1 1 1 1 1 1 1 1 1 1 1 1

≤ 1

1 5605

87

Modelación de sistemas logísticos

Todas las restricciones se cumplen y la distancia a recorrer es de 5.605, pero existe un problema que podemos detectar al analizar las rutas propuestas por el modelo, observando en qué celdas aparecen unos:

Subruta 1 Subruta 2 Subruta 3 Subruta 4 Subruta 5 Subruta 6

A B C F I L

J D E H K M

A B C G I N

F L

Se están presentando varias rutas cuando deberían ser una sola. La manera de romper estas subrutas es sumar los unos que las definen, y hacer este resultado menor o igual al número de nodos sumados menos uno. Por ejemplo, en la subruta 6, sumaremos LM y MN, resultando un valor de dos, puesto que estas celdas contienen unos. Este resultado lo haremos menor o igual a 1. Este proceso lo haremos con cada subruta, de manera que tendremos al final, seis restricciones adicionales.

Al volver a correr el modelo, el número de subrutas disminuye a dos: Subruta 1 A K I F H G C E D B L J A Subruta 2 M N M

Y en este caso, sin borrar las restricciones anteriores, adicionamos dos nuevas restricciones. Al correr nuevamente el modelo tenemos:

Subruta 1 A K I F H G C E D B L M N J A

Carlos Quiñones Botero

88

Modelación de sistemas logísticos

El cual, al no contener subrutas, es la solución buscada del problema.

Glosario

Análisis de sensibilidad. Análisis de los resultados de los modelos matemáticos para evaluar cómo ellos dependen de los valores escogidos para los parámetros.

Arco. Idealización que se utiliza en los modelos de redes y que corresponde en la logística, a una ruta por carretera, marítima, aérea o ferroviaria.

Capacidad de un arco. Cantidad máxima de unidades que se pueden enviar a través de un arco.

Celda objetivo. La celda de la hoja de cálculo que representa la función objetivo.

Celdas cambiantes. Las celdas de la hoja de cálculo que representan las variables de decisión.

Demanda de nodo. El número de unidades que se deben recibir en ese nodo.

Función objetivo. Expresión matemática que suministra una medida del desempeño en

Carlos Quiñones Botero

89

Modelación de sistemas logísticos

función de las variables de decisión, y por lo tanto, representa lo que debe maximizarse o minimizarse.

Investigación de operaciones. Rama de las matemáticas y la ingeniería que utilizando métodos de modelación matemática, estadística y algoritmos, trata de encontrar soluciones óptimas o casi óptimas a problemas complejos.

Método simplex de redes. Versión modificada del método simplex para resolver problemas de redes con mayor eficiencia.

Modelo. Representación idealizada y casi siempre simplificada de un proceso logístico.

Modelo algebraico. Representación algebraica de un problema de optimización. Usualmente consta de la definición de las variables, función objetivo, restricciones y condiciones de no negatividad.

Modelo en hoja de cálculo. Representación de un problema en una hoja de cálculo, usualmente Excel u Open Office.

Modelo matemático. En el contexto de la logística, es la representación de un problema en términos algebraicos.

Modelo determinístico. Es la representación de un problema en términos algebraicos en el cual todos los parámetros se conocen con certeza.

Modelo probabilístico o estocástico. Es la representación de un problema en términos algebraicos en el cual existen parámetros que sólo se conocen por medio de sus distribuciones de probabilidad.

Carlos Quiñones Botero

90

Modelación de sistemas logísticos

Modelo no factible. Es un modelo en el cual no existe ningún conjunto de variables de decisión que satisfagan todas las restricciones al mismo tiempo.

Nodo. Idealización que se utiliza en los modelos de redes y que corresponde usualmente en la logística, a una ciudad, puerto, centro de distribución, almacén o planta de producción.

Nodo de demanda. Un nodo en donde las unidades que entran son mayores que las unidades que salen.

Nodo de recursos. Un nodo en donde las unidades que salen son mayores que las cantidades que entran.

Nodo de transbordo. Un nodo en donde las unidades que entran son iguales a las unidades que salen.

Precio sombra. El precio sombra de una restricción muestra cuanto aumenta el valor óptimo de la función objetivo cuando se aumenta el lado derecho de la restricción en una cantidad pequeña.

Programa matemático. Es un sinónimo de modelo de optimización.

Programación binaria mixta. Técnicas para resolver modelos en donde sólo algunas variables deben ser binarias.

Programación binaria pura. Técnicas para resolver modelos en donde todas las variables de decisión sólo pueden tomar valores binarios.

Carlos Quiñones Botero

91

Modelación de sistemas logísticos

Programación por metas. Técnicas para resolver modelos en donde se deben cumplir varios objetivos al mismo tiempo.

Programación entera pura. Técnicas para resolver modelos en donde todas las variables de decisión sólo pueden tomar valores enteros.

Programación no lineal. Modelo en donde al menos una expresión de la función objetivo o las restricciones no es una función lineal.

Programación separable. Técnicas para resolver modelos en donde el coeficiente de la variable de decisión involucrada en la función objetivo cambia de acuerdo al valor de esta variable.

Restricción de uno o de otro. Un par de restricciones tales que si una de ellas se utiliza en el modelo, la otra se ignora.

Solución. Cualquier conjunto de valores de las variables de decisión, sin importar que cumplan o no las restricciones del modelo.

Solución factible. Un conjunto de valores de las variables de decisión que satisfacen todas las restricciones del modelo.

Solución no factible. Un conjunto de valores de las variables de decisión que violan al menos una de las restricciones del modelo.

Solución óptima. La solución factible que muestra mejor desempeño al evaluar la función objetivo.

Carlos Quiñones Botero

92

Modelación de sistemas logísticos

Solución óptima exacta. Es una solución factible a un modelo de optimización probablemente mejor que cualquier otra, al evaluar la función objetivo.

Solver. Complemento de Excel para problemas de optimización.

Tratabilidad. En la modelación matemática, se refiere al grado en el cual el modelo permite ser analizado, tanto en el sentido de permitir alcanzar una solución, como de poder conseguir una solución cerrada.

Validación del modelo. El proceso de confrontar un modelo contra la realidad para verificar que la representa con fidelidad.

Variable binaria. Una variable de decisión que sólo puede tomar los valores de 1 ó 0.

Variable continua. Variable algebraica que puede tomar cualquier valor dentro de un intervalo.

Variable de decisión. Variable algebraica utilizada en los modelos para representar una decisión de optimización.

Variable discreta. Una variable es discreta si está limitada a un conjunto fijo o a un conjunto numerable de valores.

Carlos Quiñones Botero

93

Modelación de sistemas logísticos

Referencias

European Spreadsheet Risk Internet Group. (s.f.). Recuperado de http://www.eusprig.org/ De Bono, E. (1994). El pensamiento creativo (1 ed.). Barcelona, España: Ediciones Paidós. Gill, P., Murray, W., & Wright, M. (1981). Practical optimization. San Diego, California: Academic Press. LeBlanc, L., & Galbreth, M. (2007). Implementing Large-Scale Optimization Models in Excel Using VBA. Interfaces, 37 (4). OR/MM Today. (s.f.). Linear Programming Survey 2007. http://www.lionhrtpub.com/orms/surveys/LP/LP-survey.html

Recuperado

de

Polya, G. (1957). How to Solve it: A new aspect of mathematical method (2 ed.). Doubleday Anchor Books. Powell, S., & Baker, K. (2009). Management Science The Art of Modeling with Spreadsheets (2 ed.). New Jersey, USA: Hoboken. Willemain, T. (1995). Model Formulation: What Experts Think About and When. Operations Reseach, 43 (6), 916-932.

Carlos Quiñones Botero

94