16 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
21 template<
typename T>
class SwigValueWrapper {
22 struct SwigMovePointer {
24 SwigMovePointer(T *p) : ptr(p) { }
25 ~SwigMovePointer() {
delete ptr; }
26 SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0;
delete oldptr; ptr = rhs.ptr; rhs.ptr = 0;
return *
this; }
28 SwigValueWrapper& operator=(
const SwigValueWrapper<T>& rhs);
29 SwigValueWrapper(
const SwigValueWrapper<T>& rhs);
31 SwigValueWrapper() : pointer(0) { }
32 SwigValueWrapper& operator=(
const T& t) { SwigMovePointer tmp(
new T(t)); pointer = tmp;
return *
this; }
33 operator T&()
const {
return *pointer.ptr; }
34 T *operator&() {
return pointer.ptr; }
37 template <
typename T> T SwigValueInit() {
48 #ifndef SWIGTEMPLATEDISAMBIGUATOR
49 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
50 # define SWIGTEMPLATEDISAMBIGUATOR template
51 # elif defined(__HP_aCC)
54 # define SWIGTEMPLATEDISAMBIGUATOR template
56 # define SWIGTEMPLATEDISAMBIGUATOR
62 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
63 # define SWIGINLINE inline
71 # if defined(__GNUC__)
72 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
73 # define SWIGUNUSED __attribute__ ((__unused__))
78 # define SWIGUNUSED __attribute__ ((__unused__))
84 #ifndef SWIG_MSC_UNSUPPRESS_4505
85 # if defined(_MSC_VER)
86 # pragma warning(disable : 4505)
90 #ifndef SWIGUNUSEDPARM
92 # define SWIGUNUSEDPARM(p)
94 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
100 # define SWIGINTERN static SWIGUNUSED
104 #ifndef SWIGINTERNINLINE
105 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
109 #if defined(__GNUC__)
110 # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
111 # ifndef GCC_HASCLASSVISIBILITY
112 # define GCC_HASCLASSVISIBILITY
118 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
119 # if defined(STATIC_LINKED)
122 # define SWIGEXPORT __declspec(dllexport)
125 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
126 # define SWIGEXPORT __attribute__ ((visibility("default")))
135 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
136 # define SWIGSTDCALL __stdcall
143 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
144 # define _CRT_SECURE_NO_DEPRECATE
148 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
149 # define _SCL_SECURE_NO_DEPRECATE
153 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
154 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
162 #ifdef __INTEL_COMPILER
163 # pragma warning disable 592
167 #if defined(__GNUC__) && defined(_WIN32) && !defined(SWIG_PYTHON_NO_HYPOT_WORKAROUND)
172 #if defined(_DEBUG) && defined(SWIG_PYTHON_INTERPRETER_NO_DEBUG)
190 #define SWIG_RUNTIME_VERSION "4"
193 #ifdef SWIG_TYPE_TABLE
194 # define SWIG_QUOTE_STRING(x) #x
195 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
196 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
198 # define SWIG_TYPE_TABLE_NAME
211 # define SWIGRUNTIME SWIGINTERN
214 #ifndef SWIGRUNTIMEINLINE
215 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
219 #ifndef SWIG_BUFFER_SIZE
220 # define SWIG_BUFFER_SIZE 1024
224 #define SWIG_POINTER_DISOWN 0x1
225 #define SWIG_CAST_NEW_MEMORY 0x2
226 #define SWIG_POINTER_NO_NULL 0x4
229 #define SWIG_POINTER_OWN 0x1
312 #define SWIG_ERROR (-1)
313 #define SWIG_IsOK(r) (r >= 0)
314 #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
317 #define SWIG_CASTRANKLIMIT (1 << 8)
319 #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
321 #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
323 #define SWIG_BADOBJ (SWIG_ERROR)
324 #define SWIG_OLDOBJ (SWIG_OK)
325 #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
326 #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
328 #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
329 #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
330 #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
331 #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
332 #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
333 #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
336 #if defined(SWIG_CASTRANK_MODE)
337 # ifndef SWIG_TypeRank
338 # define SWIG_TypeRank unsigned long
340 # ifndef SWIG_MAXCASTRANK
341 # define SWIG_MAXCASTRANK (2)
343 # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
344 # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
349 return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
352 # define SWIG_AddCast(r) (r)
353 # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
363 typedef void *(*swig_converter_func)(
void *,
int *);
405 const char *f2,
const char *l2) {
406 for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
407 while ((*f1 ==
' ') && (f1 != l1)) ++f1;
408 while ((*f2 ==
' ') && (f2 != l2)) ++f2;
409 if (*f1 != *f2)
return (*f1 > *f2) ? 1 : -1;
411 return (
int)((l1 - f1) - (l2 - f2));
421 const char* te = tb + strlen(tb);
423 while (equiv != 0 && *ne) {
424 for (nb = ne; *ne; ++ne) {
425 if (*ne ==
'|')
break;
450 if (strcmp(iter->
type->
name, c) == 0) {
451 if (iter == ty->
cast)
477 if (iter->
type == from) {
478 if (iter == ty->
cast)
510 if (!ty || !ty->
dcast)
return ty;
511 while (ty && (ty->
dcast)) {
512 ty = (*ty->
dcast)(ptr);
536 if (!type)
return NULL;
537 if (type->
str != NULL) {
538 const char *last_name = type->
str;
540 for (s = type->
str; *s; s++)
541 if (*s ==
'|') last_name = s+1;
589 size_t r = iter->
size - 1;
592 size_t i = (l + r) >> 1;
593 const char *iname = iter->
types[i]->
name;
595 int compare = strcmp(
name, iname);
597 return iter->
types[i];
598 }
else if (compare < 0) {
604 }
else if (compare > 0) {
613 }
while (iter != end);
640 for (; i < iter->
size; ++i) {
642 return iter->
types[i];
645 }
while (iter != end);
657 static const char hex[17] =
"0123456789abcdef";
658 const unsigned char *u = (
unsigned char *) ptr;
659 const unsigned char *eu = u + sz;
660 for (; u != eu; ++u) {
661 unsigned char uu = *u;
662 *(c++) = hex[(uu & 0xf0) >> 4];
663 *(c++) = hex[uu & 0xf];
673 unsigned char *u = (
unsigned char *) ptr;
674 const unsigned char *eu = u + sz;
675 for (; u != eu; ++u) {
678 if ((d >=
'0') && (d <=
'9'))
679 uu = (
unsigned char)((d -
'0') << 4);
680 else if ((d >=
'a') && (d <=
'f'))
681 uu = (
unsigned char)((d - (
'a'-10)) << 4);
685 if ((d >=
'0') && (d <=
'9'))
686 uu |= (
unsigned char)(d -
'0');
687 else if ((d >=
'a') && (d <=
'f'))
688 uu |= (
unsigned char)(d - (
'a'-10));
702 if ((2*
sizeof(
void *) + 2) > bsz)
return 0;
705 if (strlen(
name) + 1 > (bsz - (r - buff)))
return 0;
713 if (strcmp(c,
"NULL") == 0) {
726 size_t lname = (
name ? strlen(
name) : 0);
727 if ((2*sz + 2 + lname) > bsz)
return 0;
731 strncpy(r,
name,lname+1);
741 if (strcmp(c,
"NULL") == 0) {
756 #define SWIG_UnknownError -1
757 #define SWIG_IOError -2
758 #define SWIG_RuntimeError -3
759 #define SWIG_IndexError -4
760 #define SWIG_TypeError -5
761 #define SWIG_DivisionByZero -6
762 #define SWIG_OverflowError -7
763 #define SWIG_SyntaxError -8
764 #define SWIG_ValueError -9
765 #define SWIG_SystemError -10
766 #define SWIG_AttributeError -11
767 #define SWIG_MemoryError -12
768 #define SWIG_NullReferenceError -13
773 #if PY_VERSION_HEX >= 0x03000000
775 #define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type)
776 #define PyInt_Check(x) PyLong_Check(x)
777 #define PyInt_AsLong(x) PyLong_AsLong(x)
778 #define PyInt_FromLong(x) PyLong_FromLong(x)
779 #define PyInt_FromSize_t(x) PyLong_FromSize_t(x)
780 #define PyString_Check(name) PyBytes_Check(name)
781 #define PyString_FromString(x) PyUnicode_FromString(x)
782 #define PyString_Format(fmt, args) PyUnicode_Format(fmt, args)
783 #define PyString_AsString(str) PyBytes_AsString(str)
784 #define PyString_Size(str) PyBytes_Size(str)
785 #define PyString_InternFromString(key) PyUnicode_InternFromString(key)
786 #define Py_TPFLAGS_HAVE_CLASS Py_TPFLAGS_BASETYPE
787 #define PyString_AS_STRING(x) PyUnicode_AS_STRING(x)
788 #define _PyLong_FromSsize_t(x) PyLong_FromSsize_t(x)
793 # define Py_TYPE(op) ((op)->ob_type)
798 #if PY_VERSION_HEX >= 0x03000000
799 # define SWIG_Python_str_FromFormat PyUnicode_FromFormat
801 # define SWIG_Python_str_FromFormat PyString_FromFormat
811 #if PY_VERSION_HEX >= 0x03030000
812 return (
char *)PyUnicode_AsUTF8(str);
813 #elif PY_VERSION_HEX >= 0x03000000
815 str = PyUnicode_AsUTF8String(str);
819 if (PyBytes_AsStringAndSize(str, &cstr, &len) != -1) {
820 newstr = (
char *)
malloc(len+1);
822 memcpy(newstr, cstr, len+1);
828 return PyString_AsString(str);
832 #if PY_VERSION_HEX >= 0x03030000 || PY_VERSION_HEX < 0x03000000
833 # define SWIG_Python_str_DelForPy3(x)
835 # define SWIG_Python_str_DelForPy3(x) free( (void*) (x) )
842 #if PY_VERSION_HEX >= 0x03000000
843 return PyUnicode_FromString(c);
845 return PyString_FromString(c);
850 # define PyObject_DEL PyObject_Del
855 # define SWIGPY_USE_CAPSULE
856 # define SWIGPY_CAPSULE_NAME ("swig_runtime_data" SWIG_RUNTIME_VERSION ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME)
858 #if PY_VERSION_HEX < 0x03020000
859 #define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type)
860 #define PyDescr_NAME(x) (((PyDescrObject *)(x))->d_name)
861 #define Py_hash_t long
873 type = PyExc_MemoryError;
876 type = PyExc_IOError;
879 type = PyExc_RuntimeError;
882 type = PyExc_IndexError;
885 type = PyExc_TypeError;
888 type = PyExc_ZeroDivisionError;
891 type = PyExc_OverflowError;
894 type = PyExc_SyntaxError;
897 type = PyExc_ValueError;
900 type = PyExc_SystemError;
903 type = PyExc_AttributeError;
906 type = PyExc_RuntimeError;
917 PyObject *traceback = 0;
919 if (PyErr_Occurred())
920 PyErr_Fetch(&type, &
value, &traceback);
922 PyObject *old_str = PyObject_Str(
value);
927 PyErr_Format(type,
"%s %s", tmp, mesg);
929 PyErr_Format(type,
"%s", mesg);
934 PyErr_SetString(PyExc_RuntimeError, mesg);
944 error = PyErr_Occurred();
945 return error && PyErr_GivenExceptionMatches(error, PyExc_TypeError);
954 PyObject *type = NULL, *
value = NULL, *traceback = NULL;
955 PyErr_Fetch(&type, &
value, &traceback);
956 #if PY_VERSION_HEX >= 0x03000000
957 newvalue = PyUnicode_FromFormat(
"%S\nAdditional information:\n%s",
value,
message);
959 newvalue = PyString_FromFormat(
"%s\nAdditional information:\n%s", PyString_AsString(
value),
message);
962 PyErr_Restore(type, newvalue, traceback);
965 PyErr_SetString(PyExc_TypeError,
message);
969 #if defined(SWIG_PYTHON_NO_THREADS)
970 # if defined(SWIG_PYTHON_THREADS)
971 # undef SWIG_PYTHON_THREADS
974 #if defined(SWIG_PYTHON_THREADS)
975 # if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
976 # define SWIG_PYTHON_USE_GIL
978 # if defined(SWIG_PYTHON_USE_GIL)
979 # ifndef SWIG_PYTHON_INITIALIZE_THREADS
980 # define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads()
983 class SWIG_Python_Thread_Block {
985 PyGILState_STATE state;
987 void end() {
if (status) { PyGILState_Release(state); status =
false;} }
988 SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
989 ~SWIG_Python_Thread_Block() { end(); }
991 class SWIG_Python_Thread_Allow {
995 void end() {
if (status) { PyEval_RestoreThread(save); status =
false; }}
996 SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
997 ~SWIG_Python_Thread_Allow() { end(); }
999 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block
1000 # define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end()
1001 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow
1002 # define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end()
1004 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
1005 # define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block)
1006 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread()
1007 # define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow)
1010 # if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
1011 # define SWIG_PYTHON_INITIALIZE_THREADS
1013 # if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
1014 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1016 # if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
1017 # define SWIG_PYTHON_THREAD_END_BLOCK
1019 # if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
1020 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1022 # if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
1023 # define SWIG_PYTHON_THREAD_END_ALLOW
1027 # define SWIG_PYTHON_INITIALIZE_THREADS
1028 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK
1029 # define SWIG_PYTHON_THREAD_END_BLOCK
1030 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW
1031 # define SWIG_PYTHON_THREAD_END_ALLOW
1047 #define SWIG_PY_POINTER 4
1048 #define SWIG_PY_BINARY 5
1074 #if PY_VERSION_HEX < 0x02070000
1075 # error "This version of SWIG only supports Python >= 2.7"
1078 #if PY_VERSION_HEX >= 0x03000000 && PY_VERSION_HEX < 0x03020000
1079 # error "This version of SWIG only supports Python 3 >= 3.2"
1085 #define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
1086 #define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags)
1087 #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
1089 #ifdef SWIGPYTHON_BUILTIN
1090 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(self, ptr, type, flags)
1092 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags)
1095 #define SWIG_InternalNewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags)
1097 #define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty)
1098 #define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src)
1099 #define swig_owntype int
1102 #define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1103 #define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1106 #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)
1107 #define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)
1110 #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
1111 #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(NULL, ptr, type, 0)
1114 #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1115 #define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
1120 #define SWIG_GetModule(clientdata) SWIG_Python_GetModule(clientdata)
1121 #define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer)
1122 #define SWIG_NewClientData(obj) SwigPyClientData_New(obj)
1124 #define SWIG_SetErrorObj SWIG_Python_SetErrorObj
1125 #define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg
1126 #define SWIG_ErrorType(code) SWIG_Python_ErrorType(code)
1127 #define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg)
1128 #define SWIG_fail goto fail
1138 PyErr_SetObject(errtype, obj);
1146 PyErr_SetString(errtype, msg);
1150 #define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
1154 #if defined(SWIGPYTHON_BUILTIN)
1157 SwigPyBuiltin_AddPublicSymbol(PyObject *seq,
const char *key) {
1158 PyObject *s = PyString_InternFromString(key);
1159 PyList_Append(seq, s);
1165 PyDict_SetItemString(d,
name, obj);
1167 if (public_interface)
1168 SwigPyBuiltin_AddPublicSymbol(public_interface,
name);
1175 PyDict_SetItemString(d,
name, obj);
1187 }
else if (result == Py_None) {
1191 if (!PyList_Check(result)) {
1192 PyObject *o2 = result;
1193 result = PyList_New(1);
1194 PyList_SetItem(result, 0, o2);
1196 PyList_Append(result,obj);
1211 PyErr_Format(PyExc_TypeError,
"%s expected %s%d arguments, got none",
1216 if (!PyTuple_Check(args)) {
1217 if (min <= 1 && max >= 1) {
1220 for (i = 1; i <
max; ++i) {
1225 PyErr_SetString(PyExc_SystemError,
"UnpackTuple() argument list is not a tuple");
1228 Py_ssize_t l = PyTuple_GET_SIZE(args);
1230 PyErr_Format(PyExc_TypeError,
"%s expected %s%d arguments, got %d",
1233 }
else if (l >
max) {
1234 PyErr_Format(PyExc_TypeError,
"%s expected %s%d arguments, got %d",
1239 for (i = 0; i < l; ++i) {
1240 objs[i] = PyTuple_GET_ITEM(args, i);
1242 for (; l <
max; ++l) {
1254 assert(PyDict_Check(kwargs));
1255 if (PyDict_Size(kwargs) > 0) {
1256 PyErr_Format(PyExc_TypeError,
"%s() does not take keyword arguments",
name);
1264 #define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL);
1271 #define SWIG_STATIC_POINTER(var) var
1273 #define SWIG_STATIC_POINTER(var) var = 0; if (!var) var
1281 #define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1)
1282 #define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)
1284 #define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1)
1286 #define SWIG_BUILTIN_TP_INIT (SWIG_POINTER_OWN << 2)
1287 #define SWIG_BUILTIN_INIT (SWIG_BUILTIN_TP_INIT | SWIG_POINTER_OWN)
1298 PyObject *none = Py_None;
1312 PyTypeObject *pytype;
1321 PyErr_SetString(PyExc_TypeError,
"Implicit conversion is prohibited for explicit constructors.");
1328 PyObject *klass = data ? data->
klass : 0;
1329 return (klass ? klass : PyExc_RuntimeError);
1342 Py_INCREF(data->
klass);
1344 if (PyClass_Check(obj)) {
1349 data->
newraw = PyObject_GetAttrString(data->
klass,
"__new__");
1352 data->
newargs = PyTuple_New(1);
1353 PyTuple_SetItem(data->
newargs, 0, obj);
1360 data->
destroy = PyObject_GetAttrString(data->
klass,
"__swig_destroy__");
1361 if (PyErr_Occurred()) {
1368 flags = PyCFunction_GET_FLAGS(data->
destroy);
1369 data->
delargs = !(flags & (METH_O));
1381 Py_XDECREF(data->
newraw);
1394 #ifdef SWIGPYTHON_BUILTIN
1400 #ifdef SWIGPYTHON_BUILTIN
1403 SwigPyObject_get___dict__(PyObject *v, PyObject *
SWIGUNUSEDPARM(args))
1408 sobj->dict = PyDict_New();
1410 Py_INCREF(sobj->dict);
1419 return PyLong_FromVoidPtr(v->
ptr);
1425 PyObject *res = NULL;
1426 PyObject *args = PyTuple_New(1);
1431 #if PY_VERSION_HEX >= 0x03000000
1432 res = PyUnicode_Format(ofmt,args);
1434 res = PyString_Format(ofmt,args);
1463 # if PY_VERSION_HEX >= 0x03000000
1464 PyObject *joined = PyUnicode_Concat(repr, nrep);
1469 PyString_ConcatAndDel(&repr,nrep);
1488 return (i < j) ? -1 : ((i > j) ? 1 : 0);
1496 if( op != Py_EQ && op != Py_NE ) {
1497 Py_INCREF(Py_NotImplemented);
1498 return Py_NotImplemented;
1507 #ifdef SWIGPYTHON_BUILTIN
1512 assert(SwigPyObject_stype);
1528 #ifdef SWIGPYTHON_BUILTIN
1530 if (PyType_IsSubtype(op->ob_type, target_tp))
1532 return (strcmp(op->ob_type->tp_name,
"SwigPyObject") == 0);
1535 || (strcmp(
Py_TYPE(op)->tp_name,
"SwigPyObject") == 0);
1550 PyObject *destroy = data ? data->
destroy : 0;
1562 PyObject *type = NULL, *
value = NULL, *traceback = NULL;
1563 PyErr_Fetch(&type, &
value, &traceback);
1571 PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
1572 PyObject *mself = PyCFunction_GET_SELF(destroy);
1573 res = ((*meth)(mself, v));
1576 PyErr_WriteUnraisable(destroy);
1578 PyErr_Restore(type,
value, traceback);
1582 #if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
1585 printf(
"swig/python detected a memory leak of type '%s', no destructor found.\n", (
name ?
name :
"unknown"));
1598 PyErr_SetString(PyExc_TypeError,
"Attempt to append a non SwigPyObject");
1611 Py_INCREF(sobj->
next);
1638 if (!PyArg_UnpackTuple(args,
"own", 0, 1, &val)) {
1642 PyObject *obj = PyBool_FromLong(sobj->
own);
1644 if (PyObject_IsTrue(val)) {
1658 {
"own",
SwigPyObject_own, METH_VARARGS,
"returns/sets ownership of the pointer"},
1667 static char swigobject_doc[] =
"Swig object carries a C/C++ instance pointer";
1669 static PyNumberMethods SwigPyObject_as_number = {
1674 #
if PY_VERSION_HEX < 0x03000000
1690 #
if PY_VERSION_HEX < 0x03000000
1694 #if PY_VERSION_HEX < 0x03000000
1700 #if PY_VERSION_HEX < 0x03000000
1704 #if PY_VERSION_HEX >= 0x03050000
1705 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1706 #elif PY_VERSION_HEX >= 0x03000000
1707 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1709 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1713 static PyTypeObject swigpyobject_type;
1714 static int type_init = 0;
1716 const PyTypeObject tmp = {
1717 #if PY_VERSION_HEX >= 0x03000000
1718 PyVarObject_HEAD_INIT(NULL, 0)
1720 PyObject_HEAD_INIT(NULL)
1730 #if PY_VERSION_HEX >= 0x03000000
1736 &SwigPyObject_as_number,
1742 PyObject_GenericGetAttr,
1773 #
if PY_VERSION_HEX >= 0x03040000
1776 #
if PY_VERSION_HEX >= 0x03080000
1779 #
if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
1790 swigpyobject_type = tmp;
1792 if (PyType_Ready(&swigpyobject_type) < 0)
1795 return &swigpyobject_type;
1808 return (PyObject *)sobj;
1849 int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
1850 return s ? s : strncmp((
const char *)v->
pack, (
const char *)w->
pack, 2*v->
size);
1864 || (strcmp((op)->ob_type->tp_name,
"SwigPyPacked") == 0);
1879 static char swigpacked_doc[] =
"Swig object carries a C/C++ instance pointer";
1880 static PyTypeObject swigpypacked_type;
1881 static int type_init = 0;
1883 const PyTypeObject tmp = {
1884 #if PY_VERSION_HEX>=0x03000000
1885 PyVarObject_HEAD_INIT(NULL, 0)
1887 PyObject_HEAD_INIT(NULL)
1897 #if PY_VERSION_HEX>=0x03000000
1909 PyObject_GenericGetAttr,
1940 #
if PY_VERSION_HEX >= 0x03040000
1943 #
if PY_VERSION_HEX >= 0x03080000
1946 #
if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
1957 swigpypacked_type = tmp;
1959 if (PyType_Ready(&swigpypacked_type) < 0)
1962 return &swigpypacked_type;
1970 void *pack =
malloc(size);
1972 memcpy(pack, ptr, size);
1981 return (PyObject *) sobj;
1989 if (sobj->
size != size)
return 0;
1990 memcpy(ptr, sobj->
pack, size);
2014 #if PY_VERSION_HEX>=0x03000000
2015 #define SWIG_PYTHON_SLOW_GETSET_THIS
2026 #ifdef SWIGPYTHON_BUILTIN
2028 # ifdef PyWeakref_CheckProxy
2029 if (PyWeakref_CheckProxy(pyobj)) {
2030 pyobj = PyWeakref_GET_OBJECT(pyobj);
2040 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2041 if (PyInstance_Check(pyobj)) {
2042 obj = _PyInstance_Lookup(pyobj,
SWIG_This());
2044 PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
2045 if (dictptr != NULL) {
2046 PyObject *dict = *dictptr;
2047 obj = dict ? PyDict_GetItem(dict,
SWIG_This()) : 0;
2049 #ifdef PyWeakref_CheckProxy
2050 if (PyWeakref_CheckProxy(pyobj)) {
2051 PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
2055 obj = PyObject_GetAttr(pyobj,
SWIG_This());
2059 if (PyErr_Occurred()) PyErr_Clear();
2065 obj = PyObject_GetAttr(pyobj,
SWIG_This());
2069 if (PyErr_Occurred()) PyErr_Clear();
2089 int oldown = sobj->
own;
2107 if (obj == Py_None && !implicit_conv) {
2119 void *vptr = sobj->
ptr;
2124 if (ptr) *ptr = vptr;
2144 if (ptr) *ptr = vptr;
2150 *own = *own | sobj->
own;
2156 if (implicit_conv) {
2159 PyObject *klass = data->
klass;
2165 if (PyErr_Occurred()) {
2190 if (!
SWIG_IsOK(res) && obj == Py_None) {
2193 if (PyErr_Occurred())
2206 if (!PyCFunction_Check(obj)) {
2213 const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
2214 const char *desc = doc ? strstr(doc,
"swig_ptr: ") : 0;
2260 PyObject *newraw = data->
newraw;
2262 inst = PyObject_Call(newraw, data->
newargs, NULL);
2264 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2265 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2266 if (dictptr != NULL) {
2267 PyObject *dict = *dictptr;
2269 dict = PyDict_New();
2271 PyDict_SetItem(dict,
SWIG_This(), swig_this);
2275 if (PyObject_SetAttr(inst,
SWIG_This(), swig_this) == -1) {
2282 #if PY_VERSION_HEX >= 0x03000000
2283 PyObject *empty_args = PyTuple_New(0);
2285 PyObject *empty_kwargs = PyDict_New();
2287 inst = ((PyTypeObject *)data->
newargs)->tp_new((PyTypeObject *)data->
newargs, empty_args, empty_kwargs);
2288 Py_DECREF(empty_kwargs);
2290 if (PyObject_SetAttr(inst,
SWIG_This(), swig_this) == -1) {
2294 Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
2298 Py_DECREF(empty_args);
2301 PyObject *dict = PyDict_New();
2303 PyDict_SetItem(dict,
SWIG_This(), swig_this);
2304 inst = PyInstance_NewRaw(data->
newargs, dict);
2315 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2316 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2317 if (dictptr != NULL) {
2318 PyObject *dict = *dictptr;
2320 dict = PyDict_New();
2323 return PyDict_SetItem(dict,
SWIG_This(), swig_this);
2326 return PyObject_SetAttr(inst,
SWIG_This(), swig_this);
2360 if (clientdata && clientdata->
pytype) {
2365 PyObject *next_self = clientdata->
pytype->tp_alloc(clientdata->
pytype, 0);
2366 while (newobj->
next)
2368 newobj->
next = next_self;
2370 #ifdef SWIGPYTHON_BUILTIN
2376 #ifdef SWIGPYTHON_BUILTIN
2385 return (PyObject*) newobj;
2412 #ifdef SWIG_LINK_RUNTIME
2413 void *SWIG_ReturnGlobalTypeList(
void *);
2418 static void *type_pointer = (
void *)0;
2420 if (!type_pointer) {
2421 #ifdef SWIG_LINK_RUNTIME
2422 type_pointer = SWIG_ReturnGlobalTypeList((
void *)0);
2425 if (PyErr_Occurred()) {
2427 type_pointer = (
void *)0;
2453 #if PY_VERSION_HEX >= 0x03000000
2457 static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };
2458 PyObject *module = Py_InitModule(
"swig_runtime_data" SWIG_RUNTIME_VERSION, swig_empty_runtime_method_table);
2461 if (pointer && module) {
2464 Py_XDECREF(pointer);
2480 PyObject *obj = PyDict_GetItem(cache, key);
2488 obj = PyCapsule_New((
void*) descriptor, NULL, NULL);
2489 PyDict_SetItem(cache, key, obj);
2500 #define SWIG_POINTER_EXCEPTION 0
2501 #define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg)
2502 #define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags)
2507 if (PyErr_Occurred()) {
2509 PyObject *
value = 0;
2510 PyObject *traceback = 0;
2511 PyErr_Fetch(&type, &
value, &traceback);
2513 PyObject *old_str = PyObject_Str(
value);
2515 const char *errmesg = tmp ? tmp :
"Invalid error message";
2519 PyErr_Format(type,
"%s %s", mesg, errmesg);
2521 PyErr_Format(type,
"%s %s", errmesg, mesg);
2535 if (PyErr_Occurred()) {
2538 PyOS_snprintf(mesg,
sizeof(mesg),
"argument number %d:", argnum);
2550 return ty ? ty->
str :
"";
2557 #if defined(SWIG_COBJECT_TYPES)
2561 PyErr_Format(PyExc_TypeError,
"a '%s' is expected, 'SwigPyObject(%s)' is received",
2568 const char *otype = (obj ? obj->ob_type->tp_name : 0);
2570 PyObject *str = PyObject_Str(obj);
2573 PyErr_Format(PyExc_TypeError,
"a '%s' is expected, '%s(%s)' is received",
2577 PyErr_Format(PyExc_TypeError,
"a '%s' is expected, '%s' is received",
2584 PyErr_Format(PyExc_TypeError,
"a '%s' is expected", type);
2586 PyErr_Format(PyExc_TypeError,
"unexpected type is received");
2597 #if SWIG_POINTER_EXCEPTION
2607 #ifdef SWIGPYTHON_BUILTIN
2609 SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *
name, PyObject *
value) {
2610 PyTypeObject *tp = obj->ob_type;
2612 PyObject *encoded_name;
2616 # ifdef Py_USING_UNICODE
2617 if (PyString_Check(
name)) {
2618 name = PyUnicode_Decode(PyString_AsString(
name), PyString_Size(
name), NULL, NULL);
2621 }
else if (!PyUnicode_Check(
name))
2623 if (!PyString_Check(
name))
2626 PyErr_Format(PyExc_TypeError,
"attribute name must be string, not '%.200s'",
name->ob_type->tp_name);
2633 if (PyType_Ready(tp) < 0)
2637 descr = _PyType_Lookup(tp,
name);
2640 f = descr->ob_type->tp_descr_set;
2642 if (PyString_Check(
name)) {
2643 encoded_name =
name;
2646 encoded_name = PyUnicode_AsUTF8String(
name);
2650 PyErr_Format(PyExc_AttributeError,
"'%.100s' object has no attribute '%.200s'", tp->tp_name, PyString_AsString(encoded_name));
2651 Py_DECREF(encoded_name);
2653 res = f(descr, obj,
value);
2669 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
2671 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
2690 #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0)
2695 #define SWIGTYPE_p_char swig_types[0]
2696 #define SWIGTYPE_p_int swig_types[1]
2697 #define SWIGTYPE_p_long swig_types[2]
2698 #define SWIGTYPE_p_operations_research__MPConstraint swig_types[3]
2699 #define SWIGTYPE_p_operations_research__MPModelExportOptions swig_types[4]
2700 #define SWIGTYPE_p_operations_research__MPModelRequest swig_types[5]
2701 #define SWIGTYPE_p_operations_research__MPObjective swig_types[6]
2702 #define SWIGTYPE_p_operations_research__MPSolver swig_types[7]
2703 #define SWIGTYPE_p_operations_research__MPSolverParameters swig_types[8]
2704 #define SWIGTYPE_p_operations_research__MPVariable swig_types[9]
2705 #define SWIGTYPE_p_short swig_types[10]
2706 #define SWIGTYPE_p_signed_char swig_types[11]
2707 #define SWIGTYPE_p_std__ostream swig_types[12]
2708 #define SWIGTYPE_p_unsigned_char swig_types[13]
2709 #define SWIGTYPE_p_unsigned_int swig_types[14]
2710 #define SWIGTYPE_p_unsigned_long swig_types[15]
2711 #define SWIGTYPE_p_unsigned_short swig_types[16]
2714 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2715 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
2719 #ifdef SWIG_TypeQuery
2720 # undef SWIG_TypeQuery
2722 #define SWIG_TypeQuery SWIG_Python_TypeQuery
2727 #if PY_VERSION_HEX >= 0x03000000
2728 # define SWIG_init PyInit__pywraplp
2731 # define SWIG_init init_pywraplp
2734 #define SWIG_name "_pywraplp"
2736 #define SWIGVERSION 0x040002
2737 #define SWIG_VERSION SWIGVERSION
2740 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
2741 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
2744 #include <stdexcept>
2748 class SwigPtr_PyObject {
2776 Py_XINCREF(item._obj);
2790 operator PyObject *()
const
2804 struct SwigVar_PyObject : SwigPtr_PyObject {
2827 #define SWIGWORDSIZE64
2831 #if (__WORDSIZE == 32) || (LONG_MAX == INT_MAX)
2832 # error "SWIG wrapped code invalid in 32 bit architecture, regenerate code using -DSWIGWORDSIZE32"
2839 #include "ortools/base/python-swig.h"
2844 #include "ortools/linear_solver/model_exporter_swig_helper.h"
2891 return PyInt_FromLong((
long)
value);
2898 static int init = 0;
2911 #if PY_VERSION_HEX>=0x03000000
2912 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2913 if (PyBytes_Check(obj))
2915 if (PyUnicode_Check(obj))
2918 if (PyString_Check(obj))
2921 char *cstr; Py_ssize_t len;
2923 #if PY_VERSION_HEX>=0x03000000
2924 #if !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2925 if (!alloc && cptr) {
2932 obj = PyUnicode_AsUTF8String(obj);
2938 if (PyBytes_AsStringAndSize(obj, &cstr, &len) == -1)
2941 if (PyString_AsStringAndSize(obj, &cstr, &len) == -1)
2947 *cptr =
reinterpret_cast< char*
>(memcpy(
new char[len + 1], cstr,
sizeof(
char)*(len + 1)));
2954 #if PY_VERSION_HEX>=0x03000000
2955 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2956 *cptr = PyBytes_AsString(obj);
2967 if (psize) *psize = len + 1;
2968 #if PY_VERSION_HEX>=0x03000000 && !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2973 #if defined(SWIG_PYTHON_2_UNICODE)
2974 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2975 #error "Cannot use both SWIG_PYTHON_2_UNICODE and SWIG_PYTHON_STRICT_BYTE_CHAR at once"
2977 #if PY_VERSION_HEX<0x03000000
2978 if (PyUnicode_Check(obj)) {
2979 char *cstr; Py_ssize_t len;
2980 if (!alloc && cptr) {
2983 obj = PyUnicode_AsUTF8String(obj);
2986 if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
2989 *cptr =
reinterpret_cast< char*
>(memcpy(
new char[len + 1], cstr,
sizeof(
char)*(len + 1)));
2991 if (psize) *psize = len + 1;
3003 if (pchar_descriptor) {
3006 if (cptr) *cptr = (
char *) vptr;
3007 if (psize) *psize = vptr ? (strlen((
char *)vptr) + 1) : 0;
3020 char* buf = 0 ;
size_t size = 0;
int alloc =
SWIG_OLDOBJ;
3023 if (val) *val =
new std::string(buf, size - 1);
3031 static int init = 0;
3049 #if !defined(SWIG_NO_LLONG_MAX)
3050 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
3051 # define LLONG_MAX __LONG_LONG_MAX__
3052 # define LLONG_MIN (-LLONG_MAX - 1LL)
3053 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
3062 if (PyFloat_Check(obj)) {
3063 if (val) *val = PyFloat_AsDouble(obj);
3065 #if PY_VERSION_HEX < 0x03000000
3066 }
else if (PyInt_Check(obj)) {
3067 if (val) *val = (double) PyInt_AsLong(obj);
3070 }
else if (PyLong_Check(obj)) {
3071 double v = PyLong_AsDouble(obj);
3072 if (!PyErr_Occurred()) {
3079 #ifdef SWIG_PYTHON_CAST_MODE
3082 double d = PyFloat_AsDouble(obj);
3083 if (!PyErr_Occurred()) {
3090 long v = PyLong_AsLong(obj);
3091 if (!PyErr_Occurred()) {
3113 if ((
min <= x && x <=
max)) {
3114 double fx = floor(x);
3115 double cx = ceil(x);
3116 double rd = ((x - fx) < 0.5) ? fx : cx;
3117 if ((errno == EDOM) || (errno == ERANGE)) {
3120 double summ, reps, diff;
3123 }
else if (rd > x) {
3130 if (reps < 8*DBL_EPSILON) {
3143 #if PY_VERSION_HEX < 0x03000000
3144 if (PyInt_Check(obj)) {
3145 if (val) *val = PyInt_AsLong(obj);
3149 if (PyLong_Check(obj)) {
3150 long v = PyLong_AsLong(obj);
3151 if (!PyErr_Occurred()) {
3159 #ifdef SWIG_PYTHON_CAST_MODE
3162 long v = PyInt_AsLong(obj);
3163 if (!PyErr_Occurred()) {
3173 if (val) *val = (long)(d);
3189 if ((v < INT_MIN || v > INT_MAX)) {
3192 if (val) *val =
static_cast< int >(v);
3202 return PyBool_FromLong(
value ? 1 : 0);
3210 if (!PyBool_Check(obj))
3212 r = PyObject_IsTrue(obj);
3215 if (val) *val = r ? true :
false;
3220 #define SWIG_From_double PyFloat_FromDouble
3223 #define SWIG_From_long PyInt_FromLong
3226 std::string error_message;
3227 self->LoadModelFromProto(input_model, &error_message);
3228 return error_message;
3235 if (size > INT_MAX) {
3237 return pchar_descriptor ?
3240 #if PY_VERSION_HEX >= 0x03000000
3241 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3242 return PyBytes_FromStringAndSize(carray,
static_cast< Py_ssize_t
>(size));
3244 return PyUnicode_DecodeUTF8(carray,
static_cast< Py_ssize_t
>(size),
"surrogateescape");
3247 return PyString_FromStringAndSize(carray,
static_cast< Py_ssize_t
>(size));
3263 return self->LoadSolutionFromProto(
response, tolerance).ok();
3268 operations_research::MPModelProto
model;
3269 self->ExportModelToProto(&
model);
3275 operations_research::MPModelProto
model;
3276 self->ExportModelToProto(&
model);
3280 if (variables.size() != values.size()) {
3281 LOG(
FATAL) <<
"Different number of variables and values when setting "
3284 std::vector<std::pair<const operations_research::MPVariable*, double> >
3285 hint(variables.size());
3286 for (
int i = 0; i < variables.size(); ++i) {
3287 hint[i] = std::make_pair(variables[i], values[i]);
3289 self->SetHint(hint);
3292 return self->SetNumThreads(num_theads).ok();
3300 return self->name();
3303 return self->name();
3321 PyObject *resultobj = 0;
3322 std::string *arg1 = 0 ;
3327 PyObject *swig_obj[2] ;
3332 std::string *ptr = (std::string *)0;
3344 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "new_Solver" "', argument " "2"" of type '" "operations_research::MPSolver::OptimizationProblemType""'");
3358 PyObject *resultobj = 0;
3362 PyObject *swig_obj[1] ;
3380 PyObject *resultobj = 0;
3381 std::string *arg1 = 0 ;
3383 PyObject *swig_obj[1] ;
3389 std::string *ptr = (std::string *)0;
3410 PyObject *resultobj = 0;
3414 PyObject *swig_obj[1] ;
3421 SWIG_exception_fail(
SWIG_ArgError(ecode1),
"in method '" "Solver_SupportsProblemType" "', argument " "1"" of type '" "operations_research::MPSolver::OptimizationProblemType""'");
3433 PyObject *resultobj = 0;
3437 PyObject *swig_obj[1] ;
3455 PyObject *resultobj = 0;
3459 PyObject *swig_obj[1] ;
3478 PyObject *resultobj = 0;
3482 PyObject *swig_obj[1] ;
3483 std::vector< operations_research::MPVariable * > *result = 0 ;
3503 PyObject *resultobj = 0;
3510 PyObject *swig_obj[2] ;
3523 arg2 =
static_cast< int >(val2);
3533 PyObject *resultobj = 0;
3535 std::string *arg2 = 0 ;
3539 PyObject *swig_obj[2] ;
3549 std::string *ptr = (std::string *)0;
3570 PyObject *resultobj = 0;
3575 std::string *arg5 = 0 ;
3585 PyObject *swig_obj[5] ;
3598 arg2 =
static_cast< double >(val2);
3603 arg3 =
static_cast< double >(val3);
3608 arg4 =
static_cast< bool >(val4);
3610 std::string *ptr = (std::string *)0;
3631 PyObject *resultobj = 0;
3635 std::string *arg4 = 0 ;
3643 PyObject *swig_obj[4] ;
3656 arg2 =
static_cast< double >(val2);
3661 arg3 =
static_cast< double >(val3);
3663 std::string *ptr = (std::string *)0;
3684 PyObject *resultobj = 0;
3688 std::string *arg4 = 0 ;
3696 PyObject *swig_obj[4] ;
3709 arg2 =
static_cast< double >(val2);
3714 arg3 =
static_cast< double >(val3);
3716 std::string *ptr = (std::string *)0;
3737 PyObject *resultobj = 0;
3739 std::string *arg2 = 0 ;
3743 PyObject *swig_obj[2] ;
3753 std::string *ptr = (std::string *)0;
3774 PyObject *resultobj = 0;
3778 PyObject *swig_obj[1] ;
3797 PyObject *resultobj = 0;
3801 PyObject *swig_obj[1] ;
3802 std::vector< operations_research::MPConstraint * > *result = 0 ;
3822 PyObject *resultobj = 0;
3829 PyObject *swig_obj[2] ;
3842 arg2 =
static_cast< int >(val2);
3852 PyObject *resultobj = 0;
3854 std::string *arg2 = 0 ;
3858 PyObject *swig_obj[2] ;
3864 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LookupConstraint" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
3868 std::string *ptr = (std::string *)0;
3889 PyObject *resultobj = 0;
3901 if ((nobjs < 3) || (nobjs > 3))
SWIG_fail;
3911 arg2 =
static_cast< double >(val2);
3916 arg3 =
static_cast< double >(val3);
3926 PyObject *resultobj = 0;
3932 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
3947 PyObject *resultobj = 0;
3951 std::string *arg4 = 0 ;
3961 if ((nobjs < 4) || (nobjs > 4))
SWIG_fail;
3971 arg2 =
static_cast< double >(val2);
3976 arg3 =
static_cast< double >(val3);
3978 std::string *ptr = (std::string *)0;
3999 PyObject *resultobj = 0;
4001 std::string *arg2 = 0 ;
4007 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
4014 std::string *ptr = (std::string *)0;
4036 PyObject *argv[5] = {
4113 " Possible C/C++ prototypes are:\n"
4114 " operations_research::MPSolver::MakeRowConstraint(double,double)\n"
4115 " operations_research::MPSolver::MakeRowConstraint()\n"
4116 " operations_research::MPSolver::MakeRowConstraint(double,double,std::string const &)\n"
4117 " operations_research::MPSolver::MakeRowConstraint(std::string const &)\n");
4123 PyObject *resultobj = 0;
4127 PyObject *swig_obj[1] ;
4146 PyObject *resultobj = 0;
4152 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
4167 PyObject *resultobj = 0;
4176 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
4184 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "Solver_Solve" "', argument " "2"" of type '" "operations_research::MPSolverParameters const &""'");
4187 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_Solve" "', argument " "2"" of type '" "operations_research::MPSolverParameters const &""'");
4200 PyObject *argv[3] = {
4231 " Possible C/C++ prototypes are:\n"
4232 " operations_research::MPSolver::Solve()\n"
4233 " operations_research::MPSolver::Solve(operations_research::MPSolverParameters const &)\n");
4239 PyObject *resultobj = 0;
4243 PyObject *swig_obj[1] ;
4244 std::vector< double > result;
4250 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ComputeConstraintActivities" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4255 resultobj = vector_output_helper(&result, &PyFloat_FromDouble);
4264 PyObject *resultobj = 0;
4274 PyObject *swig_obj[3] ;
4287 arg2 =
static_cast< double >(val2);
4292 arg3 =
static_cast< bool >(val3);
4302 PyObject *resultobj = 0;
4306 PyObject *swig_obj[1] ;
4325 PyObject *resultobj = 0;
4327 operations_research::MPSolutionResponse *arg2 = (operations_research::MPSolutionResponse *) 0 ;
4330 PyObject *swig_obj[2] ;
4335 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_FillSolutionResponseProto" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4339 arg2 =
new operations_research::MPSolutionResponse;
4340 PyObject*
const pyresult = PyObject_CallMethod(
4341 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4342 if (pyresult !=
nullptr) {
4343 char* buffer =
nullptr;
4344 Py_ssize_t length = 0;
4345 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4346 if (buffer !=
nullptr) {
4347 arg2->ParseFromArray(buffer, length);
4349 Py_DECREF(pyresult);
4355 std::string encoded_protobuf;
4356 arg2->SerializeToString(&encoded_protobuf);
4358 PyObject*
const python_encoded_protobuf =
4359 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4360 encoded_protobuf.size());
4366 if (python_encoded_protobuf !=
nullptr) {
4367 PyObject*
const result = PyObject_CallMethod(
4368 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4369 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4370 Py_DECREF(python_encoded_protobuf);
4371 if (result !=
nullptr) {
4389 PyObject *resultobj = 0;
4390 operations_research::MPModelRequest *arg1 = 0 ;
4391 operations_research::MPSolutionResponse *arg2 = (operations_research::MPSolutionResponse *) 0 ;
4394 PyObject *swig_obj[2] ;
4399 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_SolveWithProto" "', argument " "1"" of type '" "operations_research::MPModelRequest const &""'");
4402 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_SolveWithProto" "', argument " "1"" of type '" "operations_research::MPModelRequest const &""'");
4404 arg1 =
reinterpret_cast< operations_research::MPModelRequest *
>(argp1);
4406 arg2 =
new operations_research::MPSolutionResponse;
4407 PyObject*
const pyresult = PyObject_CallMethod(
4408 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4409 if (pyresult !=
nullptr) {
4410 char* buffer =
nullptr;
4411 Py_ssize_t length = 0;
4412 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4413 if (buffer !=
nullptr) {
4414 arg2->ParseFromArray(buffer, length);
4416 Py_DECREF(pyresult);
4422 std::string encoded_protobuf;
4423 arg2->SerializeToString(&encoded_protobuf);
4425 PyObject*
const python_encoded_protobuf =
4426 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4427 encoded_protobuf.size());
4433 if (python_encoded_protobuf !=
nullptr) {
4434 PyObject*
const result = PyObject_CallMethod(
4435 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4436 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4437 Py_DECREF(python_encoded_protobuf);
4438 if (result !=
nullptr) {
4456 PyObject *resultobj = 0;
4458 operations_research::MPModelProto *arg2 = (operations_research::MPModelProto *) 0 ;
4461 PyObject *swig_obj[2] ;
4466 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ExportModelToProto" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4470 arg2 =
new operations_research::MPModelProto;
4471 PyObject*
const pyresult = PyObject_CallMethod(
4472 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4473 if (pyresult !=
nullptr) {
4474 char* buffer =
nullptr;
4475 Py_ssize_t length = 0;
4476 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4477 if (buffer !=
nullptr) {
4478 arg2->ParseFromArray(buffer, length);
4480 Py_DECREF(pyresult);
4486 std::string encoded_protobuf;
4487 arg2->SerializeToString(&encoded_protobuf);
4489 PyObject*
const python_encoded_protobuf =
4490 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4491 encoded_protobuf.size());
4497 if (python_encoded_protobuf !=
nullptr) {
4498 PyObject*
const result = PyObject_CallMethod(
4499 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4500 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4501 Py_DECREF(python_encoded_protobuf);
4502 if (result !=
nullptr) {
4520 PyObject *resultobj = 0;
4522 std::string *arg2 = 0 ;
4526 PyObject *swig_obj[2] ;
4532 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_SetSolverSpecificParametersAsString" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4536 std::string *ptr = (std::string *)0;
4539 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "Solver_SetSolverSpecificParametersAsString" "', argument " "2"" of type '" "std::string const &""'");
4542 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_SetSolverSpecificParametersAsString" "', argument " "2"" of type '" "std::string const &""'");
4546 result = (bool)(arg1)->SetSolverSpecificParametersAsString((std::string
const &)*arg2);
4557 PyObject *resultobj = 0;
4570 PyObject *resultobj = 0;
4574 PyObject *swig_obj[1] ;
4583 (arg1)->EnableOutput();
4592 PyObject *resultobj = 0;
4596 PyObject *swig_obj[1] ;
4605 (arg1)->SuppressOutput();
4614 PyObject *resultobj = 0;
4618 PyObject *swig_obj[1] ;
4637 PyObject *resultobj = 0;
4641 PyObject *swig_obj[1] ;
4660 PyObject *resultobj = 0;
4664 PyObject *swig_obj[1] ;
4671 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ComputeExactConditionNumber" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4683 PyObject *resultobj = 0;
4687 PyObject *swig_obj[1] ;
4706 PyObject *resultobj = 0;
4713 PyObject *swig_obj[2] ;
4725 arg2 =
static_cast< int64_t
>(val2);
4726 (arg1)->set_time_limit(arg2);
4735 PyObject *resultobj = 0;
4739 PyObject *swig_obj[1] ;
4758 PyObject *resultobj = 0;
4760 operations_research::MPModelProto *arg2 = 0 ;
4763 PyObject *swig_obj[2] ;
4773 arg2 =
new operations_research::MPModelProto;
4774 PyObject*
const pyresult = PyObject_CallMethod(
4775 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4776 if (pyresult !=
nullptr) {
4777 char* buffer =
nullptr;
4778 Py_ssize_t length = 0;
4779 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4780 if (buffer !=
nullptr) {
4781 arg2->ParseFromArray(buffer, length);
4783 Py_DECREF(pyresult);
4801 PyObject *resultobj = 0;
4803 operations_research::MPSolutionResponse *arg2 = 0 ;
4811 if ((nobjs < 3) || (nobjs > 3))
SWIG_fail;
4814 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LoadSolutionFromProto" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4818 arg2 =
new operations_research::MPSolutionResponse;
4819 PyObject*
const pyresult = PyObject_CallMethod(
4820 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4821 if (pyresult !=
nullptr) {
4822 char* buffer =
nullptr;
4823 Py_ssize_t length = 0;
4824 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4825 if (buffer !=
nullptr) {
4826 arg2->ParseFromArray(buffer, length);
4828 Py_DECREF(pyresult);
4835 arg3 =
static_cast< double >(val3);
4851 PyObject *resultobj = 0;
4853 operations_research::MPSolutionResponse *arg2 = 0 ;
4858 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
4861 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LoadSolutionFromProto" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4865 arg2 =
new operations_research::MPSolutionResponse;
4866 PyObject*
const pyresult = PyObject_CallMethod(
4867 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4868 if (pyresult !=
nullptr) {
4869 char* buffer =
nullptr;
4870 Py_ssize_t length = 0;
4871 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4872 if (buffer !=
nullptr) {
4873 arg2->ParseFromArray(buffer, length);
4875 Py_DECREF(pyresult);
4894 PyObject *argv[4] = {
4908 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
4909 if (module !=
nullptr) {
4910 PyObject*
const dict = PyModule_GetDict(module);
4911 if (dict !=
nullptr) {
4912 PyObject*
const clss = PyDict_GetItemString(dict,
"MPSolutionResponse");
4913 if (clss !=
nullptr) {
4914 if (PyObject_IsInstance(argv[1], clss)) {
4936 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
4937 if (module !=
nullptr) {
4938 PyObject*
const dict = PyModule_GetDict(module);
4939 if (dict !=
nullptr) {
4940 PyObject*
const clss = PyDict_GetItemString(dict,
"MPSolutionResponse");
4941 if (clss !=
nullptr) {
4942 if (PyObject_IsInstance(argv[1], clss)) {
4965 " Possible C/C++ prototypes are:\n"
4966 " operations_research::MPSolver::LoadSolutionFromProto(operations_research::MPSolutionResponse const &,double)\n"
4967 " operations_research::MPSolver::LoadSolutionFromProto(operations_research::MPSolutionResponse const &)\n");
4973 PyObject *resultobj = 0;
4980 PyObject *swig_obj[2] ;
4986 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ExportModelAsLpFormat" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4993 arg2 =
static_cast< bool >(val2);
5003 PyObject *resultobj = 0;
5013 PyObject *swig_obj[3] ;
5019 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ExportModelAsMpsFormat" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
5026 arg2 =
static_cast< bool >(val2);
5031 arg3 =
static_cast< bool >(val3);
5041 PyObject *resultobj = 0;
5043 std::vector< operations_research::MPVariable * > *arg2 = 0 ;
5044 std::vector< double > *arg3 = 0 ;
5047 std::vector< operations_research::MPVariable * > temp2 ;
5048 std::vector< double > temp3 ;
5049 PyObject *swig_obj[3] ;
5058 if (!vector_input_helper(swig_obj[1], &temp2, PyObjAs<operations_research::MPVariable*>)) {
5059 if (!PyErr_Occurred())
5066 if (!vector_input_helper(swig_obj[2], &temp3, PyObjAs<double>)) {
5067 if (!PyErr_Occurred())
5082 PyObject *resultobj = 0;
5089 PyObject *swig_obj[2] ;
5102 arg2 =
static_cast< int >(val2);
5112 PyObject *resultobj = 0;
5125 PyObject *resultobj = 0;
5132 PyObject *swig_obj[2] ;
5144 arg2 =
static_cast< int64_t
>(val2);
5154 PyObject *resultobj = 0;
5158 PyObject *swig_obj[1] ;
5177 PyObject *resultobj = 0;
5181 PyObject *swig_obj[1] ;
5211 PyObject *resultobj = 0;
5212 std::ostream *arg1 = 0 ;
5218 std::ostream *result = 0 ;
5220 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
5228 arg1 =
reinterpret_cast< std::ostream *
>(argp1);
5231 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "__lshift__" "', argument " "2"" of type '" "operations_research::MPSolver::OptimizationProblemType""'");
5234 result = (std::ostream *) &operations_research::operator <<(*arg1,arg2);
5239 Py_INCREF(Py_NotImplemented);
5240 return Py_NotImplemented;
5245 PyObject *resultobj = 0;
5246 std::ostream *arg1 = 0 ;
5252 std::ostream *result = 0 ;
5254 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
5262 arg1 =
reinterpret_cast< std::ostream *
>(argp1);
5268 result = (std::ostream *) &operations_research::operator <<(*arg1,arg2);
5273 Py_INCREF(Py_NotImplemented);
5274 return Py_NotImplemented;
5280 PyObject *argv[3] = {
5318 Py_INCREF(Py_NotImplemented);
5319 return Py_NotImplemented;
5324 PyObject *resultobj = 0;
5328 PyObject *swig_obj[1] ;
5346 PyObject *resultobj = 0;
5354 PyObject *swig_obj[3] ;
5369 arg3 =
static_cast< double >(val3);
5379 PyObject *resultobj = 0;
5384 PyObject *swig_obj[2] ;
5390 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_GetCoefficient" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5405 PyObject *resultobj = 0;
5412 PyObject *swig_obj[2] ;
5424 arg2 =
static_cast< double >(val2);
5425 (arg1)->SetOffset(arg2);
5434 PyObject *resultobj = 0;
5438 PyObject *swig_obj[1] ;
5457 PyObject *resultobj = 0;
5464 PyObject *swig_obj[2] ;
5469 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_SetOptimizationDirection" "', argument " "1"" of type '" "operations_research::MPObjective *""'");
5476 arg2 =
static_cast< bool >(val2);
5477 (arg1)->SetOptimizationDirection(arg2);
5486 PyObject *resultobj = 0;
5490 PyObject *swig_obj[1] ;
5496 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_SetMinimization" "', argument " "1"" of type '" "operations_research::MPObjective *""'");
5499 (arg1)->SetMinimization();
5508 PyObject *resultobj = 0;
5512 PyObject *swig_obj[1] ;
5518 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_SetMaximization" "', argument " "1"" of type '" "operations_research::MPObjective *""'");
5521 (arg1)->SetMaximization();
5530 PyObject *resultobj = 0;
5534 PyObject *swig_obj[1] ;
5541 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_maximization" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5553 PyObject *resultobj = 0;
5557 PyObject *swig_obj[1] ;
5564 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_minimization" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5576 PyObject *resultobj = 0;
5580 PyObject *swig_obj[1] ;
5599 PyObject *resultobj = 0;
5603 PyObject *swig_obj[1] ;
5610 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_BestBound" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5622 PyObject *resultobj = 0;
5626 PyObject *swig_obj[1] ;
5645 PyObject *resultobj = 0;
5649 PyObject *swig_obj[1] ;
5674 PyObject *resultobj = 0;
5678 PyObject *swig_obj[1] ;
5679 std::string *result = 0 ;
5697 PyObject *resultobj = 0;
5704 PyObject *swig_obj[2] ;
5716 arg2 =
static_cast< bool >(val2);
5717 (arg1)->SetInteger(arg2);
5726 PyObject *resultobj = 0;
5730 PyObject *swig_obj[1] ;
5749 PyObject *resultobj = 0;
5753 PyObject *swig_obj[1] ;
5760 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_solution_value" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
5772 PyObject *resultobj = 0;
5776 PyObject *swig_obj[1] ;
5795 PyObject *resultobj = 0;
5799 PyObject *swig_obj[1] ;
5818 PyObject *resultobj = 0;
5822 PyObject *swig_obj[1] ;
5841 PyObject *resultobj = 0;
5851 PyObject *swig_obj[3] ;
5863 arg2 =
static_cast< double >(val2);
5868 arg3 =
static_cast< double >(val3);
5869 (arg1)->SetBounds(arg2,arg3);
5878 PyObject *resultobj = 0;
5882 PyObject *swig_obj[1] ;
5889 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_reduced_cost" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
5901 PyObject *resultobj = 0;
5905 PyObject *swig_obj[1] ;
5912 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_basis_status" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
5924 PyObject *resultobj = 0;
5928 PyObject *swig_obj[1] ;
5935 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_branching_priority" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
5947 PyObject *resultobj = 0;
5954 PyObject *swig_obj[2] ;
5959 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_SetBranchingPriority" "', argument " "1"" of type '" "operations_research::MPVariable *""'");
5966 arg2 =
static_cast< int >(val2);
5967 (arg1)->SetBranchingPriority(arg2);
5976 PyObject *resultobj = 0;
5980 PyObject *swig_obj[1] ;
5999 PyObject *resultobj = 0;
6003 PyObject *swig_obj[1] ;
6022 PyObject *resultobj = 0;
6026 PyObject *swig_obj[1] ;
6033 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_SolutionValue" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
6045 PyObject *resultobj = 0;
6049 PyObject *swig_obj[1] ;
6068 PyObject *resultobj = 0;
6072 PyObject *swig_obj[1] ;
6091 PyObject *resultobj = 0;
6095 PyObject *swig_obj[1] ;
6114 PyObject *resultobj = 0;
6121 PyObject *swig_obj[2] ;
6133 arg2 =
static_cast< double >(val2);
6143 PyObject *resultobj = 0;
6150 PyObject *swig_obj[2] ;
6162 arg2 =
static_cast< double >(val2);
6172 PyObject *resultobj = 0;
6176 PyObject *swig_obj[1] ;
6183 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_ReducedCost" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
6195 PyObject *resultobj = 0;
6199 PyObject *swig_obj[1] ;
6224 PyObject *resultobj = 0;
6228 PyObject *swig_obj[1] ;
6229 std::string *result = 0 ;
6247 PyObject *resultobj = 0;
6251 PyObject *swig_obj[1] ;
6269 PyObject *resultobj = 0;
6277 PyObject *swig_obj[3] ;
6282 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_SetCoefficient" "', argument " "1"" of type '" "operations_research::MPConstraint *""'");
6292 arg3 =
static_cast< double >(val3);
6302 PyObject *resultobj = 0;
6307 PyObject *swig_obj[2] ;
6313 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_GetCoefficient" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6328 PyObject *resultobj = 0;
6332 PyObject *swig_obj[1] ;
6351 PyObject *resultobj = 0;
6355 PyObject *swig_obj[1] ;
6374 PyObject *resultobj = 0;
6384 PyObject *swig_obj[3] ;
6396 arg2 =
static_cast< double >(val2);
6401 arg3 =
static_cast< double >(val3);
6402 (arg1)->SetBounds(arg2,arg3);
6411 PyObject *resultobj = 0;
6418 PyObject *swig_obj[2] ;
6430 arg2 =
static_cast< bool >(val2);
6431 (arg1)->set_is_lazy(arg2);
6440 PyObject *resultobj = 0;
6444 PyObject *swig_obj[1] ;
6463 PyObject *resultobj = 0;
6467 PyObject *swig_obj[1] ;
6474 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_dual_value" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6486 PyObject *resultobj = 0;
6490 PyObject *swig_obj[1] ;
6497 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_basis_status" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6509 PyObject *resultobj = 0;
6513 PyObject *swig_obj[1] ;
6532 PyObject *resultobj = 0;
6536 PyObject *swig_obj[1] ;
6555 PyObject *resultobj = 0;
6562 PyObject *swig_obj[2] ;
6574 arg2 =
static_cast< double >(val2);
6584 PyObject *resultobj = 0;
6591 PyObject *swig_obj[2] ;
6603 arg2 =
static_cast< double >(val2);
6613 PyObject *resultobj = 0;
6617 PyObject *swig_obj[1] ;
6624 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_DualValue" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6636 PyObject *resultobj = 0;
6640 PyObject *swig_obj[1] ;
6671 PyObject *pyobj = 0;
6685 PyObject *pyobj = 0;
6699 PyObject *pyobj = 0;
6713 PyObject *pyobj = 0;
6727 PyObject *pyobj = 0;
6735 PyObject *resultobj = 0;
6748 PyObject *resultobj = 0;
6758 PyObject *swig_obj[3] ;
6763 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_SetDoubleParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters *""'");
6768 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_SetDoubleParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::DoubleParam""'");
6775 arg3 =
static_cast< double >(val3);
6776 (arg1)->SetDoubleParam(arg2,arg3);
6785 PyObject *resultobj = 0;
6795 PyObject *swig_obj[3] ;
6800 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_SetIntegerParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters *""'");
6805 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_SetIntegerParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::IntegerParam""'");
6812 arg3 =
static_cast< int >(val3);
6813 (arg1)->SetIntegerParam(arg2,arg3);
6822 PyObject *resultobj = 0;
6829 PyObject *swig_obj[2] ;
6835 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_GetDoubleParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters const *""'");
6840 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_GetDoubleParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::DoubleParam""'");
6852 PyObject *resultobj = 0;
6859 PyObject *swig_obj[2] ;
6865 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_GetIntegerParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters const *""'");
6870 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_GetIntegerParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::IntegerParam""'");
6882 PyObject *resultobj = 0;
6886 PyObject *swig_obj[1] ;
6892 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "delete_MPSolverParameters" "', argument " "1"" of type '" "operations_research::MPSolverParameters *""'");
6915 PyObject *resultobj = 0;
6928 PyObject *resultobj = 0;
6932 PyObject *swig_obj[1] ;
6938 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "delete_ModelExportOptions" "', argument " "1"" of type '" "operations_research::MPModelExportOptions *""'");
6961 PyObject *resultobj = 0;
6962 operations_research::MPModelProto *arg1 = 0 ;
6968 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
6970 arg1 =
new operations_research::MPModelProto;
6971 PyObject*
const pyresult = PyObject_CallMethod(
6972 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
6973 if (pyresult !=
nullptr) {
6974 char* buffer =
nullptr;
6975 Py_ssize_t length = 0;
6976 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
6977 if (buffer !=
nullptr) {
6978 arg1->ParseFromArray(buffer, length);
6980 Py_DECREF(pyresult);
6985 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "ExportModelAsLpFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
6988 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "ExportModelAsLpFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
7006 PyObject *resultobj = 0;
7007 operations_research::MPModelProto *arg1 = 0 ;
7010 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
7012 arg1 =
new operations_research::MPModelProto;
7013 PyObject*
const pyresult = PyObject_CallMethod(
7014 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7015 if (pyresult !=
nullptr) {
7016 char* buffer =
nullptr;
7017 Py_ssize_t length = 0;
7018 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7019 if (buffer !=
nullptr) {
7020 arg1->ParseFromArray(buffer, length);
7022 Py_DECREF(pyresult);
7025 result = operations_research::ExportModelAsLpFormatReturnString((operations_research::MPModelProto
const &)*arg1);
7041 PyObject *argv[3] = {
7051 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7052 if (module !=
nullptr) {
7053 PyObject*
const dict = PyModule_GetDict(module);
7054 if (dict !=
nullptr) {
7055 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7056 if (clss !=
nullptr) {
7057 if (PyObject_IsInstance(argv[0], clss)) {
7074 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7075 if (module !=
nullptr) {
7076 PyObject*
const dict = PyModule_GetDict(module);
7077 if (dict !=
nullptr) {
7078 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7079 if (clss !=
nullptr) {
7080 if (PyObject_IsInstance(argv[0], clss)) {
7100 " Possible C/C++ prototypes are:\n"
7101 " operations_research::ExportModelAsLpFormatReturnString(operations_research::MPModelProto const &,operations_research::MPModelExportOptions const &)\n"
7102 " operations_research::ExportModelAsLpFormatReturnString(operations_research::MPModelProto const &)\n");
7108 PyObject *resultobj = 0;
7109 operations_research::MPModelProto *arg1 = 0 ;
7115 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
7117 arg1 =
new operations_research::MPModelProto;
7118 PyObject*
const pyresult = PyObject_CallMethod(
7119 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7120 if (pyresult !=
nullptr) {
7121 char* buffer =
nullptr;
7122 Py_ssize_t length = 0;
7123 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7124 if (buffer !=
nullptr) {
7125 arg1->ParseFromArray(buffer, length);
7127 Py_DECREF(pyresult);
7132 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "ExportModelAsMpsFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
7135 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "ExportModelAsMpsFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
7153 PyObject *resultobj = 0;
7154 operations_research::MPModelProto *arg1 = 0 ;
7157 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
7159 arg1 =
new operations_research::MPModelProto;
7160 PyObject*
const pyresult = PyObject_CallMethod(
7161 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7162 if (pyresult !=
nullptr) {
7163 char* buffer =
nullptr;
7164 Py_ssize_t length = 0;
7165 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7166 if (buffer !=
nullptr) {
7167 arg1->ParseFromArray(buffer, length);
7169 Py_DECREF(pyresult);
7172 result = operations_research::ExportModelAsMpsFormatReturnString((operations_research::MPModelProto
const &)*arg1);
7188 PyObject *argv[3] = {
7198 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7199 if (module !=
nullptr) {
7200 PyObject*
const dict = PyModule_GetDict(module);
7201 if (dict !=
nullptr) {
7202 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7203 if (clss !=
nullptr) {
7204 if (PyObject_IsInstance(argv[0], clss)) {
7221 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7222 if (module !=
nullptr) {
7223 PyObject*
const dict = PyModule_GetDict(module);
7224 if (dict !=
nullptr) {
7225 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7226 if (clss !=
nullptr) {
7227 if (PyObject_IsInstance(argv[0], clss)) {
7247 " Possible C/C++ prototypes are:\n"
7248 " operations_research::ExportModelAsMpsFormatReturnString(operations_research::MPModelProto const &,operations_research::MPModelExportOptions const &)\n"
7249 " operations_research::ExportModelAsMpsFormatReturnString(operations_research::MPModelProto const &)\n");
7255 PyObject *resultobj = 0;
7256 operations_research::MPModelProto *arg1 = 0 ;
7257 PyObject *swig_obj[1] ;
7263 arg1 =
new operations_research::MPModelProto;
7264 PyObject*
const pyresult = PyObject_CallMethod(
7265 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7266 if (pyresult !=
nullptr) {
7267 char* buffer =
nullptr;
7268 Py_ssize_t length = 0;
7269 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7270 if (buffer !=
nullptr) {
7271 arg1->ParseFromArray(buffer, length);
7273 Py_DECREF(pyresult);
7292 {
"new_Solver",
_wrap_new_Solver, METH_VARARGS,
" Create a solver with the given name and underlying solver backend."},
7295 "Recommended factory method to create a MPSolver instance, especially in\n"
7296 "non C++ languages.\n"
7298 "It returns a newly created solver instance if successful, or a nullptr\n"
7299 "otherwise. This can occur if the relevant interface is not linked in, or if\n"
7300 "a needed license is not accessible for commercial solvers.\n"
7302 "Ownership of the solver is passed on to the caller of this method.\n"
7303 "It will accept both string names of the OptimizationProblemType enum, as\n"
7304 "well as a short version (i.e. \"SCIP_MIXED_INTEGER_PROGRAMMING\" or \"SCIP\").\n"
7306 "solver_id is case insensitive, and the following names are supported:\n"
7307 " - CLP_LINEAR_PROGRAMMING or CLP\n"
7308 " - CBC_MIXED_INTEGER_PROGRAMMING or CBC\n"
7309 " - GLOP_LINEAR_PROGRAMMING or GLOP\n"
7310 " - BOP_INTEGER_PROGRAMMING or BOP\n"
7311 " - SAT_INTEGER_PROGRAMMING or SAT or CP_SAT\n"
7312 " - SCIP_MIXED_INTEGER_PROGRAMMING or SCIP\n"
7313 " - GUROBI_LINEAR_PROGRAMMING or GUROBI_LP\n"
7314 " - GUROBI_MIXED_INTEGER_PROGRAMMING or GUROBI or GUROBI_MIP\n"
7315 " - CPLEX_LINEAR_PROGRAMMING or CPLEX_LP\n"
7316 " - CPLEX_MIXED_INTEGER_PROGRAMMING or CPLEX or CPLEX_MIP\n"
7317 " - XPRESS_LINEAR_PROGRAMMING or XPRESS_LP\n"
7318 " - XPRESS_MIXED_INTEGER_PROGRAMMING or XPRESS or XPRESS_MIP\n"
7319 " - GLPK_LINEAR_PROGRAMMING or GLPK_LP\n"
7320 " - GLPK_MIXED_INTEGER_PROGRAMMING or GLPK or GLPK_MIP\n"
7323 "Whether the given problem type is supported (this will depend on the\n"
7324 "targets that you linked).\n"
7327 "Clears the objective (including the optimization direction), all variables\n"
7328 "and constraints. All the other properties of the MPSolver (like the time\n"
7329 "limit) are kept untouched.\n"
7333 "Returns the array of variables handled by the MPSolver. (They are listed in\n"
7334 "the order in which they were created.)\n"
7336 {
"Solver_variable",
_wrap_Solver_variable, METH_VARARGS,
"Returns the variable at position index."},
7338 "Looks up a variable by name, and returns nullptr if it does not exist. The\n"
7339 "first call has a O(n) complexity, as the variable name index is lazily\n"
7340 "created upon first use. Will crash if variable names are not unique.\n"
7343 "Creates a variable with the given bounds, integrality requirement and\n"
7344 "name. Bounds can be finite or +/- MPSolver::infinity(). The MPSolver owns\n"
7345 "the variable (i.e. the returned pointer is borrowed). Variable names are\n"
7346 "optional. If you give an empty name, name() will auto-generate one for you\n"
7354 "Returns the array of constraints handled by the MPSolver.\n"
7356 "They are listed in the order in which they were created.\n"
7360 " Looks up a constraint by name, and returns nullptr if it does not exist.\n"
7362 "The first call has a O(n) complexity, as the constraint name index is\n"
7363 "lazily created upon first use. Will crash if constraint names are not\n"
7369 "Creates a linear constraint with given bounds.\n"
7371 "Bounds can be finite or +/- MPSolver::infinity(). The MPSolver class\n"
7372 "assumes ownership of the constraint.\n"
7374 ":rtype: :py:class:`MPConstraint`\n"
7375 ":return: a pointer to the newly created constraint.\n"
7380 " Creates a constraint with -infinity and +infinity bounds.\n"
7385 " Creates a named constraint with given bounds.\n"
7390 " Creates a named constraint with -infinity and +infinity bounds.\n"
7395 "Solves the problem using the default parameter values.\n"
7400 "Solves the problem using the specified parameter values.\n"
7403 "Advanced usage: compute the \"activities\" of all constraints, which are the\n"
7404 "sums of their linear terms. The activities are returned in the same order\n"
7405 "as constraints(), which is the order in which constraints were added; but\n"
7406 "you can also use MPConstraint::index() to get a constraint's index.\n"
7409 "Advanced usage: Verifies the *correctness* of the solution.\n"
7411 "It verifies that all variables must be within their domains, all\n"
7412 "constraints must be satisfied, and the reported objective value must be\n"
7416 "- This can only be called after Solve() was called.\n"
7417 "- \"tolerance\" is interpreted as an absolute error threshold.\n"
7418 "- For the objective value only, if the absolute error is too large,\n"
7419 " the tolerance is interpreted as a relative error threshold instead.\n"
7420 "- If \"log_errors\" is true, every single violation will be logged.\n"
7421 "- If \"tolerance\" is negative, it will be set to infinity().\n"
7423 "Most users should just set the --verify_solution flag and not bother using\n"
7424 "this method directly.\n"
7427 " Interrupts the Solve() execution to terminate processing if possible.\n"
7429 "If the underlying interface supports interruption; it does that and returns\n"
7430 "true regardless of whether there's an ongoing Solve() or not. The Solve()\n"
7431 "call may still linger for a while depending on the conditions. If\n"
7432 "interruption is not supported; returns false and does nothing.\n"
7436 "Solves the model encoded by a MPModelRequest protocol buffer and fills the\n"
7437 "solution encoded as a MPSolutionResponse.\n"
7439 "Note(user): This creates a temporary MPSolver and destroys it at the end.\n"
7440 "If you want to keep the MPSolver alive (for debugging, or for incremental\n"
7441 "solving), you should write another version of this function that creates\n"
7442 "the MPSolver object on the heap and returns it.\n"
7444 "Note(pawell): This attempts to first use `DirectlySolveProto()` (if\n"
7445 "implemented). Consequently, this most likely does *not* override any of\n"
7446 "the default parameters of the underlying solver. This behavior *differs*\n"
7447 "from `MPSolver::Solve()` which by default sets the feasibility tolerance\n"
7448 "and the gap limit (as of 2020/02/11, to 1e-7 and 0.0001, respectively).\n"
7452 "Advanced usage: pass solver specific parameters in text format.\n"
7454 "The format is solver-specific and is the same as the corresponding solver\n"
7455 "configuration file format. Returns true if the operation was successful.\n"
7460 "You can use -MPSolver::infinity() for negative infinity.\n"
7466 "Returns the number of branch-and-bound nodes evaluated during the solve.\n"
7468 "Only available for discrete problems.\n"
7471 " Advanced usage: computes the exact condition number of the current scaled\n"
7472 "basis: L1norm(B) * L1norm(inverse(B)), where B is the scaled basis.\n"
7474 "This method requires that a basis exists: it should be called after Solve.\n"
7475 "It is only available for continuous problems. It is implemented for GLPK\n"
7476 "but not CLP because CLP does not provide the API for doing it.\n"
7478 "The condition number measures how well the constraint matrix is conditioned\n"
7479 "and can be used to predict whether numerical issues will arise during the\n"
7480 "solve: the model is declared infeasible whereas it is feasible (or\n"
7481 "vice-versa), the solution obtained is not optimal or violates some\n"
7482 "constraints, the resolution is slow because of repeated singularities.\n"
7484 "The rule of thumb to interpret the condition number kappa is:\n"
7485 " - o kappa <= 1e7: virtually no chance of numerical issues\n"
7486 " - o 1e7 < kappa <= 1e10: small chance of numerical issues\n"
7487 " - o 1e10 < kappa <= 1e13: medium chance of numerical issues\n"
7488 " - o kappa > 1e13: high chance of numerical issues\n"
7490 "The computation of the condition number depends on the quality of the LU\n"
7491 "decomposition, so it is not very accurate when the matrix is ill\n"
7495 "Some solvers (MIP only, not LP) can produce multiple solutions to the\n"
7496 "problem. Returns true when another solution is available, and updates the\n"
7497 "MPVariable* objects to make the new solution queryable. Call only after\n"
7500 "The optimality properties of the additional solutions found, and whether or\n"
7501 "not the solver computes them ahead of time or when NextSolution() is called\n"
7502 "is solver specific.\n"
7504 "As of 2020-02-10, only Gurobi and SCIP support NextSolution(), see\n"
7505 "linear_solver_interfaces_test for an example of how to configure these\n"
7506 "solvers for multiple solutions. Other solvers return false unconditionally.\n"
7515 "Set a hint for solution.\n"
7517 "If a feasible or almost-feasible solution to the problem is already known,\n"
7518 "it may be helpful to pass it to the solver so that it can be used. A\n"
7519 "solver that supports this feature will try to use this information to\n"
7520 "create its initial feasible solution.\n"
7522 "Note that it may not always be faster to give a hint like this to the\n"
7523 "solver. There is also no guarantee that the solver will use this hint or\n"
7524 "try to return a solution \"close\" to this assignment in case of multiple\n"
7525 "optimal solutions.\n"
7527 {
"Solver_SetNumThreads",
_wrap_Solver_SetNumThreads, METH_VARARGS,
" Sets the number of threads to be used by the solver."},
7536 " Clears the offset, all variables and coefficients, and the optimization\n"
7540 "Sets the coefficient of the variable in the objective.\n"
7542 "If the variable does not belong to the solver, the function just returns,\n"
7543 "or crashes in non-opt mode.\n"
7546 " Gets the coefficient of a given variable in the objective\n"
7548 "It returns 0 if the variable does not appear in the objective).\n"
7558 "Returns the objective value of the best solution found so far.\n"
7560 "It is the optimal objective value if the problem has been solved to\n"
7563 "Note: the objective value may be slightly different than what you could\n"
7564 "compute yourself using ``MPVariable::solution_value();`` please use the\n"
7565 "--verify_solution flag to gain confidence about the numerical stability of\n"
7569 "Returns the best objective bound.\n"
7571 "In case of minimization, it is a lower bound on the objective value of the\n"
7572 "optimal integer solution. Only available for discrete problems.\n"
7578 {
"Variable_SetInteger",
_wrap_Variable_SetInteger, METH_VARARGS,
" Sets the integrality requirement of the variable."},
7579 {
"Variable_integer",
_wrap_Variable_integer, METH_O,
" Returns the integrality requirement of the variable."},
7581 "Returns the value of the variable in the current solution.\n"
7583 "If the variable is integer, then the value will always be an integer (the\n"
7584 "underlying solver handles floating-point values only, but this function\n"
7585 "automatically rounds it to the nearest integer; see: man 3 round).\n"
7587 {
"Variable_index",
_wrap_Variable_index, METH_O,
" Returns the index of the variable in the MPSolver::variables_."},
7592 "Advanced usage: returns the reduced cost of the variable in the current\n"
7593 "solution (only available for continuous problems).\n"
7596 "Advanced usage: returns the basis status of the variable in the current\n"
7597 "solution (only available for continuous problems).\n"
7599 "See also: MPSolver::BasisStatus.\n"
7602 "Advanced usage: Certain MIP solvers (e.g. Gurobi or SCIP) allow you to set\n"
7603 "a per-variable priority for determining which variable to branch on.\n"
7605 "A value of 0 is treated as default, and is equivalent to not setting the\n"
7606 "branching priority. The solver looks first to branch on fractional\n"
7607 "variables in higher priority levels. As of 2019-05, only Gurobi and SCIP\n"
7608 "support setting branching priority; all other solvers will simply ignore\n"
7609 "this annotation.\n"
7624 {
"Constraint_Clear",
_wrap_Constraint_Clear, METH_O,
" Clears all variables and coefficients. Does not clear the bounds."},
7626 "Sets the coefficient of the variable on the constraint.\n"
7628 "If the variable does not belong to the solver, the function just returns,\n"
7629 "or crashes in non-opt mode.\n"
7632 "Gets the coefficient of a given variable on the constraint (which is 0 if\n"
7633 "the variable does not appear in the constraint).\n"
7639 "Advanced usage: sets the constraint \"laziness\".\n"
7641 "**This is only supported for SCIP and has no effect on other\n"
7644 "When **laziness** is true, the constraint is only considered by the Linear\n"
7645 "Programming solver if its current solution violates the constraint. In this\n"
7646 "case, the constraint is definitively added to the problem. This may be\n"
7647 "useful in some MIP problems, and may have a dramatic impact on performance.\n"
7649 "For more info see: http://tinyurl.com/lazy-constraints.\n"
7651 {
"Constraint_index",
_wrap_Constraint_index, METH_O,
" Returns the index of the constraint in the MPSolver::constraints_."},
7653 "Advanced usage: returns the dual value of the constraint in the current\n"
7654 "solution (only available for continuous problems).\n"
7657 "Advanced usage: returns the basis status of the constraint.\n"
7659 "It is only available for continuous problems).\n"
7661 "Note that if a constraint \"linear_expression in [lb, ub]\" is transformed\n"
7662 "into \"linear_expression + slack = 0\" with slack in [-ub, -lb], then this\n"
7663 "status is the same as the status of the slack variable with AT_UPPER_BOUND\n"
7664 "and AT_LOWER_BOUND swapped.\n"
7666 "See also: MPSolver::BasisStatus.\n"
7675 {
"new_MPSolverParameters",
_wrap_new_MPSolverParameters, METH_NOARGS,
" The constructor sets all parameters to their default value."},
7690 { NULL, NULL, 0, NULL }
7694 { NULL, NULL, 0, NULL }
7702 static swig_type_info _swigt__p_long = {
"_p_long",
"intptr_t *|int_least64_t *|int_fast32_t *|int_fast64_t *|int64_t *|long *|int_fast16_t *|intmax_t *", 0, 0, (
void*)0, 0};
7715 static swig_type_info _swigt__p_unsigned_long = {
"_p_unsigned_long",
"uintptr_t *|uint_least64_t *|uint_fast32_t *|uint_fast64_t *|uint64_t *|unsigned long *|uint_fast16_t *|uintmax_t *", 0, 0, (
void*)0, 0};
7780 {0, 0, 0, 0.0, 0, 0}};
7834 #define SWIGRUNTIME_DEBUG
7870 }
while (iter!= module_head);
7881 if (init == 0)
return;
7884 #ifdef SWIGRUNTIME_DEBUG
7885 printf(
"SWIG_InitializeModule: size %lu\n", (
unsigned long)
swig_module.
size);
7892 #ifdef SWIGRUNTIME_DEBUG
7902 #ifdef SWIGRUNTIME_DEBUG
7903 printf(
"SWIG_InitializeModule: found type %s\n", type->
name);
7907 #ifdef SWIGRUNTIME_DEBUG
7908 printf(
"SWIG_InitializeModule: found and overwrite type %s \n", type->
name);
7917 while (cast->
type) {
7920 #ifdef SWIGRUNTIME_DEBUG
7921 printf(
"SWIG_InitializeModule: look cast %s\n", cast->
type->
name);
7925 #ifdef SWIGRUNTIME_DEBUG
7926 if (ret) printf(
"SWIG_InitializeModule: found cast %s\n", ret->
name);
7931 #ifdef SWIGRUNTIME_DEBUG
7932 printf(
"SWIG_InitializeModule: skip old type %s\n", ret->
name);
7939 #ifdef SWIGRUNTIME_DEBUG
7940 if (ocast) printf(
"SWIG_InitializeModule: skip old cast %s\n", ret->
name);
7942 if (!ocast) ret = 0;
7947 #ifdef SWIGRUNTIME_DEBUG
7948 printf(
"SWIG_InitializeModule: adding cast %s\n", cast->
type->
name);
7963 #ifdef SWIGRUNTIME_DEBUG
7964 printf(
"**** SWIG_InitializeModule: Cast List ******\n");
7969 while (cast->
type) {
7970 printf(
"SWIG_InitializeModule: cast type %s\n", cast->
type->
name);
7974 printf(
"---- Total casts: %d\n",j);
7976 printf(
"**** SWIG_InitializeModule: Cast List ******\n");
7989 static int init_run = 0;
7991 if (init_run)
return;
8002 equiv = equiv->
next;
8023 #define SWIG_newvarlink() SWIG_Python_newvarlink()
8024 #define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
8025 #define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
8033 PyObject *(*get_attr)(void);
8045 #if PY_VERSION_HEX >= 0x03000000
8046 return PyUnicode_InternFromString(
"<Swig global variables>");
8048 return PyString_FromString(
"<Swig global variables>");
8054 #if PY_VERSION_HEX >= 0x03000000
8055 PyObject *str = PyUnicode_InternFromString(
"(");
8060 tail = PyUnicode_FromString(
var->name);
8061 joined = PyUnicode_Concat(str,
tail);
8066 tail = PyUnicode_InternFromString(
", ");
8067 joined = PyUnicode_Concat(str,
tail);
8073 tail = PyUnicode_InternFromString(
")");
8074 joined = PyUnicode_Concat(str,
tail);
8079 PyObject *str = PyString_FromString(
"(");
8082 PyString_ConcatAndDel(&str,PyString_FromString(
var->name));
8083 if (
var->next) PyString_ConcatAndDel(&str,PyString_FromString(
", "));
8085 PyString_ConcatAndDel(&str,PyString_FromString(
")"));
8103 PyObject *res = NULL;
8106 if (strcmp(
var->name,n) == 0) {
8107 res = (*
var->get_attr)();
8112 if (res == NULL && !PyErr_Occurred()) {
8113 PyErr_Format(PyExc_AttributeError,
"Unknown C global variable '%s'", n);
8123 if (strcmp(
var->name,n) == 0) {
8124 res = (*
var->set_attr)(p);
8129 if (res == 1 && !PyErr_Occurred()) {
8130 PyErr_Format(PyExc_AttributeError,
"Unknown C global variable '%s'", n);
8137 static char varlink__doc__[] =
"Swig var link object";
8138 static PyTypeObject varlink_type;
8139 static int type_init = 0;
8141 const PyTypeObject tmp = {
8142 #if PY_VERSION_HEX >= 0x03000000
8143 PyVarObject_HEAD_INIT(NULL, 0)
8145 PyObject_HEAD_INIT(NULL)
8172 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
8175 #if PY_VERSION_HEX >= 0x03040000
8178 #if PY_VERSION_HEX >= 0x03080000
8181 #if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
8194 if (PyType_Ready(&varlink_type) < 0)
8197 return &varlink_type;
8207 return ((PyObject*) result);
8215 size_t size = strlen(
name)+1;
8229 static PyObject *globals = 0;
8245 for (i = 0; constants[i].
type; ++i) {
8246 switch(constants[i].type) {
8251 obj =
SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
8258 PyDict_SetItemString(d, constants[i].
name, obj);
8274 for (i = 0; methods[i].ml_name; ++i) {
8275 const char *c = methods[i].ml_doc;
8277 c = strstr(c,
"swig_ptr: ");
8281 const char *
name = c + 10;
8282 for (j = 0; const_table[j].
type; ++j) {
8283 if (strncmp(const_table[j].
name,
name,
8284 strlen(const_table[j].
name)) == 0) {
8285 ci = &(const_table[j]);
8292 size_t shift = (ci->
ptype) - types;
8294 size_t ldoc = (c - methods[i].ml_doc);
8295 size_t lptr = strlen(ty->
name)+2*
sizeof(
void*)+2;
8296 char *ndoc = (
char*)
malloc(ldoc + lptr + 10);
8299 memcpy(buff, methods[i].ml_doc, ldoc);
8301 memcpy(buff,
"swig_ptr: ", 10);
8304 methods[i].ml_doc = ndoc;
8342 if (PyCFunction_Check(func)) {
8343 PyCFunctionObject *funcobj = (PyCFunctionObject *)func;
8346 func = PyCFunction_NewEx(ml, funcobj->m_self, funcobj->m_module);
8348 #if PY_VERSION_HEX >= 0x03000000
8349 return PyInstanceMethod_New(func);
8351 return PyMethod_New(func, NULL, NULL);
8361 if (PyCFunction_Check(func)) {
8362 PyCFunctionObject *funcobj = (PyCFunctionObject *)func;
8365 func = PyCFunction_NewEx(ml, funcobj->m_self, funcobj->m_module);
8367 return PyStaticMethod_New(func);
8383 #if PY_VERSION_HEX >= 0x03000000
8389 PyObject *m, *d, *md, *globals;
8391 #if PY_VERSION_HEX >= 0x03000000
8392 static struct PyModuleDef SWIG_module = {
8393 PyModuleDef_HEAD_INIT,
8405 #if defined(SWIGPYTHON_BUILTIN)
8409 static PyGetSetDef this_getset_def = {
8410 (
char *)
"this", &SwigPyBuiltin_ThisClosure, NULL, NULL, NULL
8412 static SwigPyGetSet thisown_getset_closure = {
8416 static PyGetSetDef thisown_getset_def = {
8417 (
char *)
"thisown", SwigPyBuiltin_GetterClosure, SwigPyBuiltin_SetterClosure, NULL, &thisown_getset_closure
8419 PyTypeObject *builtin_pytype;
8420 int builtin_base_count;
8423 PyGetSetDescrObject *static_getset;
8424 PyTypeObject *metatype;
8425 PyTypeObject *swigpyobject;
8427 PyObject *public_interface, *public_symbol;
8428 PyObject *this_descr;
8429 PyObject *thisown_descr;
8433 (void)builtin_pytype;
8434 (void)builtin_base_count;
8435 (void)builtin_basetype;
8437 (void)static_getset;
8441 metatype = SwigPyObjectType();
8451 #ifndef SWIGPYTHON_BUILTIN
8458 #if PY_VERSION_HEX >= 0x03000000
8459 m = PyModule_Create(&SWIG_module);
8464 md = d = PyModule_GetDict(m);
8469 #ifdef SWIGPYTHON_BUILTIN
8473 assert(SwigPyObject_stype);
8476 SwigPyObject_stype->
clientdata = &SwigPyObject_clientdata;
8477 SwigPyObject_clientdata.
pytype = swigpyobject;
8478 }
else if (swigpyobject->tp_basicsize != cd->
pytype->tp_basicsize) {
8479 PyErr_SetString(PyExc_RuntimeError,
"Import error: attempted to load two incompatible swig-generated modules.");
8480 # if PY_VERSION_HEX >= 0x03000000
8493 (void)thisown_descr;
8495 public_interface = PyList_New(0);
8497 (void)public_symbol;
8499 PyDict_SetItemString(md,
"__all__", public_interface);
8500 Py_DECREF(public_interface);
8502 SwigPyBuiltin_AddPublicSymbol(public_interface,
SwigMethods[i].ml_name);
8552 PyErr_SetString(PyExc_TypeError,
"Failure to create SWIG globals.");
8553 #if PY_VERSION_HEX >= 0x03000000
8559 PyDict_SetItemString(md,
"cvar", globals);
8566 #if PY_VERSION_HEX >= 0x03000000
The class for constraints of a Mathematical Programming (MP) model.
A class to express a linear objective.
This mathematical programming (MP) solver class is the main class though which users build and solve ...
static bool SupportsProblemType(OptimizationProblemType problem_type)
Whether the given problem type is supported (this will depend on the targets that you linked).
static MPSolver * CreateSolver(const std::string &solver_id)
Recommended factory method to create a MPSolver instance, especially in non C++ languages.
ResultStatus
The status of solving the problem.
@ FEASIBLE
feasible, or stopped by limit.
@ NOT_SOLVED
not been solved yet.
@ INFEASIBLE
proven infeasible.
@ UNBOUNDED
proven unbounded.
@ ABNORMAL
abnormal, i.e., error of some kind.
static void SolveWithProto(const MPModelRequest &model_request, MPSolutionResponse *response)
Solves the model encoded by a MPModelRequest protocol buffer and fills the solution encoded as a MPSo...
OptimizationProblemType
The type of problems (LP or MIP) that will be solved and the underlying solver (GLOP,...
@ GLOP_LINEAR_PROGRAMMING
@ CPLEX_MIXED_INTEGER_PROGRAMMING
@ XPRESS_LINEAR_PROGRAMMING
@ GLPK_LINEAR_PROGRAMMING
@ CPLEX_LINEAR_PROGRAMMING
@ GUROBI_LINEAR_PROGRAMMING
@ XPRESS_MIXED_INTEGER_PROGRAMMING
@ GUROBI_MIXED_INTEGER_PROGRAMMING
@ BOP_INTEGER_PROGRAMMING
@ SCIP_MIXED_INTEGER_PROGRAMMING
@ SAT_INTEGER_PROGRAMMING
@ GLPK_MIXED_INTEGER_PROGRAMMING
@ CBC_MIXED_INTEGER_PROGRAMMING
std::vector< double > ComputeConstraintActivities() const
Advanced usage: compute the "activities" of all constraints, which are the sums of their linear terms...
static double infinity()
Infinity.
ABSL_MUST_USE_RESULT bool NextSolution()
Some solvers (MIP only, not LP) can produce multiple solutions to the problem.
bool InterruptSolve()
Interrupts the Solve() execution to terminate processing if possible.
ResultStatus Solve()
Solves the problem using the default parameter values.
BasisStatus
Advanced usage: possible basis status values for a variable and the slack variable of a linear constr...
This class stores parameter settings for LP and MIP solvers.
static const double kDefaultRelativeMipGap
@ INCREMENTALITY_OFF
Start solve from scratch.
@ INCREMENTALITY_ON
Reuse results from previous solve as much as the underlying solver allows.
@ SCALING_ON
Scaling is on.
@ SCALING_OFF
Scaling is off.
static const IncrementalityValues kDefaultIncrementality
DoubleParam
Enumeration of parameters that take continuous values.
@ DUAL_TOLERANCE
Advanced usage: tolerance for dual feasibility of basic solutions.
@ PRIMAL_TOLERANCE
Advanced usage: tolerance for primal feasibility of basic solutions.
@ RELATIVE_MIP_GAP
Limit for relative MIP gap.
static const PresolveValues kDefaultPresolve
static const double kDefaultDualTolerance
IntegerParam
Enumeration of parameters that take integer or categorical values.
@ LP_ALGORITHM
Algorithm to solve linear programs.
@ SCALING
Advanced usage: enable or disable matrix scaling.
@ PRESOLVE
Advanced usage: presolve mode.
@ INCREMENTALITY
Advanced usage: incrementality from one solve to the next.
@ BARRIER
Barrier algorithm.
@ PRESOLVE_ON
Presolve is on.
@ PRESOLVE_OFF
Presolve is off.
static const double kDefaultPrimalTolerance
The class for variables of a Mathematical Programming (MP) model.
SwigPtr_PyObject(PyObject *obj, bool initial_ref=true)
SwigPtr_PyObject & operator=(const SwigPtr_PyObject &item)
SwigPtr_PyObject(const SwigPtr_PyObject &item)
PyObject * operator->() const
SharedResponseManager * response
A C++ wrapper that provides a simple and unified interface to several linear programming and mixed in...
SWIGRUNTIME swig_type_info * SWIG_Python_TypeQuery(const char *type)
static swig_cast_info _swigc__p_operations_research__MPObjective[]
#define SWIG_Error(code, msg)
SWIGRUNTIME char * SWIG_PackData(char *c, void *ptr, size_t sz)
SWIGRUNTIME int SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty)
SWIGINTERN PyObject * _wrap_Constraint_GetCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_wall_time(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_lb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info * swig_cast_initial[]
#define SWIGTYPE_p_operations_research__MPSolverParameters
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultPrimalTolerance_set(PyObject *)
SWIGINTERN PyObject * _wrap_Constraint_SetBounds(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SWIG_Python_str_FromChar(const char *c)
SWIGINTERN PyObject * _wrap_Solver_Infinity(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_MangledTypeQuery(name)
static swig_type_info _swigt__p_operations_research__MPSolverParameters
SWIGINTERN PyObject * _wrap_ExportModelAsLpFormat(PyObject *self, PyObject *args)
bool CanConvertToMPConstraint(PyObject *py_obj)
SWIGRUNTIME char * SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz)
SWIGINTERN PyObject * _wrap_Solver_Constraint__SWIG_3(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_delete_Objective(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultDualTolerance_get(void)
static PyObject * Swig_This_global
SWIGRUNTIME int SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
SWIGINTERN int SWIG_AsVal_double(PyObject *obj, double *val)
SWIGINTERN PyObject * swig_varlink_str(swig_varlinkobject *v)
SWIGRUNTIMEINLINE PyObject * SWIG_Python_ExceptionType(swig_type_info *desc)
SWIGINTERN Py_ssize_t SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
SWIGINTERN PyObject * Variable_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_TypeQuery(name)
static swig_cast_info _swigc__p_operations_research__MPVariable[]
#define SWIG_POINTER_EXCEPTION
SWIGINTERN PyObject * _wrap_Variable_ReducedCost(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * MPSolverParameters_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_Lb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_EnableOutput(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_CheckState(r)
static swig_cast_info _swigc__p_operations_research__MPConstraint[]
static swig_cast_info _swigc__p_int[]
static swig_cast_info _swigc__p_operations_research__MPModelRequest[]
SWIGINTERN PyObject * Solver_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_MPVariable___repr__(operations_research::MPVariable *self)
SWIGINTERN PyObject * _wrap_Solver_Solve(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ExportModelAsLpFormat(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME int SWIG_TypeEquiv(const char *nb, const char *tb)
SWIGINTERN double operations_research_MPSolver_Infinity()
SWIGINTERN PyObject * swig_varlink_getattr(swig_varlinkobject *v, char *n)
SWIGINTERN PyObject * _wrap_Variable___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Objective_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyTypeObject * SwigPyPacked_TypeOnce(void)
SWIGRUNTIME int SWIG_Python_AddErrMesg(const char *mesg, int infront)
SWIGINTERN void SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[])
#define SWIGTYPE_p_operations_research__MPSolver
SWIGINTERN PyObject * _wrap_FindErrorInModelProto(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_POINTER_IMPLICIT_CONV
SWIGINTERN PyObject * _wrap_Variable_SetLb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_cast_info swig_cast_info
SWIGINTERN PyObject * _wrap_ExportModelAsLpFormat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Solver_ComputeConstraintActivities(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p)
SWIGRUNTIME int SWIG_TypeNameComp(const char *f1, const char *l1, const char *f2, const char *l2)
SWIGINTERN PyObject * _wrap_Solver_SetTimeLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Objective_minimization(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Objective_Offset(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__MPConstraint
#define SWIG_Python_ConvertPtr(obj, pptr, type, flags)
SWIGRUNTIME void SwigPyObject_dealloc(PyObject *v)
#define SWIG_PYTHON_THREAD_END_BLOCK
SWIGINTERN std::string operations_research_MPSolver_LoadModelFromProto(operations_research::MPSolver *self, operations_research::MPModelProto const &input_model)
SWIGRUNTIMEINLINE void * SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory)
SWIGINTERN PyObject * _wrap_Variable_SetInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__MPVariable
SWIGINTERN PyObject * _wrap_Constraint_SetCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_variables(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_RuntimeError
SWIGINTERN PyObject * _wrap_delete_Constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_Ub(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_solution_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Constraint__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultPresolve_get(void)
SWIGINTERN PyObject * _wrap_Constraint_Lb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_varlinkobject swig_varlinkobject
#define SWIG_NewClientData(obj)
SWIGINTERN PyObject * _wrap_Variable___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_set_is_lazy(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Objective_maximization(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_integer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToMPVariable(PyObject *py_obj)
SWIGRUNTIME const char * SWIG_TypePrettyName(const swig_type_info *type)
static swig_type_info _swigt__p_unsigned_char
SWIGINTERNINLINE int SWIG_CanCastAsInteger(double *d, double min, double max)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultIncrementality_get(void)
SWIGINTERN PyObject * _wrap_Solver_Constraint(PyObject *self, PyObject *args)
SWIGINTERN PyObject * SwigPyObject_disown(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
SWIGINTERN double operations_research_MPVariable_Lb(operations_research::MPVariable const *self)
SWIGINTERN PyObject * _wrap_Solver_SetNumThreads(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__MPModelExportOptions
SWIGINTERN PyObject * _wrap_Objective_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_Solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_RUNTIME_VERSION
SWIGINTERN void operations_research_MPVariable_SetLb(operations_research::MPVariable *self, double x)
#define SWIG_addvarlink(p, name, get_attr, set_attr)
#define SWIG_POINTER_NOSHADOW
SWIGINTERN PyObject * SwigPyObject_own(PyObject *v, PyObject *args)
SWIGRUNTIME void SWIG_TypeClientData(swig_type_info *ti, void *clientdata)
static swig_type_info _swigt__p_short
SWIGINTERN void SWIG_Python_addvarlink(PyObject *p, const char *name, PyObject *(*get_attr)(void), int(*set_attr)(PyObject *p))
SWIGINTERN PyObject * SWIG_Python_newvarlink(void)
SWIGINTERN PyObject * _wrap_Solver_SupportsProblemType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static PyMethodDef swigobject_methods[]
static swig_cast_info _swigc__p_std__ostream[]
SWIGRUNTIME PyObject * SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
SWIGINTERN PyObject * _wrap_Variable_ub(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SWIG_Python_ErrorType(int code)
#define SWIG_InternalNewPointerObj(ptr, type, flags)
SWIGINTERN PyObject * Constraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIMEINLINE PyObject * SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type)
#define SWIG_exception_fail(code, msg)
SWIGINTERN PyObject * _wrap_Solver_Constraint__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERNINLINE PyObject * SWIG_From_bool(bool value)
SWIGINTERN PyObject * _wrap_Solver_Solve__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultRelativeMipGap_get(void)
SWIGRUNTIME PyObject * SwigPyObject_next(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
SWIGINTERN int64_t operations_research_MPSolver_WallTime(operations_research::MPSolver const *self)
SWIGINTERN bool operations_research_MPVariable_Integer(operations_research::MPVariable const *self)
SWIGRUNTIME PyObject * SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
SWIGRUNTIME swig_type_info * SWIG_TypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
#define SWIG_AttributeError
SWIGRUNTIMEINLINE const char * SwigPyObject_GetDesc(PyObject *self)
static swig_type_info _swigt__p_operations_research__MPModelRequest
SWIGINTERN PyObject * _wrap_Solver_SetHint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_module_info swig_module
static swig_cast_info _swigc__p_unsigned_char[]
SWIGINTERN PyObject * _wrap_Solver_LoadSolutionFromProto__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
static swig_cast_info _swigc__p_short[]
SWIGRUNTIME PyObject * SwigPyObject_hex(SwigPyObject *v)
SWIGINTERN PyObject * _wrap_Objective_offset(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_basis_status(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SwigPyObject_acquire(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
SWIGRUNTIME int SWIG_Python_TypeErrorOccurred(PyObject *obj)
SWIGRUNTIME void SWIG_Python_DestroyModule(PyObject *obj)
#define SWIG_SetModule(clientdata, pointer)
SWIGRUNTIMEINLINE const char * SWIG_TypeName(const swig_type_info *ty)
SWIGINTERN PyObject * _wrap_Solver_IntVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyTypeObject * swig_varlink_type(void)
SWIGRUNTIMEINLINE PyObject * SWIG_Py_Void(void)
#define SWIGUNUSEDPARM(p)
SWIGINTERN PyObject * _wrap_Variable_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_DualValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SWIG_This(void)
SWIGINTERN PyObject * _wrap_Variable_reduced_cost(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_SetUb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int flags)
static swig_type_info _swigt__p_operations_research__MPSolver
SWIGINTERN int64_t operations_research_MPSolver_Iterations(operations_research::MPSolver const *self)
SWIGRUNTIME PyObject * SwigPyObject_format(const char *fmt, SwigPyObject *v)
#define SWIG_as_voidptr(a)
static swig_const_info swig_const_table[]
SWIGINTERN PyObject * _wrap_MPSolverParameters_GetIntegerParam(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_basis_status(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIMEINLINE int SwigPyPacked_Check(PyObject *op)
SWIGRUNTIME PyTypeObject * SwigPyObject_type(void)
SWIGRUNTIME PyObject * SwigPyPacked_repr(SwigPyPacked *v)
#define SWIG_Python_CallFunctor(functor, obj)
SWIGRUNTIME void SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata)
static swig_type_info _swigt__p_unsigned_short
SWIGRUNTIME int SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w)
#define SWIG_ConvertPtr(obj, pptr, type, flags)
SWIGINTERNINLINE PyObject * SWIG_From_int(int value)
SWIGRUNTIME int SWIG_TypeCmp(const char *nb, const char *tb)
SWIGINTERN PyObject * _wrap_ExportModelAsMpsFormat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Solver_NumVariables(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
SWIGINTERN PyObject * _wrap_Solver_variable(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_const_info swig_const_info
SWIGINTERNINLINE PyObject * SWIG_From_std_string(const std::string &s)
SWIGINTERN PyObject * _wrap_Solver_VerifySolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__MPModelExportOptions
SWIGINTERN PyObject * Objective_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int SWIG_Python_CheckNoKeywords(PyObject *kwargs, const char *name)
PyObject * FromObjectMPVariable(operations_research::MPVariable *obj)
SWIGINTERN PyObject * SWIG_Python_InitShadowInstance(PyObject *args)
SWIGINTERN PyObject * _wrap_Objective_SetOffset(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SuppressOutput(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * ModelExportOptions_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__MPSolver[]
SWIGRUNTIME PyObject * SwigPyPacked_str(SwigPyPacked *v)
SWIGINTERN PyObject * _wrap_Solver_BoolVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__MPObjective
SWIGRUNTIME void SWIG_InitializeModule(void *clientdata)
SWIGINTERN PyObject * SWIG_PyStaticMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func)
SWIGRUNTIME const char * SWIG_UnpackData(const char *c, void *ptr, size_t sz)
SWIGINTERN PyObject * _wrap_new_ModelExportOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_newvarlink()
SWIGRUNTIME void SWIG_Python_RaiseOrModifyTypeError(const char *message)
bool PyObjAs(PyObject *py_obj, operations_research::MPConstraint **b)
SWIGINTERN PyObject * _wrap_Solver_InterruptSolve(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_unsigned_long
#define SWIG_Python_str_DelForPy3(x)
SWIGINTERN PyObject * _wrap_Objective_SetMinimization(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * MPSolverParameters_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_char[]
SWIGRUNTIME swig_cast_info * SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty)
SWIGINTERN void operations_research_MPSolver_SetHint(operations_research::MPSolver *self, std::vector< operations_research::MPVariable * > const &variables, std::vector< double > const &values)
SWIGINTERN PyObject * _wrap_Solver_iterations(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_ExportModelAsLpFormat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Constraint_SetLb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_constraints(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ComputeExactConditionNumber(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v))
SWIGRUNTIME SwigPyObject * SWIG_Python_GetSwigThis(PyObject *pyobj)
SWIGRUNTIMEINLINE int SwigPyObject_Check(PyObject *op)
SWIGRUNTIME SwigPyClientData * SwigPyClientData_New(PyObject *obj)
SWIGINTERN PyObject * _wrap_delete_ModelExportOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj)
SWIGINTERN char * SWIG_Python_str_AsChar(PyObject *str)
#define SWIGTYPE_p_operations_research__MPObjective
static swig_cast_info _swigc__p_unsigned_short[]
struct swig_globalvar swig_globalvar
SWIGINTERN PyObject * _wrap_Variable_SolutionValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGPY_CAPSULE_NAME
SWIGRUNTIME void SWIG_Python_AddErrorMsg(const char *mesg)
#define SWIG_NewPointerObj(ptr, type, flags)
SWIGRUNTIME void SWIG_Python_SetModule(swig_module_info *swig_module)
SWIGINTERN PyObject * _wrap_ExportModelAsMpsFormat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGRUNTIME const char * SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name)
SWIGINTERN PyObject * _wrap_Solver_NumConstraints(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj)
void *(* swig_converter_func)(void *, int *)
#define SWIG_POINTER_NO_NULL
#define SWIG_Python_str_FromFormat
SWIGINTERN PyObject * _wrap_Solver_LoadSolutionFromProto__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
#define SWIG_InstallConstants(d, constants)
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultDualTolerance_set(PyObject *)
SWIGINTERN PyObject * _wrap_Solver_Iterations(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_std__ostream
static swig_type_info _swigt__p_operations_research__MPConstraint
static swig_cast_info _swigc__p_operations_research__MPModelExportOptions[]
static swig_cast_info _swigc__p_operations_research__MPSolverParameters[]
static PyMethodDef SwigMethods[]
#define SWIG_NullReferenceError
SWIGINTERN std::string operations_research_MPVariable___str__(operations_research::MPVariable *self)
SWIGINTERN PyObject * _wrap_Solver_Constraint__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN std::string operations_research_MPSolver_ExportModelAsLpFormat(operations_research::MPSolver *self, bool obfuscated)
SWIGINTERN PyObject * _wrap_Solver_LookupConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LoadSolutionFromProto(PyObject *self, PyObject *args)
#define SWIG_POINTER_DISOWN
#define SWIG_STATIC_POINTER(var)
struct swig_type_info swig_type_info
SWIGINTERN double operations_research_MPVariable_Ub(operations_research::MPVariable const *self)
SWIGINTERN PyObject * _wrap_Solver_ExportModelAsMpsFormat(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void * SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int SWIGUNUSEDPARM(argnum), int flags)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultPrimalTolerance_get(void)
SWIGINTERN PyObject * _wrap_Solver_SetSolverSpecificParametersAsString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERNINLINE PyObject * SWIG_FromCharPtrAndSize(const char *carray, size_t size)
SWIGRUNTIME int SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty)
SWIGINTERN void SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg)
SWIGINTERN bool operations_research_MPSolver_LoadSolutionFromProto__SWIG_0(operations_research::MPSolver *self, operations_research::MPSolutionResponse const &response, double tolerance=operations_research::MPSolverParameters::kDefaultPrimalTolerance)
SWIGINTERN PyObject * _wrap_Solver_nodes(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyMethodDef * SWIG_PythonGetProxyDoc(const char *name)
SWIGINTERN PyObject * _wrap_Solver_CreateSolver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap___lshift__(PyObject *self, PyObject *args)
static swig_type_info _swigt__p_signed_char
SWIGINTERN int SWIG_AsPtr_std_string(PyObject *obj, std::string **val)
SWIGRUNTIME int SWIG_Python_ArgFail(int argnum)
SWIGINTERN PyObject * SWIG_globals(void)
SWIGRUNTIME PyTypeObject * SwigPyObject_TypeOnce(void)
SWIGRUNTIME int SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own)
#define SWIG_NewPackedObj(ptr, sz, type)
SWIGRUNTIME PyObject * SwigPyObject_repr(SwigPyObject *v)
#define SWIG_GetModule(clientdata)
static swig_cast_info _swigc__p_unsigned_int[]
static swig_type_info _swigt__p_int
SWIGINTERN PyObject * _wrap_delete_Solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SWIG_PropagateClientData(void)
static swig_cast_info _swigc__p_unsigned_long[]
static swig_type_info * swig_types[18]
SWIGRUNTIME PyObject * SwigPyObject_long(SwigPyObject *v)
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultIncrementality_set(PyObject *)
SWIGRUNTIME swig_cast_info * SWIG_TypeCheck(const char *c, swig_type_info *ty)
SWIGRUNTIME PyObject * SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
SWIGINTERN PyObject * _wrap_Objective_SetCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func)
SWIGINTERN PyObject * _wrap_Solver_LookupVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME int SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
static swig_type_info _swigt__p_long
SWIGINTERN PyObject * _wrap_ExportModelAsMpsFormat(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_infinity(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_oct(SwigPyObject *v)
SWIGINTERN PyObject * _wrap_Solver_FillSolutionResponseProto(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static PyMethodDef SwigMethods_proxydocs[]
SWIGRUNTIME PyTypeObject * SwigPyPacked_type(void)
SWIGINTERN PyObject * _wrap_Solver_Objective(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultPresolve_set(PyObject *)
SWIGINTERN PyObject * _wrap_Constraint_index(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SWIG_Python_TypeError(const char *type, PyObject *obj)
SWIGINTERN PyObject * _wrap_Solver_NextSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int SWIG_AsVal_int(PyObject *obj, int *val)
#define SWIG_TYPE_TABLE_NAME
SWIGRUNTIME swig_type_info * SWIG_MangledTypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
#define SWIG_BUILTIN_TP_INIT
SWIGINTERN PyObject * _wrap_Solver_Solve__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Objective_SetMaximization(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN double operations_research_MPVariable_SolutionValue(operations_research::MPVariable const *self)
static swig_type_info _swigt__p_unsigned_int
#define SWIG_CAST_NEW_MEMORY
SWIGRUNTIME swig_module_info * SWIG_Python_GetModule(void *SWIGUNUSEDPARM(clientdata))
#define SWIGTYPE_p_operations_research__MPModelRequest
SWIGINTERN int SWIG_AsVal_long(PyObject *obj, long *val)
SWIGINTERN PyObject * _wrap_Solver_SolveWithProto(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_module_info swig_module_info
SWIGINTERN bool operations_research_MPSolver_SetNumThreads(operations_research::MPSolver *self, int num_theads)
SWIGINTERN PyObject * _wrap_Solver_NumVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_set_time_limit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap___lshift____SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN int SWIG_AsVal_bool(PyObject *obj, bool *val)
SWIGRUNTIME void SwigPyClientData_Del(SwigPyClientData *data)
SWIGRUNTIME PyObject * SwigPyObject_append(PyObject *v, PyObject *next)
SWIGINTERN PyObject * _wrap_Constraint_Ub(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_branching_priority(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void swig_varlink_dealloc(swig_varlinkobject *v)
SWIGINTERN double operations_research_MPConstraint_Ub(operations_research::MPConstraint const *self)
SWIGINTERN PyObject * _wrap_Objective_SetOptimizationDirection(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN double operations_research_MPObjective_Offset(operations_research::MPObjective const *self)
SWIGINTERN PyObject * _wrap_Constraint_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_long[]
static swig_type_info * swig_type_initial[]
SWIGRUNTIME swig_type_info * SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
SWIGINTERN PyObject * ModelExportOptions_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_std__ostream
SWIGINTERN PyObject * _wrap___lshift____SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGRUNTIME void SwigPyPacked_dealloc(PyObject *v)
SWIGINTERN PyObject * _wrap_Solver_LoadModelFromProto(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_dual_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIMEINLINE int SWIG_Python_CheckImplicit(swig_type_info *ty)
SWIGRUNTIME swig_type_info * SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr)
SWIGINTERN void SWIG_Python_FixMethods(PyMethodDef *methods, swig_const_info *const_table, swig_type_info **types, swig_type_info **types_initial)
SWIGINTERN PyObject * _wrap_Variable_SetUb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_lb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_MPSolverParameters_GetDoubleParam(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_SetBounds(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Solver_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME const char * SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name)
SWIGINTERN PyObject * _wrap_Solver_WallTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_DivisionByZero
SWIGINTERN PyObject * _wrap_MPSolverParameters_SetIntegerParam(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_MPSolverParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_Integer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_char
PyObject * FromObjectMPConstraint(operations_research::MPConstraint *obj)
SWIGINTERN swig_type_info * SWIG_pchar_descriptor(void)
SWIGINTERN PyObject * _wrap_Variable_SetBranchingPriority(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__MPVariable
SWIGINTERN void operations_research_MPSolver_SetTimeLimit(operations_research::MPSolver *self, int64_t x)
SWIGINTERN PyObject * _wrap_Constraint_ub(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_index(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op)
#define SWIG_OverflowError
SWIGINTERN int SWIG_AsCharPtrAndSize(PyObject *obj, char **cptr, size_t *psize, int *alloc)
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultRelativeMipGap_set(PyObject *)
SWIGINTERN PyObject * _wrap_Objective_BestBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_MPSolverParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_type_info *(* swig_dycast_func)(void **)
SWIGINTERN double operations_research_MPVariable_ReducedCost(operations_research::MPVariable const *self)
SWIGRUNTIME PyObject * SWIG_Python_TypeCache(void)
SWIGINTERN double operations_research_MPConstraint_Lb(operations_research::MPConstraint const *self)
#define SWIG_AddNewMask(r)
SWIGRUNTIME char * SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz)
SWIGINTERN void operations_research_MPConstraint_SetLb(operations_research::MPConstraint *self, double x)
SWIGINTERN PyObject * _wrap_Solver_ExportModelToProto(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_MPSolver_ExportModelAsMpsFormat(operations_research::MPSolver *self, bool fixed_format, bool obfuscated)
SWIGINTERN PyObject * _wrap_delete_Variable(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void operations_research_MPConstraint_SetUb(operations_research::MPConstraint *self, double x)
#define SWIG_PYTHON_THREAD_BEGIN_BLOCK
static swig_cast_info _swigc__p_signed_char[]
SWIGINTERN PyObject * _wrap_Solver_constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_MPSolverParameters_SetDoubleParam(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME int SWIG_Python_AcquirePtr(PyObject *obj, int own)
SWIGINTERN void operations_research_MPVariable_SetUb(operations_research::MPVariable *self, double x)
SWIGINTERN PyObject * SWIG_Python_AppendOutput(PyObject *result, PyObject *obj)
SWIGINTERN PyObject * _wrap_Objective_GetCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGRUNTIMEINLINE
SWIGINTERN double operations_research_MPConstraint_DualValue(operations_research::MPConstraint const *self)
int NumVariables(const VariablesProto &variables)
int NumConstraints(const LinearConstraintsProto &linear_constraints)
std::function< int64_t(const Model &)> Value(IntegerVariable v)
IntegerValue GetCoefficient(const IntegerVariable var, const LinearExpression &expr)
absl::StatusOr< std::string > ExportModelAsMpsFormat(const MPModelProto &model, const MPModelExportOptions &options)
Outputs the current model (variables, constraints, objective) as a string encoded in MPS file format,...
std::string FindErrorInMPModelProto(const MPModelProto &model, double abs_value_threshold)
Returns an empty string iff the model is valid and not trivially infeasible.
absl::StatusOr< std::string > ExportModelAsLpFormat(const MPModelProto &model, const MPModelExportOptions &options)
Outputs the current model (variables, constraints, objective) as a string encoded in the so-called "C...
PyObject_HEAD void * pack
bool obfuscate
Obfuscates variable and constraint names.
SwigVar_PyObject(PyObject *obj=0)
SwigVar_PyObject & operator=(PyObject *obj)
struct swig_cast_info * prev
struct swig_cast_info * next
swig_converter_func converter
int(* set_attr)(PyObject *)
struct swig_globalvar * next
PyObject *(* get_attr)(void)
swig_type_info ** type_initial
struct swig_module_info * next
swig_cast_info ** cast_initial
struct swig_cast_info * cast
PyObject_HEAD swig_globalvar * vars