Ipopt Documentation  
IpLineSearch.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, 2006 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6 
7 #ifndef __IPLINESEARCH_HPP__
8 #define __IPLINESEARCH_HPP__
9 
10 #include "IpAlgStrategy.hpp"
12 
13 namespace Ipopt
14 {
15 
18 {
19 public:
24  { }
25 
27  virtual ~LineSearch()
28  { }
30 
35  virtual void FindAcceptableTrialPoint() = 0;
36 
44  virtual void Reset() = 0;
45 
59  virtual void SetRigorousLineSearch(
60  bool rigorous
61  ) = 0;
62 
66  virtual bool CheckSkippedLineSearch() = 0;
67 
79  virtual bool ActivateFallbackMechanism() = 0;
80 
81 private:
94  const LineSearch&
95  );
96 
97  void operator=(
98  const LineSearch&
99  );
101 
102 };
103 
104 } // namespace Ipopt
105 
106 #endif
This is the base class for all algorithm strategy objects.
Base class for line search objects.
virtual bool CheckSkippedLineSearch()=0
Check if the line search procedure didn't accept a new iterate during the last call of FindAcceptable...
LineSearch(const LineSearch &)
Copy Constructor.
virtual bool ActivateFallbackMechanism()=0
This method should be called if the optimization process requires the line search object to switch to...
virtual void SetRigorousLineSearch(bool rigorous)=0
Set flag indicating whether a very rigorous line search should be performed.
void operator=(const LineSearch &)
virtual void FindAcceptableTrialPoint()=0
Perform the line search.
virtual void Reset()=0
Reset the line search.
virtual ~LineSearch()
Destructor.
LineSearch()
Default Constructor.
#define IPOPTLIB_EXPORT
This file contains a base class for all exceptions and a set of macros to help with exceptions.