Giter VIP home page Giter VIP logo

evolutionaryalgorithmstudytool's Introduction

Evolutionary Algorithm Study Tool

What's this?

This repository houses the dissertation project for my software engineering degree. It consists of a java written tool, aimed at helping in studying algorithm execution data.

How does it work?

Main functionality allows the user to plot execution data on boxplots/simple line plots, as well as running statistic tests on loaded data. This is achieved by generating R code scripts which can be executed, exported and edited directly from the GUI in an assisted manner. By default, graphic scripts contain code to export generated plots to PDF and PNG files.

Algorithm execution data

Data files must be on CSV format, and contain a metric on each column, along with its value list, as shown:

CSV file format example

Example data files can be found on both the "executionResults" and "experimentsTSP" folders.

Using the tool

As stated previously, CSV files can be loaded onto the tool, which will parse them and present to the user a list of the numeric metrics that they contain. User may select the ones they desire, and proceed to run statistic tests or create plots. Once a plotting script is executed, the last generated graph will be show on the preview GUI panel.

There's functionality included to allow for merging of data files, either by computing the average values of all data contained on these files (i.e. useful in cases where the same algorithm is ran a number of times to measure average performance), or by selecting one row of data from each input file.

Tool GUI screenshot

Additional goodies...

This project also contains code for an evolutive algorithm that solves the Travelling Salesman Problem, as well as an "Algorithm" framework class that aims to aid in recording execution data from any kind of algorithm. These have been used together during development to generate data files that are compatible and ready to use with the algorithm study tool. This genetic algorithm and said framework can be found on the "src/tsp" package folder. TSP instances of varying sizes used by the algorithm can be found on the "resources/tspInstances" folder.

evolutionaryalgorithmstudytool's People

Contributors

luisboto avatar

Stargazers

 avatar

Watchers

 avatar  avatar

evolutionaryalgorithmstudytool's Issues

TO DO

Sorted by priority

  • Ajustar ejes automaticamente en generaci贸n de gr谩ficos (al menos en Plot)
  • Exportar scripts de estadisticos con llamadas a librerias
  • Cancelacion de merges
  • A帽adir generacion de plot lines
  • Reesctructurar panel de generacion de estadisticos
  • Previsualizaci贸n de pdf de graficos generados
  • Selecci贸n de linea parametrizable en merge por linea
  • Internacionalizar
  • A帽adir multiples instancias del TSP
  • Comprobar parseo de metricas Long y negativas
  • Arreglar m茅tricas con mismo nombre
  • Generaci贸n de estad铆sticos
  • Ficheros resumen con estadisticos / ultimas filas
  • Gestion de union de ficheros desde GUI
  • Union de ficheros de distintas columnas
  • A帽adir GUI
  • A帽adir mnemonicos
  • Hacer paneles GUI scrollables
  • A帽adir parametros a graficos
  • Exportar script R a fichero
  • A帽adir ejecucion del codigo R
    - [ ] A帽adir generacion de scripts GNUplot
    - [ ] A帽adir ejecucion de scripts GNUPlot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    馃枛 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 馃搳馃搱馃帀

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google 鉂わ笍 Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.