Free cookie consent management tool by TermsFeed Policy Generator

Changes between Version 40 and Version 41 of Documentation/FirstSteps


Ignore:
Timestamp:
04/07/12 15:00:55 (12 years ago)
Author:
ascheibe
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/FirstSteps

    v40 v41  
    44== 1. Introduction ==
    55=== 1.1 Target Audience ===
    6 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.
     6This 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.
    77
    88=== 1.2 HeuristicLab Software Architecture ===
    99
    10 The core of !HeuristicLab is its algorithm model. It is not necessary to understand more than an abstract level of the core language as an end user. We provide a short summary of the most important components here:
     10The core of HeuristicLab is its algorithm model. It is not necessary to understand more than an abstract level of the core language as an end user. We provide a short summary of the most important components here:
    1111
    1212[[Image(wiki:Architecture:core_architecture.jpg, width=350, margin-bottom=10)]]
    1313
    1414Core concepts:
    15  * '''Data:''' All !HeuristicLab 3.3 data objects can be saved, restored and viewed. Standard data types such as integers, doubles, strings, or arrays that do not offer these properties are wrapped in !HeuristicLab 3.3 objects.
     15 * '''Data:''' All HeuristicLab 3.3 data objects can be saved, restored and viewed. Standard data types such as integers, doubles, strings, or arrays that do not offer these properties are wrapped in HeuristicLab 3.3 objects.
    1616 * '''Variables:''' Data objects are linked to a name by storing them in a variable.
    1717 * '''Scopes:''' Scopes are containers for variables. To access a variable in a scope, the variable name is used as an identifer (has to be unique per scope). Scopes can be hierarchically organized as trees (subscope hierarchy).
    18  * '''Operators:''' Each algorithm is a sequence of instructions, which are called operators in !HeuristicLab 3.3. Operators are applied on scopes to access/manipulate variables and subscopes.
     18 * '''Operators:''' Each algorithm is a sequence of instructions, which are called operators in HeuristicLab 3.3. Operators are applied on scopes to access/manipulate variables and subscopes.
    1919 * '''Parameters:''' Each operator defines parameters for each variable it expects and (possibly) manipulates.
    2020 * '''Engines:''' Algorithms are represented as operator graphs and executed step-by-step on virtual machines called engines. 
     
    2323
    2424== 2. Supported Algorithms and Problems ==
    25 A detailed list of available algorithms and problems in !HeuristicLab can be found on the [wiki:UsersFeatures Features] page.
     25A detailed list of available algorithms and problems in HeuristicLab can be found on the [wiki:UsersFeatures Features] page.
    2626
    2727== 3. Getting Started ==
    28 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:
     28If 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:
    2929
    3030[[Image(wiki:Pictures:StartScreen.png, nolink)]]
    3131
    3232The standard configuration, which you can download on this homepage, is shipped with two applications:
    33  * [#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.
    34  * [#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.
     33 * [#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.
     34 * [#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.
    3535
    3636[=#Optimizer]
    3737== 4. HeuristicLab Optimizer ==
    3838=== 4.1 Start Working ===
    39 Follow these steps to start working with !HeuristicLab Optimizer:
     39Follow these steps to start working with HeuristicLab Optimizer:
    40401. '''Open an algorithm'''
    4141 * click ''New Item'' in the toolbar and select an algorithm or click ''Open File'' in the toolbar and load an algorithm from a file
     
    5353
    5454=== 4.2 Samples ===
    55 For you convenience we have prepared a set of [[UsersSamples| 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  [[UsersSamples#GATSP| GA for the ch130 problem]] might be worth a look.
     55For you convenience we have prepared a set of [[UsersSamples| 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  [[UsersSamples#GATSP| GA for the ch130 problem]] might be worth a look.
    5656
    5757[=#Tutorials]
    5858== 5. Tutorials ==
    59 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! [[BR]]
    60 You can also have a look at [wiki:UsersTutorials this page] for slides of tutorials that we held at conferences.
     59Are 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! [[BR]]
     60You can also have a look at [wiki:UsersTutorials this page] for slides of tutorials that we held at conferences as well as video tutorials covering various aspects of HeuristicLab.
    6161
    6262=== 5.1 Optimizing External Applications ===
     
    7575
    7676== 9. Feedback ==
    77 Any feedback, questions, problems or requests for new features? Please have a look at our [wiki:UsersSupport support & feedback] wiki page to see how to contact the !HeuristicLab development team.
     77Any feedback, questions, problems or requests for new features? Please have a look at our [wiki:UsersSupport support & feedback] wiki page to see how to contact the HeuristicLab development team.