OPL allows users to define models using high-level mathematical notation. Its primary features include: •
Separation of Model and Data: OPL promotes a clean architecture where the optimization logic (stored in files) is kept separate from the instance data (stored in files). •
Hybrid Modeling: It is one of the few AMLs that natively supports both
Mathematical Programming (MP) and
Constraint Programming (CP) within the same environment. •
Scheduling Support: OPL includes specialized primitives for scheduling problems, such as interval variables, sequence variables, and cumulative functions. •
Scripting: It includes
IBM ILOG Script, a
JavaScript-based language used for data pre-processing, controlling the solving flow (e.g., solving a sequence of models), and post-processing results. == Example ==