LPInitSolver.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2 
3  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4  * Atlanta, Georgia 30332-0415
5  * All Rights Reserved
6  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7 
8  * See LICENSE for the license information
9 
10  * -------------------------------------------------------------------------- */
11 
20 #pragma once
21 
22 #include <gtsam_unstable/dllexport.h>
25 
26 namespace gtsam {
53 class GTSAM_UNSTABLE_EXPORT LPInitSolver {
54 private:
55  const LP& lp_;
56 
57 public:
59  LPInitSolver(const LP& lp) : lp_(lp) {}
60 
62  VectorValues solve() const;
63 
64 private:
66  LP::shared_ptr buildInitialLP(Key yKey) const;
67 
72  GaussianFactorGraph::shared_ptr buildInitOfInitGraph() const;
73 
75  double compute_y0(const VectorValues& x0) const;
76 
78  std::vector<std::pair<Key, Matrix>> collectTerms(
79  const LinearInequality& factor) const;
80 
82  InequalityFactorGraph addSlackVariableToInequalities(Key yKey,
83  const InequalityFactorGraph& inequalities) const;
84 
85  // friend class for unit-testing private methods
86  friend class LPInitSolverInitializationTest;
87 };
88 
89 }
GaussianFactorGraph.h
Linear Factor Graph where all factors are Gaussians.
gtsam::GaussianFactorGraph::shared_ptr
std::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition: GaussianFactorGraph.h:82
gtsam::LP
Definition: LP.h:51
gtsam::LinearInequality
Definition: LinearInequality.h:33
gtsam::VectorValues
Definition: VectorValues.h:74
gtsam::LPInitSolver
Definition: LPInitSolver.h:53
x0
static Symbol x0('x', 0)
gtsam::InequalityFactorGraph
Definition: InequalityFactorGraph.h:32
gtsam
traits
Definition: chartTesting.h:28
LP.h
Struct used to hold a Linear Programming Problem.
gtsam::LPInitSolver::LPInitSolver
LPInitSolver(const LP &lp)
Construct with an LP problem.
Definition: LPInitSolver.h:59
gtsam::LPInitSolver::lp_
const LP & lp_
Definition: LPInitSolver.h:55
gtsam::Key
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:97
gtsam::LP::shared_ptr
std::shared_ptr< LP > shared_ptr
Definition: LP.h:52


gtsam
Author(s):
autogenerated on Tue Jun 25 2024 03:01:17