miércoles, 28 de abril de 2010

Simulación en sistemas de producción

En la sesión de apertura del caso 13 el tema a desarrollar tiene que ver con lo mostrado en los siguientes estímulos:
Al tratar de identificar las relaciones entre los estímulos anteriores y a su vez la relación que existe con la simulación de sistemas surgieron las ideas o palabras claves que se presentan en la siguiente imagen.


En base a las ideas aportadas se determinó investigar sobre las siguientes metas.

Metas:
  1. Pasos a seguir en una planeación.
  2. Modelado y simulación de lineas de producción
  3. Herramientas existentes para simular lineas de producción.
  4. Aplicaciones
A continuación se presenta la información encontrada para cumplir con las metas.

Planeación

La planeación de producción es el conjunto de planes sistemáticos y acciones encaminadas a dirigir la producción, considerando los factores, cuanto, cuando, donde y a que costo. La plantación de la producción es la labor que establece limites o niveles para las operaciones de fabricación en el futuro.


Sistema de planeación.
Para establecer la planeación de la producción en una empresa, es necesario un sistema que debe aprovechar los insumos de entrada y procesarlos en forma adecuada, para optimizar el producto resultante. El sistema de plantación es una actividad integrativa que intenta elevar al máximo la eficiencia de una empresa.
Los datos necesarios para planear la producción son:
  1. Demanda: ¿Cuánto vamos a vender? ¿Cuando lo vamos a vender?
  2. Almacén: ¿Cuánto debemos tener en inventario?
  3. Producto:
  • Partes que lo componen.
  • Proceso de fabricación de cada parte y subensamble del ensamble.
  • Secuencia de operaciones.
  • Tiempo-tipo de producción.
  • Materiales necesarios.
  • Equipo y herramientas necesarias.
Pasos a seguir en una planeación
  1. Estar conscientes de las oportunidades.
  2. Establecer objetivos.
  3. Desarollo de premisas.
  4. Determinación de cursos alternativos.
  5. Evaluación de cursos alternativos.
  6. Seleccionar un curso.
  7. Formulación de planes derivados.
  8. Expresión numérica de los planes mediante la creación de presupuestos.
A continuación se describen mas a detalle:
  • El conocimiento de las oportunidades tanto en el ambiente externo como dentro de la organización, es el punto de partida real para la planificación. Es importante observar previamente todas las posibles oportunidades futuras y verlas con claridad y por completo. Se deben conocer los puntos fuertes y débiles, comprender que problemas se desean resolver y porqué, así como saber que se espera ganar.
  • El segundo paso es establecer objetivos generales y después para cada unidad de trabajo subordinada. Ésta se debe hacer tanto para el largo plazo como para el corto plazo. Los objetivos especifican los resultados esperados y señalan lo que se tiene que hacer en definitiva, a qué habrá de darse prioridad y qué tendrá que lograrse mediante la red de estrategias, políticas, procedimientos, reglas, presupuestos y programas. Los objetivos forman una jerarquía.
  • Un tercer paso lógico en la planificación es establecer, difundir y obtener consenso para utilizar premisas de planificación críticas, tales como pronósticos, políticas básicas aplicables y planes existentes de la compañía, son suposiciones sobre el medio ambiente en el cual se llevará a cabo el plan. El principio básico de las premisas de planificación es: cuanto más comprendan las personas encargadas de la misma y estén más de acuerdo en utilizar premisas de planificación consistentes, será más coordinada la planificación de la empresa. La elaboración de pronósticos es importante en la fijación de premisas. Las premisas están limitadas a suposiciones que son críticas o estratégicas, para un plan, es decir, aquellas que influyen más sobre su operación.
  • El cuarto paso en la planificación, es buscar y examinar cursos alternativos de acción, en especial aquellos que no se manifiestan claramente. Pocas veces existe un plan para el que no se tienen alternativas razonables y con frecuencia una alternativa no obvia resulta ser la mejor.
  • Después de buscar cursos alternativos y examinar sus puntos fuertes y débiles, el siguiente paso es evaluarlos, preponderando los que se ajusten a las premisas y las metas. Quizás un curso parezca ser el más rentable, pero requerirá de un gran desembolso de efectivo y tendrá un periodo de recuperación lento; tal vez parezca menos rentable, pero puede tener menos riesgo; otro quizás esté más acorde con los objetivos a largo plazo en la compañía.
  • Seguir un curso es el punto en el que se adopta el plan, el punto real de toma de decisiones. Ocasionalmente, el análisis y la evaluación de cursos alternativos da por resultado que se puedan decidir seguir varios cursos en lugar del mejor.
  • Cuando se toma la decisión, pocas veces la planificación está completa; por lo tanto se señala un séptimo paso. Se requieren planes derivados para respaldar el plan básico.
  • Después de tomar las decisiones y establecer los planes, el paso final para darles significado, es llevarlos a cabo convirtiéndolos en presupuestos.
