denote the optimal values of variables $x_{i}$ and $k_j$ by $x_{i}^{LP}$ and $k_j^{LP}$ respectively. Let $r_{x_i}$ and $r_{k_j}$ be the reduced costs of non basic variables in the optimal solution of $CRIT_2^{LP}(c)$. We apply then standard variable-fixing techniques from Integer Linear Programming: if the gap between the best feasible solution available and the optimal solution value of the continuous relaxation solution is not greater than the absolute value of a non basic variable reduced cost, then the related variable can be fixed to its value in the continuous relaxation solution. Thus, the following constraints are added to $CRIT_2(c)$:

$$\begin{aligned}
& \forall\, i: |r_{x_i}| \geq z^* - z(CRIT_2^{LP}(c)) , \quad x_i = x_i^{LP}; \label{eq:rxi}\\
& \forall\, j: |r_{k_j}| \geq  z^* - z(CRIT_2^{LP}(c)), \quad k_j = k_j^{LP}.\label{eq:rkj}\end{aligned}$$

### Solving subproblems {#solvesub}

For each open subproblem $CRIT_2(c)$, we first solve $CRIT_2(c)$ obtaining a solution $\bar{x}$. If the corresponding objective value is lower than the current best feasible solution value, we solve $KP(\bar{x})$ with solution $\bar{y}$ and if an improving solution is found, the current best solution is updated, as in Section \[heursol\]. Then, we add to $CRIT_2(c)$ constraints

$$\begin{aligned}
\sum\limits_{i : \bar{x_i} = 0}^{n} x_i + \sum\limits_{i : \bar{x_i} = 1}^{n} (1-x_i) \geq 