Uso de Software y Algoritmos

21

Click here to load reader

description

Como se usa los software y algoritmos en la optimización de procesos.

Transcript of Uso de Software y Algoritmos

Page 1: Uso de Software y Algoritmos

EL USO DE LOS SOFTWARE´S Y LOS ALGORITMOS EN LA OPTIMIZACIÓN DE PROCESOS: USO, ALGORITMOS

1. INTRODUCCIÓN

PROCESO

Según el Diccionario de la Real Academia Española (REA), se define

proceso como el “Conjunto de las fases sucesivas de un fenómeno natural o

de una operación artificial”.

Según Wikipedia, se define proceso como “Un conjunto de actividades

mutuamente relacionadas o que al interactuar transforman elementos de

entrada y los convierten en resultados.”

Andrew. S. Tanenbaum propone una analogía para entender el concepto de

proceso "Un científico computacional con mente culinaria hornea un pastel

de cumpleaños para su hija; tiene la receta para un pastel de cumpleaños y

una cocina bien equipada con todos los ingredientes necesarios, harina,

huevo, azúcar, leche, etc." En esta analogía se puede decir que la receta

representa el programa (el algoritmo), el científico computacional es el

procesador y los ingredientes son las entradas del programa, siendo el

resultado el pastel horneado.

OPTMIZACION DE PROCESOS

Page 2: Uso de Software y Algoritmos

Según la REA, la optimización es la acción y efecto de optimizar, es decir

buscar la mejor manera de realizar una actividad, ampliando el concepto, la

optimización de procesos busca adaptar las actividades para que sean

realizadas de una manera más eficiente. Existen diferentes e infinitas

formas de realizar un proceso, y la optimización de los procesos viene

siendo estimulada cada vez más por la necesidad que tienen las empresas

por explotar márgenes de beneficios cada vez más estrechos en un mundo

globalizado y competitivo.

Para poder lograrlo las empresas deben producir con el nivel de calidad

requerido por el mercado pero con el menor costo posible, cumpliendo

además ahora con exigentes regulaciones medioambientales.

SOFTWARE

Según la REA, define el software como el conjunto de programas,

instrucciones y reglas informáticas para ejecutar ciertas tareas en una

computadora.

Según Wikipedia, se conoce como software al equipamiento lógico o

soporte lógico de un sistema informático, que comprende el conjunto de los

componentes lógicos necesarios que hacen posible la realización de tareas

específicas, en contraposición a los componentes físicos que son llamados

hardware.

ALGORITMO

Page 3: Uso de Software y Algoritmos

Según la REA, define el algoritmo como el conjunto ordenado y finito de

operaciones que permite hallar la solución de un problema.

Según Wikipedia, un algoritmo (del griego y latín, dixit algorithmus y este a

su vez del matemático persa Al-Juarismi1 ) es un conjunto prescrito de

instrucciones o reglas bien definidas, ordenadas y finitas que permite

realizar una actividad mediante pasos sucesivos que no generen dudas a

quien deba realizar dicha actividad. Dados un estado inicial y una entrada,

siguiendo los pasos sucesivos se llega a un estado final y se obtiene una

solución.

2. OPTMIZACION DE PROCESOS

La Optimización de Procesos tiene varios matices, pero lo cierto es que el

término "optimización" en si es demasiado ambicioso para la dinámica

actual de las empresas que como ya se mencionó se ven obligadas a

"adaptarse" al entorno, a los nuevos estándares y normativas legales. Por

esta razón normalmente, optimizar procesos es un desafío muy costoso e

incluso doloroso.

De acuerdo a la definición del término optimización, es obtener la "mejor"

solución entre otras soluciones factibles, en otras palabras el mejor proceso

debe ajustar el flujo de tareas, entradas y salidas de manera que entregue

la mejor calidad al menor costo y en el menor tiempo.

Pero normalmente, si queremos aumentar la calidad de cualquier producto

o servicio incurrimos en inversión de tecnología y personas (los costos

Page 4: Uso de Software y Algoritmos

aumentan) pero a la vez se pueden reducir los tiempos (de producción,

soporte, etc.)y en el peor caso aumentarlos lo cual depende de otros

factores tales como: correcta elección de la tecnología, capacitación de las

personas, estrategias de gestión.

La flexibilidad de cualquier proceso está asociada a cuán rápido se ajusta a

los cambios y dinámica de la empresa y también del entorno tanto interno

como externo.

Los internos se refieren a las medidas de la empresa para realizar cambios

a un proceso para mejorar su desempeño tomando en cuenta las variables

de costo, tiempo, calidad y flexibilidad.