Estos pasos fueron encontrados en www.mitecnnologico.com.
En la siguiente presentación se puede encontrar información valiosa para entender la planeación y otros aspectos en toma de decisiones en un sistema de producción.
Planeacion y Toma de Decisiones-1

2.1 Modelado de una línea de producción

La naturaleza del problema indica cuáles de los siguientes tipos de modelos es el más apropiado de acuerdo al tipo de sistema de producción.

Modelo Físico. Son modelos que derivan su utilidad de un cambio en la escala. Los patrones microscópicos pueden amplificarse para su investigación, y las enormes estructuras pueden hacerse a una escala más pequeña, hasta una magnitud que sea manipulable. Los problemas de flujo en una planta modelo se estudian fácilmente con las estructuras y máquinas hechas a una escala pequeña, haciendo cambios que no podrían duplicarse con partes reales debido al costo, confusión o inconveniencia. Necesariamente, algunos detalles se pierden en los modelos. En las réplicas físicas, ésta pérdida puede ser una ventaja, cuando la consideración clave, es un factor, tal como la distancia, pero puede hacer inútil un estudio si la influencia que predomina se desvirtúa en la construcción del modelo.
Modelo esquemático. Las gráficas de fluctuaciones en los precios, los diagramas simbólicos de las actividades, los mapas de rutas y las redes de eventos regulados, todos representan el mundo real en un formato dirigido y diagramático. Los aspectos gráficos son útiles para pronósticos de demostración. Algunos ejemplos que se encuentran comúnmente incluyen los diagramas de la organización, diagramas de flujo del proceso y gráficas de barras. Los símbolos sobre tales diagramas, pueden arreglarse fácilmente para investigar el efecto de la reorganización. Una experimentación semejante en el lugar real de trabajo podría ser dañino.
Modelo matemático. Las expresiones cuantitativas, es decir, los modelos más abstractos, generalmente son las más útiles. Cuando un modelo matemático puede construirse para representar en forma exacta la situación de un problema, suministra una poderosa arma para el estudio; es fácil de manipular, el efecto de las variables que interactúan se aprecia claramente y, sobre todo, es un modelo preciso. Por lo general, cualquier deficiencia debida al empleo de los modelos matemáticos se origina por algún error cometido en las suposiciones básicas y en las premisas sobre las cuales están basadas. En contraste con los otros tipos de modelos, es más difícil decidir lo que se va a emplear que cómo se va a emplear.
Expo Aplicacion


3. Herramientas para simular.


Liga a un curso de Simulación. En esta presentación mencionan que se enfocarán sobre todo en simulación de lineas de producción, también se hace mención a un paquete para hacer simulación el paquete ARENA.

Demostración en linea de ARENA
Información más completa de ARENA
PROMODEL


Herramientas para simulación:

  1. Procesos industriales:
2. Simulación basada en agentes:
3. Lenguajes para simulación
4. Herramientas de simulación visual
5. Librerías para simulación
6. Simulación de redes y sistemas en mallas(grids)
7. Sistemas de telecomunicación y redes

4. Aplicaciones

