Jump To Close Expand all Collapse all Table of contents Developing solvers with Red Hat Business Optimizer in Red Hat Process Automation Manager Preface Making open source more inclusive I. Getting started with Red Hat Business Optimizer Expand section "I. Getting started with Red Hat Business Optimizer" Collapse section "I. Getting started with Red Hat Business Optimizer" 1. Introduction to Red Hat Business Optimizer Expand section "1. Introduction to Red Hat Business Optimizer" Collapse section "1. Introduction to Red Hat Business Optimizer" 1.1. Planning problems 1.2. NP-completeness in planning problems 1.3. Solutions to planning problems 1.4. Constraints on planning problems 2. Getting started with solvers in Business Central: An employee rostering example Expand section "2. Getting started with solvers in Business Central: An employee rostering example" Collapse section "2. Getting started with solvers in Business Central: An employee rostering example" 2.1. Deploying the employee rostering sample project in Business Central 2.2. Re-creating the employee rostering sample project Expand section "2.2. Re-creating the employee rostering sample project" Collapse section "2.2. Re-creating the employee rostering sample project" 2.2.1. Setting up the employee rostering project 2.2.2. Problem facts and planning entities 2.2.3. Creating the data model for the employee rostering project Expand section "2.2.3. Creating the data model for the employee rostering project" Collapse section "2.2.3. Creating the data model for the employee rostering project" 2.2.3.1. Creating the employee roster planning entity 2.2.3.2. Creating the employee roster planning solution 2.2.4. Employee rostering constraints Expand section "2.2.4. Employee rostering constraints" Collapse section "2.2.4. Employee rostering constraints" 2.2.4.1. DRL (Drools Rule Language) rules 2.2.4.2. Defining constraints for employee rostering using the DRL designer 2.2.5. Creating rules for employee rostering using guided rules Expand section "2.2.5. Creating rules for employee rostering using guided rules" Collapse section "2.2.5. Creating rules for employee rostering using guided rules" 2.2.5.1. Guided rules 2.2.5.2. Creating a guided rule to balance employee shift numbers 2.2.5.3. Creating a guided rule for no more than one shift per day 2.2.5.4. Creating a guided rule to match skills to shift requirements 2.2.5.5. Creating a guided rule to manage day off requests 2.2.6. Creating a solver configuration for employee rostering 2.2.7. Configuring Solver termination for the employee rostering project 2.3. Accessing the solver using the REST API Expand section "2.3. Accessing the solver using the REST API" Collapse section "2.3. Accessing the solver using the REST API" 2.3.1. Registering the Solver using the REST API 2.3.2. Calling the Solver using the REST API 3. Getting started with Java solvers: A cloud balancing example Expand section "3. Getting started with Java solvers: A cloud balancing example" Collapse section "3. Getting started with Java solvers: A cloud balancing example" 3.1. Domain Model Design Expand section "3.1. Domain Model Design" Collapse section "3.1. Domain Model Design" 3.1.1. Designing a domain model 3.1.2. The Computer Class 3.1.3. The Process Class 3.1.4. The CloudBalance Class 3.2. Running the Cloud Balancing Hello World 3.3. Solver Configuration 3.4. Score Configuration Expand section "3.4. Score Configuration" Collapse section "3.4. Score Configuration" 3.4.1. Configuring score calculation using Java 3.4.2. Configuring score calculation using Drools 3.5. Further development of the solver 4. Examples provided with Red Hat Business Optimizer Expand section "4. Examples provided with Red Hat Business Optimizer" Collapse section "4. Examples provided with Red Hat Business Optimizer" 4.1. Downloading and running the examples Expand section "4.1. Downloading and running the examples" Collapse section "4.1. Downloading and running the examples" 4.1.1. Downloading Red Hat Business Optimizer examples 4.1.2. Running Business Optimizer examples 4.1.3. Running the Red Hat Business Optimizer examples in an IDE (IntelliJ, Eclipse, or Netbeans) 4.1.4. Running the web examples 4.2. Table of Business Optimizer examples 4.3. N queens Expand section "4.3. N queens" Collapse section "4.3. N queens" 4.3.1. Domain model for N queens 4.4. Cloud balancing 4.5. Traveling salesman (TSP - Traveling Salesman Problem) 4.6. Dinner party 4.7. Tennis club scheduling 4.8. Meeting scheduling 4.9. Course timetabling (ITC 2007 Track 3 - Curriculum Course Scheduling) 4.10. Machine reassignment (Google ROADEF 2012) 4.11. Vehicle routing Expand section "4.11. Vehicle routing" Collapse section "4.11. Vehicle routing" 4.11.1. Domain model for Vehicle routing 4.12. Project job scheduling 4.13. Task assigning 4.14. Exam timetabling (ITC 2007 track 1 - Examination) Expand section "4.14. Exam timetabling (ITC 2007 track 1 - Examination)" Collapse section "4.14. Exam timetabling (ITC 2007 track 1 - Examination)" 4.14.1. Domain model for Exam timetabling 4.15. Nurse rostering (INRC 2010) 4.16. Traveling tournament problem (TTP) 4.17. Cheap time scheduling 4.18. Investment asset class allocation (Portfolio Optimization) 4.19. Conference scheduling 4.20. Rock tour 4.21. Flight crew scheduling II. Deploying and using the vehicle route planning starter application for Red Hat Business Optimizer Expand section "II. Deploying and using the vehicle route planning starter application for Red Hat Business Optimizer" Collapse section "II. Deploying and using the vehicle route planning starter application for Red Hat Business Optimizer" 5. What is OptaWeb Vehicle Routing? 6. Download and build the OptaWeb Vehicle Routing deployment files 7. Run OptaWeb Vehicle Routing locally using the runLocally.sh script Expand section "7. Run OptaWeb Vehicle Routing locally using the runLocally.sh script" Collapse section "7. Run OptaWeb Vehicle Routing locally using the runLocally.sh script" 7.1. Run the OptaWeb Vehicle Routing runLocally.sh script in quick start mode 7.2. Run the OptaWeb Vehicle Routing runLocally.sh script in interactive mode 7.3. Run the OptaWeb Vehicle Routing runLocally.sh script in non-interactive mode 7.4. Run the OptaWeb Vehicle Routing runLocally.sh script in air distance mode 7.5. Update the data directory 8. Configure and run OptaWeb Vehicle Routing manually 9. Run OptaWeb Vehicle Routing on Red Hat OpenShift Container Platform Expand section "9. Run OptaWeb Vehicle Routing on Red Hat OpenShift Container Platform" Collapse section "9. Run OptaWeb Vehicle Routing on Red Hat OpenShift Container Platform" 9.1. Updating the deployed OptaWeb Vehicle Routing application with local changes 10. Using OptaWeb Vehicle Routing Expand section "10. Using OptaWeb Vehicle Routing" Collapse section "10. Using OptaWeb Vehicle Routing" 10.1. Creating a route 10.2. Viewing and setting other details 10.3. Creating custom data sets with OptaWeb Vehicle Routing 10.4. Troubleshooting OptaWeb Vehicle Routing 11. OptaWeb Vehicle Routing development guide Expand section "11. OptaWeb Vehicle Routing development guide" Collapse section "11. OptaWeb Vehicle Routing development guide" 11.1. OptaWeb Vehicle Routing project structure 11.2. The OptaWeb Vehicle Routing back end module Expand section "11.2. The OptaWeb Vehicle Routing back end module" Collapse section "11.2. The OptaWeb Vehicle Routing back end module" 11.2.1. Running the OptaWeb Vehicle Routing back end module using the Spring Boot Maven plugin 11.2.2. Running the OptaWeb Vehicle Routing back end module from IntelliJ IDEA 11.2.3. Spring Boot automatic restart 11.2.4. Setting OptaWeb Vehicle Routing back end module configuration properties 11.2.5. OptaWeb Vehicle Routing backend logging 11.3. Working with the OptaWeb Vehicle Routing front end module 12. OptaWeb Vehicle Routing back end architecture Expand section "12. OptaWeb Vehicle Routing back end architecture" Collapse section "12. OptaWeb Vehicle Routing back end architecture" 12.1. Code organization 12.2. Dependency rules 12.3. The domain package 12.4. The service package 12.5. The plugin package 13. OptaWeb Vehicle Routing back end configuration properties III. Running and modifying the employee rostering starter application for Red Hat Business Optimizer using an IDE Expand section "III. Running and modifying the employee rostering starter application for Red Hat Business Optimizer using an IDE" Collapse section "III. Running and modifying the employee rostering starter application for Red Hat Business Optimizer using an IDE" 14. Overview of the employee rostering starter application 15. Building and running the employee rostering starter application Expand section "15. Building and running the employee rostering starter application" Collapse section "15. Building and running the employee rostering starter application" 15.1. Preparing deployment files 15.2. Running the Employee Rostering starter application JAR file 15.3. Building and running the Employee Rostering starter application using Maven 15.4. Building and running the employee rostering starter application with persistent data storage from the command line 15.5. Building and running the employee rostering starter application using IntelliJ IDEA 16. Overview of the source code of the employee rostering starter application 17. Modifying the employee rostering starter application IV. Deploying and using the employee rostering starter application for Red Hat Business Optimizer on Red Hat OpenShift Container Platform Expand section "IV. Deploying and using the employee rostering starter application for Red Hat Business Optimizer on Red Hat OpenShift Container Platform" Collapse section "IV. Deploying and using the employee rostering starter application for Red Hat Business Optimizer on Red Hat OpenShift Container Platform" 18. Overview of the employee rostering starter application 19. Installing and starting the employee rostering starter application on OpenShift Expand section "19. Installing and starting the employee rostering starter application on OpenShift" Collapse section "19. Installing and starting the employee rostering starter application on OpenShift" 19.1. Deploying the application using the provided script 20. Using the employee rostering starter application Expand section "20. Using the employee rostering starter application" Collapse section "20. Using the employee rostering starter application" 20.1. The draft and published periods 20.2. The rotation pattern 20.3. Employee Rostering tenants Expand section "20.3. Employee Rostering tenants" Collapse section "20.3. Employee Rostering tenants" 20.3.1. Changing an Employee Rostering tenant 20.3.2. Creating a tenant 20.4. Entering skills 20.5. Entering spots 20.6. Entering the list of contracts 20.7. Entering the list of employees 20.8. Setting employee availability 20.9. Viewing and editing shifts in the shift roster 20.10. Creating and viewing the employee shift roster 20.11. Viewing employee shifts 20.12. Publishing the shift roster 20.13. Viewing and editing the rotation pattern V. Using Red Hat Business Optimizer with Spring Boot Expand section "V. Using Red Hat Business Optimizer with Spring Boot" Collapse section "V. Using Red Hat Business Optimizer with Spring Boot" 21. Downloading and building the school timetable reference implementation 22. Model the domain objects 23. Define the constraints and calculate the score 24. Gather the domain objects in a planning solution 25. Create the Timetable service 26. Set the solver termination time 27. Make the application executable Expand section "27. Make the application executable" Collapse section "27. Make the application executable" 27.1. Try the timetable application 27.2. Test the application 27.3. Logging 28. Add Database and UI integration A. Versioning information B. Contact 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 Appendix B. Contact information Red Hat Process Automation Manager documentation team: brms-docs@redhat.com Previous Next