wiki:UsersSamples

Version 28 (modified by mkofler, 11 years ago) (diff)

Added screenshot for PSO sample

Samples

This section provides additional sample files for the HeuristicLab 3.3 Optimizer some of which are included as demo samples in the Optimizer.

Travelling Salesman

  • Genetic Algorithm - TSP: A genetic algorithm which solves rge "ch130" travelling salesman problem (imported from TSPLIB)
  • Island Genetic Algorithm - TSP: An island genetic algorithm which solves the "ch130" traveling salesman problem (imported from TSPLIB)
  • Tabu Search - TSP: A tabu search algorithm that solves the "ch130" TSP (imported from TSPLIB)

Genetic Algorithm - TSP

This sample demonstrates how to employ a genetic algorithm to optimize a travelling salesman problem instance, namely "ch130" from the TSP Lib.

Algorithm: Genetic Algorithm?

Algorithm Parameters:

  • PopulationSize: 100
  • Elites: 1
  • MutationProbability: 5%
  • MaximumGenerations: 1000
  • Selector: ProportionalSelector
  • Crossover: Crossover2 (cf. Affenzeller, M. et al. 2009. Genetic Algorithms and Genetic Programming - Modern Concepts and Practical Applications. CRC Press. p. 135)
  • Mutator: InversionManipulator

Problem: Travelling Salesman Problem?

Problem Parameters:

  • BestKnownQuality: 6110
  • BestKnownSolution: The best known solution of this TSP instance (cf. TSP Lib)
  • Coordinates: The x and y coordinates of the cities
  • DistanceMatrix: null
  • Evaluator: TSPRoundedEuclideanPathEvaluator?
  • Maximization: False
  • SolutionCreator: RandomPermutationCreator
  • UseDistanceMatrix: True

Island Genentic Algorithm - TSP

Algorithm: Island Genetic Algorithm

Algorithm Parameters:

  • Analyzer: MultiAnalyzer
  • Crossover: !OrderCrossover2
  • Elites: 1
  • EmigrantsSelector: BestSelector
  • ImmigrationReplacer: WorstReplacer
  • IslandAnalyzer: MultiAnalyzer
  • MaximumGenerations: 1000
  • MigrationInterval: 50
  • MigrationRate: 25%
  • Migrator: UnidirectionalRingMigrator
  • MutationProbability: 5%
  • Mutator: InversionManipulator
  • NumberOfIslands: 5
  • PopulationSize: 100
  • Seed: -
  • Selector: ProportionalSelector
  • SetSeedRandomly: True

Problem: Travelling Salesman Problem?

Problem Parameters:

  • BestKnownQuality: 6110
  • BestKnownSolution: The best known solution of this TSP instance (cf. TSP Lib)
  • Coordinates: The x and y coordinates of the cities
  • DistanceMatrix: null
  • Evaluator: !TSPRoundedEuclideanPathEvaluator
  • Maximization: False
  • SolutionCreator: RandomPermutationCreator
  • UseDistanceMatrix: True

Tabu Search - TSP

Algorithm: Tabu Search

Algorithm Parameters:

  • Analyzer: MultiAnalyzer
  • MaximumIterations: 1000
  • MoveEvaluator: TSPInversionMoveRoundedEuclideanPathEvaluator
  • MoveGenerator: StochasticInversionMultiMoveGenerator
  • MoveMaker: InversionMoveMaker
  • SampleSize: 500
  • Seed: -
  • SetSeedRandomly: True
  • TabuChecker: InversionMoveSoftTabuCriterion
  • TabuMaker: InversionMoveTabuMaker
  • TabuTenure: 60

Problem: Travelling Salesman Problem?

Problem Parameters:

  • BestKnownQuality: 6110
  • BestKnownSolution: The best known solution of this TSP instance (cf. TSP Lib)
  • Coordinates: The x and y coordinates of the cities
  • DistanceMatrix: null
  • Evaluator: TSPRoundedEuclideanPathEvaluator
  • Maximization: False
  • SolutionCreator: RandomPermutationCreator
  • UseDistanceMatrix: True

Real-valued Test Functions


Evolution Strategy - Griewank

A pre-defined evolution strategy which solves the 10-dimensional [TestFunctions#GriewankFunction Griewank test function]. HeuristicLab 3 provides a set of real valued test functions for benchmarking purposes. For a full overview please go the [TestFunctions Test Functions] wiki page.

Algorithm: Evolution Strategy?

Algorithm Parameters:

  • Population Size: 20
  • Children: 500
  • MaximumGenerations: 200
  • ParentsPerChild: 5
  • PlusSelection: False (Comma Selection)
  • Recombinator: AverageCrossover
  • Mutator: NormalAllPositionsManipulator

Problem: Single Objective Test Function

Problem Parameters:

  • BestKnownQuality: 0
  • BestKnownSolution: [0;0;0;0;0;0;0;0;0;0]
  • Bounds: [-600, 600]
  • Evaluator: GriewankEvaluator
  • Maximization: False
  • ProblemSize: 10
  • SolutionCreator: UniformRandomRealVectorCreator

Simulated Annealing - Rastrigin

Algorithm: Simulated Annealing

Algorithm Parameters:

  • Analyzer: MultiAnalyzer
  • AnnealingOperator: ExponentialDiscreteDoubleValueModifier
  • EndTemperature: 1E-06
  • InnerIterations: 50
  • MaximumIterations: 1000
  • MoveEvaluator: RastriginAdditiveMoveEvaluator
  • MoveGenerator: StochasticNormalMultiMoveGenerator
  • MoveMaker: AdditiveMoveMaker
  • Seed: -
  • SetSeedRandomly: True
  • StartTemperature: 1

Problem: Single Objective Test Function

Problem Parameters:

  • BestKnownQuality: 0
  • BestKnownSolution: [0;0]
  • Bounds: ([-5, 12], [-5,12])
  • Evaluator: RastriginEvaluator
  • Maximization: False
  • ProblemSize: 2
  • SolutionCreator: UniformRandomRealVectorCreator

Particle Swarm Optimization - Schwefel

Screenshot of running PSO sample for Schwefel test function Algorithm: Particle Swarm Optimization?

Algorithm Parameters:

  • Analyzer: MultiAnalyzer
  • Inertia: 10
  • InertiaUpdater: ExponentialDiscreteDoubleValueModifier
    • StartValue: 10
    • EndValue: 1
  • MaximumIterations: 1000
  • NeighborBestAttraction: 0.5
  • ParticleCreator: RealVectprParticleCreator
  • PersonalBestAttraction: -0.01
  • Seed: -
  • SetSeedRandomly: True
  • SwarmSize: 50
  • SwarmUpdater: RealVectorSwarmUpdater
    • VelocityBounds: ([-10, 10], [-10,10])
    • VelocityBoundsScalingOperator: ExponentialDiscreteDoubleValueModifier
    • VelocityBoundsStartValue: 10
    • VelocityBoundsEndValue: 1
  • TopologyInitializer: -
  • TopologyUpdater: -

Problem: Single Objective Test Function

Problem Parameters:

  • BestKnownQuality: 0
  • BestKnownSolution: [420.96;420.96]
  • Bounds: ([-500, 500], [-500,500])
  • Evaluator: SchwefelEvaluator
  • Maximization: False
  • ProblemSize: 2
  • SolutionCreator: UniformRandomRealVectorCreator

Genetic Programming


Genetic programming - Artificial Ant Problem

GP_ArtificialAnt-SantaFe.hl GP Result for SantaFe Ant Trial

Algorithm: Genetic Algorithm?

Algorithm Parameters:

  • Analyzer: MultiAnalyzer
  • Crossover: SubtreeCrossover - An operator which performs subtree swapping crossover
  • Elites: 1
  • MaximumGenerations: 100
  • MutationProbability: 15%
  • Mutator: MultiSymbolicExpressionTreeManipulator
  • Population Size: 500
  • Seed: -
  • Selector: TournamentSelector
  • SetSeedRandomly: True

Problem: Artificial Ant Problem?

Problem Parameters:

  • ArtificialAntExpressionGrammar: IfFoodAhead, Prog2, Prog3, Right, Left, Move
  • BestKnownQuality: 89
  • Evaluator: ArtificialAntEvaluator
  • MaxExpressionDepth: 6
  • MaxExpressionLength: 50
  • MaxFunctionArguments: 3
  • MaxFunctionDefinitions: 3
  • Maximization: True
  • MaxTimeSteps: 600
  • SolutionCreator: ProbabilisticTreeCreator
  • World: 32x32 grid, 89 randomly scattered food items

Genetic programming - Symbolic Regression (Boston Housing)

GP_Regression-Boston-Housing.hl

Example for a simple genetic programming algorithm to create a regression model for the estimation of the median value of houses in a certain in the Boston area based on other parameters of that region. The original dataset was downloaded from http://archive.ics.uci.edu/ml/datasets/Housing.

Algorithm: Genetic Algorithm?

Algorithm Parameters:

Problem: Symbolic Regression Problem

Problem Parameters:

  • BestKnownQuality: null
  • DataAnalysisProblemData: Data imported from Housing Dataset from UCI Repository (cf. http://archive.ics.uci.edu/ml/datasets/Housing)
  • Evaluator: SymbolicRegressionScaledMeanSquaredErrorEvaluator
  • FunctionTreeGrammar: Addition, Subtraction, Multiplication, Division, Constant, Variable
  • LowerEstimationLimit: -289,08968253968254
  • MaxExpressionDepth: 10
  • MaxExpressionLength: 100
  • MaxFunctionArguments: 0
  • MaxFunctionDefiningBranches: 0
  • Maximization: False
  • SolutionCreator: ProbabilisticTreeCreator
  • SymbolicExpressionTreeInterpreter: -
  • UpperEstimationLimit: 332,91031746031746

Genetic programming - Symbolic Regression (Tower)

GP_Regression-TowerResponse.hl

Example for a simple genetic programming algorithm to create a regression model for the estimation of a product quality parameter in an industrial chemical process. The original dataset was downloaded from http://vanillamodeling.com/realproblems.html.

  • Population size: 500
  • Generations: 100
  • Tournament selection: group size=7
  • Mutation rate: 15%
  • Function set: +, *, -, /, average, log, power, root, exponential
  • Terminal set: constants, x01, x02, x03, x04, x05, x06, x08, x09, x10, x12, x14, x15, x17, x18, x19, x20, x22, x23, x24
  • Fitness function: R² of predicted and original tower response

Genetic programming - Symbolic Regression (Mackey-Glass)

GP_Regression-Mackey-Glass.hl

Example for a simple genetic programming algorithm to create a dynamic model for the one-step prediction of the chaotic Mackey Glass (T=17) time series. The original dataset was downloaded from http://www.bme.ogi.edu/~ericwan/data.html.

  • Population size: 500
  • Generations: 100
  • Tournament selection: group size=7
  • Mutation rate: 15%
  • Function set: +, *, -, /, average, log, power, root, exponential
  • Terminal set: constants, x(t-90) .. x(t-1)
  • Fitness function: R²(xPred(t), xOrig(t))

Genetic programming - Symbolic Classification (Wisconsin)

GP_Classification-WisconsinDiagnostic.hl

Example for a simple genetic programming algorithm to create a classification model for the estimation of malignant or benign tumor diagnosis based on features extracted through analysis of tumorous cells in a tissue sample. The original dataset was downloaded from the UCI Machine Learning Repository (http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+(Diagnostic)). The algorithm uses all available GP manipulation operators, single-point cross-over and squared Pearson's correlation coefficient evaluation.

The algorithm reaches an accuracy of ~95% on the test set. This algorithm is supposed to be a demo for GP in HeuristicLab, the aim is not to find high quality models.


















Genetic programming - Symbolic Classification (Mammography)

GP_Classification-Mammography.hl

A genetic programming algorithm to create a classification model for the prediction of malignant or benign tumor diagnosis based on features extracted through a non-invasive mammography breast cancer screening. Original dataset stems from the UCI Machine Learning Repository (http://archive.ics.uci.edu/ml/datasets/Mammographic+Mass).


Genetic Programming - Even Parity (4 inputs)

GP_Boolean-Even-Parity-4.hl

A genetic programming algorithm to synthesize the boolean even parity function with 4 binary inputs

  • Population size: 4000
  • Generations: 100
  • Function set: AND, OR, NOT
  • Terminal set: D0, D1, D2, D3
  • Max. function defining branches: 3
  • Max. function arguments: 3

Up to three automatically defined functions (ADF), each with up to three arguments, are allowed.

References

John R. Koza, Genetic Programming - On the Programming of Computers by Means of Natural Selection, MIT Press, 1992


Genetic Programming - Multiplexer (11 inputs)

GP_Boolean-Multiplexer-11.hl

A genetic programming algorithm to synthesize the boolean multiplexer function with 11 binary inputs

  • Population size: 4000
  • Generations: 100
  • Function set: IF, AND, OR, NOT
  • Terminal set: A0, A1, A2, D0, D1, D2, D3, D4, D5, D6, D7

References

John R. Koza, Genetic Programming - On the Programming of Computers by Means of Natural Selection, MIT Press, 1992


Additional


Local Search - Knapsack

Algorithm: Local Search

Algorithm Parameters:

  • Analyzer: MultiAnalyzer
  • MaximumIterations: 1000
  • MoveEvaluator: KnapsackOneBitflipMoveEvaluator
  • MoveGenerator: ExhaustiveBitflipMoveGenerator
  • MoveMaker: OneBitflipMoveMaker
  • SampleSize: 100
  • Seed: -
  • SetSeedRandomly: True

Problem: Knapsack Problem?

Problem Parameters:

  • BestKnownQuality: 226
  • BestKnownSolution: Binary Vector
  • Evaluator: KnapsackEvaluator
  • KnapsackCapacity: 134
  • Maximization: True
  • Penalty: 1
  • SolutionCreator: RandomBinaryVectorCreator
  • Values: The values of the items.
  • Weights: The weights of the items.

Attachments (7)

Download all attachments as: .zip