¿QUE VENTAJAS TIENEN DISEÑAR LOS SISTEMAS DE PRODUCCIÓN?
El diseño de sistemas de producción es algo esencial en la empresa, ya que maneja todos los departamentos de esta, así llevando un control de costos, control de inventarios, control de la producción, control de procesos, control de calidad.
Los diseños de producción deben utilizarse siempre, es decir, no solamente durante la implementación de los mismos, para luego destacarlos, ni archivarse en un estante para que acumulen polvo y se vuelvan obsoletos. Los costos del proceso de reingenieria son demasiado altos y los diseños demasiado valiosos.
Los diseños y los modelos de reingeniería se utilizan obviamente para respaldar los esfuerzos futuros en este campo. Si se implementa una iniciativa de calidad total, la compañía necesitara cambiar sus procesos sobre una base común cuando las mejoras se implanten. Como una medida de control, estas actividades deben desarrollarse siguiendo los métodos de reingeniería y toda la documentación debe actualizarse.
Los diseños contienen información que puede ser útil en la toma de decisiones operacionales habituales, en el entrenamiento y en el control del desempeño laboral.
¿QUE VISIÓN DEL FUTURO LES DA A LAS EMPRESAS LOS DISEÑOS DE SISTEMAS DE PRODUCCIÓN?
  • Le da la habilidad de que entrar al mercado junto con otras compañías.
  • Habilidad de los proveedores para ejercer una presión sobre los costos de los competidores el mercado.
  • La habilidad de los clientes para influir en los competidores, por ejemplo, si son sensibles a los precios, los clientes forzaran la competencia precios.
  • La habilidad de las alternativas para presionar al mercado.
  • Las actividades competitivas de las compañías más rivales.

miércoles, 14 de abril de 2010

Simulación con agentes

Los estímulos que llevan a desarrollar e investigar este tema y que fueron presentados en la clase de apertura del caso 11 son los siguientes: video 1, video 2, video 3 y video 4.
El diagrama desarrollado a partir de la lluvia de ideas es el siguiente

Las metas establecidas se describen a continuación:

Modelos basados en agentes (Agent-based models)

¿ Qué son los agentes ?


El termino agente describe un software de abstracción, una idea o un concepto. El concepto de agente proporciona una herramienta para describir una ente animado que es capaz de actuar con cierto grado de autonomía con el fin de realizar tareas.
Esta definición se extiende a seres humanos, animales, robots informatizados y softbots. Un agente se puede definir de acuerdo a su comportamiento y este a su vez se determina de acuerdo a reglas simples y básicas de interacción con el medio ambiente y con otros agentes.

¿Qué son los modelos basados en agentes?

Son modelos computacionales usados para simular las acciones e interacciones de agentes autónomos con el fin de evaluar su efecto sobre el sistema completo.
Estos modelos simulan las acciones e interacciones simultaneas de multiples agentes con el fin de recrear y predecir la aparición de fenómenos complejos. La idea clave es que reglas de comportamiento simples generan comportamientos complejos.

Las tres ideas centrales de los modelos basados en agentes son los agentes sociales como objetos, aparición y complejidad.

Los sistemas en los que interactuan pueden crear complejidad como en el mundo real. Los agentes son:
  • inteligentes y con propósitos.
  • están situados en el espacio tiempo. Su ubicación, comportamiento y respuesta están confinados en algoritmos. El modelador hace los supuestos pensamientos más relevantes y luego observa los fenómenos que surgen de las interacciones de los agentes. a veces se observa un equilibrio, en ocasiones se encuentra un patrón.
¿Cuando hacer simulación basada en agentes?

Cuando se quiere capturar el comportamiento de agentes individuales y sus interconexiones.
Cuando se quiere probar como los cambios en el comportamiento individual afectan a la aparición de comportamientos del sistema completo.
Cuando se quiere explicar la aparición de sistemas con alto grado de patrones.
Cuando se quieren identificar momentos en el tiempo en el que algunas intervenciones han desarrollado extremas consecuencias.

Inteligencia artificial

La inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados producen acciones o resultados que maximizan una medida de rendimiento determinada, lo cual implica tomar la mejor decisión, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado.
El conocimiento puede ser cargado en el agente por su diseñador o puede ser aprendido por el mismo agente utilizando técnicas de aprendizaje.
Existen varios tipos de procesos válidos para obtener resultados racionales, que determinan el tipo de agente inteligente. Los principales tipos de procesos son:

Farid Fleifel Tapia describe a la IA como: "la rama de la ciencia de la computación que estudia la resolución de problemas no algorítmicos mediante el uso de cualquier técnica de computación disponible, sin tener en cuenta la forma de razonamiento subyacente a los métodos que se apliquen para lograr esa resolución.
Para completar esa definición, algunas definiciones no tan formales emitidas por diferentes investigadores de la IA que consideran otros puntos de vista son:
  • La IA es el arte de crear maquinas con capacidad de realizar funciones que realizadas por personas requieren de inteligencia. ( Kurzweil, 1990)
  • La IA es el estudio de cómo lograr que las computadoras realicen tareas que, por el momento, los humanos hacen mejor. (Rich, Knight, 1991).
  • La IA es la rama de la ciencia de la computación que se ocupa de la automatización de la conducta inteligente. (Lugar y Stubblefied, 1993).
  • La IA es el campo de estudio que se enfoca a la explicación y emulación de la conducta inteligente en función de procesos computacionales. (Schalkoff, 1990).
