From 6047d5df78cd1128b15beef74b3bdc0058d5dfce Mon Sep 17 00:00:00 2001 From: Alinson S Xavier Date: Wed, 29 Jan 2020 10:08:36 -0600 Subject: [PATCH] Update README.md --- README.md | 2 +- figures/mwss.png | Bin 20549 -> 19162 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d763a6b..bce1f33 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ By default, `LearningSolver` uses Machine Learning to accelerate the MIP solutio For more significant performance benefits, `LearningSolver` can also be configured to place additional trust in the Machine Learning predictors, by using the `mode="heuristic"` constructor argument. When operating in this mode, if a ML model is statistically shown (through *stratified k-fold cross validation*) to have exceptionally high accuracy, the solver may decide to restrict the search space based on its predictions. The parts of the solution which the ML models cannot predict accurately will still be explored using traditional (branch-and-bound) methods -This mode naturally loses all optimality guarantees, and therefore should only be used if the solver is first trained on a large and representative set of training instances. For particular applications, however, this mode has been shown to quickly produce optimal or near-optimal solutions (see references below). +This mode naturally loses all optimality guarantees, and therefore should only be used if the solver is first trained on a large and representative set of training instances. For particular applications, however, this mode has been shown to quickly produce optimal or near-optimal solutions (see [benchmark results](#benchmark-results) and [references](#references) below). ### Saving and loading solver state diff --git a/figures/mwss.png b/figures/mwss.png index 131037049bb0a63a8beea3f961955d673530fdc4..ae2d48dc5b36b0af6c0c4a3f78fc9fe2d2c8ba95 100644 GIT binary patch literal 19162 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

U8PC?4)vm^Frm#`Roi-u<`KDgBS3B0jF7O(t&E? zL`APv1#3sh^wLo-Nn7=OtOowDSy}*Q6xV__;V_ck2q8P>wO%PJ$7V>L467d$EzXom z8NdB&-Q!1(6!rC^a_q*EOp@~(BwCp$6!}!xA^AW10*sqdq8znDB%Q3mb`?mu-ymId z`PJ_8{(A)lRZ+Kr%xLer6vq21Ol&-fS0yPaIr^eC00sdxA57GmUC^C_U1MUk{$v$2CY?xCRdpZ4?(FRBbg{)K zKb;!v@wBTSwvx;8`N?*dda2{ezWlmLP;QOA-mjz-?sb}*s(&gk8Ha!4($Z8Mr$<$> zx@RW_^{fTZR<5{r9{h~`GZ7=TK*hMg%p66*I(^h`G_P}f^z-YJK$nj_Jbbv@Y#Oy$ zVV*_Hhd5Wiprd55P^naZar+clJSrD2?t`QsV3tFz5+8T3uEwZ5!WQ{D7!%U4(@Q*@ z`~;9Dr*mBVXU|i-2!^`v^oqd0T&+#a-`xGo#UcP*JF0;)x;JQ%D>JYuIxA!3X^YHUG*2O6cqPMi&?Dnvs z@k>bLtId_Ze_!`uINZ#%3G&fz6bpYYSq~pxbsnhmSXFEGV3@CwDeRc<6DI3oqVw+N zvMaB(K8dn#dcggmv{VMAvF7t@J)5!oX&zqQ@_hN@$8Yavl1-F>s4SDahyR|vqBxyM z01AqRUlTJA=14jETyrQM1OcC#{U8jXRZdu*Eigg?O;CtvA zHUYyY?T%v-#qZx67P`{aJJ-Me@N|#O{LBq1t-QAeB@SRL3c%0D*Vh=!iWX_tZZCrx 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