diff --git a/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/CQBoostUtils.py b/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/CQBoostUtils.py
index 05521371e0b88599abfb34772a83524a08c24917..13c270ca1dfff385cd7e27347952c1b04dc82705 100644
--- a/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/CQBoostUtils.py
+++ b/multiview_platform/MonoMultiViewClassifiers/Monoview/Additions/CQBoostUtils.py
@@ -153,15 +153,15 @@ class ColumnGenerationClassifier(BaseEstimator, ClassifierMixin, BaseBoost):
     def get_matrix_to_optimize(self, y_kernel_matrix, w=None):
         return y_kernel_matrix[:, self.chosen_columns_]
 
-    def _binary_classification_matrix(self, X):
-        probas = self._collect_probas(X)
-        predicted_labels = np.argmax(probas, axis=2)
-        predicted_labels[predicted_labels == 0] = -1
-        values = np.max(probas, axis=2)
-        return (predicted_labels * values).T
-
-    def _collect_probas(self, X):
-        return np.asarray([clf.predict_proba(X) for clf in self.estimators_generator.estimators_])
+    # def _binary_classification_matrix(self, X):
+    #     probas = self._collect_probas(X)
+    #     predicted_labels = np.argmax(probas, axis=2)
+    #     predicted_labels[predicted_labels == 0] = -1
+    #     values = np.max(probas, axis=2)
+    #     return (predicted_labels * values).T
+    #
+    # def _collect_probas(self, X):
+    #     return np.asarray([clf.predict_proba(X) for clf in self.estimators_generator.estimators_])
 
     def _restricted_master_problem(self, previous_w=None, previous_alpha=None):
         n_examples, n_hypotheses = self.matrix_to_optimize.shape
diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoost.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoost.py
index 7d58e82f654814dcfb08108376178ff6e6138b61..dfed2a182b5e9c91bc090a1948c2f526467ccafe 100644
--- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoost.py
+++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoost.py
@@ -7,16 +7,17 @@ import os
 
 class CQBoost(ColumnGenerationClassifier, BaseMonoviewClassifier):
 
-    def __init__(self, random_state=None, mu=0.01, epsilon=1e-06, n_stumps=1, **kwargs):
+    def __init__(self, random_state=None, mu=0.01, epsilon=1e-06, n_stumps=1, n_max_iterations=100, **kwargs):
         super(CQBoost, self).__init__(
             random_state=random_state,
             mu=mu,
             epsilon=epsilon,
-            estimators_generator="Stumps"
+            estimators_generator="Stumps",
+            n_max_iterations=100
         )
-        self.param_names = ["mu", "epsilon", "n_stumps", "random_state"]
+        self.param_names = ["mu", "epsilon", "n_stumps", "random_state", "n_max_iterations"]
         self.distribs = [CustomUniform(loc=0.5, state=1.0, multiplier="e-"),
-                         CustomRandint(low=1, high=15, multiplier="e-"), [n_stumps], [random_state]]
+                         CustomRandint(low=1, high=15, multiplier="e-"), [n_stumps], [random_state], [n_max_iterations]]
         self.classed_params = []
         self.weird_strings = {}
         self.n_stumps = n_stumps
@@ -51,7 +52,8 @@ def formatCmdArgs(args):
     """Used to format kwargs for the parsed args"""
     kwargsDict = {"mu": args.CQB_mu,
                   "epsilon": args.CQB_epsilon,
-                  "n_stumps":args.CQB_stumps}
+                  "n_stumps":args.CQB_stumps,
+                  "n_max_iterations":args.CQB_n_iter}
     return kwargsDict
 
 
diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoostTree.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoostTree.py
index 585e7d590142788ab7b0daa14ad5ff0380703428..b7a8dad5c24cf964c91448cb31b8eee002411f09 100644
--- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoostTree.py
+++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/CQBoostTree.py
@@ -7,16 +7,18 @@ import os
 
 class CQBoostTree(ColumnGenerationClassifier, BaseMonoviewClassifier):
 
