docs: def solve_unchecked(self, sense=None):
          """Solve problem and return result.
  
          The user must manually check the status of the result to determine
          whether an optimal solution was found. A :class:`SolverError` may still
          be raised if the underlying solver raises an exception.
          """
          if sense is not None:
              self.set_objective_sense(sense)
  
          parm = swiglpk.glp_smcp()
          swiglpk.glp_init_smcp(parm)
          if self._do_presolve:
              parm.presolve = swiglpk.GLP_ON
              self._do_presolve = False
          else:
              parm.presolve = swiglpk.GLP_OFF
  
          parm.tol_bnd = self._feasibility_tolerance
          parm.tol_dj = self._optimality_tolerance
  
          logger.debug('Solving using glp_simplex()')
          r = swiglpk.glp_simplex(self._p, parm)
          if r in (swiglpk.GLP_ENOPFS, swiglpk.GLP_ENODFS):
              self._result = Result(self, r)
              return self._result
          elif r != 0:
              raise GLPKError('glp_simplex: {}'.format(r))
  
          if swiglpk.glp_get_num_int(self._p) == 0:
              self._result = Result(self)
          else:
              # The intopt MILP solver needs an optimal solution to the LP
              # relaxation. Therefore, glp_simplex has to run before glp_intopt
              # for MILP problems.
              logger.debug('Solving using glp_intopt()')
              parm = swiglpk.glp_iocp()
              swiglpk.glp_init_iocp(parm)
              parm.tol_int = self._integrality_tolerance
              r = swiglpk.glp_intopt(self._p, parm)
              if r != 0:
                  raise GLPKError('glp_intopt: {}'.format(r))
  
              self._result = MIPResult(self)
  
          return self._result