Minotaur 0.4.1
Docs for developers
NLPMultiStart.h
Go to the documentation of this file.
1//
2// Minotaur -- It's only 1/2 bull
3//
4// (C)opyright 2008 - 2025 The Minotaur Team.
5//
6
16#ifndef MINOTAURNLPMULTISTART_H
17#define MINOTAURNLPMULTISTART_H
18
19#include "Heuristic.h"
20#include "Types.h"
21
22namespace Minotaur {
23
24 class Engine;
25 class Problem;
26
27
29 struct MSHeurStats {
30 UInt numNLPs;
31 UInt numInfeas;
32 UInt numImprove;
33 UInt numBadstatus;
34 double time;
35 UInt iterations;
36 double bestObjValue;
37 };
38
39
47 class NLPMultiStart : public Heuristic {
48
49 public:
50
53
56
58 void solve(NodePtr node, RelaxationPtr rel, SolutionPoolPtr s_pool);
59
60 // Write statistics to logger
61 void writeStats(std::ostream &out) const;
62
63 const static std::string me_;
64
65 private:
66
70 double distBound_;
71
73 EnginePtr e_;
74
76 EnvPtr env_;
77
79 LoggerPtr logger_;
80
82 ProblemPtr p_;
83
85 double *random_;
86
88 MSHeurStats stats_;
89
102 void constructInitial_(double* a, const double* b, double rho, UInt vars);
103
104 };
105
106 typedef NLPMultiStart* NLPMSPtr;
107}
108#endif
109
Define abstract base class for heuristics of various kinds.
Declare important 'types' used in Minotaur.
Definition: Engine.h:34
Definition: Environment.h:28
Definition: Heuristic.h:30
Definition: Logger.h:37
Multistart heuristic for continuous NLPs.
Definition: NLPMultiStart.h:47
void writeStats(std::ostream &out) const
Write statistics to the logger.
Definition: NLPMultiStart.cpp:203
void solve(NodePtr node, RelaxationPtr rel, SolutionPoolPtr s_pool)
Use this heuristic.
Definition: NLPMultiStart.cpp:115
~NLPMultiStart()
Destroy.
Definition: NLPMultiStart.cpp:63
NLPMultiStart(EnvPtr env, ProblemPtr p, EnginePtr e)
Default constructor.
Definition: NLPMultiStart.cpp:35
Definition: Node.h:54
Definition: Problem.h:74
Definition: Relaxation.h:53
Definition: SolutionPool.h:28
Definition: ActiveNodeStore.h:20
unsigned int UInt
Unsigned integer.
Definition: Types.h:30
Statistic for Multistart heuristic.
Definition: NLPMultiStart.h:29

Minotaur source code documented by Doxygen 1.9.4 on Thu Apr 24 2025