cyqlone develop
Fast, parallel and vectorized solver for linear systems with optimal control structure.
Loading...
Searching...
No Matches
Optimal control solvers

Detailed Description

Solvers for optimal control problems.

Classes

struct  cyqlone::qpalm::CyqloneData
struct  cyqlone::qpalm::CyQPALMBackendSettings
struct  cyqlone::qpalm::CyQPALMBackendStats
struct  cyqlone::qpalm::unique_CyQPALMBackend< VL, DefaultOrder >

Enumerations

enum class  cyqlone::qpalm::WarmStartingStrategy { cyqlone::qpalm::WarmStartingStrategy::Zeros , cyqlone::qpalm::WarmStartingStrategy::Copy , cyqlone::qpalm::WarmStartingStrategy::Shift , cyqlone::qpalm::WarmStartingStrategy::ShiftNoInequality }

Functions

template<index_t VL, StorageOrder DefaultOrder = StorageOrder::ColMajor>
unique_CyQPALMBackend< VL, DefaultOrder > cyqlone::qpalm::make_cyqpalm_backend (const CyqloneStorage< real_t > &ocp, CyqloneData data, const CyQPALMBackendSettings &settings)
template<index_t VL, StorageOrder DefaultOrder = StorageOrder::ColMajor>
void cyqlone::qpalm::update_cyqpalm_backend (CyQPALMBackend< VL, DefaultOrder > &backend, const CyqloneStorage< real_t > &ocp)
template<index_t VL, StorageOrder DefaultOrder = StorageOrder::ColMajor>
void cyqlone::qpalm::update_cyqpalm_backend (CyQPALMBackend< VL, DefaultOrder > &backend, const LinearOCPStorage &ocp)

Class Documentation

◆ cyqlone::qpalm::CyqloneData

struct cyqlone::qpalm::CyqloneData
Class Members
span< const real_t > initial_variables = {}
span< const real_t > initial_inequality_multipliers = {}
span< const real_t > initial_equality_multipliers = {}

◆ cyqlone::qpalm::CyQPALMBackendSettings

struct cyqlone::qpalm::CyQPALMBackendSettings
Class Members
index_t processors = 8
bool print_residuals = false
int print_precision = 3
double changing_constr_factor = 0.05
index_t max_update_count = 5
bool detailed_timings = false
TricyqleParams< real_t > tricyqle_params {}
uint32_t spin_count = std::numeric_limits<uint32_t>::max()
WarmStartingStrategy strategy = WarmStartingStrategy::Copy

◆ cyqlone::qpalm::CyQPALMBackendStats

struct cyqlone::qpalm::CyQPALMBackendStats
Class Members
index_t num_updates = 0
index_t rank_updates = 0
index_t num_factor = 0

Enumeration Type Documentation

◆ WarmStartingStrategy

#include <cyqlone/qpalm/backends/ocp-backend-cyqlone.hpp>

Enumerator
Zeros 
Copy 
Shift 
ShiftNoInequality 

Definition at line 24 of file ocp-backend-cyqlone.hpp.

Function Documentation

◆ make_cyqpalm_backend()

template<index_t VL, StorageOrder DefaultOrder = StorageOrder::ColMajor>
unique_CyQPALMBackend< VL, DefaultOrder > cyqlone::qpalm::make_cyqpalm_backend ( const CyqloneStorage< real_t > & ocp,
CyqloneData data,
const CyQPALMBackendSettings & settings )

◆ update_cyqpalm_backend() [1/2]

template<index_t VL, StorageOrder DefaultOrder = StorageOrder::ColMajor>
void cyqlone::qpalm::update_cyqpalm_backend ( CyQPALMBackend< VL, DefaultOrder > & backend,
const CyqloneStorage< real_t > & ocp )

◆ update_cyqpalm_backend() [2/2]

template<index_t VL, StorageOrder DefaultOrder = StorageOrder::ColMajor>
void cyqlone::qpalm::update_cyqpalm_backend ( CyQPALMBackend< VL, DefaultOrder > & backend,
const LinearOCPStorage & ocp )