domingo, 23 de octubre de 2011

TECNOLOGÍA: SAS

Para esta ocasión nos enfocaremos un poco en la parte tecnológica, puesto que gracias a esta, el resolver problemas relacionados con investigación de operaciones se ha vuelto un poco más sencillo. Existen muchos software que nos permiten dar solución a diversos problemas, como programación lineal o Branch-and-Bound, entre otros; uno de estos software es el SAS, a continuación les hablaremos un poco acerca de él.

El SAS institute inc., ha desarrollado un software para el análisis de datos, la econometría e investigación de operaciones. El SAS/OR es una poderosa herramienta para trabajar, manejar y analizar información cuantitativa,  posee todo un paquete de optimización que incluye programación, simulación y capacidades de solución en un entorno adaptable, con los cuales las empresas pueden identificar y optimizar sus procesos de negocios.

SAS/OR permite conocer mejor los factores que afectan el negocio y los procesos que se deben implementar para tomar decisiones que generen resultados óptimos.



¿Qué beneficios ofrece SAS/OR?

Entre los principales beneficios que ofrece SAS/OR tenemos que, nos  brinda una extensa gama de modelos y técnicas de solución, además nos incluye los métodos más avanzados en programación matemática, permite identificar y distribuir las mejores soluciones a problemas complejos de planificación, mediante el realismo del modelo, la simulación, control de optimización y también porque posee un buen enfoque compuesto, que permite acceder a los datos y a la entrega de información.

Otro beneficio que nos brinda SAS/OR es que  nos permite crear modelos de manera interactiva, en donde podemos modificar las restistricciones o variables y analizar los efectos que estos cambios ocasionen. Se puede manejar la presentación de los datos a nuestro antojo, y también seleccionar aquellos datos de los resultados que se quieren ver y controlar la forma en la cual estos se reportan.

Este software no solo permite crear modelos sino que también se puede planificar, gestionar y realizar seguimientos a esos proyectos o programas de recursos que tengamos para así, encontrarse preparado ante cualquier variación que se presente en cuanto a la disposición de los recursos.


¿Qué características tiene SAS/OR?
Algunas de las características de SAS/OR son:

Apoyo en la creación de prototipos de algoritmos.
·         Solucionadores de programación lineal, entre los cuales está el simplex y dual simplex.
·         Solucionadores para Branch-and-Bound, programación entera y programación entera mixta.
·         Solucionadores de programación no lineal.
·         Programación cuadrática.
·         Optimización de red de flujo.
·         Capacidad de modelar eventos estáticos y movibles.
·         Utiliza el software JMP para diseños experimental y análisis automatizado de entrada.
·         Informes versátiles.
·         Análisis de decisión.
·         Gráficos personalizables.

   Además de estas, el SAS/OR tiene numerables características que favorecen la obtención de resultados óptimos, para cada situación.



 ¿Quiénes utilizan SAS?

Como bien sabemos la investigación de operaciones se puede aplicar en muchos aspectos de la vida, como por ejemplo programación, producción u organización. Es por esta razón que muchas empresas pueden utilizar este software para resolver los problemas que se le presenten. Con base en esto encontramos empresas como:
·         HSBC.

·         Visa.

·         Amway china.

·         Petrobras.

·         POSCO.

·         Universidad de Arkansas.

·         Telefónica O2




lunes, 17 de octubre de 2011

Investigación de operaciones en problemas de salud ocupacional.






La investigación de operaciones es una herramienta cuantitativa que nos permite la asignación óptima de recursos escasos y en general apoyar de una forma eficiente el proceso de toma de decisiones, esta hace uso de modelos matemáticos con el objetivo de tomar una mejor decisión. 

En Chile se implementó la IO para la solución de problemas de salud ocupacional; ámbito que en nuestro país es poco común que lo hagamos. Salud ocupacional es una actividad multidisciplinaria que promueve y protege la salud de los trabajadores, esta disciplina busca controlar los accidentes y las enfermedades mediante la reducción de las condiciones de riesgo. En particular, se demuestro cómo es posible modelar un sistema de producción donde los trabajadores se encuentran expuestos a ruido. Se obtuvo un esquema de dotación óptimo, asumiendo restricciones productivas y de dosis de ruido permisible.




El ruido es un agente ambiental presente en muchos procesos industriales que puede causar daño auditivos irreparables, por esto muchas empresas  destinan una importante cantidad de recursos en el estudio e implementación de estrategias de control de este agente, aunque la IO es una de las herramientas menos utilizadas para solución de este problema. Para desarrollar el modelo de programación lineal la asociación chilena de seguridad tuvo en cuenta la normativa vigente en Chile encargada de regular la exposición ocupacional a ruido, se tuvo en cuenta el tiempo total de exposición a un determinado nivel de presión sonora continua y el tiempo total permitido de exposición a ese nivel de presión sonora continua. Para la solución del problema se basaron en la solución de un caso en específico ya que es un hecho conocido que en la realidad industrial, los trabajadores circulan por distintas áreas de trabajo.






