Each problem type requires a dedicated solver method in order to be solved quickly and efficiently. FORCESPRO is available in different variants in order to adapt to each user’s needs. When receiving a FORCESPRO license on the portal(https://my.embotech.com) a user can select one of the available variants which is best suited for the problem to be solved. At any point, a user can decide to upgrade to a larger variant in order to include additional solver methods in their available toolset for FORCESPRO.

The available variants are (smaller variants are included in larger ones):

## 2.1. Variant Summary¶

In the tables below you can find a summary of the components provided with each variant of FORCESPRO.

Table 2.1 Problem types supported for each variant

S

M

L

Problem Type

LP

QP

QCQP

BI-QP

NLP (SQP)

NLP (IP)

MINLP

Table 2.2 Interfaces provided for each variant

S

M

L

Interface

MATLAB Low-Level

✓*

Python Low-Level

✓*

MATLAB Y2F

MathWorks MPC Toolbox™ (Linear MPC)

MATLAB High-Level

✓**

Python High-Level

✓**

MathWorks MPC Toolbox™ (Nonlinear MPC)

✓**

* No Binary Constraints

** Only with SQP method

## 2.2. Variant S¶

This variant is used for generation of convex solvers. This variant should be used for solving:

• LP problems

• QP problems

• QCQP problems

This variant is delivered with the following interfaces:

## 2.3. Variant M¶

This variant further enables the generation of SQP solvers for NLPs and the solution of Binary-Integer QPs. This variant should be used for solving:

This variant is delivered with the following interfaces:

## 2.4. Variant L¶

This variant provides the full experience of FORCESPRO and enables all its features. This variant further enables the solution of:

This variant is delivered with the following interfaces: