13#ifndef MINOTAURMSPROCESSOR_H
14#define MINOTAURMSPROCESSOR_H
24 typedef const Solution* ConstSolutionPtr;
74 int threadid,
double* prev_opt,
int K);
85 double radius,
int numsols,
86 double* prev_start_point);
93 double radius,
int numsols,
94 double* prev_start_point,
95 double* prev_opt,
double costhetalim);
102 double radius,
double* prev_start_point,
103 double* prev_opt,
int K,
double lambda);
120 double InnerProduct(
double b[],
double c[],
UInt n);
123 double ENorm(
double b[],
UInt n);
126 double EDist(
double b[],
double c[],
UInt n);
170 static const std::string
me_;
Define the NodeProcessor class for processing nodes in the branch-and-bound algorithm.
Declare important 'types' used in Minotaur.
Definition: Environment.h:28
Simple multi-start node-processor for branch-and-bound.
Definition: MsProcessor.h:43
WarmStartPtr ws_
Warm-start information for start processing the children.
Definition: MsProcessor.h:191
bool foundNewSolution()
Definition: MsProcessor.cpp:90
static const std::string me_
For logging.
Definition: MsProcessor.h:170
HandlerVector handlers_
All the handlers that are used for this processor.
Definition: MsProcessor.h:164
UInt numRestarts_
Number of restarts to improve the first intial point.
Definition: MsProcessor.h:176
bool contOnErr_
Definition: MsProcessor.h:149
Branches branches_
Branches found by this processor for this node.
Definition: MsProcessor.h:143
RelaxationPtr relaxation_
Relaxation that is processed by this processor.
Definition: MsProcessor.h:182
EnvPtr env_
Environment pointer.
Definition: MsProcessor.h:161
LoggerPtr logger_
Log.
Definition: MsProcessor.h:167
double * getStartPointScheme5(UInt n, RelaxationPtr rel1, int threadid, double radius, double *prev_start_point, double *prev_opt, int K, double lambda)
Definition: MsProcessor.cpp:553
double * getStartPointScheme2(UInt n, RelaxationPtr rel1, int threadid, double radius, int numsols, double *prev_start_point)
Definition: MsProcessor.cpp:317
virtual bool shouldPrune_(NodePtr node, double solval, SolutionPoolPtr s_pool)
Definition: MsProcessor.cpp:934
virtual void solveRelaxation_()
Solve the relaxation.
Definition: MsProcessor.cpp:1050
Branches getBranches()
Find branches that will be used to branch at this node.
Definition: MsProcessor.cpp:96
std::stack< Modification * > relMods_
Modifications done to NLP before solving it.
Definition: MsProcessor.h:140
virtual bool isFeasible_(NodePtr node, ConstSolutionPtr sol, SolutionPoolPtr s_pool, bool &should_prune)
Definition: MsProcessor.cpp:109
double * getStartPointScheme4(UInt n, RelaxationPtr rel1, int threadid, double radius, int numsols, double *prev_start_point, double *prev_opt, double costhetalim)
Definition: MsProcessor.cpp:426
void writeStats() const
Write statistics to our own logger.
Definition: MsProcessor.cpp:1085
double cutOff_
If lb is greater than cutOff_, we can prune this node.
Definition: MsProcessor.h:152
~MsProcessor()
Destroy.
Definition: MsProcessor.cpp:84
MBPStats stats_
Statistics.
Definition: MsProcessor.h:188
UInt schemeId_
Scheme id for generating initial point.
Definition: MsProcessor.h:185
EnginePtr engine_
Engine used to process the relaxation.
Definition: MsProcessor.h:155
UInt numThreads_
Number of processing cores to be used by the processor.
Definition: MsProcessor.h:179
void process(NodePtr node, RelaxationPtr rel, SolutionPoolPtr s_pool)
Definition: MsProcessor.cpp:666
UInt numSolutions_
How many new solutions were found by the processor.
Definition: MsProcessor.h:173
EngineStatus engineStatus_
Status of the engine.
Definition: MsProcessor.h:158
double * genInitialPoint(UInt n, RelaxationPtr rel)
Definition: MsProcessor.cpp:635
WarmStartPtr getWarmStart()
Definition: MsProcessor.cpp:103
MsProcessor(EnvPtr env)
Default constructor.
Definition: MsProcessor.cpp:39
Definition: NodeProcessor.h:49
Definition: Relaxation.h:53
Definition: SolutionPool.h:28
Definition: Solution.h:30
Definition: WarmStart.h:45
Definition: ActiveNodeStore.h:20
unsigned int UInt
Unsigned integer.
Definition: Types.h:30
EngineStatus
Different status that an external engine may report.
Definition: Types.h:176
Definition: MsProcessor.h:26
UInt opt
Number of times relaxation became infeasible.
Definition: MsProcessor.h:29
UInt prob
Number of times relaxation gave optimal feasible solution.
Definition: MsProcessor.h:30
UInt ub
Number of nodes processed.
Definition: MsProcessor.h:32
UInt inf
Number of times relaxation became infeasible.
Definition: MsProcessor.h:28
UInt proc
Number of times problem ocurred in solving.
Definition: MsProcessor.h:31