En la IA se puede observar dos enfoques diferentes:
  1. La IA concebida como el intento por desarrollar una tecnología capaz de proveer al ordenador capacidades de razonamiento similares a los de la inteligencia humana.
  2. La IA en su concepción como investigación relativa a los mecanismos de la inteligencia humana que se emplean en la simulación de validación de teorías.
Una descripción mas detallada puede encontrarse aquí.

Autómata celular

Son modelos matemáticos para sistemas dinámicos que evolucionan en pasos discretos. Se compone de una colección masiva de objetos básicos que interactúan localmente entre ellos.
Se puede describir a un autómata celular como un conjunto ordenado de objetos caracterizado por los siguientes componentes:
  • Una rejilla o cuadriculado de enteros (conjunto \mathbb{Z}) infinitamente extendida, y con dimensión d \in \mathbb{Z}^+. Cada celda de la cuadrícula se conoce como célula.
  • Cada célula puede tomar un valor en \mathbb{Z} a partir de un conjunto finito de estados k.
  • Cada célula, además, se caracteriza por su vecindad, un conjunto finito de células en las cercanías de la misma.
  • De acuerdo con esto, se aplica a todas las células de la cuadrícula una función de transición ( f ) que toma como argumentos los valores de la célula en cuestión y los valores de sus vecinos, y regresa el nuevo valor que la célula tendrá en la siguiente etapa de tiempo. Esta función f se aplica, como ya se dijo, de forma homogénea a todas las células, por cada paso discreto de tiempo.
Aprendizaje automático

Es una de las ramas de la inteligencia artificial y se encarga de desarrollar algoritmos que permita el aprendizaje de las computadoras. trata de crear programas capaces de generalizar comportamientos a partir de ejemplos. Se centra en el estudio de la complejidad computacional por lo que típicamente busca dar solución a problemas considerados como NP-duros.
Puede ser visto como un intento por automatizar el método científico.

Los diferentes algoritmos de aprendizaje automático se agrupan de acuerdo a su salida. Estos algoritmos son:

  • Aprendizaje supervisado. El algoritmo produce una función que establece una correspondencia entre las entradas y las salidas deseadas del sistema. Un ejemplo de este tipo de algoritmo es el problema de clasificación, donde el sistema de aprendizaje trata de etiquetar (clasificar) una serie de vectores utilizando una entre varias categorías (clases). La base de conocimiento del sistema está formada por ejemplos de etiquetados anteriores.
  • Aprendizaje no supervisado. Todo el proceso de modelado se lleva a cabo sobre un conjunto de ejemplos formado tan sólo por entradas al sistema. No se tiene información sobre las categorías de esos ejemplos.
  • Aprendizaje por refuerzo.El algoritmo aprende observando el mundo que le rodea. Su información de entrada es el feedback o retroalimentación que obtiene del mundo exterior como respuesta a sus acciones.
  • Transducción. Similar al aprendizaje supervisado, pero no construye de forma explícita una función. Trata de predecir las categorías de los futuros ejemplos basándose en los ejemplos de entrada, sus respectivas categorías y los ejemplos nuevos al sistema.
  • Aprendizaje multi-tarea. Métodos de aprendizaje que usan conocimiento previamente aprendido por el sistema de cara a enfrentarse a problemas parecidos a los ya vistos.

REPAST (Recoursive porous agent simulation toolkit)

