qpOASES
3.2.1
An Implementation of the Online Active Set Strategy
|
00001 /* 00002 * This file is part of qpOASES. 00003 * 00004 * qpOASES -- An Implementation of the Online Active Set Strategy. 00005 * Copyright (C) 2007-2017 by Hans Joachim Ferreau, Andreas Potschka, 00006 * Christian Kirches et al. All rights reserved. 00007 * 00008 * qpOASES is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * qpOASES is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 * See the GNU Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with qpOASES; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 * 00022 */ 00023 00024 00036 #ifndef QPOASES_OPTIONS_HPP 00037 #define QPOASES_OPTIONS_HPP 00038 00039 00040 #include <qpOASES/Utils.hpp> 00041 00042 00043 BEGIN_NAMESPACE_QPOASES 00044 00045 00056 class Options 00057 { 00058 /* 00059 * PUBLIC MEMBER FUNCTIONS 00060 */ 00061 public: 00063 Options( ); 00064 00066 Options( const Options& rhs 00067 ); 00068 00070 ~Options( ); 00071 00073 Options& operator=( const Options& rhs 00074 ); 00075 00076 00079 returnValue setToDefault( ); 00080 00083 returnValue setToReliable( ); 00084 00087 returnValue setToMPC( ); 00088 00091 returnValue setToFast( ); 00092 00093 00100 returnValue ensureConsistency( ); 00101 00102 00105 returnValue print( ) const; 00106 00107 00108 /* 00109 * PROTECTED MEMBER FUNCTIONS 00110 */ 00111 protected: 00112 00115 returnValue copy( const Options& rhs 00116 ); 00117 00118 /* 00119 * PUBLIC MEMBER VARIABLES 00120 */ 00121 public: 00122 PrintLevel printLevel; 00124 BooleanType enableRamping; 00125 BooleanType enableFarBounds; 00126 BooleanType enableFlippingBounds; 00127 BooleanType enableRegularisation; 00128 BooleanType enableFullLITests; 00129 BooleanType enableNZCTests; 00130 int_t enableDriftCorrection; 00131 int_t enableCholeskyRefactorisation; 00132 BooleanType enableEqualities; 00134 real_t terminationTolerance; 00135 real_t boundTolerance; 00137 real_t boundRelaxation; 00138 real_t epsNum; 00139 real_t epsDen; 00140 real_t maxPrimalJump; 00141 real_t maxDualJump; 00143 real_t initialRamping; 00144 real_t finalRamping; 00145 real_t initialFarBounds; 00146 real_t growFarBounds; 00147 SubjectToStatus initialStatusBounds; 00148 real_t epsFlipping; 00149 int_t numRegularisationSteps; 00150 real_t epsRegularisation; 00151 int_t numRefinementSteps; 00152 real_t epsIterRef; 00153 real_t epsLITests; 00154 real_t epsNZCTests; 00156 real_t rcondSMin; 00157 BooleanType enableInertiaCorrection; 00159 BooleanType enableDropInfeasibles; 00160 int_t dropBoundPriority; 00161 int_t dropEqConPriority; 00162 int_t dropIneqConPriority; 00163 }; 00164 00165 00166 END_NAMESPACE_QPOASES 00167 00168 00169 #endif /* QPOASES_OPTIONS_HPP */ 00170 00171 00172 /* 00173 * end of file 00174 */