# List of problems

## Characteristics of the problems

In the following table, we give some characteristics about the problems and their solutions.

Problem | (x, u) dims | Objective | Constraint arc | Singular arc | Differentiable | Time dependence |
---|---|---|---|---|---|---|

Double integrator consumption | (2, 1) | Lagrange | ✅ u | ❌ | ❌ u | autonomous |

Double integrator energy | (2, 1) | Lagrange | ❌ | ❌ | ✅ | autonomous |

Double integrator energy cc | (2, 1) | Lagrange | ✅ u | ❌ | ✅ | autonomous |

Double integrator energy distance | (2, 1) | Bolza | ❌ | ❌ | ✅ | autonomous |

Double integrator energy sc | (2, 1) | Lagrange | ✅ x | ❌ | ✅ | autonomous |

Double integrator time | (2, 1) | Mayer | ✅ u | ❌ | ✅ | autonomous |

Goddard | (3, 1) | Mayer | ✅ x, u | ✅ | ✅ | autonomous |

LQR | (2, 1) | Lagrange | ❌ | ❌ | ✅ | autonomous |

Orbital transfert consumption | (4, 2) | Lagrange | ✅ u | ❌ | ❌ u | autonomous |

Orbital transfert energy | (4, 2) | Lagrange | ❌ | ❌ | ✅ | autonomous |

Orbital transfert time | (4, 2) | Mayer | ✅ u | ❌ | ✅ | autonomous |

Simple exponential consumption | (1, 1) | Lagrange | ✅ u | ❌ | ❌ u | autonomous |

Simple exponential energy | (1, 1) | Lagrange | ❌ | ❌ | ✅ | autonomous |

Simple exponential time | (1, 1) | Mayer | ✅ u | ❌ | ✅ | autonomous |

Simple integrator energy | (1, 1) | Lagrange | ❌ | ❌ | ✅ | autonomous |

Simple integrator lqr | (1, 1) | Bolza | ❌ | ❌ | ✅ | autonomous |

Simple integrator mixed constraint | (1, 1) | Lagrange | ✅ (x,u) | ❌ | ✅ | autonomous |

Simple integrator turnpike | (1, 1) | Lagrange | ✅ u | ✅ | ✅ | autonomous |

Simple integrator non autonomous | (1, 1) | Lagrange | ✅ x | ❌ | ✅ | non autonomous |

Legend:

**Problem**: a name with a link to the problem page**(x, u) dims**: dimension of the state and the control**Objective**: Lagrange, Mayer or Bolza**Constraint arc**(active on the solution):- ❌ (no)
- ✅ x(pure state constraints)
- ✅ u (pure control constraints)
- ✅ (x,u) (mixed state/control constraints)

**Singular arc**: in the case of affine problems, we tell if the solution has a singular arc, that is a non-empty arc along which the switching function vanishes.- ❌ (no)
- ✅ (yes)

**Differentiable**:- ✅ (yes)
- ❌ x (the dynamics and/or other data from the model is non differentiable wrt to the state)
- ❌ u (the dynamics and/or other data from the model is non differentiable wrt to the control)

**Time dependence**: autonomous or non autonomous

## Get some problems for tests

To get all the problems as a `Tuple`

of `OptimalControlProblem`

, simply

`Problems()`

To get all the problems with one dimensional state and Lagrange cost:

`Problems(:x_dim_1, :lagrange)`

You can use more sophisticated rules to filter. You simply have to define a logical condition with the combination of symbols and the three operators: `!`

, `|`

and `&`

, respectively for the negation, the disjunction and the conjunction.

Here is an example to get the problems, as a `Tuple`

of `OptimalControlProblem`

, whom description does not contain `:lagrange`

, or contains `:time`

(the `or`

is not exclusive):

`@Problems !:lagrange | :time`