Minotaur 0.4.1
Docs for developers
Loading...
Searching...
No Matches
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 getSol() {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 // SolutionPtr sol_;
69
70 int getEngines_(Engine **nlp_e, LPEngine **lp_e);
71 PresolverPtr presolve_(HandlerVector &handlers);
72 void setInitialOptions_();
73 int writeBnbStatus_(BranchAndBound *bab);
74 };
75}
76#endif
77
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
~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
virtual SolutionPtr getSol()
get status of the last solve.
Definition QG.h:53
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.8 on Wed Nov 12 2025