Los externos son todos aquellos factores que provienen desde el entorno de

la empresa y que son identificados por medio de Inteligencia de Negocios

(Business Intelligence, BI), área de márketing, área de finanzas

(principalmente, factores de desempeño económico), como también desde

nuevos estándares y/o normativas legales.

3. USO DE SOFTWARE EN LA OPTIMIZACION DE PROCESOS

(BUSINESS PROCESS MANAGMENT, SOFTWARE BIZAGI)

La necesidad de las empresas por adaptar y mejorar sus procesos,

frecuentemente están frenadas por aplicaciones y sistemas que no están

preparados para explotar nuevas oportunidades y adaptarse a los cambios

de forma ágil.

Page 5: Uso de Software y Algoritmos

Ante esto emergió una nueva disciplina BPM (Business

ProcessManagment), Gestión por procesos, cuyo objetivo es mejorar la

eficiencia a través de la gestiónsistemática de los procesos de negocio, que

se deben modelar, automatizar, integrar, monitorizary optimizar de forma

continua.

Debemos conocer que no consiste en una solución tecnológica. Es mucho

más, es un conjunto deherramientas, tecnologías, técnicas, métodos y

disciplinas de gestión. Y cómo deseamosgestionar esos procesos, ese

conjunto nos va a permitir identificar procesos, modelizar, analizarel

comportamiento, ejecutar los procesos (automatización), control la

ejecución de los procesos yoptimizar los procesos para la mejora continua.

En un mundo donde laComunicación, Colaboración y Coordinación ya es la

normalidad,se requieren de tecnologías que orquesten los procesos, la

organización, los sistemas, y losclientes, colaboradores y otros entes

externos.

La gestión por procesos es una manera de gestionar que tiene por objetivo

el análisis periódico de la forma en que se realizan las actividades y

procesos en una organización, en la búsqueda de un mejoramiento u

optimización continua de los resultados que se obtienen como producto de

dicha gestión. Todo ello sin perder de vista que ese producto o resultado

tiene como objetivo central el de satisfacer las expectativas y necesidades

de un usuario. Estos constituyen los elementos para llegar al punto central,

que es el cómo mejorar la gestión.

Etapas en la gestión de procesos

Page 6: Uso de Software y Algoritmos

La gestión de procesos tiene las siguientes etapas:

1. Identificación

¿Cuáles son las áreas que pudieran considerarse críticas? Éstas

pueden haber sido identificadas por diversos medios: como resultado de

un monitoreo de calidad que muestra indicadores muy alejados del

estándar esperado; por los resultados de encuestas a usuarios; a través

de una planificación estratégica y el análisis FODA (fortalezas,

oportunidades, debilidades y amenazas); por observación de los

usuarios internos; entre otras.

2. Descripción

Etapa donde se debe llegar a conocer en forma detallada el proceso que

se ha elegido, observando en terreno y conversando con las personas

que lo ejecutan y con los responsables del mismo. En forma

complementaria, puede recurrirse a normativas o manuales que lo

describan.

3. Análisis

El resultado de esta etapa es crucial para todo el resto del trabajo.

Deberá incorporarse a la etapa de análisis, un grupo de personas que

incluya a aquellos que efectuaron el levantamiento, a expertos externos

y también a algunos de los actores del proceso.

4. Identificación de áreas problema y sus soluciones

Page 7: Uso de Software y Algoritmos

El análisis precedente deberá concluir con la identificación de las áreas

problema o determinantes que explican por qué no se obtienen los

resultados esperados. Estos pueden deberse a más de una causa, y en

ocasiones son sólo un factor crítico relevante capaz de determinar el mal

resultado.

5. Rediseño

Esta etapa debe realizarse con mucha acuciosidad a través de un

proceso participativo, donde el diseño pueda corregirse tantas veces

como sea necesario, e idealmente en varios tiempos, es decir en varias

sesiones de trabajo, a objeto de dejar “reposar” las ideas.

6. Aplicación/implementación

El éxito de esta etapa está en gran medida determinado por la forma en

que se hayan realizado las fases anteriores, especialmente en lo referido

a la participación de los actores del proceso. Se puede señalar que casi

sin excepción, las personas que mejor conocen los problemas y que

pueden aportar con mejores ideas a la solución son los propios

involucrados en la actividad o tarea que se está rediseñando.

7. Evaluación

Idealmente junto con la implementación del cambio, se deben establecer

metas evaluables en términos de los resultados esperados, marcados

por hitos a través del tiempo; estos expresan el nivel de conformidad

respecto a los objetivos del rediseño.

SOFTWARE BIZAGI

Page 8: Uso de Software y Algoritmos

