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
Introduction to Planner
- Understanding OptaPlanner
- Defining a planning problem
- Real-world use cases and illustrative examples
Bin Packing Problem Case Study
- Problem definition
- Complexity and scale of the problem
- Visual representation of the domain model
- Core execution entry point
- Configuring the Solver
- Implementing the domain model
- Defining score rules
Travelling Salesman Problem (TSP)
- Problem definition
- Complexity and scale of the problem
- Domain model structure
- Core execution entry point
- Implementing chains
- Configuring the Solver
- Implementing the domain model
- Defining score rules
Configuring the Planner
- Conceptual overview
- Solver setup
- Modelling the planning challenge
- Utilizing the Solver
Score Calculation
- Key terminology
- Selecting an appropriate score definition
- Computing the score
- Optimization techniques for score calculation performance
- Reusing score calculations independently of the Solver
Optimization Algorithms
- Real-world search space magnitude
- Does Planner guarantee optimal solutions?
- Architectural overview
- Survey of optimization algorithms
- Guidelines for selecting optimization algorithms
- SolverPhase
- Scope overview
- Termination conditions
- SolverEventListener
- Custom SolverPhase
Move and Neighborhood Selection
- Introduction to moves and neighborhoods
- Generic Move Selectors
- Combining multiple MoveSelectors
- EntitySelector
- ValueSelector
- Advanced Selector capabilities
- Custom move definitions
Construction Heuristics
- First Fit strategy
- Best Fit strategy
- Advanced Greedy Fit
- The Cheapest insertion method
- Regret insertion
Local Search
- Core concepts of Local Search
- Hill Climbing (Basic Local Search)
- Tabu Search
- Simulated Annealing
- Late Acceptance
- Hill Climbing with step counting
- Late Simulated Annealing (experimental feature)
- Implementing custom Termination, MoveSelector, EntitySelector, ValueSelector, or Acceptor
Evolutionary Algorithms
- Evolutionary Strategies
- Genetic Algorithms
Hyperheuristics
Exact Methods
- Brute Force approach
- Depth-first Search
Benchmarking and Tuning
- Identifying the optimal Solver configuration
- Conducting benchmarks
- Analyzing benchmark reports
- Reviewing summary statistics
- Detailed statistics per dataset (graphs and CSV)
- Advanced benchmarking techniques
Repeated Planning
- Introduction to repeated planning
- Backup planning strategies
- Continuous planning (windowed planning)
- Real-time planning (event-based planning)
Drools Integration
- Brief introduction to Drools
- Implementing Score Functions using Drools
System Integration
- Integration overview
- Managing persistent storage
- Integration with SOA and ESB
- Adapting to 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.