Free cookie consent management tool by TermsFeed Policy Generator

Changes between Version 20 and Version 21 of Documentation/FirstSteps


Ignore:
Timestamp:
06/08/10 15:35:02 (14 years ago)
Author:
mkofler
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/FirstSteps

    v20 v21  
    55=== 1.1 Target Audience ===
    66This 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.
     7
     8=== 1.2 HeuristicLab Software Architecture ===
     9
     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:
     11
     12[[Image(wiki:Architecture:core_architecture.jpg, width=350, margin-bottom=10)]]
     13
     14Core 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.
     16 * '''Variables:''' Data objects are linked to a name by storing them in a variable.
     17 * '''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.
     19 * '''Parameters:''' Each operator defines parameters for each variable it expects and (possibly) manipulates.
     20 * '''Engines:''' Algorithms are represented as operator graphs and executed step-by-step on virtual machines called engines. 
     21
     22We recommend having a look at the [[Architecture]] wiki page to get a more detailed description of the algorithm model. You can also revisit this page later on, as it is not really required for the introduction section.
    723
    824== 2. Getting Started ==