MIMPC++
A fast typesafe Mixed Integer MPC C++ library
Classes | Enumerations
Solver.hpp File Reference

Abstract class that represents any solver interface and provides a low-lever mpc solver interface. More...

#include <eigen3/Eigen/Dense>
#include "System.hpp"
Include dependency graph for Solver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mimpc::Solver< SystemType, N, min_steps_on, min_steps_off, max_steps_on, num_steps_solver_delay, integration_scheme >
 

Enumerations

enum  mimpc::SOLVER_RETURN { mimpc::OPTIMAL = 1 , mimpc::NO_SOLUTION = 0 , mimpc::TIME_LIMIT_WITH_SOLUTION = 2 , mimpc::USER_INTERRUPT = -10 }
 
enum  mimpc::COST_TYPE { mimpc::L1Linear = 0 , mimpc::L2Quadratic = 1 }
 
enum  mimpc::INTEGRATION_SCHEME { mimpc::FORWARD_EULER = 0 , mimpc::BACKWARD_EULER = 1 }
 

Detailed Description

Abstract class that represents any solver interface and provides a low-lever mpc solver interface.

Author
Franek Stark Contact: frane.nosp@m.k.st.nosp@m.ark@d.nosp@m.fki..nosp@m.de

Enumeration Type Documentation

◆ COST_TYPE

Types of how the system state and input error is measured

Enumerator
L1Linear 

Linear cost term representing the L1 Norm (absolute distance)

L2Quadratic 

Quadratic cost term representing the L2 Norm (euclidean distance)

◆ INTEGRATION_SCHEME

Ways of how the system dynamics are discretized

Enumerator
FORWARD_EULER 

forward (explicit) euler discretization

BACKWARD_EULER 

backward (implicit) euler discretization

◆ SOLVER_RETURN

Solver return code definitions

Enumerator
OPTIMAL 

Optimal solution was found (within time solver limit)

NO_SOLUTION 

No solution was found (within time solver limit)

TIME_LIMIT_WITH_SOLUTION 

Suboptimal/feasible solution was found within time solver limit

USER_INTERRUPT 

Solver was interrupted by user (i.e. by pressing CTRL+C while solver was running)