Übersicht
| Kursnr. | 9T348DE | Wissensstand | Basic |
|---|---|---|---|
| Dauer | 3.0 Tage | Kursform | Klassenraum
(Praxis-Training) |
| Kurstyp | Offen/Privater Onsite | ||
| Kurspreis |
EUR 1.950,00 exkl. USt.
EUR 2.320,50 inkl. USt. |
This 3-day instructor-led course teaches students how to use IBM ILOG CPLEX Optimization Studio to develop optimization projects.
IBM ILOG CPLEX Optimization Studio is used to build models for optimization-based applications, such as planning and scheduling applications. The CPLEX Studio integrated development environment (IDE) makes it easy to evaluate different modeling approaches to a problem and to integrate external data. Debugging and tuning tools support the development process, and once the model is ready, it can be deployed into an external application.
This course builds on the concepts and skills learned in course WB340-VB340, Learning Mathematical Programming for IBM ILOG CPLEX Optimization Studio V12.2. Through a combination of instructor-led presentations and lab exercises, students learn the concepts, architecture, components, processes, and procedures necessary to build optimization models. Students also learn how to test and debug the models and integrate the models into a larger application. Topics covered in this course include working with Optimization Programming Language (OPL) to write mathematical programming (MP) and constraint programming (CP) models, linking to spreadsheets and databases, integration with other applications, flow control with IBM ILOG Script, and performance tuning.
The extensive hands-on labs provided throughout the course are based on real-world business problems, enabling students to gain practical experience with IBM ILOG CPLEX Optimization Studio applying their newly learned skills. Some of the skills covered in the exercises include modeling and solving various kinds of problems, importing and exporting data to and from a database, improving the efficiency of OPL models, and writing flow control scripts and algorithms.
For information on other related WebSphere courses, visit the WebSphere Education Training Paths Web site:
Zielgruppe
This course is designed for analysts, operations research (OR) specialists, IT experts, programmers, decision makers, and others who need to build optimization models using CPLEX Studio.
Voraussetzungen
Students should:
- Be familiar with the Microsoft Windows operating system
- Have a knowledge of basic algebra
- Be familiar with key mathematical programming (MP) concepts, or successfully complete course WB340-VB340, Learning Mathematical Programming for IBM ILOG CPLEX Optimization Studio V12.2.
Kursziele
- Describe the CPLEX Studio features and its underlying algorithms
- Use the CPLEX Studio integrated development environment (IDE) to create an optimization project
- Build a problem representation in the IDE
- Test models in the IDE
- Integrate a model into an application
Themenübersicht
Course introduction
Duration: 30 minutes
Unit 1. Introduction to optimization with IBM ILOG CPLEX Optimization Studio
Duration: 50 minutes
Learning objectives:
- Explain how the IBM ILOG optimization products work together to solve complex problems
- Identify the optimization engines available through CPLEX Studio
- Describe the basic functionality of the CPLEX Studio IDE
- Explain what an OPL project is, and how OPL projects are organized and managed
- Identify the basic model elements of an OPL model: data, decision variables, objectives, and constraints
Exercise 1. Gain familiarity with the CPLEX Studio IDE
Duration: 30 minutes
Learning objectives:
- Navigate the CPLEX Studio IDE
- Create a simple project with a separate model and data file
Unit 2. Working with OPL
Duration: 1 hour 30 minutes
Learning objectives:
- Describe the structure of an OPL model
- Describe the data types, data structures, and types of variables available in OPL
- Describe some of the constraints available in OPL
- Explain the concept of sparsity
Exercise 2. Telephone production
Duration: 30 minutes
Learning objectives:
- Write a simple OPL model
- Separate OPL data from an existing OPL model into a .dat file
Exercise 3. Pasta production and delivery (1)
Duration: 30 minutes
Learning objectives:
- Write a descriptive model of an optimization problem
- Use tuples in an OPL model
Unit 3. Working with IBM ILOG Script: basic tasks
Duration: 45 minutes
Learning objectives:
- Describe for what IBM ILOG Script is used
- Initialize data in an IBM ILOG Script execute block
- Perform pre- or postprocessing using IBM ILOG Script execute blocks
- Prepare data using IBM ILOG Script prepare blocks
- Set algorithmic parameters by using IBM ILOG Script
- Display data by using IBM ILOG Script
- Explain how to use IBM ILOG Script for flow control
Unit 4. Solving simple MP problems
Duration: 45 minutes
Learning objectives:
- Use additional OPL functionality for MP problems, such as:
- Operators
- Logical constraints
- Access to reduced costs, duals and slacks
- Ordered indices
- Apply more of the concepts learned in the preceding lessons, including
- Initializing data from the .dat file
- Initializing sets in a generic way
- Declaring decision expressions
- Declaring and labeling constraints
- Convert a linear programming (LP) problem given in business terms to a mathematical model
Exercise 4. Supermarket display
Duration: 45 minutes
Learning objectives:
- Write and solve an LP model in OPL
Unit 5. Solving simple CP problems
Duration: 45 minutes
Learning objectives:
- Explain what constraint programming (CP) is
- Describe the major benefits of using IBM ILOG CPLEX CP Optimizer
Exercise 5. The steel mill problem
Duration: 1 hour
Learning objectives:
- Model a simple CP problem using OPL
- Specify a CP search phase in OPL
Unit 6. Infeasibility
Duration: 20 minutes
Learning objectives:
- Explain what infeasibility is in the context of optimization
- Use CPLEX Studio to detect and resolve infeasibilities by using two CPLEX Optimizer techniques:
- Conflict refinement
- Minimal relaxation
Exercise 6. Pasta production and delivery (2)
Duration: 30 minutes
Learning objectives:
- Use CPLEX Studio to find a minimal relaxation of an infeasible model
Unit 7. Data consistency
Duration: 20 minutes
Learning objectives:
- Improve the efficiency of OPL models
- Verify the consistency of OPL model data
Unit 8. Linking to spreadsheets and databases with CPLEX Studio
Duration: 45 minutes
Learning objectives:
- Establish a link between CPLEX Studio and a spreadsheet or database
- Read data from the spreadsheet or database to initialize OPL data
- Write OPL data or variable values to existing or new locations in a spreadsheet or database
- Write OPL commands to delete data from a spreadsheet or database
Exercise 7. The staffing problem (1)
Duration: 45 minutes
Learning objectives:
- Implement data export and import to and from a database for an OPL model
Unit 9. Scheduling with CP Optimizer
Duration: 1 hour 30 minutes
Learning objectives:
- Explain what an interval variable is
- Use OPL keyword to express scheduling functions and constraints
- Write a simple scheduling model in OPL
Exercise 8. The staff scheduling problem
Duration: 30 minutes
Learning objectives:
- Use OPL scheduling keywords and syntax to model a simple staff scheduling problem
Exercise 9. A house building calendar problem
Duration: 30 minutes
Learning objectives:
- Use OPL scheduling keywords and syntax to calendars
Exercise 10. A wood cutting problem
Duration: 30 minutes
Learning objectives:
- Use OPL scheduling keywords and syntax use state constraints
Unit 10. Integer and mixed integer programming
Duration: 20 minutes
Learning objectives:
- Explain what an integer program (IP) is
- Explain what mixed-integer programming (MIP) is
Exercise 11. The telephone production problem as an IP
Duration: 20 minutes
Learning objectives:
- Declare Boolean variables
- Use CPLEX Studio to compare IP versus LP performance
Exercise 12. A warehouse allocation model
Duration: 30 minutes
Learning objectives:
- Use OPL to model an IP problem
Unit 11. Piecewise linear problems
Duration: 20 minutes
Learning objectives:
- Identify problems that can be represented by a piecewise linear function
- Model piecewise linear functions in OPL
Exercise 13. Pasta production and delivery (3)
Duration: 30 minutes
Learning objectives:
- Model a piecewise linear cost function in OPL
Unit 12. Network models
Duration: 15 minutes
Learning objectives:
- Use OPL to formulate a network model
- Experiment with the Network Optimizer available through CPLEX Studio
Exercise 14. Pasta production and delivery (4)
Duration: 1 hour
Learning objectives:
- Formulate a network for a simple transportation problem in OPL
- Exploit sparsity by using tuples to declare sparse network structures in OPL
Unit 13. Quadratic programming
Duration: 20 minutes
Learning objectives:
- Describe the types of quadratic programs (QPs) that can be solved with CPLEX Optimizer
Exercise 15. Portfolio optimization
Duration: 40 minutes
Learning objectives:
- Formulate a QP for a simple portfolio optimization problem in OPL
Unit 14. Flow control with IBM ILOG Script
Duration: 2 hours
Learning objectives:
- Explain the difference between JavaScript and the IBM ILOG Script extensions for OPL
- Implement some of the flow control functionality available with OPL, specifically:
- Accessing and modifying model and data elements
- Modifying the CPLEX Optimizer matrix incrementally
- Looping controls
- Warm start
- Integer relaxation
- Postprocessing
- Debugging
- Explain how IBM ILOG Script can be used to implement column generation
Exercise 16. The staffing problem (2)
Duration: 40 minutes
Learning objectives:
- Write a flow control script that uses LP relaxation
- Write a flow control script that accesses model elements
Unit 15. Integrating OPL models with applications
Duration: 1 hour 20 minutes
Learning objectives:
- Explain when to use the OPL interfaces to integrate an OPL model into an application
- Describe how the OPL interfaces work
- Describe what the oplrun command does
Exercise 17. The staffing problem (3)
Duration: 40 minutes
Learning objectives:
- Use the OPL application programming interfaces (APIs) to write a flow control algorithm that uses LP relaxation
- Use the OPL APIs to write a flow control algorithm that accesses model elements
Unit 16. Processing on multiple threads
Duration: 15 minutes
Learning objectives:
- Describe the difference between the IBM ILOG CPLEX Concurrent Optimizer and custom multi-threaded implementations
- Describe how to implement a solution for high-volume processing on multiple threads by using Java and the OPL API
Exercise 18. Concurrent processing
Duration: 45 minutes
Learning objectives:
- Implement a solution for high-volume processing on multiple threads by using the Java OPL API
Unit 17. CPLEX Optimizer features and algorithms
Duration: 30 minutes
Learning objectives:
- Make an informed decision on which optimization engine and algorithm to choose
- Fine-tune engine performance by using an OPL settings file
Unit 18. Performance tuning
Duration: 20 minutes
Learning objectives:
- Improve the efficiency of OPL models by using declarative syntax and sparse arrays
- Choose an optimizer based on the structure of a problem
- Improve the efficiency of IBM ILOG Script statements
Unit 18. Appendix: The CPLEX Studio IDE graphical interface
Duration: 1 hour
Learning objectives:
- Create and manage projects in the CPLEX Studio IDE
- Use the Problem Browser and Outline views to navigate within OPL models
- Use the execution and debugging tools within the CPLEX Studio IDE