PySCIPOpt  5.1.1
Python Interface for the SCIP Optimization Suite
benderscut.pxi
Go to the documentation of this file.
1 
3 cdef class Benderscut:
4  cdef public Model model
5  cdef public Benders benders
6  cdef public str name
7 
8  def benderscutfree(self):
9  pass
10 
11  def benderscutinit(self):
12  pass
13 
14  def benderscutexit(self):
15  pass
16 
17  def benderscutinitsol(self):
18  pass
19 
20  def benderscutexitsol(self):
21  pass
22 
23  def benderscutexec(self, solution, probnumber, enfotype):
24  print("python error in benderscutexec: this method needs to be implemented")
25  return {}
26 
27 cdef SCIP_RETCODE PyBenderscutCopy (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut) noexcept with gil:
28  return SCIP_OKAY
29 
30 cdef SCIP_RETCODE PyBenderscutFree (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
31  cdef SCIP_BENDERSCUTDATA* benderscutdata
32  benderscutdata = SCIPbenderscutGetData(benderscut)
33  PyBenderscut = <Benderscut>benderscutdata
34  PyBenderscut.benderscutfree()
35  Py_DECREF(PyBenderscut)
36  return SCIP_OKAY
37 
38 cdef SCIP_RETCODE PyBenderscutInit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
39  cdef SCIP_BENDERSCUTDATA* benderscutdata
40  benderscutdata = SCIPbenderscutGetData(benderscut)
41  PyBenderscut = <Benderscut>benderscutdata
42  PyBenderscut.benderscutinit()
43  return SCIP_OKAY
44 
45 cdef SCIP_RETCODE PyBenderscutExit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
46  cdef SCIP_BENDERSCUTDATA* benderscutdata
47  benderscutdata = SCIPbenderscutGetData(benderscut)
48  PyBenderscut = <Benderscut>benderscutdata
49  PyBenderscut.benderscutexit()
50  return SCIP_OKAY
51 
52 cdef SCIP_RETCODE PyBenderscutInitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
53  cdef SCIP_BENDERSCUTDATA* benderscutdata
54  benderscutdata = SCIPbenderscutGetData(benderscut)
55  PyBenderscut = <Benderscut>benderscutdata
56  PyBenderscut.benderscutinitsol()
57  return SCIP_OKAY
58 
59 cdef SCIP_RETCODE PyBenderscutExitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
60  cdef SCIP_BENDERSCUTDATA* benderscutdata
61  benderscutdata = SCIPbenderscutGetData(benderscut)
62  PyBenderscut = <Benderscut>benderscutdata
63  PyBenderscut.benderscutexitsol()
64  return SCIP_OKAY
65 
66 cdef SCIP_RETCODE PyBenderscutExec (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut, SCIP_SOL* sol, int probnumber, SCIP_BENDERSENFOTYPE type, SCIP_RESULT* result) noexcept with gil:
67  cdef SCIP_BENDERSCUTDATA* benderscutdata
68  benderscutdata = SCIPbenderscutGetData(benderscut)
69  PyBenderscut = <Benderscut>benderscutdata
70  if sol == NULL:
71  solution = None
72  else:
73  solution = Solution.create(scip, sol)
74  enfotype = type
75  result_dict = PyBenderscut.benderscutexec(solution, probnumber, enfotype)
76  result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
77  return SCIP_OKAY
pyscipopt.benderscut.Benderscut
Definition: benderscut.pxi:3
pyscipopt.benderscut.benderscutexit
def benderscutexit(self)
Definition: benderscut.pxi:14
pyscipopt.benderscut.benderscutinitsol
def benderscutinitsol(self)
Definition: benderscut.pxi:17
SCIPbenderscutGetData
SCIP_BENDERSCUTDATA * SCIPbenderscutGetData(SCIP_BENDERSCUT *benderscut)
pyscipopt.benderscut.benderscutexitsol
def benderscutexitsol(self)
Definition: benderscut.pxi:20
pyscipopt.benderscut.benderscutinit
def benderscutinit(self)
Definition: benderscut.pxi:11
pyscipopt.benderscut.benderscutexec
def benderscutexec(self, solution, probnumber, enfotype)
Definition: benderscut.pxi:23
pyscipopt.benderscut.benderscutfree
def benderscutfree(self)
Definition: benderscut.pxi:8