NDOSolver / FiOracle
Interfaces and Solvers for NonDifferentiable Optimization
Loading...
Searching...
No Matches
LukFiOrcl.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/*---------------------------- File LukFiOrcl.h ----------------------------*/
3/*--------------------------------------------------------------------------*/
37/*--------------------------------------------------------------------------*/
38/*----------------------------- DEFINITIONS --------------------------------*/
39/*--------------------------------------------------------------------------*/
40
41#ifndef __LukFiOrcl
42 #define __LukFiOrcl /* self-identification: #endif at the end of the file */
43
44/*--------------------------------------------------------------------------*/
45/*------------------------------ INCLUDES ----------------------------------*/
46/*--------------------------------------------------------------------------*/
47
48#include "FiOracle.h"
49
50/*--------------------------------------------------------------------------*/
51/*------------------------ NAMESPACE and USINGS ----------------------------*/
52/*--------------------------------------------------------------------------*/
53
54namespace NDO_di_unipi_it
55{
56
57/*--------------------------------------------------------------------------*/
58/*--------------------------- CLASS LukFiOrcl ------------------------------*/
59/*--------------------------------------------------------------------------*/
60
61class LukFiOrcl : public FiOracle
62{
63
64/*--------------------------------------------------------------------------*/
65/*----------------------- PUBLIC PART OF THE CLASS -------------------------*/
66/*--------------------------------------------------------------------------*/
67
68 public:
69
70/*--------------------------------------------------------------------------*/
71/*--------------------------- PUBLIC METHODS -------------------------------*/
72/*--------------------------------------------------------------------------*/
73/*---------------------------- CONSTRUCTOR ---------------------------------*/
74/*--------------------------------------------------------------------------*/
75
76 LukFiOrcl( std::istream *iStrm = nullptr );
77
269/*--------------------------------------------------------------------------*/
270/*-------------------------- OTHER INITIALIZATIONS -------------------------*/
271/*--------------------------------------------------------------------------*/
272
273/*--------------------------------------------------------------------------*/
274/*-------------- METHODS FOR READING THE DATA OF THE PROBLEM ---------------*/
275/*--------------------------------------------------------------------------*/
280
350/*--------------------------------------------------------------------------*/
353 Index GetName( void ) { return( NameF ); }
354
356/*----------------------- METHODS FOR COMPUTING Fi() -----------------------*/
357/*--------------------------------------------------------------------------*/
358
359 virtual HpNum Fi( cIndex wFi = Inf< Index >() );
360
361/*--------------------------------------------------------------------------*/
362/*------------- METHODS FOR READING SUBGRADIENTS / CONSTRAINTS -------------*/
363/*--------------------------------------------------------------------------*/
364
365 virtual Index GetGi( SgRow SubG , cIndex_Set &SGBse ,
366 cIndex Name = Inf< Index >() , cIndex strt = 0 ,
367 Index stp = Inf< Index >() );
368
369/*--------------------------------------------------------------------------*/
370
371 virtual HpNum GetVal( cIndex Name = Inf< Index >() );
372
373/*--------------------------------------------------------------------------*/
374/*-------------------- METHODS FOR READING OTHER RESULTS -------------------*/
375/*--------------------------------------------------------------------------*/
376
378
379/*--------------------------------------------------------------------------*/
380/*------------------------------ DESTRUCTOR --------------------------------*/
381/*--------------------------------------------------------------------------*/
382
383 ~LukFiOrcl();
384
385/*--------------------------------------------------------------------------*/
386/*-------------------- PROTECTED PART OF THE CLASS -------------------------*/
387/*--------------------------------------------------------------------------*/
388
389 protected:
390
391/*--------------------------------------------------------------------------*/
392/*---------------------------- PROTECTED METHODS ---------------------------*/
393/*--------------------------------------------------------------------------*/
394
395 void SetDimension( void );
396
397/*--------------------------------------------------------------------------*/
398/*----------------------- PROTECTED DATA STRUCTURES -----------------------*/
399/*--------------------------------------------------------------------------*/
400
404
405 Row bQR;
406 Row aQR;
407 LMMat cQR;
408
409/*--------------------------------------------------------------------------*/
410/*--------------------------------------------------------------------------*/
411
412 }; // end( class LukFiOrcl )
413
414/*--------------------------------------------------------------------------*/
415
416}; // end( namespace NDO_di_unipi_it )
417
418/*--------------------------------------------------------------------------*/
419/*--------------------------------------------------------------------------*/
420
421#endif /* LukFiOrcl.h */
422
423/*--------------------------------------------------------------------------*/
424/*------------------------- End File LukFiOrcl.h ---------------------------*/
425/*--------------------------------------------------------------------------*/
Definition FiOracle.h:231
Definition LukFiOrcl.h:62
Index NameF
name (number) of the function at point Lambda
Definition LukFiOrcl.h:401
Index GetName(void)
Definition LukFiOrcl.h:353
LukFiOrcl(std::istream *iStrm=nullptr)
virtual HpNum Fi(cIndex wFi=Inf< Index >())
virtual Index GetGi(SgRow SubG, cIndex_Set &SGBse, cIndex Name=Inf< Index >(), cIndex strt=0, Index stp=Inf< Index >())
Index seed
seed for random number generation
Definition LukFiOrcl.h:403
void GetInitialPoint(LMRow lmb)
virtual HpNum GetLowerBound(cIndex wFi=Inf< Index >())
Index NrCmp
number of component functions
Definition LukFiOrcl.h:402
virtual HpNum GetVal(cIndex Name=Inf< Index >())
double HpNum
"finer" floating point numbers
Definition OPTtypes.h:98
const Index cIndex
a read-only Index
Definition OPTtypes.h:64
cIndex * cIndex_Set
read-only array
Definition OPTtypes.h:65
Number * Row
"normal" (fp) array
Definition OPTtypes.h:90
unsigned int Index
Index in a vector ( >= 0 )
Definition OPTtypes.h:60
SgNum * SgRow
a subgradient
Definition OPTtypes.h:112
LMNum * LMRow
a vector of Lagrangean Multipliers
Definition OPTtypes.h:130
LMRow * LMMat
a matrix of Lagrangean Multipliers
Definition OPTtypes.h:131
static constexpr T Inf(void) noexcept
Inf< T >() = infinity value for T.
Definition OPTUtils.h:357
Definition Bundle.h:68