Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cmake/sources-python.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,7 @@ set(highs_headers_python
highs/presolve/ICrashUtil.h
highs/presolve/ICrashX.h
highs/presolve/PresolveComponent.h
highs/presolve/PresolveTimer.h
highs/qpsolver/a_asm.hpp
highs/qpsolver/a_quass.hpp
highs/qpsolver/basis.hpp
Expand Down
1 change: 1 addition & 0 deletions cmake/sources.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,7 @@ set(highs_headers
presolve/ICrashUtil.h
presolve/ICrashX.h
presolve/PresolveComponent.h
presolve/PresolveTimer.h
qpsolver/a_asm.hpp
qpsolver/a_quass.hpp
qpsolver/basis.hpp
Expand Down
5 changes: 5 additions & 0 deletions highs/io/HighsIO.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,11 @@ const std::string highsBoolToString(const bool b, const HighsInt field_width) {
return b ? " true" : "false";
}

const std::string highsIntToPlural(const HighsInt i, const bool y) {
if (y) return i == 1 ? "y" : "ies";
return i == 1 ? "" : "s";
}

const std::string highsTimeToString(const double time) {
return
#ifndef NDEBUG
Expand Down
1 change: 1 addition & 0 deletions highs/io/HighsIO.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ std::string highsFormatToString(const char* format, ...);
const std::string highsBoolToString(const bool b,
const HighsInt field_width = 2);

const std::string highsIntToPlural(const HighsInt i, const bool y = false);
const std::string highsInsertMdEscapes(const std::string& from_string);
const std::string highsInsertMdId(const std::string& from_string);
const std::string highsTimeToString(const double time);
Expand Down
4 changes: 3 additions & 1 deletion highs/lp_data/HConst.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,14 @@ enum HighsAnalysisLevel {
kHighsAnalysisLevelNlaTime = 32,
kHighsAnalysisLevelMipData = 64,
kHighsAnalysisLevelMipTime = 128,
kHighsAnalysisLevelPresolveTime = 256,
kHighsAnalysisLevelMin = kHighsAnalysisLevelNone,
kHighsAnalysisLevelMax =
kHighsAnalysisLevelModelData + kHighsAnalysisLevelSolverSummaryData +
kHighsAnalysisLevelSolverRuntimeData + kHighsAnalysisLevelSolverTime +
kHighsAnalysisLevelNlaData + kHighsAnalysisLevelNlaTime +
kHighsAnalysisLevelMipData + kHighsAnalysisLevelMipTime
kHighsAnalysisLevelMipData + kHighsAnalysisLevelMipTime +
kHighsAnalysisLevelPresolveTime
};

enum class HighsVarType : uint8_t {
Expand Down
34 changes: 18 additions & 16 deletions highs/mip/MipTimer.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#ifndef MIP_MIPTIMER_H_
#define MIP_MIPTIMER_H_

// Clocks for profiling the MIP dual mip solver
// Clocks for profiling the MIP solver
enum iClockMip {
kMipClockTotal = 0,
kMipClockPresolve,
Expand Down Expand Up @@ -114,7 +114,7 @@ enum iClockMip {
kNumMipClock //!< Number of MIP clocks
};

const double tolerance_percent_report = 0.1;
static const double kMipClockTolerancePercentReport = 0.1;

class MipTimer {
public:
Expand Down Expand Up @@ -371,7 +371,7 @@ class MipTimer {
kMipClockSearch,
kMipClockPostsolve};
reportMipClockList("MipLevl1", mip_clock_list, mip_timer_clock,
kMipClockTotal, tolerance_percent_report);
kMipClockTotal, kMipClockTolerancePercentReport);
};

void reportMipSolveLpClock(const HighsTimerClock& mip_timer_clock) {
Expand All @@ -385,20 +385,20 @@ class MipTimer {
kMipClockHipoSolveLp,
kMipClockIpxSolveLp};
reportMipClockList("MipSlvLp", mip_clock_list, mip_timer_clock,
kMipClockTotal); //, tolerance_percent_report);
kMipClockTotal); //, kMipClockTolerancePercentReport);
};

void reportMipSubMipSolveClock(const HighsTimerClock& mip_timer_clock) {
const std::vector<HighsInt> mip_clock_list{kMipClockSubMipSolve};
reportMipClockList("MipSlvLp", mip_clock_list, mip_timer_clock,
kMipClockTotal); //, tolerance_percent_report);
kMipClockTotal); //, kMipClockTolerancePercentReport);
};

void reportMipPresolveClock(const HighsTimerClock& mip_timer_clock) {
const std::vector<HighsInt> mip_clock_list{kMipClockProbingPresolve,
kMipClockEnumerationPresolve};
reportMipClockList("MipPrslv", mip_clock_list, mip_timer_clock,
kMipClockRunPresolve, tolerance_percent_report);
kMipClockRunPresolve, kMipClockTolerancePercentReport);
};

void reportAltEvaluateRootNodeClock(const HighsTimerClock& mip_timer_clock) {
Expand All @@ -407,7 +407,7 @@ class MipTimer {
kMipClockEvaluateRootNode2};
reportMipClockList(
"AltEvaluateRootNode", mip_clock_list, mip_timer_clock,
kMipClockEvaluateRootNode); //, tolerance_percent_report);
kMipClockEvaluateRootNode); //, kMipClockTolerancePercentReport);
};