Un ejemplo en donde se pueda aplicar la programación lineal en este campo, podría ser el de un ambiente industrial donde los trabajadores estén expuestos a ruidos.

En una planta se usan 2 máquinas en las cuales se ha desarrollado una evaluación ambiental de ruido. En cada una se midió el nivel de presión sonora equivalente en la primera de 87 dB(A), y en la segunda de 90 dB(A). El ruido presente en el resto de las zonas donde el personal trabaja no puede exceder los 70 dB(A). Se dispone de cuatro trabajadores polivalentes para operar ambas máquinas. Por otra parte, la empresa, conociendo el riesgo asociado a los niveles de ruido existentes en estos ambientes, ha determinado que, independientemente de las medidas técnicas de control de ruido que se han practicado en estos equipos, se utilizará la rotación de funciones como una medida administrativa de control adicional.

El programa de producción diario requiere que la máquina menos ruidosa  se opere entre 7.0 y 7.5 horas por cada turno de 8 horas. Por otra parte, el tiempo de utilización por turno de la otra máquina se encuentra en el rango de 6.5 y 7.5 horas. Finalmente, es indispensable que durante  su operación cada máquina sea supervisada por al menos un trabajado.
Se necesita establecer un programa que minimice el riesgo de daño acústico para los trabajadores, teniendo en cuenta restricciones de producción y la política administrativa de la empresa.

Para plantear el siguiente programa, debemos tomar una variable de decisión (Xij) la cual nos dirá el número de horas que el trabajador i trabajara en la maquina j, es decir, representa el tiempo de exposición a un ambiente (NPSeq).

El objetivo de este problema es minimizar el total de horas que los trabajadores están expuestos a daño acústico, teniendo en cuenta las restricciones de producción y de política.

  •   Dosis de ruido permisible:

Utilizando los tiempos de exposición permisibles establecidos en el Artículo 75 del  Decreto  Supremo Nº 594 y la fórmula propuesta en el Artículo 76 para el cálculo de la dosis de ruido diaria, se tiene lo siguiente:

Artículo 75: Niveles de presión sonora continua equivalentes, diferentes a 85 dB(A) lento, se permitirán siempre que el tiempo de exposición a ruido del trabajador no  exceda los valores indicados:




Artículo 76: Cuando la exposición diaria a ruido está compuesta de dos o más períodos de exposición a diferentes niveles de presión sonora continuos equivalentes,  deberá considerarse el efecto combinado de aquellos períodos cuyos NPSeq sean iguales o superiores a 80 dB(A) lento. En este caso deberá calcularse la dosis de ruido  diaria (D), mediante la siguiente fórmula:

                                                    Te1         Te2               Ten
                                            D = -------  +  ------- + … + -------
                                                    Tp1        Tp2                Tpn

Te  =  Tiempo total de exposición a un determinado NPSeq
Tp  =  Tiempo total permitido de exposición a ese NPSeq

La dosis de ruido diaria máxima permisible será 1 (100%).


Con estos artículos se puede crear la restricción de ruido, o sea que para cada trabajador, la dosis de ruido máxima tiene que ser menor o igual que 1.

Tp1= 5,04 horas y Tp2= 2,52 horas.



  •     Requerimientos de utilización de máquina:

Se requiere que durante su operación cada máquina sea supervisada por al menos un trabajador.

Para la Maquina 1,  el tiempo de utilización debe mantenerse en un rango de 7 a 7.5 horas/turno, es decir, nos arroja 2 restricciones; la primera dice que la sumatoria de las horas que trabaja cada trabajador en la maquina 1 tiene que ser menor o igual a 7.5 y la segunda que la sumatoria debe ser mayor o igual a 7.

Para la Maquina 2,  el tiempo de utilización debe mantenerse en un rango de 6.5 a 7.5 horas/turno, es decir, nos arroja 2 restricciones; la primera dice que la sumatoria de las horas que trabaja cada trabajador en la maquina 1 tiene que ser menor o igual a 7.5 y la segunda que la sumatoria debe ser mayor o igual a 6.5.

  •    Restricciones de no negatividad:

Como nos dice uno de los supuestos de la programación lineal, las variables no pueden ser negativas, es decir, debe tomar valores positivos.


