'Updates value fields when the problem is infeasible or unbounded.
Parameters
status: str
The status of the solver.'

def _handle_no_solution(self, status):

    for var_ in self.variables():
        var_.save_value(None)
    for constr in self.constraints:
        constr.save_value(None)
    if (status in [s.INFEASIBLE, s.INFEASIBLE_INACCURATE]):
        self._value = self.objective.primal_to_result(np.inf)
    elif (status in [s.UNBOUNDED, s.UNBOUNDED_INACCURATE]):
        self._value = self.objective.primal_to_result((- np.inf))
