Get in Touch

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
  • Modelling your planning problem
  • Using the Solver

Score calculation

  • Score terminology
  • Choosing a score definition
  • Calculating the score
  • Performance tricks for score calculation
  • Reusing score calculation outside the Solver

Optimisation algorithms

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

Move and neighbourhood selection

  • Introduction to moves and neighbourhoods
  • Generic Move Selectors
  • Combining multiple MoveSelectors
  • EntitySelector
  • ValueSelector
  • General selector features
  • Custom moves

Construction heuristics

  • First Fit
  • Best Fit
  • Advanced Greedy Fit
  • 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 tuning

  • Finding the best Solver configuration
  • Performing 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 a score function in Drools

Integration

  • Overview
  • Persistent storage
  • SOA and ESB
  • Other environments
 21 Hours

Number of participants


Price per participant

Testimonials (1)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories