library: libQuadp
#include "TQpSolverBase.h"

TQpSolverBase


class description - header file - source file - inheritance tree (.pdf)

class TQpSolverBase : public TObject

Inheritance Chart:
TObject
<-
TQpSolverBase
<-
TGondzioSolver
TMehrotraSolver
 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.


    public:
virtual ~TQpSolverBase() static TClass* Class() Double_t DataNorm() virtual void DefMonitor(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Double_t alpha, Double_t sigma, Int_t i, Double_t mu, Int_t stop_code, Int_t level) virtual void DefStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step) virtual Int_t DefStatus(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Int_t i, Double_t mu, Int_t level) virtual void DoMonitor(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Double_t alpha, Double_t sigma, Int_t i, Double_t mu, Int_t stop_code, Int_t level) virtual Int_t DoStatus(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Int_t i, Double_t mu, Int_t level) virtual void DumbStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step) virtual Double_t FinalStepLength(TQpVar* iterate, TQpVar* step) Double_t GetArTol() TQpLinSolverBase* GetLinearSystem() Double_t GetMuTol() virtual TClass* IsA() const TQpSolverBase& operator=(const TQpSolverBase& source) void SetArTol(Double_t ar) void SetMuTol(Double_t m) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual Int_t Solve(TQpDataBase* prob, TQpVar* iterate, TQpResidual* resids) virtual void Start(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step) virtual void SteveStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
TQpLinSolverBase* fSys Double_t fDnorm norm of problem data Double_t fMutol termination parameters Double_t fArtol Double_t fGamma_f parameters associated with the step length heuristic Double_t fGamma_a Double_t fPhi merit function, defined as the sum of the complementarity gap Int_t fMaxit maximum number of iterations allowed Double_t* fMu_history [fMaxit] history of values of mu obtained on all iterations to date Double_t* fRnorm_history [fMaxit] history of values of residual norm obtained on all iterations to date Double_t* fPhi_history [fMaxit] history of values of phi obtained on all iterations to date Double_t* fPhi_min_history [fMaxit] the i-th entry of this array contains the minimum value of phi public:
Int_t fIter iteration counter

Class Description

                                                                      
 TSolverBase                                                          
                                                                      
 The Solver class contains methods for monitoring and checking the    
 convergence status of the algorithm, methods to determine the step   
 length along a given direction, methods to define the starting point,
 and the solve method that implements the interior-point algorithm    
                                                                      

~TQpSolverBase()
 Deconstructor
void Start(TQpProbBase *formulation,TQpVar *iterate,TQpDataBase *prob, TQpResidual *resid,TQpVar *step)
 Implements a default starting-point heuristic. While interior-point theory
  places fairly loose restrictions on the choice of starting point, the choice
 of heuristic can significantly affect the robustness and efficiency of the
  algorithm.
Double_t FinalStepLength(TQpVar *iterate,TQpVar *step)
 Implements a version of Mehrotra starting point heuristic,
  modified to ensure identical steps in the primal and dual variables.
void DoMonitor(TQpDataBase *data,TQpVar *vars,TQpResidual *resids, Double_t alpha,Double_t sigma,Int_t i,Double_t mu, Int_t stop_code,Int_t level)
 Monitor progress / convergence aat each interior-point iteration
Int_t DoStatus(TQpDataBase *data,TQpVar *vars,TQpResidual *resids, Int_t i,Double_t mu,Int_t level)
 Tests for termination. Unless the user supplies a specific termination
 routine, this method calls another method defaultStatus, which returns
 a code indicating the current convergence status.
TQpSolverBase & operator=(const TQpSolverBase &source)
 Assignment operator

Author: Eddy Offermann May 2004
Last update: root/quadp:$Name: $:$Id: TQpSolverBase.cxx,v 1.8 2006/06/28 05:17:13 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.