Exemplo n.º 1
0
 def solve(self, model, timer: HierarchicalTimer = None):
     self.available(exception_flag=True)
     if timer is None:
         timer = HierarchicalTimer()
     try:
         TempfileManager.push()
         if self.config.filename is None:
             self._filename = TempfileManager.create_tempfile()
         else:
             self._filename = self.config.filename
         TempfileManager.add_tempfile(self._filename + '.lp', exists=False)
         TempfileManager.add_tempfile(self._filename + '.log', exists=False)
         timer.start('write lp file')
         self._writer.write(model, self._filename + '.lp', timer=timer)
         timer.stop('write lp file')
         res = self._apply_solver(timer)
         if self.config.report_timing:
             logger.info('\n' + str(timer))
         return res
     finally:
         # finally, clean any temporary files registered with the
         # temp file manager, created/populated *directly* by this
         # plugin.
         TempfileManager.pop(remove=not self.config.keepfiles)
         if not self.config.keepfiles:
             self._filename = None
Exemplo n.º 2
0
 def _presolve(self, *args, **kwds):
     super(GJHSolver, self)._presolve(*args, **kwds)
     self._gjh_file = self._soln_file[:-3] + 'gjh'
     TempfileManager.add_tempfile(self._gjh_file, exists=False)
Exemplo n.º 3
0
 def _presolve(self, *args, **kwds):
     super(GJHSolver, self)._presolve(*args, **kwds)
     self._gjh_file = self._soln_file[:-3]+'gjh'
     TempfileManager.add_tempfile(self._gjh_file, exists=False)