void reportMipEvaluateRootNodeClock(const HighsTimerClock& mip_timer_clock) {
Expand All @@ -433,7 +433,7 @@ class MipTimer {
};
reportMipClockList(
"MipEvaluateRootNode", mip_clock_list, mip_timer_clock,
kMipClockEvaluateRootNode); //, tolerance_percent_report);
kMipClockEvaluateRootNode); //, kMipClockTolerancePercentReport);
};

void reportMipRootSeparationClock(const HighsTimerClock& mip_timer_clock) {
Expand All @@ -442,8 +442,9 @@ class MipTimer {
kMipClockRootSeparationFinishAnalyticCentreComputation,
kMipClockRootSeparationCentralRounding,
kMipClockRootSeparationEvaluateRootLp};
reportMipClockList("MipRootSeparation", mip_clock_list, mip_timer_clock,
kMipClockRootSeparation); //, tolerance_percent_report);
reportMipClockList(
"MipRootSeparation", mip_clock_list, mip_timer_clock,
kMipClockRootSeparation); //, kMipClockTolerancePercentReport);
};

void reportMipSearchClock(const HighsTimerClock& mip_timer_clock) {
Expand All @@ -455,15 +456,15 @@ class MipTimer {
// kMipClock@
};
reportMipClockList("MipSerch", mip_clock_list, mip_timer_clock,
kMipClockSearch, tolerance_percent_report);
kMipClockSearch, kMipClockTolerancePercentReport);
};

void reportMipDiveClock(const HighsTimerClock& mip_timer_clock) {
const std::vector<HighsInt> mip_clock_list{
kMipClockDiveEvaluateNode, kMipClockDivePrimalHeuristics,
kMipClockTheDive, kMipClockBacktrackPlunge, kMipClockPerformAging2};
reportMipClockList("MipDive_", mip_clock_list, mip_timer_clock,
kMipClockDive, tolerance_percent_report);
kMipClockDive, kMipClockTolerancePercentReport);
};

void reportMipDivePrimalHeuristicsClock(
Expand All @@ -472,7 +473,7 @@ class MipTimer {
kMipClockDiveRandomizedRounding, kMipClockDiveRens, kMipClockDiveRins};
reportMipClockList("MipDivePrimalHeuristics", mip_clock_list,
mip_timer_clock, kMipClockDivePrimalHeuristics,
tolerance_percent_report);
kMipClockTolerancePercentReport);
};

void reportMipNodeSearchClock(const HighsTimerClock& mip_timer_clock) {
Expand All @@ -481,16 +482,17 @@ class MipTimer {
// kMipClockSearchBacktrack,
kMipClockOpenNodesToQueue1, kMipClockEvaluateNode1,
kMipClockNodeSearchSeparation}; //, kMipClockStoreBasis};
reportMipClockList("MipNodeSearch", mip_clock_list, mip_timer_clock,
kMipClockNodeSearch); //, tolerance_percent_report);
reportMipClockList(
"MipNodeSearch", mip_clock_list, mip_timer_clock,
kMipClockNodeSearch); //, kMipClockTolerancePercentReport);
};

void reportMipSeparationClock(const HighsTimerClock& mip_timer_clock) {
const std::vector<HighsInt> mip_clock_list{
kMipClockImplboundSepa, kMipClockCliqueSepa, kMipClockTableauSepa,
kMipClockPathAggrSepa, kMipClockModKSepa};
reportMipClockList("MipSeparation", mip_clock_list, mip_timer_clock,
kMipClockTotal); //, tolerance_percent_report);
kMipClockTotal); //, kMipClockTolerancePercentReport);
};

void csvMipClock(const std::string model_name,
Expand Down
2 changes: 1 addition & 1 deletion highs/pdlp/hipdlp/pdhg.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1717,7 +1717,7 @@ void PDLPSolver::setup(const HighsOptions& options, HighsTimer& timer) {
#ifdef CUPDLP_GPU
"GPU"
#else
"CPU: performance may be disappointing!"
"CPU: performance may be disappointing!"
#endif
);
#ifdef CUPDLP_GPU
Expand Down
Loading
Loading