[[PageOutline]] = HeuristicLab 3: User Manual = == 1. Introduction == === 1.1 Target Audience === This manual is intended for end users, domain experts and students who are not necessarily familiar with algorithm development in .NET. It therefore focuses on the graphical user interface and how to configure, customize and extend the available standard algorithm already available in HeuristicLab 3.3 for a particular problem without writing (a lot of) code. We believe that a successive transfer of competence in algorithm development from heuristic optimization experts to users working on real-world applications would be very beneficial for the community as a whole. This manual will slowly guide you through a number of [#Tutorials tutorials] after which we hope even novice users will no longer have to use metaheuristics as black box techniques, but can use them as algorithms which can be modified and easily tuned to specific problem situations. == 2. Getting Started == If you start HeuristicLab, a splash screen will appear while all the plugins are loaded. Afterwards you can select a HeuristicLab application on the start screen: [[Image(wiki:Pictures:StartScreen.png, nolink)]] The standard configuration, which you can download on this homepage, is shipped with two applications: * [#Optimizer HeuristicLab Optimizer]: The optimizer is the core application of the HeuristicLab Framework, providing a variety of metaheuristic algorithms, standard problem implementations, a comfortable test bench and modules for algorithm development and visualization. As an end user you will mostly work with the Optimizer. * [#PluginManager HeuristicLab Plugin Manager]: The HeuristicLab architecture is based on plugins. All optimization algorithms and problems are realized as plugins and interact with each other via well-defined and extensible interfaces. The plugin manager allows you to browse, install and update available plugins from our centralized update location or manage your own plugins. [=#Optimizer] == 3. HeuristicLab Optimizer == === 3.1 Start Working === Follow these steps to start working with HeuristicLab Optimizer: 1. '''Open an algorithm''' * click ''New Item'' in the toolbar and select an algorithm or click ''Open File'' in the toolbar and load an algorithm from a file 2. '''Open a problem in the algorithm''' * in the Problem tab of the algorithm click ''New Problem'' and select a problem or click ''Open Problem'' and load a problem from a file 3. '''Set parameters''' * set problem parameters in the Problem tab of the algorithm * set algorithm parameters in the Parameters tab of the algorithm 4. '''Run the algorithm''' * click ''!Start/Resume Algorithm'' to execute the algorithm (if the button is grayed out some parameters of the algorithm or the problem still have to be set) * wait for the algorithm to terminate or click ''Pause Algorithm'' to interrupt its execution or click ''Stop Algorithm'' to stop its execution 5. '''Check results''' * check the results on the Results tab of the algorithm * click ''!Start/Resume Algorithm'' to continue the algorithm or click ''Reset Algorithm'' to prepare a new run === 3.2 Samples === For you convenience we have prepared a set of [[UsersTSPSample| samples]] that are shipped with HeuristicLab. These samples provide a set of preconfigured algorithms for particular problems. For example, if you want to solve a TSP problem with genetic algorithms our preconfigured [[UsersTSPSample#GATSP| GA for the ch130 problem]] might be worth a look. [=#Tutorials] == 4. Tutorials == Are you looking for predefined algorithms which can be executed immediately or an easy step-by-step guide to the parameterization of a particular algorithm? In this section we will provide tutorials on different aspects of HeuristicLab. Most of them are not yet written, but we strive to catch up with the documentation. Contributions are always welcome! * 4.1 GA User Manual: ''--available soon--'' * 4.2 GP User Manual: ''--available soon--'' * 4.3 ES User Manual: ''--available soon--'' [=#PluginManager] == 5. Plugin Infrastructure == The [[PluginManagerConsole| Plugin Manager Console]] allows you to install/remove plugins and upgrade your plugins when new versions become available. == 6. Problems == The following problems are currently available in HeuristicLab. * Artificial Ant Problem * Data Analysis Problem * Artificial Ant Problem * !OneMax Problem * '''Single Objective Test Function:''' The wiki page [[TestFunctions]] gives an overview of the real valued test functions available in HeuristicLab 3 * Symbolic Regression Problem * Travelling Salesman Problem == 7. Algorithms == * [[Evolution Strategy]] * Genetic Algorithm * Island Genetic Algorithm * Island Offspring Selection Genetic Algorithm: * '''Offspring Selection Genetic Algorithm:''' An offspring selection genetic algorithm (cf. Affenzeller, M. et al. 2009. Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications. CRC Press) * '''SASEGASA:''' The self-adaptive segregative genetic algorithm with simulated annealing aspects (cf. Affenzeller, M. et al. 2009. Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications. CRC Press) * Simulated Annealing * Tabu Search * User-Defined Algorithm == 8. Testing and Analysis == * '''Batch Run:''' A run in which an algorithm is executed a given number of times (repetitions). * '''Experiment:''' An experiment which contains multiple batch runs of algorithms. == 9. Feedback == Any feedback, questions,problems or requests for new features? Write an e-mail to support@heuristiclab.com to contact the HeuristicLab development team