MCPcopy Create free account
hub / github.com/ERGO-Code/HiGHS / init

Method init

highs/mip/HighsMipSolverData.cpp:752–809  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

750}
751
752void HighsMipSolverData::init() {
753 postSolveStack.initializeIndexMaps(mipsolver.numRow(), mipsolver.numCol());
754 mipsolver.orig_model_ = mipsolver.model_;
755 feastol = mipsolver.options_mip_->mip_feasibility_tolerance;
756 epsilon = mipsolver.options_mip_->small_matrix_value;
757 if (mipsolver.clqtableinit)
758 cliquetable.buildFrom(mipsolver.orig_model_, *mipsolver.clqtableinit);
759 cliquetable.setMinEntriesForParallelism(
760 highs::parallel::num_threads() > 1
761 ? mipsolver.options_mip_->mip_min_cliquetable_entries_for_parallelism
762 : kHighsIInf);
763 if (mipsolver.implicinit) implications.buildFrom(*mipsolver.implicinit);
764 heuristic_effort = mipsolver.options_mip_->mip_heuristic_effort;
765 detectSymmetries = mipsolver.options_mip_->mip_detect_symmetry;
766
767 firstlpsolobj = -kHighsInf;
768 rootlpsolobj = -kHighsInf;
769 analyticCenterComputed = false;
770 analyticCenterStatus = HighsModelStatus::kNotset;
771 maxTreeSizeLog2 = 0;
772 numRestarts = 0;
773 numRestartsRoot = 0;
774 numImprovingSols = 0;
775 pruned_treeweight = 0;
776 avgrootlpiters = 0;
777 num_nodes = 0;
778 num_nodes_before_run = 0;
779 num_leaves = 0;
780 num_leaves_before_run = 0;
781 total_repair_lp = 0;
782 total_repair_lp_feasible = 0;
783 total_repair_lp_iterations = 0;
784 total_lp_iterations = 0;
785 heuristic_lp_iterations = 0;
786 sepa_lp_iterations = 0;
787 sb_lp_iterations = 0;
788 total_lp_iterations_before_run = 0;
789 heuristic_lp_iterations_before_run = 0;
790 sepa_lp_iterations_before_run = 0;
791 sb_lp_iterations_before_run = 0;
792 num_disp_lines = 0;
793 numCliqueEntriesAfterPresolve = 0;
794 numCliqueEntriesAfterFirstPresolve = 0;
795 cliquesExtracted = false;
796 rowMatrixSet = false;
797 lower_bound = -kHighsInf;
798 upper_bound = kHighsInf;
799 upper_limit = mipsolver.options_mip_->objective_bound;
800 optimality_limit = mipsolver.options_mip_->objective_bound;
801 primal_dual_integral.initialise();
802
803 if (mipsolver.options_mip_->mip_report_level == 0)
804 dispfreq = 0;
805 else if (mipsolver.options_mip_->mip_report_level == 1)
806 dispfreq = 2000;
807 else
808 dispfreq = 100;
809}

Callers 2

runMethod · 0.45
runMipPresolveMethod · 0.45

Calls 7

num_threadsFunction · 0.85
initializeIndexMapsMethod · 0.80
numRowMethod · 0.80
numColMethod · 0.80
buildFromMethod · 0.45
initialiseMethod · 0.45

Tested by

no test coverage detected