Es una de las herramientas para simulación de agentes que esta disponible libremente. Toma muchoas conceptos del modelado de enjambres, parbadas, bancos dependiendo del caso.
Repast busca apoyar el desarrollo de modelos extremadamente flexibles de la vida los agentes sociales, pero no se limita a modelar las entidades sociales que viven solos.
En la pagina principal de repast dice:
"Our goal with Repast is to move beyond the representation of agents as discrete, self-contained entities in favor of a view of social actors as permeable, interleaved, and mutually defining; with cascading and recombinant motives. We intend to support the modeling of belief systems, agents, organizations, and institutions as recursive social constructions."
Repast 3 tiene una variedad de características incluyendo las siguientes:
  • Repast incluye una variedad de agente de plantillas y ejemplos. Sin embargo, la guía ofrece a los usuarios una flexibilidad total en cuanto a cómo especificar las propiedades y comportamientos de los agentes.
  • Repast está totalmente orientado a objetos.
  • Repast incluye un planificador de eventos discretos plenamente concurrente. Este programador es compatible tanto secuenciales y paralelos operaciones discretas evento.
  • Repast ofrece incorporado en los resultados de simulación de la tala y herramientas de representación gráfica.
  • Repast ha automatizado Monte Carlo marco de simulación.
  • Repast proporciona una gama de entornos de agente de dos dimensiones y visualizaciones.
  • Repast permite a los usuarios acceder de forma dinámica y modificar las propiedades de agente, ecuaciones de comportamiento de los agentes y propiedades del modelo en tiempo de ejecución.
  • Repast incluye librerías para algoritmos genéticos, redes neuronales, generación de números aleatorios, y matemáticas avanzadas.
  • Repast incluye funciones de sistemas de modelización dinámica.
  • Repast ha modelado harramientas de apoyo a redes sociales.
  • Repast ha integrado los sistemas de información geográfica (SIG) de apoyo.
  • Repast esta totalmente implementado en una variedad de lenguajes como Java y C #.
  • Repast modelos se pueden desarrollar en muchos lenguajes, incluyendo Java, C #, C++, Visual Basic.Net, Managed Lisp, Managed Prolog y Python scripting.
  • Repast está disponible en prácticamente todas las plataformas modernas, incluyendo Windows, Mac OS y Linux. La plataforma de apoyo incluye tanto los ordenadores personales y los grandes clusters de computadoras.
Se descargo repast y se ejecutaron los demos que están incluidos en la instalación.

  1. Se descaro repast 3, es decir, el archivo repast_3.0_installer.jar
  2. Se instaló en el sistema ubuntu mediante linea de comandos con la instrucción java -jar repast_3.0.installer.jar
  3. En el directorio "repast 3/repastj/ " se ejecuto la instrucción java -jar repastj.jar
  4. Abriendose la ventana principal de repast

















El ejemplo que se ejecuto es precisamente el marcado en la imagen, el llamado Heatbugs.




La siguiente imagen es de la ejecución marcado con los parámetros de la imagen a la derecha.


Otras imágenes sucesivas pero esta vez con modificando la constante de difusión de calor a 1.4 y el tamaño de la región de 100x100.























Otra corrida de la simulación.

























Mecánica estadística

Es la parte de la física que trata de determinar el comportamiento de un sistema formado por muchas partículas. La física estadística permite predecir el comportamiento termodinámico de sistemas macroscópicos a partir de consideraciones microscópicas de las partículas formantes, utilizando para ello herramientas estadísticas junto a leyes mecánicas.
La física estadística puede describir numerosos campos con una naturaleza estocástica (reacciones nucleares, sistemas biológicos, químicos, neurológicos, etc.).
En principio podríamos obtener toda la información necesaria sobre el comportamiento del sistema construyendo e integrando las ecuaciones del movimiento para todos los grados de libertad del sistema, sin embargo y debido al orden de magnitud del número de partículas en los sistemas macroscópicos (1025 partículas) tal enfoque es impracticable, ya que requeriría la resolución de un número increíblemente grande de ecuaciones diferenciales; no sólo eso, sino que introducir las condiciones iniciales de tal sistema sería imposible.

Entropía

El concepto de entropía fue introducido por primera vez por R. J. Clausius a mediados del siglo XIX. Clausius, ingeniero francés, también formuló un principio para la Segunda ley: "No es posible proceso alguno cuyo único resultado sea la transferencia de calor desde un cuerpo frío a otro más caliente". En base a este principio, Clausius introdujo el concepto de entropía, la cual es una medición de la cantidad de restricciones que existen para que un proceso se lleve a cabo y nos determina también la dirección de dicho proceso. Vamos ahora a hablar de las tres acepciones más importantes de la palabra entropía.

Una explicacion más detallada de entropía se encuentra aquí.