Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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
Testimonials (1)
The training definitely backfilled some of the gaps in my knowledge left by reading the OptaPlanner userguide. It gave me a good broad understanding of how to approach using OptaPlanner in our projects going forward.