OptaPlanner in Practice Training Course

Overview

This course uses a practical approach to teaching OptaPlanner. It provides participants with the tools needed to perform the basic functions of this tool.

Course Outline

Planner introduction

  • What is OptaPlanner?
  • What is a planning problem?
  • Use Cases and examples

Bin Packaging Problem Example

  • Problem statement
  • Problem size
  • Domain model diagram
  • Main method
  • Solver configuration
  • Domain model implementation
  • Score configuration

Travelling Salesman Problem (TSP)

  • Problem statement
  • Problem size
  • Domain model
  • Main method
  • Chaining
  • Solver configuration
  • Domain model implementation
  • Score configuration

Planner configuration

  • Overview
  • Solver configuration
  • Model your planning problem
  • Use the Solver

Score calculation

  • Score terminology
  • Choose a Score definition
  • Calculate the Score
  • Score calculation performance tricks
  • Reusing the Score calculation outside the Solver

Optimization algorithms

  • Search space size in the real world
  • Does Planner find the optimal solution?
  • Architecture overview
  • Optimization algorithms overview
  • Which optimization algorithms should I use?
  • SolverPhase
  • Scope overview
  • Termination
  • SolverEventListener
  • Custom SolverPhase

Move and neighborhood selection

  • Move and neighborhood introduction
  • Generic Move Selectors
  • Combining multiple MoveSelectors
  • EntitySelector
  • ValueSelector
  • General Selector features
  • Custom moves

Construction heuristics

  • First Fit
  • Best Fit
  • Advanced Greedy Fit
  • the Cheapest insertion
  • Regret insertion

Local search

  • Local Search concepts
  • Hill Climbing (Simple Local Search)
  • Tabu Search
  • Simulated Annealing
  • Late Acceptance
  • Step counting hill climbing
  • Late Simulated Annealing (experimental)
  • Using a custom Termination, MoveSelector, EntitySelector, ValueSelector or Acceptor

Evolutionary algorithms

  • Evolutionary Strategies
  • Genetic Algorithms

Hyperheuristics

Exact methods

  • Brute Force
  • Depth-first Search

Benchmarking and tweaking

  • Finding the best Solver configuration
  • Doing a benchmark
  • Benchmark report
  • Summary statistics
  • Statistics per dataset (graph and CSV)
  • Advanced benchmarking

Repeated planning

  • Introduction to repeated planning
  • Backup planning
  • Continuous planning (windowed planning)
  • Real-time planning (event based planning)

Drools

  • Short introduction to Drools
  • Writing Score Function in Drools

Integration

  • Overview
  • Persistent storage
  • SOA and ESB
  • Other environment

Leave a Reply

Your email address will not be published. Required fields are marked *