Jump To Close Expand all Collapse all Table of contents Developing solvers with Red Hat Build of OptaPlanner Preface Making open source more inclusive I. Release notes for Red Hat Build of OptaPlanner 8.38 Expand section "I. Release notes for Red Hat Build of OptaPlanner 8.38" Collapse section "I. Release notes for Red Hat Build of OptaPlanner 8.38" 1. Upgrading from OptaPlanner 8.13 to Red Hat Build of OptaPlanner 8.38 2. Red Hat Build of OptaPlanner 8.38 new features Expand section "2. Red Hat Build of OptaPlanner 8.38 new features" Collapse section "2. Red Hat Build of OptaPlanner 8.38 new features" 2.1. Performance improvements in pillar moves and nearby selection 2.2. OptaPlanner configuration improvement 2.3. PlanningListVariable support for K-Opt moves 2.4. SolutionManager support for updating shadow variables 2.5. Value range auto-detection II. Getting started with Red Hat Build of OptaPlanner Expand section "II. Getting started with Red Hat Build of OptaPlanner" Collapse section "II. Getting started with Red Hat Build of OptaPlanner" 3. Introduction to Red Hat Build of OptaPlanner Expand section "3. Introduction to Red Hat Build of OptaPlanner" Collapse section "3. Introduction to Red Hat Build of OptaPlanner" 3.1. Backwards compatibility 3.2. Planning problems 3.3. NP-completeness in planning problems 3.4. Solutions to planning problems 3.5. Constraints on planning problems 3.6. Examples provided with Red Hat Build of OptaPlanner 3.7. N queens Expand section "3.7. N queens" Collapse section "3.7. N queens" 3.7.1. Domain model for N queens 3.8. Cloud balancing 3.9. Traveling salesman (TSP - Traveling Salesman Problem) 3.10. Tennis club scheduling 3.11. Meeting scheduling 3.12. Course timetabling (ITC 2007 Track 3 - Curriculum Course Scheduling) 3.13. Machine reassignment (Google ROADEF 2012) 3.14. Project job scheduling 3.15. Task assigning 3.16. Exam timetabling (ITC 2007 track 1 - Examination) Expand section "3.16. Exam timetabling (ITC 2007 track 1 - Examination)" Collapse section "3.16. Exam timetabling (ITC 2007 track 1 - Examination)" 3.16.1. Domain model for exam timetabling 3.17. Nurse rostering (INRC 2010) 3.18. Patient admission scheduling 3.19. Traveling tournament problem (TTP) 3.20. Cheap time scheduling 3.21. Investment asset class allocation (Portfolio Optimization) 3.22. Conference scheduling 3.23. Rock tour 3.24. Flight crew scheduling 4. Downloading and building Red Hat Build of OptaPlanner examples 5. Getting Started with Red Hat Build of OptaPlanner on the Red Hat build of Quarkus platform Expand section "5. Getting Started with Red Hat Build of OptaPlanner on the Red Hat build of Quarkus platform" Collapse section "5. Getting Started with Red Hat Build of OptaPlanner on the Red Hat build of Quarkus platform" 5.1. Apache Maven and Red Hat build of Quarkus Expand section "5.1. Apache Maven and Red Hat build of Quarkus" Collapse section "5.1. Apache Maven and Red Hat build of Quarkus" 5.1.1. Configuring the Maven settings.xml file for the online repository 5.1.2. Downloading and configuring the Quarkus Maven repository 5.2. Using the Maven plug-in to create an Red Hat Build of OptaPlanner project on the Quarkus platform 5.3. Using code.quarkus.redhat.com to create an Red Hat Build of OptaPlanner project on the Quarkus platform 5.4. Using the Quarkus CLI to create an Red Hat Build of OptaPlanner project on the Quarkus platform III. The Red Hat Build of OptaPlanner solver Expand section "III. The Red Hat Build of OptaPlanner solver" Collapse section "III. The Red Hat Build of OptaPlanner solver" 6. Configuring the Red Hat Build of OptaPlanner solver Expand section "6. Configuring the Red Hat Build of OptaPlanner solver" Collapse section "6. Configuring the Red Hat Build of OptaPlanner solver" 6.1. Using an XML file to configure the OptaPlanner solver 6.2. Using the Java API to configure the OptaPlanner solver 6.3. OptaPlanner annotation 6.4. Specifying OptaPlanner domain access 6.5. Configuring custom properties 7. Using the OptaPlanner solver Expand section "7. Using the OptaPlanner solver" Collapse section "7. Using the OptaPlanner solver" 7.1. Solving a problem 7.2. Solver environment mode 7.3. Changing the OptaPlanner solver logging level 7.4. Using Logback to log OptaPlanner solver activity 7.5. Using Log4J to log OptaPlanner solver activity 7.6. Monitoring the solver Expand section "7.6. Monitoring the solver" Collapse section "7.6. Monitoring the solver" 7.6.1. Configuring a Quarkus OptaPlanner application for Micrometer 7.6.2. Configuring a Spring Boot OptaPlanner application for Micrometer 7.6.3. Configuring a plain Java OptaPlanner application for Micrometer 7.6.4. Additional Metrics 7.7. Configuring the random number generator 8. The OptaPlanner SolverManager Expand section "8. The OptaPlanner SolverManager" Collapse section "8. The OptaPlanner SolverManager" 8.1. Batch solving problems 8.2. Solve and listen to show progress IV. OptaPlanner score calculation Expand section "IV. OptaPlanner score calculation" Collapse section "IV. OptaPlanner score calculation" 9. Business constraints in OptaPlanner Expand section "9. Business constraints in OptaPlanner" Collapse section "9. Business constraints in OptaPlanner" 9.1. Negative and positive score constraints 9.2. Score constraint weight 9.3. Score constraint level 10. The OptaPlanner Score interface Expand section "10. The OptaPlanner Score interface" Collapse section "10. The OptaPlanner Score interface" 10.1. Floating point numbers in score calculation 10.2. Score calculation types Expand section "10.2. Score calculation types" Collapse section "10.2. Score calculation types" 10.2.1. Implenting the Easy Java score calculation type 10.2.2. Implementing the Incremental Java score calculation type 11. The InitializingScoreTrend class 12. Invalid score detection 13. Score calculation performance tricks Expand section "13. Score calculation performance tricks" Collapse section "13. Score calculation performance tricks" 13.1. Score calculation speed 13.2. Incremental score calculation 13.3. Remote services 13.4. Pointless constraints 13.5. Built-in hard constraints 13.6. Score traps 13.7. The stepLimit benchmark 13.8. Fairness score constraints 13.9. Other score calculation performance tricks 13.10. Configuing constraints 13.11. Explaining the score 13.12. Visualizing the hot planning entities 13.13. Score constraints testing V. Red Hat Build of OptaPlanner quick start guides Expand section "V. Red Hat Build of OptaPlanner quick start guides" Collapse section "V. Red Hat Build of OptaPlanner quick start guides" 14. Red Hat Build of OptaPlanner on the Red Hat build of Quarkus platform: a school timetable quick start guide Expand section "14. Red Hat Build of OptaPlanner on the Red Hat build of Quarkus platform: a school timetable quick start guide" Collapse section "14. Red Hat Build of OptaPlanner on the Red Hat build of Quarkus platform: a school timetable quick start guide" 14.1. Model the domain objects 14.2. Define the constraints and calculate the score 14.3. Gather the domain objects in a planning solution 14.4. Create the solver service 14.5. Set the solver termination time 14.6. Running the school timetable application 14.7. Testing the application Expand section "14.7. Testing the application" Collapse section "14.7. Testing the application" 14.7.1. Test the school timetable constraints 14.7.2. Test the school timetable solver 14.8. Logging 14.9. Integrating a database with your Quarkus OptaPlanner school timetable application 14.10. Using Micrometer and Prometheus to monitor your school timetable OptaPlanner Quarkus application 15. Red Hat Build of OptaPlanner on Red Hat build of Quarkus: a vaccination appointment scheduler quick start guide Expand section "15. Red Hat Build of OptaPlanner on Red Hat build of Quarkus: a vaccination appointment scheduler quick start guide" Collapse section "15. Red Hat Build of OptaPlanner on Red Hat build of Quarkus: a vaccination appointment scheduler quick start guide" 15.1. How the OptaPlanner vaccination appointment scheduler works Expand section "15.1. How the OptaPlanner vaccination appointment scheduler works" Collapse section "15.1. How the OptaPlanner vaccination appointment scheduler works" 15.1.1. Red Hat Build of OptaPlanner vaccination appointment scheduler constraints 15.1.2. The Red Hat Build of OptaPlanner solver 15.1.3. Continuous planning 15.1.4. Pinned planning entities 15.2. Downloading and running the OptaPlanner vaccination appointment scheduler 15.3. Package and run the OptaPlanner vaccination appointment scheduler 15.4. Additional resources 16. Red Hat Build of OptaPlanner on Red Hat build of Quarkus: an employee scheduler quick start guide Expand section "16. Red Hat Build of OptaPlanner on Red Hat build of Quarkus: an employee scheduler quick start guide" Collapse section "16. Red Hat Build of OptaPlanner on Red Hat build of Quarkus: an employee scheduler quick start guide" 16.1. Downloading and running the OptaPlanner employee scheduler 16.2. Package and run the OptaPlanner employee scheduler 17. Red Hat Build of OptaPlanner on Spring Boot: a school timetable quick start guide Expand section "17. Red Hat Build of OptaPlanner on Spring Boot: a school timetable quick start guide" Collapse section "17. Red Hat Build of OptaPlanner on Spring Boot: a school timetable quick start guide" 17.1. Downloading and building the Spring Boot school timetable quick start 17.2. Model the domain objects 17.3. Define the constraints and calculate the score 17.4. Gather the domain objects in a planning solution 17.5. Create the Timetable service 17.6. Set the solver termination time 17.7. Make the application executable Expand section "17.7. Make the application executable" Collapse section "17.7. Make the application executable" 17.7.1. Try the timetable application 17.7.2. Test the application 17.7.3. Logging 17.8. Add Database and UI integration 17.9. Using Micrometer and Prometheus to monitor your school timetable OptaPlanner Spring Boot application 18. Red Hat Build of OptaPlanner and Java: a school timetable quickstart guide Expand section "18. Red Hat Build of OptaPlanner and Java: a school timetable quickstart guide" Collapse section "18. Red Hat Build of OptaPlanner and Java: a school timetable quickstart guide" 18.1. Creating the Maven or Gradle build file and add dependencies 18.2. Model the domain objects 18.3. Define the constraints and calculate the score 18.4. Gather the domain objects in a planning solution 18.5. The TimeTableApp.java class 18.6. Creating and running the school timetable application 18.7. Testing the application Expand section "18.7. Testing the application" Collapse section "18.7. Testing the application" 18.7.1. Test the school timetable constraints 18.7.2. Test the school timetable solver 18.8. Logging 18.9. Using Micrometer and Prometheus to monitor your school timetable OptaPlanner Java application A. Versioning information Legal Notice Settings Close Language: 简体中文 日本語 English Language: 简体中文 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Language and Page Formatting Options Language: 简体中文 日本語 English Language: 简体中文 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Part I. Release notes for Red Hat Build of OptaPlanner 8.38 These release notes list new features and provide upgrade instructions for Red Hat Build of OptaPlanner 8.38. Previous Next