3 research outputs found

    Estudio y aplicación de metaheurísticas y comparación con métodos exhaustivos

    Get PDF
    Cuando nos enfrentamos a problemas reales haciendo uso de recursos computacionales, hemos de tener en cuenta que el número de posibles soluciones candidatas a tener en cuenta puede llegar a ser tan inmenso que abordarlas mediante técnicas algorítmicas clásicas, en la mayoría de los casos, pueden llegar a convertirse en un problema en sí mismo debido al gran coste en recursos que pueden llegar a generar. En este contexto, aspectos como el tiempo utilizado en la búsqueda de una solución mediante algoritmos de búsqueda exhaustiva tales como fuerza bruta, vuelta atrás, ramificación y poda, etc., puede llegar a ser prohibitivo en la práctica. Ante este problema que se nos plantea, podemos hacer un estudio sobre otros métodos, tales como los metaheurísticos, que, aunque no siempre aseguran la optimalidad de las soluciones producidas; tienen un tiempo de ejecución mucho menor que los métodos exhaustivos. En el presente trabajo hemos seleccionado dos problemas NP-completos de entre los más famosos de la literatura y hemos realizado un estudio de ambos. Concretamente, los problemas seleccionados han sido el TSP (Traveling Salesman Problem) y el problema de la Mochila 0-1. Por otro lado, hemos llevado a cabo un estudio sobre distintas metaheurísticas para poder resolver los problemas mencionados. Entre estas metaheurísticas, hemos seleccionado cuatro: metaheurísticas evolutivas, metaheurísticas inspiradas en colonias de hormigas, metaheurísticas simulated annealing (enfriamiento simulado) y metaheurísticas GRASP (Greedy Randomized Adaptive Search Procedure). Después de esto, cada problema ha sido resuelto aplicando tanto algoritmos de búsqueda exhaustiva como metaheurísticas. Una vez adaptados los algoritmos a la resolución de los problemas concretos, hemos realizado un estudio experimental, donde se realizaron comparativas de rendimiento. Finalmente, todo este trabajo ha sido plasmado en el desarrollo de una aplicación software, la cual consta de dos partes: una que contiene la implementación los algoritmos adaptados para la resolución de los problemas y que son ofrecidos a modo de servicios web y otra parte donde se ha implementado un cliente web que puede consumir estos servicios y realizar una presentación más vistosa de la ejecución de los algoritmos y los resultados obtenidos. Esta arquitectura podrá servir como base para futuras ampliaciones de este estudio

    Development of an electronic auctions module for an Open Source ERP system

    Get PDF
    Trabajo de Fin de Máster, Universidad Complutense, Facultad de Informática, Departamento de Ingeniería del Software e Inteligencia Artificial, Curso 2018/2019En sus inicios las empresas suelen tener un funcionamiento bastante homogéneo, pero según van creciendo, la tarea de administrarlas se hace cada vez más complicada (la plantilla de trabajadores crece, surgen nuevos departamentos que se encargan de funciones muy específicas, por ejemplo). Debido a estos cambios, utilizar herramientas informáticas de administración que ofrecen funcionalidades genéricas, en el mayor de los casos llega a ser insuficiente, por lo que surge la necesidad de buscar alternativas que satisfagan los nuevos requerimientos. Dentro del conjunto de sistemas software dedicados a la gestión empresarial, existen los denominados sistemas ERP (Enterprise Resource Planning), que llevan a cabo y automatizan distintas funciones internas de la empresa. Grandes sistemas ERP como SAP, Microsoft Navision o SAGE proporcionan en un solo paquete aplicaciones enfocadas a cada una de las operaciones empresariales. Si bien estos sistemas software ofrecen servicios que hacen el día a día más fácil, no siempre son de código abierto, de manera que se impide a los usuarios que posean las capacidades técnicas para ello, el hecho de poder modificar las características del sistema o crear nuevas funcionalidades, según van surgiendo problemas a resolver dentro de la empresa. Existen otras alternativas de sistemas ERP que son de código abierto muy utilizados y que han ganado popularidad gracias a que cualquier usuario con algo de conocimientos técnicos puede adaptarlos a las necesidades de su negocio, modificando sus características o creando nuevas, lo que supone mayor flexibilidad e incluso ahorro del dinero, que, de no ser así, se hubiese destinado a adquirir nuevo software. Por otro lado, en los últimos años la popularidad del comercio electrónico no ha parado de crecer y han sido muchas las empresas las que han surgido gracias a esta idea de negocio. Las subastas electrónicas se han convertido en una parte muy importante dentro de este mercado global, moviendo cada día grandes cantidades de dinero. La tecnología ha permitido que compradores y vendedores puedan ofrecer o adquirir bienes sin moverse de casa y esto ha significado para las empresas no solo la reducción de gastos frente al negocio de las subastas tradicionales, sino que al mismo tiempo les ha dado la posibilidad de expandirse. Entonces, teniendo en cuenta todos estos aspectos, en este Trabajo de Fin de Máster se ha desarrollado un módulo básico para la celebración de subastas electrónicas dentro de un sistema ERP de código abierto. Para ello, se hizo un análisis previo para seleccionar la opción que mejor se adaptó al desarrollo de nuevos módulos y se buscaron los lenguajes de programación, tecnologías y herramientas necesarias para la fase de desarrollo.In the beginning companies tend to have a fairly homogeneous operation, but as they grow, the task of managing them becomes increasingly complicated (the number of workers grows, new departments emerge that are responsible for very specific tasks, for example). Due to these changes, use management computer tools that offer generic functions, in most cases it becomes insufficient, so there is a need to look for alternatives that satisfy current needs. Within the set of software dedicated to business management, there are the so-called ERP systems (Enterprise Resourcing Planning), which carry out and automate different internal functions of the company. Big ERP systems like SAP, Microsoft Navision or SAGE provide in a single package applications focused on each of the business operations. While these software systems offer services that make day-to-day easier, they are not always open source, so that users who have the technical capabilities to do so are prevented from being able to modify the characteristics of the system or create new ones, as problems arise within of the company. There are other open source ERP systems alternatives that are widely used and have gained popularity because any user with some technical knowledge can adapt them to the needs of your business, modifying their characteristics or creating new ones, which means greater flexibility and flexibility. even money savings, which, if not, would have been intended to acquire new software. On the other hand, in recent years the evolution of e-commerce has not stopped growing and there have been many companies that have emerged thanks to this business idea. Electronic auctions have become a very important part of this global market, moving large amounts of money every day. The technology has allowed buyers and sellers to offer or acquire goods without moving from home and this has meaning for companies not only reducing costs compared to the traditional auctions business, but at the same time it has given them the possibility to expand. So, taking into account all these aspects, in this Master’s thesis a basic module for the celebration of electronic auctions has been developed within an open source ERP system. For this, a preliminary analysis was carried out to select the best option for the development of new modules and the programming languages, technologies and tools needed for the development phase were searched. In this Master’s thesis a basic module for auctions has been developed within an open source ERP. For this, a previous analysis was made to select the ERP that best adapted to the development of new modules and the programming languages, platforms and the necessary tools for the development phase.Depto. de Ingeniería de Software e Inteligencia Artificial (ISIA)Fac. de InformáticaTRUEunpu
    corecore