lucid  0.0.2
Lifting-based Uncertain Control Invariant Dynamics
Loading...
Searching...
No Matches
lucid::GurobiOptimiser Class Referencefinal

Linear optimiser using the Gurobi solver. More...

#include <GurobiOptimiser.h>

Inheritance diagram for lucid::GurobiOptimiser:
lucid::Optimiser

Public Member Functions

bool solve_fourier_barrier_synthesis_impl (const FourierBarrierSynthesisProblem &problem, const SolutionCallback &cb) const override
 Implementation of the Fourier barrier synthesis solver.
std::string to_string () const override
 Obtain the string representation of this object.
 Optimiser (std::string problem_log_file="", std::string iis_log_file="")
 Construct a new Optimiser object.
Public Member Functions inherited from lucid::Optimiser
 Optimiser (std::string problem_log_file="", std::string iis_log_file="")
 Construct a new Optimiser object.
bool solve_fourier_barrier_synthesis (const FourierBarrierSynthesisProblem &problem, const SolutionCallback &cb) const
 Solve the FourierBarrierCertificate synthesis optimisation problem by solving the corresponding LP.
const std::string & problem_log_file () const
 Get read-only access to the problem log file of the solver.
const std::string & iis_log_file () const
 Get read-only access to the irreducible infeasible set log file of the solver.
bool has_problem_log_file () const
 Get read-only access to the problem log file of the solver.
bool has_iis_log_file () const
 Get read-only access to the irreducible infeasible set log file of the solver.
std::string & m_problem_log_file ()
 Get read-write access to the problem log file of the solver.
std::string & m_iis_log_file ()
 Get read-write access to the irreducible infeasible set log file of the solver.
bool should_log_problem () const
 Check whether the solver is configured to log the lp problem.
bool should_log_iis () const
 Check whether the solver is configured to log the iis.

Additional Inherited Members

Public Types inherited from lucid::Optimiser
using SolutionCallback = std::function<void(bool, double, const Vector&, double, double, double)>
 Callback function called when the optimisation is done.
Protected Attributes inherited from lucid::Optimiser
std::string problem_log_file_
 File to log the problem to, if provided.
std::string iis_log_file_
 File to log the IIS (Irreducible Inconsistent Subsystem) to, if found.

Detailed Description

Linear optimiser using the Gurobi solver.

Member Function Documentation

◆ Optimiser()

lucid::Optimiser::Optimiser ( std::string problem_log_file = "",
std::string iis_log_file = "" )
explicit

Construct a new Optimiser object.

If problem_log_file is provided, the optimiser will log the LP problem to the specified file. If iis_log_file is provided, the optimiser will log the Irreducible Inconsistent Subsystem (IIS) to the specified file if the problem is found to be infeasible.

Parameters
problem_log_filefile to log the problem to
iis_log_filefile to log the IIS to

◆ solve_fourier_barrier_synthesis_impl()

bool lucid::GurobiOptimiser::solve_fourier_barrier_synthesis_impl ( const FourierBarrierSynthesisProblem & params,
const SolutionCallback & cb ) const
nodiscardoverridevirtual

Implementation of the Fourier barrier synthesis solver.

It interfaces with the specific LP solver backend. See FourierBarrierCertificate::synthesize for more details.

Parameters
paramsproblem definition
cbcallback function called when the optimisation is done
Returns
true if the optimisation was successful
false if no solution was found (i.e., the problem is infeasible

Implements lucid::Optimiser.

◆ to_string()

std::string lucid::GurobiOptimiser::to_string ( ) const
nodiscardoverridevirtual

Obtain the string representation of this object.

Returns
string representation of this object

Reimplemented from lucid::Optimiser.


The documentation for this class was generated from the following files: