- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.7.1/Ipopt/src/Algorithm/LinearSolvers/IpGenKKTSolverInterface.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2007 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpGenKKTSolverInterface.hpp 1324 2008-09-16 14:19:26Z andreasw $
    00006 //
    00007 // Authors:  Andreas Waechter     IBM    2007-03-01
    00008
    00009 #ifndef __IPGENKKTSOLVERINTERFACE_HPP__
    00010 #define __IPGENKKTSOLVERINTERFACE_HPP__
    00011
    00012 #include "IpUtils.hpp"
    00013 #include "IpAlgStrategy.hpp"
    00014 #include "IpSymLinearSolver.hpp"
    00015
    00016 namespace Ipopt
    00017 {
    00020   class GenKKTSolverInterface: public AlgorithmStrategyObject
    00021   {
    00022   public:
    00025     GenKKTSolverInterface()
    00026     {}
    00027
    00028     virtual ~GenKKTSolverInterface()
    00029     {}
    00031
    00033     virtual bool InitializeImpl(const OptionsList& options,
    00034                                 const std::string& prefix) = 0;
    00035
    00073     virtual ESymSolverStatus MultiSolve(
    00074       bool new_matrix
    00075       , Index n_x
    00076       , Index n_c
    00077       , Index n_d
    00078       , SmartPtr<const SymMatrix> W
    00079       , SmartPtr<const Matrix> Jac_c
    00080       , SmartPtr<const Matrix> Jac_d
    00081       , const Number* D_x
    00082       , const Number* D_s
    00083       , const Number* D_c
    00084       , const Number* D_d
    00085       , Number delta_x
    00086       , Number delta_s
    00087       , Number delta_c
    00088       , Number delta_d
    00089       , Index n_rhs
    00090       , Number* rhssol
    00091       , bool check_NegEVals
    00092       , Index numberOfNegEVals
    00093     )=0;
    00094
    00101     virtual Index NumberOfNegEVals() const =0;
    00103
    00104     //* @name Options of Linear solver */
    00106
    00112     virtual bool IncreaseQuality() =0;
    00113
    00117     virtual bool ProvidesInertia() const =0;
    00119   };
    00120
    00121 } // namespace Ipopt
    00122
    00123 #endif