La investigación de operaciones ha tenido un impacto impresionante en el mejoramiento de la eficiencia y eficacia de numerosas organizaciones en todo el mundo, esta nos proporciona bases cuantitativas para seleccionar las mejores decisiones. En todos estos casos existen límites permisibles o recomendaciones que podrían ser expresadas en la forma de un modelo de programación matemática. En conclusión los beneficios de la aplicación de técnicas de IO a problemas relacionado con la salud ocupacional son la de determinar soluciones técnica y económicamente mucho mas óptimas orientadas a la protección de la salud de trabajadores expuestos a determinados factores ambientales o esquemas de organización laboral.

"SIEMPRE HAY UNA MEJOR FORMA DE HACERLO"






Tomado de http://www.cienciaytrabajo.cl/pdfs/04/Pagina%2045.PDF

domingo, 9 de octubre de 2011

TENDENCIAS: Combinación de modelos de simulación basados en agentes con programación matemática

Modelos de simulación basados en agentes con programación matemática
Para empezar hablar sobre los modelos de simulación basados en agentes con programación matemática, debemos primero saber que es un modelo; un modelos es una representación simplificada de la realidad, diseñada para representar, conoce, o predecir propiedades de un objeto real, estos se construyen con el fin de estudiar un objeto real con más facilidad y poder determinar ciertas propiedades difíciles de observar en la realidad, claro que lo modelos también pueden representar procesos de simulación, en este caso es posible experimentar diferentes procesos bajo diferentes escenarios, que son el conjunto de condiciones bajo las cuales se construye el modelo, aunque aquí pueden darse algunos factores variables que pueden influir en el funcionamiento de la simulación.
Existen ciertos tipos de modelos:
Ø  Modelos analógicos: estos se construyen mediante mecanismos físicos (maquetas, mapas, etc.)
Ø  Modelos digitales: aquí se codifica el objeto real en cifras organizadas en estructuras de datos por ejemplo la reconstrucción de un cráneo, pero también se simula mediante funciones matemáticas, teniendo en cuenta que cada elemento del modelo tiene propiedades y valores específicos y explícitos.
Ø Modelos estáticos: estos representan modelos que interpretan la realidad en un instante concreto.
Ø  Modelos dinámicos: estos representan procesos relacionados los objetos reales entre si, simulando los mecanismos de cambio donde se pude estudiar la secuenciación temporal (simulación de un incendio forestal, la difusión de contaminantes etc.)
Ø Modelos basados en agentes: este es el modelo en el cual profundizaremos y dirigiremos esta tendencia; este se basa en un tipo de modelo computacional, que permite la simulación de accidentes y la interacción de personas en un espacio.



Combinación de modelos de simulación basados en agentes con programación matemática
En segundo lugar debemos hablar un poco acerca de lo que es la programación matemática para así poder profundizar sobre el tema del modelo basado en agentes, la programación matemática no es mas que lo que en un principio fue un modo de resolver problemas con programación mediante métodos matemáticos.
Para construir un modelo hay que tener mucho en cuenta que el camino de este es de continuas idas y vueltas. Y que es muy normal que después de haber sido culminada una fase haya que volver a una etapa anterior y así sucesivamente.
Los modelos de programación matemática se encuentran constituidos así:


  •    Conjuntos de Datos: Conocer los tipos de datos de los que se dispone; permite establecer, conjuntos y con ellos índices
  •     Parámetros: Representar los conjuntos de datos mediante Símbolos con subíndices, permitirá comenzar la conceptualización del problema. Generalmente en esta fase aparecen nuevos índices, o incluso se establecen parámetros que luego se comprobará que son variables.
  •    Objetivo: Establecer la función objetivo en forma de lenguaje natural (Maximizar el beneficio esperado o minimizar el ratio de aprovechamiento) permite empezar a definir variables que se pueden denominar de control.
  •       Variables de Control: se puede decir que las variables en la función objetivo no son las decisiones que se toman, sino los efectos de dichas decisiones, es por ello que se ha preferido denominarlas; de control.
  •   Restricciones: El modo más habitual de generar restricciones es expresarlas verbalmente  y cuantificarlas  posteriormente.
  •      Variables de Decisión: En general al plantear la función objetivo no se está plasmando las decisiones que en realidad se quieren tomar. Dichas variables deben ser también reflejada.
  •    Modelo Completo : La construcción del modelo completo (funciones objetivo más restricciones) dará generalmente nuevos índices, parámetros, variables y restricciones.
  •   Validación: La validación del modelo exige su formulación y su resolución. La importancia de esta etapa exige un apartado entero (el siguiente). La validación suele exigir recomenzar el proceso de validación desde el principio.