-    def __init__(self, random_state=None, mu=0.01, epsilon=1e-06, n_stumps=1, max_depth=2, **kwargs):
+    def __init__(self, random_state=None, mu=0.01, epsilon=1e-06, n_stumps=1, max_depth=2, n_max_iterations=100, **kwargs):
+        print(n_max_iterations)
         super(CQBoostTree, self).__init__(
             random_state=random_state,
             mu=mu,
             epsilon=epsilon,
-            estimators_generator="Trees"
+            estimators_generator="Trees",
+            n_max_iterations=n_max_iterations
         )
-        self.param_names = ["mu", "epsilon", "n_stumps", "random_state", "max_depth"]
+        self.param_names = ["mu", "epsilon", "n_stumps", "random_state", "max_depth", "n_max_iterations"]
         self.distribs = [CustomUniform(loc=0.5, state=1.0, multiplier="e-"),
-                         CustomRandint(low=1, high=15, multiplier="e-"), [n_stumps], [random_state], [max_depth]]
+                         CustomRandint(low=1, high=15, multiplier="e-"), [n_stumps], [random_state], [max_depth], [n_max_iterations]]
         self.classed_params = []
         self.weird_strings = {}
         self.n_stumps = n_stumps
@@ -52,7 +54,8 @@ def formatCmdArgs(args):
     kwargsDict = {"mu": args.CQBT_mu,
                   "epsilon": args.CQBT_epsilon,
                   "n_stumps":args.CQBT_trees,
-                  "max_depth":args.CQBT_max_depth}
+                  "max_depth":args.CQBT_max_depth,
+                  "n_max_iterations":args.CQBT_n_iter}
     return kwargsDict
 
 
diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py
index fd48a5ff5510edf5cad948704198f3e4fecfdd9a..6634bb5aa1480c0cde606bc153c33a8b437cc820 100644
--- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py
+++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py
@@ -53,7 +53,6 @@ class SCMPregenTree(scm, BaseMonoviewClassifier, PregenClassifier):
     def predict(self, X):
         pregen_X, _ = self.pregen_voters(X,)
         list_files = os.listdir(".")
-        print(list_files)
         a = int(self.random_state.randint(0, 10000))
         if "pregen_x"+str(a)+".csv" in list_files:
             a = int(np.random.randint(0, 10000))
diff --git a/multiview_platform/MonoMultiViewClassifiers/utils/execution.py b/multiview_platform/MonoMultiViewClassifiers/utils/execution.py
index da803b977c97c534527fef617164fb7ab07fc89e..3e235fae6f1c764d54bd2bcee7c93fb36e6bfce0 100644
--- a/multiview_platform/MonoMultiViewClassifiers/utils/execution.py
+++ b/multiview_platform/MonoMultiViewClassifiers/utils/execution.py
@@ -221,6 +221,10 @@ def parseTheArgs(arguments):
                               action='store',
                               help='Set the number of stumps for CQBoost',
                               default=1)
+    groupCQBoost.add_argument('--CQB_n_iter', metavar='INT', type=int,
+                                  action='store',
+                                  help='Set the maximum number of iteration in CQBoost',
+                                  default=None)
 
 
 
@@ -305,6 +309,11 @@ def parseTheArgs(arguments):
                                   action='store',
                                   help='Set the number of stumps for CQBoost',
                                   default=2)
+    groupCQBoostTree.add_argument('--CQBT_n_iter', metavar='INT', type=int,
+                                  action='store',
+                                  help='Set the maximum number of iteration in CQBoostTree',
+                                  default=None)
+
     groupSCMPregenTree = parser.add_argument_group('SCMPregenTree arguments')
     groupSCMPregenTree.add_argument('--SCPT_max_rules', metavar='INT', type=int,
                                 action='store',