Ipopt 3.11.9
Loading...
Searching...
No Matches
IpInexactSearchDirCalc.hpp
Go to the documentation of this file.
1// Copyright (C) 2008 International Business Machines and others.
2// All Rights Reserved.
3// This code is published under the Eclipse Public License.
4//
5// $Id: IpInexactSearchDirCalc.hpp 1861 2010-12-21 21:34:47Z andreasw $
6//
7// Authors: Andreas Waechter IBM 2008-08-31
8
9#ifndef __IPINEXACTSEARCHDIRCALC_HPP__
10#define __IPINEXACTSEARCHDIRCALC_HPP__
11
13#include "IpInexactCq.hpp"
15#include "IpInexactPDSolver.hpp"
16
17namespace Ipopt
18{
25 {
26 public:
31 SmartPtr<InexactPDSolver> inexact_pd_solver);
32
36
38 virtual bool InitializeImpl(const OptionsList& options,
39 const std::string& prefix);
40
45 virtual bool ComputeSearchDirection();
46
51
52 private:
63
66
70
73 {
74 InexactData& inexact_data =
75 static_cast<InexactData&>(IpData().AdditionalData());
76 DBG_ASSERT(dynamic_cast<InexactData*>(&IpData().AdditionalData()));
77 return inexact_data;
78 }
79
82 {
83 InexactCq& inexact_cq =
84 static_cast<InexactCq&>(IpCq().AdditionalCq());
85 DBG_ASSERT(dynamic_cast<InexactCq*>(&IpCq().AdditionalCq()));
86 return inexact_cq;
87 }
88
94
100
110 };
111
112} // namespace Ipopt
113
114#endif
#define DBG_ASSERT(test)
Definition IpDebug.hpp:38
IpoptCalculatedQuantities & IpCq() const
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm.
Implementation of the search direction calculator that computes the search direction using iterative ...
InexactData & InexData()
Method to easily access Inexact data.
virtual ~InexactSearchDirCalculator()
Default destructor.
SmartPtr< InexactPDSolver > inexact_pd_solver_
InexactSearchDirCalculator()
Default Constructor.
InexactSearchDirCalculator(const InexactSearchDirCalculator &)
Copy Constructor.
DecompositionTypeEnum
enumeration for decomposition options
DecompositionTypeEnum decomposition_type_
Type of decomposition.
void operator=(const InexactSearchDirCalculator &)
Overloaded Equals Operator.
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
virtual bool ComputeSearchDirection()
Method for computing the search direction.
Number local_inf_Ac_tol_
termination tolerance for local infeasibility
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
InexactSearchDirCalculator(SmartPtr< InexactNormalStepCalculator > normal_step_calculator, SmartPtr< InexactPDSolver > inexact_pd_solver)
Constructor.
SmartPtr< InexactNormalStepCalculator > normal_step_calculator_
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
This class stores a list of user set options.
Base class for computing the search direction for the line search.
Template class for Smart Pointers.
double Number
Type of all numbers.
Definition IpTypes.hpp:17