uso de software y algoritmos
DESCRIPTION
Como se usa los software y algoritmos en la optimización de procesos.TRANSCRIPT
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
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
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
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.
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
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
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
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.
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.
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.
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
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
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.
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.