Minotaur 0.4.1
Docs for developers
QG.h
Go to the documentation of this file.
1//
2// Minotaur -- It's only half bull!
3//
4// (C)opyright 2009 - 2025 The Minotaur Team.
5//
6
13#ifndef QG_H
14#define QG_H
15
16#include "Types.h"
17#include "AMPLInterface.h"
18#include "BranchAndBound.h"
19#include "LPEngine.h"
20#include "Presolver.h"
21#include "Solver.h"
22
23namespace Minotaur {
28 class QG : public Solver {
29 public:
31 QG(EnvPtr env);
32
34 ~QG();
35
36 void doSetup();
37
38 void sepDetection();
39
41 void showHelp() const;
42
44 int showInfo();
45
47 virtual int solve(ProblemPtr p);
48
50 virtual SolveStatus getStatus() {return status_;};
51
53 virtual SolutionPtr getSolution() {return sol_;};
54
56 double getUb() {return ub_;};
57
59 double getLb() {return lb_;};
60
61 private:
62 const static std::string me_;
63 double objSense_;
64 SolutionPtr sol_;
65 double lb_, ub_;
66 ProblemPtr oinst_;
67 SolveStatus status_;
68
69 int getEngines_(Engine **nlp_e, LPEngine **lp_e);
70 PresolverPtr presolve_(HandlerVector &handlers);
71 void setInitialOptions_();
72 int writeBnbStatus_(BranchAndBound *bab);
73 };
74}
75#endif
76
Declare the AMPLInterface class fo reading problems from AMPL.
Declare the BranchAndBound class for branch-and-bound-algorithm, BabStats class for statistics and Ba...
Declare the class LPEngine for solving LPs and getting solution.
Declare Presolver class for presolving.
Define the abstract base class Solver.
Declare important 'types' used in Minotaur.
Implement a generic branch-and-bound algorithm on a single cpu.
Definition: BranchAndBound.h:38
Definition: Engine.h:34
Definition: Environment.h:28
Definition: LPEngine.h:29
Definition: Presolver.h:39
Definition: Problem.h:74
Definition: QG.h:28
virtual SolutionPtr getSolution()
get status of the last solve.
Definition: QG.h:53
~QG()
Destroy.
Definition: QG.cpp:67
int showInfo()
Display information.
Definition: QG.cpp:185
virtual int solve(ProblemPtr p)
Solve the problem.
Definition: QG.cpp:231
void showHelp() const
show help messages
Definition: QG.cpp:173
virtual SolveStatus getStatus()
get status of the last solve.
Definition: QG.h:50
double getLb()
Return the lower bound for the optimal value.
Definition: QG.h:59
double getUb()
Return the upper bound for the optimal value.
Definition: QG.h:56
QG(EnvPtr env)
Default constructor.
Definition: QG.cpp:55
Definition: Solution.h:30
Definition: Solver.h:28
Definition: ActiveNodeStore.h:20
SolveStatus
Different states an algorithm like branch-and-bound can be in.
Definition: Types.h:158

Minotaur source code documented by Doxygen 1.9.4 on Fri Apr 25 2025