10 #ifndef __IPCGPENALTYDATA_HPP__
11 #define __IPCGPENALTYDATA_HPP__
39 const std::string& prefix);
249 #if COIN_IPOPT_CHECKLEVEL > 0
283 #if COIN_IPOPT_CHECKLEVEL > 0
287 debug_delta_cgpen_tag_sum_ =
delta_cgpen->GetTagSum();
290 debug_delta_cgpen_tag_ = 0;
291 debug_delta_cgpen_tag_sum_ =
delta_cgpen->GetTagSum();
302 #if COIN_IPOPT_CHECKLEVEL > 0
306 debug_delta_cgpen_tag_sum_ =
delta_cgpen->GetTagSum();
309 debug_delta_cgpen_tag_ = 0;
310 debug_delta_cgpen_tag_sum_ =
delta_cgpen->GetTagSum();
321 #if COIN_IPOPT_CHECKLEVEL > 0
325 debug_delta_cgfast_tag_sum_ =
delta_cgfast->GetTagSum();
328 debug_delta_cgfast_tag_ = 0;
329 debug_delta_cgfast_tag_sum_ =
delta_cgfast->GetTagSum();
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm.
bool HaveCgPenDeltas() const
void SetHaveCgPenDeltas(bool have_cgpen_deltas)
bool InitializeDataStructures()
Initialize Data Structures.
~CGPenaltyData()
Default destructor.
Index NeverTryPureNewton()
SmartPtr< const IteratesVector > delta_cgfast_
void set_delta_cgpen(SmartPtr< IteratesVector > &delta_pen)
Set the delta_cgpen - like the trial point, this method copies the pointer for efficiency (no copy an...
SmartPtr< const IteratesVector > delta_cgpen() const
Delta for the Chen-Goldfarb search direction.
CGPenaltyData()
Constructor.
void Set_kkt_penalty(Number kkt_penalty)
bool never_try_pure_Newton_
Flag indicating whether the pure Newton method is used.
bool KKTPenaltyInitialized() const
bool PenaltyInitialized() const
void Set_penalty(Number penalty)
bool penalty_initialized_
void SetNeverTryPureNewton(bool never_try_pure_Newton)
CGPenaltyData(const CGPenaltyData &)
Copy Constructor.
SmartPtr< const IteratesVector > delta_cgpen_
void SetCurrPenaltyPert(Number curr_penalty_pert)
void SetRestorCounter(Number restor_counter)
Index restor_iter_
The iteration at which pure Newton method is given up.
void AcceptTrialPoint()
Set the current iterate values from the trial values.
void SetPrimalStepSize(Number max_alpha_x)
bool have_cgpen_deltas_
The following flag is set to true, if some other part of the algorithm has already computed the Chen-...
Number curr_penalty() const
void SetPenaltyUninitialized()
bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
This method must be called to initialize the global algorithmic parameters.
bool have_cgfast_deltas_
The following flag is set to true, if some other part of the algorithm has already computed the fast ...
void SetRestorIter(Index restor_iter)
bool HaveCgFastDeltas() const
SmartPtr< const IteratesVector > delta_cgfast() const
Delta for the fast Chen-Goldfarb search direction.
bool kkt_penalty_initialized_
bool initialize_called_
flag indicating if Initialize method has been called (for debugging)
void SetHaveCgFastDeltas(bool have_cgfast_deltas)
Number curr_penalty_pert_
void SetKKTPenaltyUninitialized()
Number curr_kkt_penalty() const
void operator=(const CGPenaltyData &)
Overloaded Equals Operator.
void set_delta_cgfast(SmartPtr< IteratesVector > &delta_fast)
Set the delta_cgpen - like the trial point, this method copies the pointer for efficiency (no copy an...
Base class for additional data that is special to a particular type of algorithm, such as the CG pena...
Class responsible for all message output.
This class stores a list of user set options.
Template class for Smart Pointers.
unsigned int Tag
Type for the Tag values.
SmartPtr< const U > ConstPtr(const SmartPtr< U > &smart_ptr)
bool IsValid(const SmartPtr< U > &smart_ptr)
int Index
Type of all indices of vectors, matrices etc.
bool IsNull(const SmartPtr< U > &smart_ptr)
double Number
Type of all numbers.