HeuristicLab Features
This page gives a brief overview of HeuristicLab in general and it's features.
1. General
1.1 Facts
- development of HeuristicLab started in 2002
- based on Microsoft .NET and C#
- used in research, education and industry projects
- second place at the Microsoft Innovation Award 2009
- open source (GNU General Public License)
- version 3.3.0 released on May 18th, 2010 (first version licensed under GNU GPL)
- periodic releases every 3-6 months
1.2 Goals
- strong focus on a graphical user interface for interactive development, analysis and application of heuristic optimization methods
- paradigm independence: numerous optimization algorithms and optimization problems
- support for extensive experiments and analysis
- parallel and/or distributed execution of algorithms and experiments on multi-core or cluster systems
- extensibility, flexibility and reusability (plug-in architecture)
- visual and interactive algorithm development
2. Problems
The following problems are currently available in HeuristicLab:
- Artificial Ant
- Classification
- Clustering
- External Evaluation Problem
- Knapsack
- OneMax
- Quadratic Assignment
- Regression
- Single Objective Test Function
- Symbolic Classification
- Symbolic Regression
- Traveling Salesman
- User-defined Problem
- Vehicle Routing
3. Algorithms
The following algorithms are currently available in HeuristicLab:
- Evolution Strategy
- Genetic Algorithm
- Genetic Programming
- Island Genetic Algorithm
- Island Offspring Selection Genetic Algorithm
- Local Search
- Non-dominated Sorting Genetic Algorithm
- Offspring Selection Genetic Algorithm
- Particle Swarm Optimization
- Robust Taboo Search
- SASEGASA
- Simulated Annealing
- Tabu Search
- User-Defined Algorithm
- Variable Neighborhood Search
- Performance Benchmarks
- Cross Validation
- k-Means
- Linear Discriminant Analysis
- Linear Regression
- Multinomial Logit Classification
- Nearest Neighbor Regression and Classification
- Neural Network Regression and Classification
- Random Forest Regression and Classification
- Support Vector Regression and Classification
4. Additional Features
- comfortable and feature rich graphical user interface
- pause and continue algorithms at any time
- save and load algorithms and problem to/from disk
- batch execution of algorithms and experiments
- experiment designer to create and execute a large number of test runs
- parallel execution of algorithms and experiments on multi-core systems
- parallel and distributed execution of experiments with HeuristicLab Hive (see Hive Howtos)
- graphical and interactive analysis and comparison of parameters and results
- graphical algorithm designer to create and modify algorithms
- plug-in based architecture which enables an easy integration of new operators, algorithms and problems
- generic, flexible and extensible algorithm and data model
- generic interface to couple HeuristicLab with other applications
- export charts in various image formats
- copy & paste result tables to Excel or other applications
- export GP trees to MATLAB, LaTeX or other formats
And there is a lot more to discover. Have a look at the roadmap to see on what we are currently working on or experiment with builds of yet unreleased features.
5. Graphical Tour
To give you a better feeling for what you can do with HeuristicLab, here are some screenshots which show different features of HeuristicLab in action. (To view a picture in full size click on the image)
The following picture shows a screenshot of the quality chart running a genetic algorithm on the TSPLIB ch130 problem:
The next screenshot shows one of the analyzers in action. For every generation a chart is generated showing the similarity of each solution candidate to each other in the form of a heat map:
The next image is from the same run as the above screenshot showing the current best solution in a graphical representation:
HeuristicLab also offers a graphical representation for the currently best solution for the vehicle routing problem...
... or the artificial ant problem:
The next image shows a Genetic Algorithm optimizing a classification problem with the currently best GP tree as well as the ROC curve:
The next image is from the same run, this time showing our GP simplification feature for simplifying GP trees:
This is again a screenshot from the GP implementation. This time it is a regression problem showing the currently best tree as well as a chart showing the training and test set:
And again an image from the same run, but now optimized and simplified:
This image shows the graphical and textual representation of a GP tree:
The next 2 images show the graphical tools for analyzing algorithm runs. The following image shows a bubble chart for analyzing the impact of different crossover operators on the quality of a GA on a VRP problem:
And another chart showing a box plot diagram for the same configuration (different crossovers on a VRP):
This image shows the debug engine for analyzing a GA. This can be used for finding bugs or analyzing HeuristicLab algorithms. The picture shows the scopes of a GA before crossover:
HeuristicLab allows to design algorithms in a graphical way. The following screenshot shows the graphical representation of a GA. A new programmable operator is added which will be executed after the mutation:
The result of the previously added programmable operator is a Messagebox after each mutation step:
HeuristicLab provides support for distributed computing starting with version 3.3.6. The following shows uploading an experiment to the Hive:
Another sneak preview on a not yet released feature: Meta-Optimization. The following screenshot shows the meta-optimization problem. Different parameters of an Genetic Algorithm are configured for parameter meta-optimization:
Attachments
-
box_plot_vrp.PNG
(144.5 KB) -
added by ascheibe 5 months ago.
-
bubble_chart_vrp.PNG
(130.8 KB) -
added by ascheibe 5 months ago.
-
ga_tsp_best_tour.PNG
(165.5 KB) -
added by ascheibe 5 months ago.
-
ga_tsp_debug_engine.PNG
(187.3 KB) -
added by ascheibe 5 months ago.
-
ga_tsp_qualities.PNG
(178.0 KB) -
added by ascheibe 5 months ago.
-
ga_vrp_best_tour.PNG
(154.7 KB) -
added by ascheibe 5 months ago.
-
gp_artificial_ant_best_solution.PNG
(169.3 KB) -
added by ascheibe 5 months ago.
-
gp_classification_graphical_textual_representation.PNG
(200.6 KB) -
added by ascheibe 5 months ago.
-
gp_classification_tree_roc.PNG
(223.4 KB) -
added by ascheibe 5 months ago.
-
gp_classification_tree_roc_simplified.PNG
(195.5 KB) -
added by ascheibe 5 months ago.
-
gp_regression_tree_optimized_simplified_scatter_plot.PNG
(206.9 KB) -
added by ascheibe 5 months ago.
-
hello_meta_heuristic_world.PNG
(117.4 KB) -
added by ascheibe 5 months ago.
-
hive_job_manager.PNG
(189.0 KB) -
added by ascheibe 5 months ago.
-
metaopt.png
(172.3 KB) -
added by ascheibe 5 months ago.
-
mutator_hello_world.PNG
(190.7 KB) -
added by ascheibe 5 months ago.
-
ga_population_diversity.jpg
(138.6 KB) -
added by ascheibe 5 months ago.
-
gp_regression_tree_training_test_set.jpg
(206.2 KB) -
added by ascheibe 5 months ago.