Bizagi es una suite ofimática con dos productos complementarios, un

modelador de procesos y una suite de BPM.

BizagiProcessModeler

BizagiProcessModeler es un freeware para diagramar, documentar y

simular procesos de manera gráfica en un formato estándar conocido

como BPMN (Business ProcessModelingNotation). Los procesos y su

documentación correspondiente pueden exportarse a Word, PDF, Visio,

la web o SharePoint3 para compartirlos y comunicarlos.

Bizagi BPM Suite

La Suite consiste de dos herramientas: Bizagi Studio, el módulo de

construcción, y Bizagi BPM Server para ejecución y control. En Bizagi

Studio el usuario define el modelo asociado al proceso de negocio

(flujograma, reglas de negocio, interfaz de usuario, etc) para la ejecución

del mismo. Los modelos se guardan en una base de datos y son

utilizados posteriormente en la ejecución por Bizagi BPM Server. Bizagi

BPM Server ejecuta un Portal de Trabajo para los usuarios finales en un

PC o cualquier dispositivo móvil.

Bizagi permite automatizar procesos complejos. Ha puesto a disposición

de la comunidad un conjunto de plantillas de procesos ejecutables que

se pueden descargar del sitio web. Las plantillas incluyen Mesa de

ayuda, Seis Sigma, Solicitud de créditos personales, Solicitud de pólizas

de automóvil, Proceso transaccional, entre otras.

Page 9: Uso de Software y Algoritmos

4. USO DE ALGORITMOS EN LA OPTIMIZACION DE PROCESOS

Existen problemas de optimización de procesos que aparecen en los

ámbitos de las ingenierías que son difíciles de solucionar por medio de

técnicas tradicionales, por lo que amenudo se aplican algoritmos evolutivos,

inspirados en la naturaleza, que recogen unconjunto de modelos basados

en la evolución de los seres vivos.

COMPUTACIÓN EVOLUTIVA Y OPTIMIZACIÓN

Un problema de optimización requiere hallar un conjunto de parámetros de

formaque se cumpla un cierto criterio de calidad que se quiere optimizar, es

decir,maximizando o minimizando una cierta función de evaluación f(x)

dada.Los algoritmos evolutivos son especialmente útiles cuando nos

encontramos conproblemas difíciles o altamente irresolubles, como lo son

aquellos caracterizados poruna alta dimensionalidad, multimodalidad, no

linealidad, no diferenciabilidad,presencia de ruido y cuando se trata con

funciones dependientes del tiempo.

ALGORITMOS EVOLUTIVOS

Este término es empleado para describir sistemas de resolución de

problemas deoptimización o búsqueda basados en el ordenador empleando

modelos computacionalesde algún mecanismo de evolución conocido como

elemento clave en su diseño eimplementación.

Page 10: Uso de Software y Algoritmos

Los algoritmos evolutivos trabajan con una población de individuos, que

representansoluciones candidatas a un problema. Esta población se somete

a ciertastransformaciones y después a un proceso de selección, que

favorece a los mejores. Cadaciclo de transformación y selección constituye

una generación, de forma que después decierto número de generaciones se

espera que el mejor individuo de la población estécerca de la solución

buscada. Los algoritmos evolutivos combinan la búsquedaaleatoria, dada

por las transformaciones de la población, con una búsqueda dirigida

dadapor la selección.

Principales Componentes:

Población de individuos, que son una representación (no

necesariamentedirecta) de posibles soluciones.

Procedimiento de selección basado en la aptitud de los individuos

pararesolver el problema.

Procedimiento de transformación para construir nuevos individuos a

partir delos anteriores.

CARACTERÍSTICAS

La característica fundamental de los algoritmos evolutivos radica en los

métodos degeneración de soluciones: se parte de un conjunto de

soluciones iniciales y se vanempleando un conjunto de operadores de

búsqueda para ir refinando la solución final.

Para realizar dicho refinamiento de las soluciones, se pueden utilizar

técnicas clásicas complementadas con mecanismos biológicos de

exploración: población de soluciones, operadores genéticos.

Page 11: Uso de Software y Algoritmos

CLASIFICACIÓN

Existen las siguientes modificaciones sobre el esquema general:

Estrategias Evolutivas: Técnica desarrollada por Rechenberg y

Schwefel yextendida por Herdy, Kursawe, Ostermeier, Rudolph, y otros,

fue diseñada inicialmentecon la meta de resolver problemas de

optimización discretos y continuos,principalmente experimentales y

considerados difíciles. Trabaja con vectores denúmeros reales que

codifican las posibles soluciones deproblemas numéricos. Utiliza

