38 lines
		
	
	
		
			884 B
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			884 B
		
	
	
	
		
			C++
		
	
	
| /**
 | |
|  * @file     NP.h
 | |
|  * @brief    Use this virtual class to represent a non-linear
 | |
|  *           problem. An implementation of this should provide
 | |
|  *           approximation and differentiation services to
 | |
|  *           allow SQP to work on the given problem.
 | |
|  * @author   Ivan Dario Jimenez
 | |
|  * @date     2/2/16
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <gtsam_unstable/linear/QP.h>
 | |
| 
 | |
| namespace gtsam {
 | |
| 
 | |
| class NP {
 | |
| public:
 | |
|   /*
 | |
|    * This function takes the a point and returns a quadratic 
 | |
|    * problem approximation to the non-linear Problem.
 | |
|    */
 | |
|   virtual QP approximate(const Vector& x) const = 0;
 | |
| 
 | |
|   /*
 | |
|    * Differentiates the objective function of the non-linear 
 | |
|    * problem at point x.
 | |
|    */
 | |
|   virtual Vector objectiveDerivative(const Vector& x) const = 0;
 | |
| 
 | |
|   /*
 | |
|    * Differentiates the constraints at point x.
 | |
|    */
 | |
|   virtual Vector constraintsDerivative(const Vector& x) const = 0;
 | |
| };
 | |
| 
 | |
| }
 |