Algorithm and Experiment Design with HeuristicLab An Open Source Optimization Environment for Research and Education S. Wagner, G. Kronberger Heuristic.

Slides:



Advertisements
Similar presentations
With TimeCard appointments are tagged with information that converts them into time sheets. This way you can report time and expenses from inside your.
Advertisements

1 Trieste, April 17 th 2008Lucio Zambon Electronic Graphic Interface for Global Archiving Technology: PHP, MySQL, JavaScript, JPGraph, etc Development.
An Introduction to spss & endnote
Kanban Task Manager for Outlook ‒ Introduction
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
CGS 1060 Introduction to MicroComputer Usage Chapter 1 Windows 7
By Hrishikesh Gadre Session II Department of Mechanical Engineering Louisiana State University Engineering Equation Solver Tutorials.
Academic Advisor: Prof. Ronen Brafman Team Members: Ran Isenberg Mirit Markovich Noa Aharon Alon Furman.
Packard BioScience. Packard BioScience What is ArrayInformatics?
Chapter 11 - Monitoring Server Performance1 Ch. 11 – Monitoring Server Performance MIS 431 – created Spring 2006.
Evaluation of MineSet 3.0 By Rajesh Rathinasabapathi S Peer Mohamed Raja Guided By Dr. Li Yang.
NextPrevious CFlow+ Calibration Control Software Software upgrade for: Piston Calibrators / Provers Flow Transfer Standard - Gas & Liquid Bell Provers.
Introduction to SPSS Short Courses Last created (Feb, 2008) Kentaka Aruga.
What is so good about Archie and RevMan 5
Optimizing External Applications with HeuristicLab A. Beham, M. Kommenda Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media,
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Digital Image Processing Lecture3: Introduction to MATLAB.
Algorithm and Experiment Design with HeuristicLab An Open Source Optimization Environment for Research and Education S. Wagner, G. Kronberger Heuristic.
11 Chapter 3: Getting Started with Tasks 3.1 Introduction to Tasks and Wizards 3.2 Creating a Frequency Report 3.3 Generating HTML, PDF, and RTF Output.
Josh Probert – Yankee A Prototype based on Sierra’s SRS.
Copyright © 2006, SAS Institute Inc. All rights reserved. Enterprise Guide 4.2 : A Primer SHRUG : Spring 2010 Presented by: Josée Ranger-Lacroix SAS Institute.
1 iSee Player Tutorial Using the Forest Biomass Accumulation Model as an Example ( Tutorial Developed by: (
© Cheltenham Computer Training Using Freelance Graphics - Slide No. 1 A First Look at Freelance Graphics Using Freelance for Windows.
XP New Perspectives on Introducing Microsoft Office XP Tutorial 1 1 Introducing Microsoft Office XP Tutorial 1.
Hands-On Virtual Computing
Carolina Environmental Program UNC Chapel Hill The Analysis Engine – A New Tool for Model Evaluation, Sensitivity and Uncertainty Analysis, and more… Alison.
Algorithm and Experiment Design with HeuristicLab An Open Source Optimization Environment for Research and Education S. Wagner, G. Kronberger Heuristic.
CHAPTER 9 Introducing Microsoft Office Learning Objectives Start Office programs and explore common elements Use the Ribbon Work with files Use.
WEKA - Explorer (sumber: WEKA Explorer user Guide for Version 3-5-5)
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 2 Welcome Application Introducing the Visual Basic 2008 Express Edition IDE.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Teacher’s Assessment Assistant Worksheet Builder Starting the Program
Optimizing External Applications with HeuristicLab A. Beham, M. Kommenda Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media,
CHAPTER TEN AUTHORING.
Copyright © 2010 Wolters Kluwer Health | Lippincott Williams & Wilkins Introduction to Windows Chapter 2.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
HeuristicLab Hive An Open Source Environment for Parallel and Distributed Execution of Heuristic Optimization Algorithms S. Wagner, C. Neumüller, A. Scheibenpflug.
Key Applications Module Lesson 21 — Access Essentials
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
Introduction to SPSS. Object of the class About the windows in SPSS The basics of managing data files The basic analysis in SPSS.
FIX Eye FIX Eye Getting started: The guide EPAM Systems B2BITS.
© 2010 Pearson Education, Inc. | Publishing as Prentice Hall1 Computer Literacy for IC 3 Unit 2: Using Productivity Software Chapter 1: Starting with Microsoft.
Quick Introduction to creating Eyeblaster ads.  Steps for creating an Eyeblaster ad  Building Eyeblaster compatible flash assets  Adding Eyeblaster.
Project 2: Classification Using Genetic Programming Kim, MinHyeok Biointelligence laboratory Artificial.
CSC350: Learning Management Systems COMSATS Institute of Information Technology (Virtual Campus)
Copyright OpenHelix. No use or reproduction without express written consent1.
Programming HeuristicLab Basics A. Scheibenpflug Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media, Campus.
ExitTOC TIMSNT Introduction 2003-Part 3 1 Introduction to TIMSNT-Part 3 Part 3: Menu Items Runs, Driver Directions, Stops, Routes and Options Use the buttons.
Algorithm and Experiment Design with HeuristicLab An Open Source Optimization Environment for Research and Education S. Wagner, G. Kronberger Heuristic.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Algorithm and Experiment Design with HeuristicLab An Open Source Optimization Environment for Research and Education S. Wagner, G. Kronberger Heuristic.
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Tutorial 2 : Matlab - Getting Started.
File and File Systems Compiled by IITG Team Need to be reorganized and reworded.
Algorithm and Experiment Design with HeuristicLab An Open Source Optimization Environment for Research and Education S. Wagner, G. Kronberger Heuristic.
SP5 - Neuroinformatics 3DSomaMS Tutorial Computational Intelligence Group Technical University of Madrid.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
IENG-385 Statistical Methods for Engineers SPSS (Statistical package for social science) LAB # 1 (An Introduction to SPSS)
Algorithm and Experiment Design with HeuristicLab An Open Source Optimization Environment for Research and Education S. Wagner, G. Kronberger Heuristic.
Algorithm and Experiment Design with HeuristicLab An Open Source Optimization Environment for Research and Education S. Wagner, G. Kronberger Heuristic.
Algorithm and Experiment Design with HeuristicLab
Introduction to R Programming with AzureML
Kanban Task Manager for Outlook ‒ Introduction
DEPARTMENT OF COMPUTER SCIENCE
Kanban Task Manager Single‒ Introduction
Chapter 2 – Introduction to the Visual Studio .NET IDE
Multi-Objective Optimization
Analysis models and design models
Text Analytics and Machine Learning Workshop Machine Learning Session
Coevolutionary Automated Software Correction
Presentation transcript:

Algorithm and Experiment Design with HeuristicLab An Open Source Optimization Environment for Research and Education S. Wagner, G. Kronberger Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media, Campus Hagenberg University of Applied Sciences Upper Austria

Instructor Biographies Stefan Wagner – Full professor for complex software systems (since 2009) University of Applied Sciences Upper Austria – Co-founder of the HEAL research group – Project manager and chief architect of HeuristicLab – PhD in technical sciences (2009) Johannes Kepler University Linz, Austria – Associate professor (2005 – 2009) University of Applied Sciences Upper Austria – Gabriel Kronberger – Full professor for business intelligence (since 2011) University of Applied Sciences Upper Austria – Member of the HEAL research group – Architect of HeuristicLab – PhD in technical sciences (2010) Johannes Kepler University Linz, Austria – Research assistant (2005 – 2011) University of Applied Sciences Upper Austria – HeuristicLab Tutorialhttp://dev.heuristiclab.com2

Agenda Objectives of the Tutorial Introduction Where to get HeuristicLab? Plugin Infrastructure Graphical User Interface Available Algorithms & Problems Demonstration Part I: Working with HeuristicLab Demonstration Part II: Data-based Modeling Some Additional Features Planned Features Team Suggested Readings Bibliography Questions & Answers HeuristicLab Tutorialhttp://dev.heuristiclab.com3

Objectives of the Tutorial Introduce general motivation and design principles of HeuristicLab Show where to get HeuristicLab Explain basic GUI usability concepts Demonstrate basic features Demonstrate editing and analysis of optimization experiments Demonstrate custom algorithms and graphical algorithm designer Demonstrate data-based modeling features Outline some additional features HeuristicLab Tutorialhttp://dev.heuristiclab.com4

Introduction Motivation and Goals – graphical user interface – paradigm independence – multiple algorithms and problems – large scale experiments and analyses – parallelization – extensibility, flexibility and reusability – visual and interactive algorithm development – multiple layers of abstraction Facts – development of HeuristicLab started in 2002 – based on Microsoft.NET and C# – used in research and education – second place at the Microsoft Innovation Award 2009 – open source (GNU General Public License) – version released on May 18th, 2010 – latest version released on October 11th, 2013 HeuristicLab Tutorialhttp://dev.heuristiclab.com5

Where to get HeuristicLab? Download binaries – deployed as ZIP archives – latest stable version released on October 11th, 2013 – daily trunk builds – Check out sources – SVN repository – HeuristicLab tag – current development trunk License – GNU General Public License (Version 3) System requirements – Microsoft.NET Framework 4.0 Full Version – enough RAM and CPU power ;-) HeuristicLab Tutorialhttp://dev.heuristiclab.com6

Plugin Infrastructure HeuristicLab consists of many assemblies – 132 plugins in HeuristicLab – plugins can be loaded or unloaded at runtime – plugins can be updated via internet – application plugins provide GUI frontends Extensibility – developing and deploying new plugins is easy – dependencies are explicitly defined, automatically checked and resolved – automatic discovery of interface implementations (service locator pattern) Plugin Manager – GUI to check, install, update or delete plugins HeuristicLab Tutorialhttp://dev.heuristiclab.com7

Plugin Architecture HeuristicLab Tutorialhttp://dev.heuristiclab.com8

Graphical User Interface HeuristicLab GUI is made up of views – views are visual representations of content objects – views are composed in the same way as their content – views and content objects are loosely coupled – multiple different views may exist for the same content Drag & Drop – views support drag & drop operations – content objects can be copied or moved (shift key) – enabled for collection items and content objects HeuristicLab Tutorialhttp://dev.heuristiclab.com9

Graphical User Interface HeuristicLab Tutorialhttp://dev.heuristiclab.com10 Algorithm View Problem View Parameter Collection View Parameter View Double Value View

Graphical User Interface ViewHost – control which hosts views – right-click on windows icon to switch views – double-click on windows icon to open another view – drag & drop windows icon to copy contents HeuristicLab Tutorialhttp://dev.heuristiclab.com11

Available Algorithms & Problems Algorithms Evolution Strategy Genetic Algorithm Genetic Programming Hungarian Algorithm Island Genetic Algorithm Island Offspring Selection Genetic Algorithm LM-BFGS Local Search NSGA-II Offspring Selection Genetic Algorithm Particle Swarm Optimization Relevant Alleles Preserving GA (RAPGA) Robust Taboo Search SASEGASA Scatter Search Simulated Annealing Tabu Search User-defined Algorithm Variable Neighborhood Search Performance Benchmarks Cross Validation Gaussian Process Regression and Least-Squares Classification 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 Problems Artificial Ant Classification Clustering External Evaluation Problem Job Shop Scheduling Knapsack Lawn Mower Linear Assignment OneMax Quadratic Assignment Regression Single-Objective Test Function Symbolic Classification Symbolic Regression Symbolic Time-Series Prognosis Traveling Salesman User-defined Problem Vehicle Routing HeuristicLab Tutorialhttp://dev.heuristiclab.com12

Agenda Objectives of the Tutorial Introduction Where to get HeuristicLab? Plugin Infrastructure Graphical User Interface Available Algorithms & Problems Demonstration Part I: Working with HeuristicLab Demonstration Part II: Data-based Modeling Some Additional Features Planned Features Team Suggested Readings Bibliography Questions & Answers HeuristicLab Tutorialhttp://dev.heuristiclab.com13

Demonstration Part I: Working with HeuristicLab Create, Parameterize and Execute Algorithms Save and Load Items Create Batch Runs and Experiments Multi-core CPUs and Parallelization Analyze Runs Analyzers Building User-Defined Algorithms HeuristicLab Tutorialhttp://dev.heuristiclab.com14

HeuristicLab Optimizer HeuristicLab Tutorialhttp://dev.heuristiclab.com15 double-click to open sample algorithms and problems

Create Algorithm HeuristicLab Tutorialhttp://dev.heuristiclab.com16

Create or Load Problem HeuristicLab Tutorialhttp://dev.heuristiclab.com17

Import or Parameterize Problem Data HeuristicLab Tutorialhttp://dev.heuristiclab.com18

Parameterize Algorithm HeuristicLab Tutorialhttp://dev.heuristiclab.com19

Start, Pause, Resume, Stop and Reset HeuristicLab Tutorialhttp://dev.heuristiclab.com20

Inspect Results HeuristicLab Tutorialhttp://dev.heuristiclab.com21

Compare Runs A run is created each time when the algorithm is stopped – runs contain all results and parameter settings – previous results are not forgotten and can be compared HeuristicLab Tutorialhttp://dev.heuristiclab.com22

Save and Load Save to and load from disk – HeuristicLab items (i.e., algorithms, problems, experiments, …) can be saved to and loaded from a file – algorithms can be paused, saved, loaded and resumed – data format is custom compressed XML – saving and loading files might take several minutes – saving and loading large experiments requires some memory HeuristicLab Tutorialhttp://dev.heuristiclab.com23

Create Batch Runs and Experiments Batch runs – execute the same optimizer (e.g. algorithm, batch run, experiment) several times Experiments – execute different optimizers – suitable for large scale algorithm comparison and analysis Experiments and batch runs can be nested Generated runs can be compared afterwards HeuristicLab Tutorialhttp://dev.heuristiclab.com24

Create Batch Runs and Experiments HeuristicLab Tutorialhttp://dev.heuristiclab.com25 drag & drop here to add additional algorithms, batch runs, experiments, etc.

Clipboard HeuristicLab Tutorialhttp://dev.heuristiclab.com26 drag & drop here to add algorithms, problems, batch runs, experiments, etc.

Clipboard Store items – click on the buttons to add or remove items – drag & drop items on the clipboard – use the menu to add a copy of a shown item to the clipboard Show items – double-click on an item in the clipboard to show its view Save and restore clipboard content – click on the save button to write the clipboard content to disk – clipboard is automatically restored when HeuristicLab is started the next time HeuristicLab Tutorialhttp://dev.heuristiclab.com27

Start, Pause, Resume, Stop, Reset HeuristicLab Tutorialhttp://dev.heuristiclab.com28

Compare Runs HeuristicLab Tutorialhttp://dev.heuristiclab.com29

Analyze Runs HeuristicLab provides interactive views to analyze and compare all runs of a run collection – textual analysis RunCollection Tabular View – graphical analysis RunCollection BubbleChart RunCollection BoxPlots Filtering is automatically applied to all open run collection views HeuristicLab Tutorialhttp://dev.heuristiclab.com30

RunCollection Tabular View HeuristicLab Tutorialhttp://dev.heuristiclab.com31

RunCollection Tabular View Sort columns – click on column header to sort column – Ctrl-click on column header to sort multiple columns Show or hide columns – right-click on table to open dialog to show or hide columns Compute statistical values – select multiple numerical values to see count, sum, minimum, maximum, average and standard deviation Select, copy and paste into other applications HeuristicLab Tutorialhttp://dev.heuristiclab.com32

RunCollection BubbleChart HeuristicLab Tutorialhttp://dev.heuristiclab.com33

RunCollection BubbleChart Choose values to plot – choose which values to show on the x-axis, the y-axis and as bubble size – possible values are all parameter settings and results Add jitter – add jitter to separate overlapping bubbles Zoom in and out – click on Zoom and click and drag in the chart area to zoom in – double click on the chart area background or on the circle buttons beside the scroll bars to zoom out Color bubbles – click on Select, choose a color and click and drag in the chart area to select and color bubbles – apply coloring automatically by clicking on the axis coloring buttons Show runs – double click on a bubble to open its run Export image – right-click to open context menu to copy or save image – save image as pixel (BMP, JPG, PNG, GIF, TIF) or vector graphics (EMF) Show box plots – right-click to open context menu to show box plots view HeuristicLab Tutorialhttp://dev.heuristiclab.com34

RunCollection BoxPlots HeuristicLab Tutorialhttp://dev.heuristiclab.com35

RunCollection BoxPlots Choose values to plot – choose which values to show on the x-axis and y-axis – possible values are all parameter settings and results Zoom in and out – click on Zoom and click and drag in the chart area to zoom in – double click on the chart area background or on the circle buttons beside the scroll bars to zoom out Show or hide statistical values – click on the lower left button to show or hide statistical values Export image – right-click to open context menu to copy or save image – save image as pixel (BMP, JPG, PNG, GIF, TIF) or vector graphics (EMF) HeuristicLab Tutorialhttp://dev.heuristiclab.com36

Filter Runs HeuristicLab Tutorialhttp://dev.heuristiclab.com37

Multi-core CPUs and Parallelization Parallel execution of optimizers in experiments – optimizers in an experiment are executed sequentially from top to bottom per default – experiments support parallel execution of their optimizers – select a not yet executed optimizer and start it manually to utilize another core – execution of one of the next optimizers is started automatically after an optimizer is finished Parallel execution of algorithms – HeuristicLab provides special operators for parallelization – engines decide how to execute parallel operations – sequential engine executes everything sequentially – parallel engine executes parallel operations on multiple cores – Hive engine (under development) executes parallel operations on multiple computers – all implemented algorithms support parallel solution evaluation HeuristicLab Tutorialhttp://dev.heuristiclab.com38

Parallel Execution of Experiments HeuristicLab Tutorialhttp://dev.heuristiclab.com39 1. start experiment 2. start other optimizers

Parallel Execution of Algorithms HeuristicLab Tutorialhttp://dev.heuristiclab.com40

Analyzers Special operators for analysis purposes – are executed after each iteration – serve as general purpose extension points of algorithms – can be selected and parameterized in the algorithm – perform algorithm-specific and/or problem-specific tasks – some analyzers are quite costly regarding runtime and memory – implementing and adding custom analyzers is easy Examples – TSPAlleleFrequencyAnalyzer – TSPPopulationDiversityAnalyzer – SuccessfulOffspringAnalyzer – SymbolicDataAnalysisVariableFrequencyAnalyzer – SymbolicRegressionSingleObjectiveTrainingBestSolutionAnalyzer – … HeuristicLab Tutorialhttp://dev.heuristiclab.com41

Analyzers HeuristicLab Tutorialhttp://dev.heuristiclab.com42

TSPAlleleFrequencyAnalyzer HeuristicLab Tutorialhttp://dev.heuristiclab.com43

TSPPopulationDiversityAnalyzer HeuristicLab Tutorialhttp://dev.heuristiclab.com44

Building User-Defined Algorithms Operator graphs – algorithms are represented as operator graphs – operator graphs of user-defined algorithms can be changed – algorithms can be defined in the graphical algorithm designer – use the menu to convert a standard algorithm into a user-defined algorithm Operators sidebar – drag & drop operators into an operator graph Programmable operators – add programmable operators in order to implement custom logic in an algorithm – no additional development environment needed Debug algorithms – use the debug engine to obtain detailed information during algorithm execution HeuristicLab Tutorialhttp://dev.heuristiclab.com45

Building User-Defined Algorithms HeuristicLab Tutorialhttp://dev.heuristiclab.com46

Building User-Defined Algorithms HeuristicLab Tutorialhttp://dev.heuristiclab.com47

Programmable Operators HeuristicLab Tutorialhttp://dev.heuristiclab.com48

Debugging Algorithms HeuristicLab Tutorialhttp://dev.heuristiclab.com49

Agenda Objectives of the Tutorial Introduction Where to get HeuristicLab? Plugin Infrastructure Graphical User Interface Available Algorithms & Problems Demonstration Part I: Working with HeuristicLab Demonstration Part II: Data-based Modeling Some Additional Features Planned Features Team Suggested Readings Bibliography Questions & Answers HeuristicLab Tutorialhttp://dev.heuristiclab.com50

Demonstration Part II: Data-based Modeling Introduction Regression with HeuristicLab Model simplification and export Variable relevance analysis Classification with HeuristicLab HeuristicLab Tutorialhttp://dev.heuristiclab.com51

Introduction to Data-based Modeling Dataset: Matrix (x i,j ) i=1..N, j= 1..K – N observations of K input variables – x i,j = i-th observation of j-th variable – Additionally: Vector of labels (y 1 …y N ) T Goal: learn association of input variable values to labels Common tasks – Regression (real-valued labels) – Classification (discrete labels) – Clustering (no labels, group similar observations) HeuristicLab Tutorialhttp://dev.heuristiclab.com52

Data-based Modeling Algorithms in HeuristicLab Symbolic regression and classification based on genetic programming External Libraries: – Support Vector Machines for Regression and Classification – Linear Regression – Linear Discriminate Analysis – K-Means clustering HeuristicLab Tutorialhttp://dev.heuristiclab.com53

Case Studies Demonstration – problem configuration data import target variable input variables data partitions (training and test) – analysis of results accuracy metrics visualization of model output HeuristicLab Tutorialhttp://dev.heuristiclab.com54

Case Study: Regression Poly-10 benchmark problem dataset – 10 input variables x 1 … x 10 – y = x 1 ∙ x 2 + x 3 ∙ x 4 + x 5 ∙ x 6 + x 1 ∙ x 7 ∙ x 9 + x 3 ∙ x 6 ∙ x 10 – non-linear modeling approach necessary – frequently used in GP literature – download HeuristicLab Tutorialhttp://dev.heuristiclab.com55

Linear Regression Create new algorithm HeuristicLab Tutorialhttp://dev.heuristiclab.com56

Import Data from CSV-File HeuristicLab Tutorialhttp://dev.heuristiclab.com57

Inspect and Configure Dataset HeuristicLab Tutorialhttp://dev.heuristiclab.com58

Inspect Imported Data HeuristicLab Tutorialhttp://dev.heuristiclab.com59

Set Target Variable HeuristicLab Tutorialhttp://dev.heuristiclab.com60

Select Input Variables HeuristicLab Tutorialhttp://dev.heuristiclab.com61

Configure Training and Test Partitions HeuristicLab Tutorialhttp://dev.heuristiclab.com62

Run Linear Regression HeuristicLab Tutorialhttp://dev.heuristiclab.com63

Inspect Results HeuristicLab Tutorialhttp://dev.heuristiclab.com64

Inspect Scatterplot of Predicted and Target Values HeuristicLab Tutorialhttp://dev.heuristiclab.com65

Inspect Linechart HeuristicLab Tutorialhttp://dev.heuristiclab.com66

Inspect the Model HeuristicLab Tutorialhttp://dev.heuristiclab.com67

Symbolic Regression with HeuristicLab Linear regression produced an inaccurate model. Next: produce a nonlinear symbolic regression model using genetic programming Genetic programming – evolve variable-length models – model representation: symbolic expression tree – structure and model parameters are evolved side-by-side – white-box models HeuristicLab Tutorialhttp://dev.heuristiclab.com68 - x3 + x1* x2x1

Symbolic Regression with HeuristicLab Demonstration – problem configuration – function set and terminal set – model size constraints – Evaluation Algorithm configuration – selection – Mutation Analysis of results – model accuracy – model structure and parameters HeuristicLab Tutorialhttp://dev.heuristiclab.com69

Create New Genetic Algorithm HeuristicLab Tutorialhttp://dev.heuristiclab.com70

Create New Symbolic Regression Problem HeuristicLab Tutorialhttp://dev.heuristiclab.com71

Import Data HeuristicLab Tutorialhttp://dev.heuristiclab.com72

Inspect Data and Configure Dataset HeuristicLab Tutorialhttp://dev.heuristiclab.com73

Set Target and Input Variables HeuristicLab Tutorialhttp://dev.heuristiclab.com74

Configure Maximal Model Depth and Length HeuristicLab Tutorialhttp://dev.heuristiclab.com75

Configure Function Set (Grammar) HeuristicLab Tutorialhttp://dev.heuristiclab.com76

Configure Function Set (Grammar) HeuristicLab Tutorialhttp://dev.heuristiclab.com77

Configure Algorithm Parameters HeuristicLab Tutorialhttp://dev.heuristiclab.com78

Configure Mutation Operator HeuristicLab Tutorialhttp://dev.heuristiclab.com79

Configure Selection Operator HeuristicLab Tutorialhttp://dev.heuristiclab.com80

Configure Tournament Group Size HeuristicLab Tutorialhttp://dev.heuristiclab.com81

Start Algorithm and Inspect Results HeuristicLab Tutorialhttp://dev.heuristiclab.com82

Inspect Quality Chart HeuristicLab Tutorialhttp://dev.heuristiclab.com83

Inspect Best Model on Training Partition HeuristicLab Tutorialhttp://dev.heuristiclab.com84

Inspect Linechart of Best Model on Training Partition HeuristicLab Tutorialhttp://dev.heuristiclab.com85

Inspect Structure of Best Model on Training Partition HeuristicLab Tutorialhttp://dev.heuristiclab.com86

Model Simplification and Export Demonstration – automatic simplification – visualization of node impacts – manual simplification online update of results – model export MATLAB LaTeX HeuristicLab Tutorialhttp://dev.heuristiclab.com87

Detailed Model Analysis and Simplification HeuristicLab Tutorialhttp://dev.heuristiclab.com88

Symbolic Simplification and Node Impacts HeuristicLab Tutorialhttp://dev.heuristiclab.com89

Manual Simplification HeuristicLab Tutorialhttp://dev.heuristiclab.com90 double-click nodes

Automatic Symbolic Simplification HeuristicLab Tutorialhttp://dev.heuristiclab.com91

Textual Representations Are Also Available Use ViewHost to switch to textual representation view. HeuristicLab Tutorialhttp://dev.heuristiclab.com92

Default Textual Representation for Model Export HeuristicLab Tutorialhttp://dev.heuristiclab.com93

Textual Representation for Export to LaTeX HeuristicLab Tutorialhttp://dev.heuristiclab.com94

LaTeX Export HeuristicLab Tutorialhttp://dev.heuristiclab.com95

Variable Relevance Analysis Which variables are important to predict classes correctly? Demonstration – Variable frequency analyzer – symbol frequency analyzer – variable impacts HeuristicLab Tutorialhttp://dev.heuristiclab.com96

Inspect Variable Frequency Chart HeuristicLab Tutorialhttp://dev.heuristiclab.com97

Inspect Variable Impacts HeuristicLab Tutorialhttp://dev.heuristiclab.com98

Inspect Symbol Frequencies HeuristicLab Tutorialhttp://dev.heuristiclab.com99

Classification with HeuristicLab Symbolic classification – evolve discriminating function using GP – find thresholds to assign classes Demonstration – real world medical application – model accuracy – visualization of model output discriminating function output ROC-curve confusion matrix HeuristicLab Tutorialhttp://dev.heuristiclab.com100

Case Study: Classification Real world medical dataset (Mammographic Mass) from UCI Machine Learning Repository – data from non-invasive mammography screening – variables: patient age visual features of inspected mass lesions: shape, margin, density – target variable: severity (malignant, benign) – download HeuristicLab Tutorialhttp://dev.heuristiclab.com101

Open Sample HeuristicLab Tutorialhttp://dev.heuristiclab.com102

Configure and Run Algorithm HeuristicLab Tutorialhttp://dev.heuristiclab.com103

Inspect Quality Linechart HeuristicLab Tutorialhttp://dev.heuristiclab.com104

Inspect Best Training Solution HeuristicLab Tutorialhttp://dev.heuristiclab.com105

Inspect Model Output and Thresholds HeuristicLab Tutorialhttp://dev.heuristiclab.com106

Inspect Confusion Matrix HeuristicLab Tutorialhttp://dev.heuristiclab.com107

Inspect ROC Curve HeuristicLab Tutorialhttp://dev.heuristiclab.com108

Validation of Results Overfitting = memorizing data Strategies to reduce overfitting – validation partition – cross-validation HeuristicLab Tutorialhttp://dev.heuristiclab.com109

Validation of Results Demonstration – Configuration of a validation set – Inspection of best solution on validation set – Analysis of training- and validation fitness correlation – Cross-validation Configuration Analysis of results HeuristicLab Tutorialhttp://dev.heuristiclab.com110

Configuration of Validation Partition HeuristicLab Tutorialhttp://dev.heuristiclab.com111

Inspect Best Model on Validation Partition HeuristicLab Tutorialhttp://dev.heuristiclab.com112

Inspect Linechart of Correlation of Training and Validation Fitness HeuristicLab Tutorialhttp://dev.heuristiclab.com113

Agenda Objectives of the Tutorial Introduction Where to get HeuristicLab? Plugin Infrastructure Graphical User Interface Available Algorithms & Problems Demonstration Part I: Working with HeuristicLab Demonstration Part II: Data-based Modeling Some Additional Features Planned Features Team Suggested Readings Bibliography Questions & Answers HeuristicLab Tutorialhttp://dev.heuristiclab.com114

Some Additional Features HeuristicLab Hive – parallel and distributed execution of algorithms and experiments on many computers in a network Optimization Knowledge Base (OKB) – database to store algorithms, problems, parameters and results – open to the public – open for other frameworks – analyze and store characteristics of problem instances and problem classes External solution evaluation and simulation-based optimization – interface to couple HeuristicLab with other applications (MATLAB, AnyLogic, …) – supports different protocols (command line parameters, TCP, …) Parameter grid tests and meta-optimization – automatically create experiments to test large ranges of parameters – apply heuristic optimization algorithms to find optimal parameter settings for heuristic optimization algorithms HeuristicLab Tutorialhttp://dev.heuristiclab.com115

Planned Features Algorithms & Problems – steady-state genetic algorithm – unified tabu search for vehicle routing – estimation of distribution algorithms – evolution of Robocode bots – … Cloud Computing – port HeuristicLab Hive to Windows Azure Statistics – implement statistical tests and automated statistical analysis Have a look at the HeuristicLab roadmap – Any other ideas, requests or recommendations? – join our HeuristicLab Google group – write an to HeuristicLab Tutorialhttp://dev.heuristiclab.com116

HeuristicLab Team HeuristicLab Tutorialhttp://dev.heuristiclab.com117 Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics, Communications and Media University of Applied Sciences Upper Austria Softwarepark 11 A-4232 Hagenberg AUSTRIA WWW:

Suggested Readings S. Voß, D. Woodruff (Edts.) Optimization Software Class Libraries Kluwer Academic Publishers, 2002 M. Affenzeller, S. Winkler, S. Wagner, A. Beham Genetic Algorithms and Genetic Programming Modern Concepts and Practical Applications CRC Press, 2009 HeuristicLab Tutorialhttp://dev.heuristiclab.com118

Bibliography S. Wagner, M. Affenzeller HeuristicLab: A generic and extensible optimization environment Adaptive and Natural Computing Algorithms, pp Springer, 2005 S. Wagner, S. Winkler, R. Braune, G. Kronberger, A. Beham, M. Affenzeller Benefits of plugin-based heuristic optimization software systems Computer Aided Systems Theory - EUROCAST 2007, Lecture Notes in Computer Science, vol. 4739, pp Springer, 2007 S. Wagner, G. Kronberger, A. Beham, S. Winkler, M. Affenzeller Modeling of heuristic optimization algorithms Proceedings of the 20th European Modeling and Simulation Symposium, pp DIPTEM University of Genova, 2008 S. Wagner, G. Kronberger, A. Beham, S. Winkler, M. Affenzeller Model driven rapid prototyping of heuristic optimization algorithms Computer Aided Systems Theory - EUROCAST 2009, Lecture Notes in Computer Science, vol. 5717, pp Springer, 2009 S. Wagner Heuristic optimization software systems - Modeling of heuristic optimization algorithms in the HeuristicLab software environment Ph.D. thesis, Johannes Kepler University Linz, Austria, S. Wagner, A. Beham, G. Kronberger, M. Kommenda, E. Pitzer, M. Kofler, S. Vonolfen, S. Winkler, V. Dorfer, M. Affenzeller HeuristicLab 3.3: A unified approach to metaheuristic optimization Actas del séptimo congreso español sobre Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB'2010), 2010 Detailed list of all publications of the HEAL research group: HeuristicLab Tutorialhttp://dev.heuristiclab.com119

Questions & Answers HeuristicLab Tutorialhttp://dev.heuristiclab.com