recombinación o cruce (crossover aritmético), mutación yla operación de

selección, ya sea determinística o probabilística, elimina las

peoressoluciones de la población y no genera copia de aquellos

individuos con una aptitud pordebajo de la aptitud promedio.

Programación Evolutiva: Técnica introducida por Fogel y extendida por

Burgin,Atmar y otros, inicialmente fue diseñada como un intento de crear

inteligencia artificial.La representación del problema se realiza mediante

números reales (cualquier estructurade datos), y emplea los

mecanismos de mutación y selección. El procedimiento es muysimilar a

las estrategias evolutivas con la diferencia de que no emplea la

recombinación,de tal forma que son denominadas en conjunto

algoritmos evolutivos como una manerade diferenciarlas de los

algoritmos genéticos.

Algoritmos Genéticos: Modelan el proceso de evolución como una

sucesión defrecuentes cambios en los genes, con soluciones análogas a

cromosomas. Trabajan conuna población de cadenas binarias para la

representación del problema, y el espacio desoluciones posibles es

Page 12: Uso de Software y Algoritmos

explorado aplicando transformaciones a éstas solucionescandidatas tal y

como se observa en los organismos vivientes: cruce, inversión

ymutación. Como método de selección emplean en mecanismo de la

ruleta (a veces conelitismo). Constituyen el paradigma más completo de

la computación evolutiva ya queresumen de modo natural todas las

ideas fundamentales de dicho enfoque. Son muyflexibles ya que pueden

adoptar con facilidad nuevas ideas, generales o específicas, que surjan

dentro del campo de la computación evolutiva. Además, se pueden

hibridarfácilmente con otros paradigmas y enfoques, aunque no tengan

ninguna relación con la computación evolutiva.

Figura 1: Ciclo de un algoritmo genético.

Aplicaciones de Algoritmos Genéticos

Optimización: Se trata de un campo especialmente abonado para el

uso de los Algoritmos Genéticos, por las características intrínsecas de

estos problemas. No en vano fueron la fuente de inspiración para los

creadores estos algoritmos. Los Algoritmos Genéticos se han utilizado

en numerosas tareas de optimización, incluyendo la optimización

numérica, y los problemas de optimización combinatoria.

Programación automática: Los Algoritmos Genéticos se han empleado

para desarrollar programas para tareas específicas, y para diseñar otras

Page 13: Uso de Software y Algoritmos

estructuras computacionales tales como el autómata celular, y las redes

de clasificación.

Aprendizaje máquina: Los algoritmos genéticos se han utilizado

también en muchas de estas aplicaciones, tales como la predicción del

tiempo o la estructura de una proteína. Han servido asimismo para

desarrollar determinados aspectos de sistemas particulares de

aprendizaje, como pueda ser el de los pesos en una red neuronal, las

reglas para sistemas de clasificación de aprendizaje o sistemas de

producción simbólica, y los sensores para robots.

Economía: En este caso, se ha hecho uso de estos Algoritmos para

modelizar procesos de innovación, el desarrollo estrategias de puja, y la

aparición de mercados económicos.

Sistemas inmunes: A la hora de modelizar varios aspectos de los

sistemas inmunes naturales, incluyendo la mutación somática durante la

vida de un individuo y el descubrimiento de familias de genes múltiples

en tiempo evolutivo, ha resultado útil el empleo de esta técnica.

Ecología: En la modelización de fenómenos ecológicos tales como las

carreras de armamento biológico, la coevolución de parásito-huesped, la

simbiosis, y el flujo de recursos.

Genética de poblaciones: En el estudio de preguntas del tipo “¿Bajo

qué condiciones será viable evolutivamente un gene para la

recombinación?”

Evolución y aprendizaje: Los Algoritmos Genéticos se han utilizado en

el estudio de las relaciones entre el aprendizaje individual y la evolución

de la especie.

Page 14: Uso de Software y Algoritmos

Sistemas sociales: En el estudio de aspectos evolutivos de los

sistemas sociales, tales como la evolución del comportamiento social en

colonias de insectos, y la evolución de la cooperación y la comunicación

en sistemas multi-agentes.

5. CONCLUSIONES

El presente trabajo ha presentado las distintas alternativas de optimización

de procesos utilizando software computacional y algoritmos.

Existe una variedad de investigación referente a los algoritmos evolutivos y

genéticos que se emplean para la optimización de un problema de

ingeniería.

La aplicación de estos algoritmos son tecnologías de punta que empiezan a

utilizarse en aplicaciones reales, las cuales constituyen un enfoque de

resolución de problemas con un alto potencial en el campo de la ingeniería

industrial, química, entre otros.