コード例 #1
0
 def test_dummy_solver_interface(self):
     solver = DummySolverInterface()
     self.assertTrue(solver.available())
     self.assertEqual(solver.solver_id().name(), "dummy")
     self.assertIsInstance(solver, SolverInterface)
     prog = mp.MathematicalProgram()
     result = mp.MathematicalProgramResult()
     with self.assertRaises(Exception) as context:
         solver.Solve(prog, None, None, result)
     self.assertTrue("Dummy solver cannot solve" in str(context.exception))
     self.assertIsInstance(result, mp.MathematicalProgramResult)
     self.assertTrue(solver.AreProgramAttributesSatisfied(prog))
コード例 #2
0
 def Solve(self,
           prog,
           initial_guess=None,
           solver_options=None,
           result=None):
     # TODO(jwnimmer-tri) This trampoline for Solve is quite awkward.
     if result is not None:
         self._DoSolve(prog, initial_guess, solver_options, result)
         return
     else:
         result = mp.MathematicalProgramResult()
         self._DoSolve(prog, initial_guess, solver_options, result)
         return result
コード例 #3
0
 def test_dummy_solver_interface(self):
     solver = DummySolverInterface()
     self.assertTrue(solver.available())
     self.assertTrue(solver.enabled())
     self.assertEqual(solver.solver_id().name(), "dummy")
     self.assertIsInstance(solver, SolverInterface)
     prog = mp.MathematicalProgram()
     with self.assertRaisesRegex(Exception, "Dummy.*cannot solve"):
         unused_result = mp.MathematicalProgramResult()
         solver.Solve(prog, None, None, unused_result)
     with self.assertRaisesRegex(Exception, "Dummy.*cannot solve"):
         _ = solver.Solve(prog)
     self.assertFalse(solver.AreProgramAttributesSatisfied(prog))
     solver.can_solve = True
     self.assertTrue(solver.AreProgramAttributesSatisfied(prog))
     result = solver.Solve(prog)
     self.assertIsInstance(result, mp.MathematicalProgramResult)