def configure_glpk(): global _glpk_version if _glpk_version is not None: return _glpk_version = _extract_version("") if registered_executable("glpsol") is None: return errcode, results = pyutilib.subprocess.run( [registered_executable('glpsol').get_path(), "--version"], timelimit=2) if errcode == 0: _glpk_version = _extract_version(results)
def configure_glpk(): global glpk_file_flag global _glpk_version if glpk_file_flag is not None: return glpk_file_flag = False if registered_executable("glpsol") is None: return errcode, results = pyutilib.subprocess.run( [registered_executable('glpsol').get_path(), "--version"], timelimit=2) if errcode == 0: _glpk_version = _extract_version(results) glpk_file_flag = _glpk_version >= (4,58,0,0)
def configure_glpk(): global glpk_file_flag global _glpk_version if glpk_file_flag is not None: return glpk_file_flag = False if registered_executable("glpsol") is None: return errcode, results = pyutilib.subprocess.run( [registered_executable('glpsol').get_path(), "--version"], timelimit=2) if errcode == 0: _glpk_version = _extract_version(results) glpk_file_flag = _glpk_version >= (4,42,0,0)
def _default_executable(self): executable = registered_executable('glpsol') if executable is None: msg = ("Could not locate the 'glpsol' executable, which is " "required for solver '%s'") logger.warning(msg % self.name) self.enable = False return None return executable.get_path()
def _apply_solver(self): if registered_executable('timer'): self._timer = registered_executable('timer').get_path() # # Execute the command # if __debug__ and logger.isEnabledFor(logging.DEBUG): logger.debug("Running %s", self._command.cmd) # display the log/solver file names prior to execution. this is useful # in case something crashes unexpectedly, which is not without precedent. if self._keepfiles: if self._log_file is not None: print("Solver log file: '%s'" % self._log_file) if self._soln_file is not None: print("Solver solution file: '%s'" % self._soln_file) if self._problem_files is not []: print("Solver problem files: %s" % str(self._problem_files)) sys.stdout.flush() self._rc, self._log = self._execute_command(self._command) sys.stdout.flush() return Bunch(rc=self._rc, log=self._log)