OPL model complexity

The complexity of the Optimization Programming Language (OPL) model influences performance. Following are some factors that influence model complexity:

  • The Objective function. A more complex objective function increases the time that it takes to produce the optimal solution. A linear objective function is less complex than a quadratic objective function. The objective function influences the algorithms that CPLEX can choose from. Quadratic objectives must be solved using the barrier algorithm, while linear objectives allow CPLEX to use more algorithms. In IBM® Analytical Decision Management, the objective function is determined by the application you are using (for example, IBM Analytical Decision Management for Campaign Optimization uses Mixed Integer Programming).
  • Number and placement of constraints. Increasing the number of constraints increases complexities. Note that a single constraint gesture in IBM Analytical Decision Management might be reflected in multiple constraints to CPLEX.
  • Modeling of the constraints. Again, the way a business problem is modeled in the OPL can impact performance. This is true in the modeling of constraints. When creating custom applications, the application designer must take care when modeling business constraints in the OPL.
  • Data structures. The data structures used in the OPL can have a large impact on the amount of memory needed to complete the OPL model processing.