Características de un buen modelo de programación matemática:  principalmente son 3 objetivos básicos que se deben perseguir al momento de construir modelos de programación matemática


  1.      Que sea un modelo fácil de entender.
  2.      Que sea un modelo cuyos errores sean fáciles de detecta
  3.      Que sea un modelo de fácil resolución


Ahora si hablando del modelo basado en agentes (MBA). Es aquella técnica que nos permite realizar una simulación de las diversas interacciones y acciones de los individuos que se encuentran en un determinado entorno, para así poder saber qué consecuencias traen consigo al sistema. Mediante este modelo cada componente que hace parte del sistema real, se encuentra representado de una forma evidente e individual en el modelo. Los componentes básicos del sistema real, corresponden con los agentes del  modelo y a su vez las interacciones que se dan en los componentes del sistema real también se presentan en los agentes del modelo.
Con él se recrean operaciones simultáneas de agentes, para lograr predecir las acciones que se pueden presentar en los sistemas más complejos.

Los modelos basados en agentes, poseen tres tipos diferentes de agentes, autónomos, heterogéneos e independiente, cada uno de estos tiene sus propias metas y objetivos, y tienen la capacidad de interactuar entre sí y con su entorno.
Este tipo de modelos es de mucha importancia en sistemas complejos como:
·   Sistemas con componentes individuales homogéneos: en este caso varias disciplinas como la economía neoclásica plantean la idea de un individuo prototipo, confiando en que los resultados arrojados por este sistema puedan ser utilizados en el sistema real, teniendo en cuenta que los individuos de ese sistema real son realmente heterogéneos, pero existen otros casos en los que los resultados se encuentran alejados de la parte experimental, estos son los sistemas caracterizados por fuertes externalidades.

·   Sistemas adaptativos: en este caso cada componente individual puede aprender o ser seleccionado y reemplazado de acuerdo con algún criterio.


·    Sistemas en donde el espacio geográfico influye significativamente: si dos individuos se encuentran separados, la interacción entre ellos es menor.

·    Sistemas con redes sociales de interacción: las interacciones pueden tener influencia de otros factores, aparte del espacio físico.

·  Sistemas en los cuales se analiza la relación existente entre los atributos y el comportamiento de los individuos, visto desde las propiedades globales del grupo.
El MBA Combina algunos elementos como son la teoría de juegos, sistemas multiagente y sistemas complejos.




Ejemplo:
Modelo de reserva forestal
Una reserva forestal fue designada para garantizar el mantenimiento de la industria maderera de la zona y conservar los mejores bosques del país, diversos factores han atentado contra  la sostenibilidad de esta, y ha pasado de ser una zona prácticamente sin intervención humana a una deforestada y en manos de ocupantes ilegales.


Motivación del estudio:
  •     Problema: los colonos ocupan tierras, cortan arboles, se establecen o venden tierras y se localizan en la reserva
  •      Objeto de estudio: entender mejor el proceso de ocupación y la emergencia de terratenientes en la reserva forestal
  • Proceso de aprendizaje social: permite a los agentes resolver problemas minimizando costos de riesgos aceptando las experiencias o entradas de otros.

Análisis de la invasión de los terrenos.

Un colono decide si invade o no invade de varias formas:
-       Pensando por si mismo
-       Imitando a otro colono

Modelando los agentes:


Colono
ü  Toma en cuenta la percepción de otros:

-     Imita un colono vecino
-     Escucha controlador
-     Escucha al motivador
-     Sigue su modelo mental

Modelo de conocimientos

·         Endoso
Etiqueta con un valor asociado

·         ¿Qué endosan los colonos?
Acciones (ocupar - no ocupar)

·         Esquema del endoso
Escucha controlador 1
Escucha motivador   2
Escucha así mismo   3
Imita vecino              4


Calculo


Tiempo de simulación: 50 interacciones (años)
Numero de colonos: 20 inicialmente- (2 agregados por año)
Terreno: 40x40 celdas
Rango de visibilidad e vecinos: 3 celdas

Ø  La proporción de agentes desalojados por año: 0.01, 0.02, 0.03

Ejemplo de una salida grafica:

como cambia β en el tiempo

Con este ejemplo podemos relacionar este tema con nuestra vida cotidiana, y aplicarlo a diferentes problemas o casos que se nos presenten; esto es una nueva tendencia!  observamos que la Investigacion de Operaciones crece cada vez mas y cada dia nos demuestra que es pieza fundamental en cualqueir empresa o en nuestra vida personal a la hora de resolver un problema.


tomado de: modelado de sistemas complejos mediante simulación basada en agentes y mediante dinámica de sistemas. 
http://luis.izqui.org/papers/Izquierdo_Galan_Santos_Olmo_2008.pdf