16#define SWIG_PYTHON_DIRECTOR_NO_VTABLE
21template<
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; }
37template <
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
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
86# pragma warning(disable : 4505)
92# define SWIGUNUSEDPARM(p)
94# define SWIGUNUSEDPARM(p) p SWIGUNUSED
100# define SWIGINTERN static SWIGUNUSED
104#ifndef SWIGINTERNINLINE
105# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
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)
363typedef 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)
1157SwigPyBuiltin_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
1403SwigPyObject_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
2413void *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
2609SWIG_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__atomicT_bool_t swig_types[12]
2708#define SWIGTYPE_p_std__ostream swig_types[13]
2709#define SWIGTYPE_p_unsigned_char swig_types[14]
2710#define SWIGTYPE_p_unsigned_int swig_types[15]
2711#define SWIGTYPE_p_unsigned_long swig_types[16]
2712#define SWIGTYPE_p_unsigned_short swig_types[17]
2715#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2716#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
2720#ifdef SWIG_TypeQuery
2721# undef SWIG_TypeQuery
2723#define SWIG_TypeQuery SWIG_Python_TypeQuery
2728#if PY_VERSION_HEX >= 0x03000000
2729# define SWIG_init PyInit__pywraplp
2732# define SWIG_init init_pywraplp
2735#define SWIG_name "_pywraplp"
2737#define SWIGVERSION 0x040002
2738#define SWIG_VERSION SWIGVERSION
2741#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
2742#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
2749 class SwigPtr_PyObject {
2777 Py_XINCREF(item._obj);
2791 operator PyObject *()
const
2805 struct SwigVar_PyObject : SwigPtr_PyObject {
2828#define SWIGWORDSIZE64
2832#if (__WORDSIZE == 32) || (LONG_MAX == INT_MAX)
2833# error "SWIG wrapped code invalid in 32 bit architecture, regenerate code using -DSWIGWORDSIZE32"
2840#include "ortools/base/python-swig.h"
2845#include "ortools/linear_solver/model_exporter_swig_helper.h"
2892 return PyInt_FromLong((
long)
value);
2899 static int init = 0;
2912#if PY_VERSION_HEX>=0x03000000
2913#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2914 if (PyBytes_Check(obj))
2916 if (PyUnicode_Check(obj))
2919 if (PyString_Check(obj))
2922 char *cstr; Py_ssize_t len;
2924#if PY_VERSION_HEX>=0x03000000
2925#if !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2926 if (!alloc && cptr) {
2933 obj = PyUnicode_AsUTF8String(obj);
2939 if (PyBytes_AsStringAndSize(obj, &cstr, &len) == -1)
2942 if (PyString_AsStringAndSize(obj, &cstr, &len) == -1)
2948 *cptr =
reinterpret_cast< char*
>(memcpy(
new char[len + 1], cstr,
sizeof(
char)*(len + 1)));
2955#if PY_VERSION_HEX>=0x03000000
2956#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2957 *cptr = PyBytes_AsString(obj);
2968 if (psize) *psize = len + 1;
2969#if PY_VERSION_HEX>=0x03000000 && !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2974#if defined(SWIG_PYTHON_2_UNICODE)
2975#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
2976#error "Cannot use both SWIG_PYTHON_2_UNICODE and SWIG_PYTHON_STRICT_BYTE_CHAR at once"
2978#if PY_VERSION_HEX<0x03000000
2979 if (PyUnicode_Check(obj)) {
2980 char *cstr; Py_ssize_t len;
2981 if (!alloc && cptr) {
2984 obj = PyUnicode_AsUTF8String(obj);
2987 if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
2990 *cptr =
reinterpret_cast< char*
>(memcpy(
new char[len + 1], cstr,
sizeof(
char)*(len + 1)));
2992 if (psize) *psize = len + 1;
3004 if (pchar_descriptor) {
3007 if (cptr) *cptr = (
char *) vptr;
3008 if (psize) *psize = vptr ? (strlen((
char *)vptr) + 1) : 0;
3021 char* buf = 0 ;
size_t size = 0;
int alloc =
SWIG_OLDOBJ;
3024 if (val) *val =
new std::string(buf, size - 1);
3032 static int init = 0;
3050#if !defined(SWIG_NO_LLONG_MAX)
3051# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
3052# define LLONG_MAX __LONG_LONG_MAX__
3053# define LLONG_MIN (-LLONG_MAX - 1LL)
3054# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
3063 if (PyFloat_Check(obj)) {
3064 if (val) *val = PyFloat_AsDouble(obj);
3066#if PY_VERSION_HEX < 0x03000000
3067 }
else if (PyInt_Check(obj)) {
3068 if (val) *val = (double) PyInt_AsLong(obj);
3071 }
else if (PyLong_Check(obj)) {
3072 double v = PyLong_AsDouble(obj);
3073 if (!PyErr_Occurred()) {
3080#ifdef SWIG_PYTHON_CAST_MODE
3083 double d = PyFloat_AsDouble(obj);
3084 if (!PyErr_Occurred()) {
3091 long v = PyLong_AsLong(obj);
3092 if (!PyErr_Occurred()) {
3114 if ((
min <= x && x <=
max)) {
3115 double fx = floor(x);
3116 double cx = ceil(x);
3117 double rd = ((x - fx) < 0.5) ? fx : cx;
3118 if ((errno == EDOM) || (errno == ERANGE)) {
3121 double summ, reps, diff;
3124 }
else if (rd > x) {
3131 if (reps < 8*DBL_EPSILON) {
3144#if PY_VERSION_HEX < 0x03000000
3145 if (PyInt_Check(obj)) {
3146 if (val) *val = PyInt_AsLong(obj);
3150 if (PyLong_Check(obj)) {
3151 long v = PyLong_AsLong(obj);
3152 if (!PyErr_Occurred()) {
3160#ifdef SWIG_PYTHON_CAST_MODE
3163 long v = PyInt_AsLong(obj);
3164 if (!PyErr_Occurred()) {
3174 if (val) *val = (long)(d);
3190 if ((v < INT_MIN || v > INT_MAX)) {
3193 if (val) *val =
static_cast< int >(v);
3203 return PyBool_FromLong(
value ? 1 : 0);
3211 if (!PyBool_Check(obj))
3213 r = PyObject_IsTrue(obj);
3216 if (val) *val = r ? true :
false;
3221 #define SWIG_From_double PyFloat_FromDouble
3224 #define SWIG_From_long PyInt_FromLong
3227 std::string error_message;
3228 self->LoadModelFromProto(input_model, &error_message);
3229 return error_message;
3236 if (size > INT_MAX) {
3238 return pchar_descriptor ?
3241#if PY_VERSION_HEX >= 0x03000000
3242#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
3243 return PyBytes_FromStringAndSize(carray,
static_cast< Py_ssize_t
>(size));
3245 return PyUnicode_DecodeUTF8(carray,
static_cast< Py_ssize_t
>(size),
"surrogateescape");
3248 return PyString_FromStringAndSize(carray,
static_cast< Py_ssize_t
>(size));
3264 std::string error_message;
3265 self->LoadModelFromProtoWithUniqueNamesOrDie(input_model, &error_message);
3266 return error_message;
3269 return self->LoadSolutionFromProto(
response, tolerance).ok();
3275 self->ExportModelToProto(&
model);
3282 self->ExportModelToProto(&
model);
3286 if (variables.size() != values.size()) {
3287 LOG(
FATAL) <<
"Different number of variables and values when setting "
3290 std::vector<std::pair<const operations_research::MPVariable*, double> >
3291 hint(variables.size());
3292 for (
int i = 0; i < variables.size(); ++i) {
3293 hint[i] = std::make_pair(variables[i], values[i]);
3295 self->SetHint(hint);
3298 return self->SetNumThreads(num_theads).ok();
3306 return self->name();
3309 return self->name();
3327 PyObject *resultobj = 0;
3328 std::string *arg1 = 0 ;
3333 PyObject *swig_obj[2] ;
3338 std::string *ptr = (std::string *)0;
3350 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "new_Solver" "', argument " "2"" of type '" "operations_research::MPSolver::OptimizationProblemType""'");
3364 PyObject *resultobj = 0;
3368 PyObject *swig_obj[1] ;
3386 PyObject *resultobj = 0;
3387 std::string *arg1 = 0 ;
3389 PyObject *swig_obj[1] ;
3395 std::string *ptr = (std::string *)0;
3416 PyObject *resultobj = 0;
3420 PyObject *swig_obj[1] ;
3427 SWIG_exception_fail(
SWIG_ArgError(ecode1),
"in method '" "Solver_SupportsProblemType" "', argument " "1"" of type '" "operations_research::MPSolver::OptimizationProblemType""'");
3439 PyObject *resultobj = 0;
3443 PyObject *swig_obj[1] ;
3461 PyObject *resultobj = 0;
3465 PyObject *swig_obj[1] ;
3484 PyObject *resultobj = 0;
3488 PyObject *swig_obj[1] ;
3489 std::vector< operations_research::MPVariable * > *result = 0 ;
3509 PyObject *resultobj = 0;
3516 PyObject *swig_obj[2] ;
3529 arg2 =
static_cast< int >(val2);
3539 PyObject *resultobj = 0;
3541 std::string *arg2 = 0 ;
3545 PyObject *swig_obj[2] ;
3555 std::string *ptr = (std::string *)0;
3576 PyObject *resultobj = 0;
3581 std::string *arg5 = 0 ;
3591 PyObject *swig_obj[5] ;
3604 arg2 =
static_cast< double >(val2);
3609 arg3 =
static_cast< double >(val3);
3614 arg4 =
static_cast< bool >(val4);
3616 std::string *ptr = (std::string *)0;
3637 PyObject *resultobj = 0;
3641 std::string *arg4 = 0 ;
3649 PyObject *swig_obj[4] ;
3662 arg2 =
static_cast< double >(val2);
3667 arg3 =
static_cast< double >(val3);
3669 std::string *ptr = (std::string *)0;
3690 PyObject *resultobj = 0;
3694 std::string *arg4 = 0 ;
3702 PyObject *swig_obj[4] ;
3715 arg2 =
static_cast< double >(val2);
3720 arg3 =
static_cast< double >(val3);
3722 std::string *ptr = (std::string *)0;
3743 PyObject *resultobj = 0;
3745 std::string *arg2 = 0 ;
3749 PyObject *swig_obj[2] ;
3759 std::string *ptr = (std::string *)0;
3780 PyObject *resultobj = 0;
3784 PyObject *swig_obj[1] ;
3803 PyObject *resultobj = 0;
3807 PyObject *swig_obj[1] ;
3808 std::vector< operations_research::MPConstraint * > *result = 0 ;
3828 PyObject *resultobj = 0;
3835 PyObject *swig_obj[2] ;
3848 arg2 =
static_cast< int >(val2);
3858 PyObject *resultobj = 0;
3860 std::string *arg2 = 0 ;
3864 PyObject *swig_obj[2] ;
3870 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LookupConstraint" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
3874 std::string *ptr = (std::string *)0;
3895 PyObject *resultobj = 0;
3907 if ((nobjs < 3) || (nobjs > 3))
SWIG_fail;
3917 arg2 =
static_cast< double >(val2);
3922 arg3 =
static_cast< double >(val3);
3932 PyObject *resultobj = 0;
3938 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
3953 PyObject *resultobj = 0;
3957 std::string *arg4 = 0 ;
3967 if ((nobjs < 4) || (nobjs > 4))
SWIG_fail;
3977 arg2 =
static_cast< double >(val2);
3982 arg3 =
static_cast< double >(val3);
3984 std::string *ptr = (std::string *)0;
4005 PyObject *resultobj = 0;
4007 std::string *arg2 = 0 ;
4013 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
4020 std::string *ptr = (std::string *)0;
4042 PyObject *argv[5] = {
4119 " Possible C/C++ prototypes are:\n"
4120 " operations_research::MPSolver::MakeRowConstraint(double,double)\n"
4121 " operations_research::MPSolver::MakeRowConstraint()\n"
4122 " operations_research::MPSolver::MakeRowConstraint(double,double,std::string const &)\n"
4123 " operations_research::MPSolver::MakeRowConstraint(std::string const &)\n");
4129 PyObject *resultobj = 0;
4133 PyObject *swig_obj[1] ;
4152 PyObject *resultobj = 0;
4158 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
4173 PyObject *resultobj = 0;
4182 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
4190 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "Solver_Solve" "', argument " "2"" of type '" "operations_research::MPSolverParameters const &""'");
4193 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_Solve" "', argument " "2"" of type '" "operations_research::MPSolverParameters const &""'");
4206 PyObject *argv[3] = {
4237 " Possible C/C++ prototypes are:\n"
4238 " operations_research::MPSolver::Solve()\n"
4239 " operations_research::MPSolver::Solve(operations_research::MPSolverParameters const &)\n");
4245 PyObject *resultobj = 0;
4249 PyObject *swig_obj[1] ;
4250 std::vector< double > result;
4256 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ComputeConstraintActivities" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4261 resultobj = vector_output_helper(&result, &PyFloat_FromDouble);
4270 PyObject *resultobj = 0;
4280 PyObject *swig_obj[3] ;
4293 arg2 =
static_cast< double >(val2);
4298 arg3 =
static_cast< bool >(val3);
4308 PyObject *resultobj = 0;
4312 PyObject *swig_obj[1] ;
4331 PyObject *resultobj = 0;
4336 PyObject *swig_obj[2] ;
4341 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_FillSolutionResponseProto" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4346 PyObject*
const pyresult = PyObject_CallMethod(
4347 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4348 if (pyresult !=
nullptr) {
4349 char* buffer =
nullptr;
4350 Py_ssize_t length = 0;
4351 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4352 if (buffer !=
nullptr) {
4353 arg2->ParseFromArray(buffer, length);
4355 Py_DECREF(pyresult);
4361 std::string encoded_protobuf;
4362 arg2->SerializeToString(&encoded_protobuf);
4364 PyObject*
const python_encoded_protobuf =
4365 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4366 encoded_protobuf.size());
4372 if (python_encoded_protobuf !=
nullptr) {
4373 PyObject*
const result = PyObject_CallMethod(
4374 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4375 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4376 Py_DECREF(python_encoded_protobuf);
4377 if (result !=
nullptr) {
4395 PyObject *resultobj = 0;
4398 std::atomic< bool > *arg3 = (std::atomic< bool > *) 0 ;
4404 if ((nobjs < 3) || (nobjs > 3))
SWIG_fail;
4407 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_SolveWithProto" "', argument " "1"" of type '" "operations_research::MPModelRequest const &""'");
4410 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_SolveWithProto" "', argument " "1"" of type '" "operations_research::MPModelRequest const &""'");
4415 PyObject*
const pyresult = PyObject_CallMethod(
4416 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4417 if (pyresult !=
nullptr) {
4418 char* buffer =
nullptr;
4419 Py_ssize_t length = 0;
4420 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4421 if (buffer !=
nullptr) {
4422 arg2->ParseFromArray(buffer, length);
4424 Py_DECREF(pyresult);
4431 arg3 =
reinterpret_cast< std::atomic< bool > *
>(argp3);
4435 std::string encoded_protobuf;
4436 arg2->SerializeToString(&encoded_protobuf);
4438 PyObject*
const python_encoded_protobuf =
4439 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4440 encoded_protobuf.size());
4446 if (python_encoded_protobuf !=
nullptr) {
4447 PyObject*
const result = PyObject_CallMethod(
4448 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4449 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4450 Py_DECREF(python_encoded_protobuf);
4451 if (result !=
nullptr) {
4469 PyObject *resultobj = 0;
4475 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
4478 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_SolveWithProto" "', argument " "1"" of type '" "operations_research::MPModelRequest const &""'");
4481 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_SolveWithProto" "', argument " "1"" of type '" "operations_research::MPModelRequest const &""'");
4486 PyObject*
const pyresult = PyObject_CallMethod(
4487 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4488 if (pyresult !=
nullptr) {
4489 char* buffer =
nullptr;
4490 Py_ssize_t length = 0;
4491 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4492 if (buffer !=
nullptr) {
4493 arg2->ParseFromArray(buffer, length);
4495 Py_DECREF(pyresult);
4501 std::string encoded_protobuf;
4502 arg2->SerializeToString(&encoded_protobuf);
4504 PyObject*
const python_encoded_protobuf =
4505 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4506 encoded_protobuf.size());
4512 if (python_encoded_protobuf !=
nullptr) {
4513 PyObject*
const result = PyObject_CallMethod(
4514 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4515 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4516 Py_DECREF(python_encoded_protobuf);
4517 if (result !=
nullptr) {
4536 PyObject *argv[4] = {
4549 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
4550 if (module !=
nullptr) {
4551 PyObject*
const dict = PyModule_GetDict(module);
4552 if (dict !=
nullptr) {
4553 PyObject*
const clss = PyDict_GetItemString(dict,
"MPSolutionResponse");
4554 if (clss !=
nullptr) {
4555 if (PyObject_IsInstance(argv[1], clss)) {
4576 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
4577 if (module !=
nullptr) {
4578 PyObject*
const dict = PyModule_GetDict(module);
4579 if (dict !=
nullptr) {
4580 PyObject*
const clss = PyDict_GetItemString(dict,
"MPSolutionResponse");
4581 if (clss !=
nullptr) {
4582 if (PyObject_IsInstance(argv[1], clss)) {
4604 " Possible C/C++ prototypes are:\n"
4605 " operations_research::MPSolver::SolveWithProto(operations_research::MPModelRequest const &,operations_research::MPSolutionResponse *,std::atomic< bool > *)\n"
4606 " operations_research::MPSolver::SolveWithProto(operations_research::MPModelRequest const &,operations_research::MPSolutionResponse *)\n");
4612 PyObject *resultobj = 0;
4617 PyObject *swig_obj[2] ;
4622 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ExportModelToProto" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4627 PyObject*
const pyresult = PyObject_CallMethod(
4628 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4629 if (pyresult !=
nullptr) {
4630 char* buffer =
nullptr;
4631 Py_ssize_t length = 0;
4632 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4633 if (buffer !=
nullptr) {
4634 arg2->ParseFromArray(buffer, length);
4636 Py_DECREF(pyresult);
4642 std::string encoded_protobuf;
4643 arg2->SerializeToString(&encoded_protobuf);
4645 PyObject*
const python_encoded_protobuf =
4646 PyBytes_FromStringAndSize(encoded_protobuf.c_str(),
4647 encoded_protobuf.size());
4653 if (python_encoded_protobuf !=
nullptr) {
4654 PyObject*
const result = PyObject_CallMethod(
4655 swig_obj[1],
const_cast<char*
>(
"ParseFromString"),
4656 const_cast<char*
>(
"(O)"), python_encoded_protobuf);
4657 Py_DECREF(python_encoded_protobuf);
4658 if (result !=
nullptr) {
4676 PyObject *resultobj = 0;
4678 std::string *arg2 = 0 ;
4682 PyObject *swig_obj[2] ;
4688 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_SetSolverSpecificParametersAsString" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4692 std::string *ptr = (std::string *)0;
4695 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "Solver_SetSolverSpecificParametersAsString" "', argument " "2"" of type '" "std::string const &""'");
4698 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "Solver_SetSolverSpecificParametersAsString" "', argument " "2"" of type '" "std::string const &""'");
4702 result = (bool)(arg1)->SetSolverSpecificParametersAsString((std::string
const &)*arg2);
4713 PyObject *resultobj = 0;
4726 PyObject *resultobj = 0;
4730 PyObject *swig_obj[1] ;
4739 (arg1)->EnableOutput();
4748 PyObject *resultobj = 0;
4752 PyObject *swig_obj[1] ;
4761 (arg1)->SuppressOutput();
4770 PyObject *resultobj = 0;
4774 PyObject *swig_obj[1] ;
4793 PyObject *resultobj = 0;
4797 PyObject *swig_obj[1] ;
4816 PyObject *resultobj = 0;
4820 PyObject *swig_obj[1] ;
4827 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ComputeExactConditionNumber" "', argument " "1"" of type '" "operations_research::MPSolver const *""'");
4839 PyObject *resultobj = 0;
4843 PyObject *swig_obj[1] ;
4862 PyObject *resultobj = 0;
4869 PyObject *swig_obj[2] ;
4881 arg2 =
static_cast< int64_t
>(val2);
4882 (arg1)->set_time_limit(arg2);
4891 PyObject *resultobj = 0;
4895 PyObject *swig_obj[1] ;
4914 PyObject *resultobj = 0;
4919 PyObject *swig_obj[2] ;
4930 PyObject*
const pyresult = PyObject_CallMethod(
4931 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4932 if (pyresult !=
nullptr) {
4933 char* buffer =
nullptr;
4934 Py_ssize_t length = 0;
4935 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4936 if (buffer !=
nullptr) {
4937 arg2->ParseFromArray(buffer, length);
4939 Py_DECREF(pyresult);
4957 PyObject *resultobj = 0;
4962 PyObject *swig_obj[2] ;
4968 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LoadModelFromProtoWithUniqueNamesOrDie" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
4973 PyObject*
const pyresult = PyObject_CallMethod(
4974 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
4975 if (pyresult !=
nullptr) {
4976 char* buffer =
nullptr;
4977 Py_ssize_t length = 0;
4978 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
4979 if (buffer !=
nullptr) {
4980 arg2->ParseFromArray(buffer, length);
4982 Py_DECREF(pyresult);
5000 PyObject *resultobj = 0;
5010 if ((nobjs < 3) || (nobjs > 3))
SWIG_fail;
5013 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LoadSolutionFromProto" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
5018 PyObject*
const pyresult = PyObject_CallMethod(
5019 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
5020 if (pyresult !=
nullptr) {
5021 char* buffer =
nullptr;
5022 Py_ssize_t length = 0;
5023 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
5024 if (buffer !=
nullptr) {
5025 arg2->ParseFromArray(buffer, length);
5027 Py_DECREF(pyresult);
5034 arg3 =
static_cast< double >(val3);
5050 PyObject *resultobj = 0;
5057 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
5060 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_LoadSolutionFromProto" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
5065 PyObject*
const pyresult = PyObject_CallMethod(
5066 swig_obj[1],
const_cast<char*
>(
"SerializeToString"),
nullptr);
5067 if (pyresult !=
nullptr) {
5068 char* buffer =
nullptr;
5069 Py_ssize_t length = 0;
5070 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
5071 if (buffer !=
nullptr) {
5072 arg2->ParseFromArray(buffer, length);
5074 Py_DECREF(pyresult);
5093 PyObject *argv[4] = {
5107 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
5108 if (module !=
nullptr) {
5109 PyObject*
const dict = PyModule_GetDict(module);
5110 if (dict !=
nullptr) {
5111 PyObject*
const clss = PyDict_GetItemString(dict,
"MPSolutionResponse");
5112 if (clss !=
nullptr) {
5113 if (PyObject_IsInstance(argv[1], clss)) {
5135 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
5136 if (module !=
nullptr) {
5137 PyObject*
const dict = PyModule_GetDict(module);
5138 if (dict !=
nullptr) {
5139 PyObject*
const clss = PyDict_GetItemString(dict,
"MPSolutionResponse");
5140 if (clss !=
nullptr) {
5141 if (PyObject_IsInstance(argv[1], clss)) {
5164 " Possible C/C++ prototypes are:\n"
5165 " operations_research::MPSolver::LoadSolutionFromProto(operations_research::MPSolutionResponse const &,double)\n"
5166 " operations_research::MPSolver::LoadSolutionFromProto(operations_research::MPSolutionResponse const &)\n");
5172 PyObject *resultobj = 0;
5179 PyObject *swig_obj[2] ;
5185 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ExportModelAsLpFormat" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
5192 arg2 =
static_cast< bool >(val2);
5202 PyObject *resultobj = 0;
5212 PyObject *swig_obj[3] ;
5218 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Solver_ExportModelAsMpsFormat" "', argument " "1"" of type '" "operations_research::MPSolver *""'");
5225 arg2 =
static_cast< bool >(val2);
5230 arg3 =
static_cast< bool >(val3);
5240 PyObject *resultobj = 0;
5242 std::vector< operations_research::MPVariable * > *arg2 = 0 ;
5243 std::vector< double > *arg3 = 0 ;
5246 std::vector< operations_research::MPVariable * > temp2 ;
5247 std::vector< double > temp3 ;
5248 PyObject *swig_obj[3] ;
5257 if (!vector_input_helper(swig_obj[1], &temp2, PyObjAs<operations_research::MPVariable*>)) {
5258 if (!PyErr_Occurred())
5265 if (!vector_input_helper(swig_obj[2], &temp3, PyObjAs<double>)) {
5266 if (!PyErr_Occurred())
5281 PyObject *resultobj = 0;
5288 PyObject *swig_obj[2] ;
5301 arg2 =
static_cast< int >(val2);
5311 PyObject *resultobj = 0;
5324 PyObject *resultobj = 0;
5331 PyObject *swig_obj[2] ;
5343 arg2 =
static_cast< int64_t
>(val2);
5353 PyObject *resultobj = 0;
5357 PyObject *swig_obj[1] ;
5376 PyObject *resultobj = 0;
5380 PyObject *swig_obj[1] ;
5410 PyObject *resultobj = 0;
5411 std::ostream *arg1 = 0 ;
5417 std::ostream *result = 0 ;
5419 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
5427 arg1 =
reinterpret_cast< std::ostream *
>(argp1);
5430 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "__lshift__" "', argument " "2"" of type '" "operations_research::MPSolver::OptimizationProblemType""'");
5433 result = (std::ostream *) &operations_research::operator <<(*arg1,arg2);
5438 Py_INCREF(Py_NotImplemented);
5439 return Py_NotImplemented;
5444 PyObject *resultobj = 0;
5445 std::ostream *arg1 = 0 ;
5451 std::ostream *result = 0 ;
5453 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
5461 arg1 =
reinterpret_cast< std::ostream *
>(argp1);
5467 result = (std::ostream *) &operations_research::operator <<(*arg1,arg2);
5472 Py_INCREF(Py_NotImplemented);
5473 return Py_NotImplemented;
5479 PyObject *argv[3] = {
5517 Py_INCREF(Py_NotImplemented);
5518 return Py_NotImplemented;
5523 PyObject *resultobj = 0;
5527 PyObject *swig_obj[1] ;
5545 PyObject *resultobj = 0;
5553 PyObject *swig_obj[3] ;
5568 arg3 =
static_cast< double >(val3);
5578 PyObject *resultobj = 0;
5583 PyObject *swig_obj[2] ;
5589 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_GetCoefficient" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5604 PyObject *resultobj = 0;
5611 PyObject *swig_obj[2] ;
5623 arg2 =
static_cast< double >(val2);
5624 (arg1)->SetOffset(arg2);
5633 PyObject *resultobj = 0;
5637 PyObject *swig_obj[1] ;
5656 PyObject *resultobj = 0;
5663 PyObject *swig_obj[2] ;
5668 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_SetOptimizationDirection" "', argument " "1"" of type '" "operations_research::MPObjective *""'");
5675 arg2 =
static_cast< bool >(val2);
5676 (arg1)->SetOptimizationDirection(arg2);
5685 PyObject *resultobj = 0;
5689 PyObject *swig_obj[1] ;
5695 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_SetMinimization" "', argument " "1"" of type '" "operations_research::MPObjective *""'");
5698 (arg1)->SetMinimization();
5707 PyObject *resultobj = 0;
5711 PyObject *swig_obj[1] ;
5717 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_SetMaximization" "', argument " "1"" of type '" "operations_research::MPObjective *""'");
5720 (arg1)->SetMaximization();
5729 PyObject *resultobj = 0;
5733 PyObject *swig_obj[1] ;
5740 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_maximization" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5752 PyObject *resultobj = 0;
5756 PyObject *swig_obj[1] ;
5763 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_minimization" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5775 PyObject *resultobj = 0;
5779 PyObject *swig_obj[1] ;
5798 PyObject *resultobj = 0;
5802 PyObject *swig_obj[1] ;
5809 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Objective_BestBound" "', argument " "1"" of type '" "operations_research::MPObjective const *""'");
5821 PyObject *resultobj = 0;
5825 PyObject *swig_obj[1] ;
5844 PyObject *resultobj = 0;
5848 PyObject *swig_obj[1] ;
5873 PyObject *resultobj = 0;
5877 PyObject *swig_obj[1] ;
5878 std::string *result = 0 ;
5896 PyObject *resultobj = 0;
5903 PyObject *swig_obj[2] ;
5915 arg2 =
static_cast< bool >(val2);
5916 (arg1)->SetInteger(arg2);
5925 PyObject *resultobj = 0;
5929 PyObject *swig_obj[1] ;
5948 PyObject *resultobj = 0;
5952 PyObject *swig_obj[1] ;
5959 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_solution_value" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
5971 PyObject *resultobj = 0;
5975 PyObject *swig_obj[1] ;
5994 PyObject *resultobj = 0;
5998 PyObject *swig_obj[1] ;
6017 PyObject *resultobj = 0;
6021 PyObject *swig_obj[1] ;
6040 PyObject *resultobj = 0;
6050 PyObject *swig_obj[3] ;
6062 arg2 =
static_cast< double >(val2);
6067 arg3 =
static_cast< double >(val3);
6068 (arg1)->SetBounds(arg2,arg3);
6077 PyObject *resultobj = 0;
6081 PyObject *swig_obj[1] ;
6088 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_reduced_cost" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
6100 PyObject *resultobj = 0;
6104 PyObject *swig_obj[1] ;
6111 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_basis_status" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
6123 PyObject *resultobj = 0;
6127 PyObject *swig_obj[1] ;
6134 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_branching_priority" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
6146 PyObject *resultobj = 0;
6153 PyObject *swig_obj[2] ;
6158 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_SetBranchingPriority" "', argument " "1"" of type '" "operations_research::MPVariable *""'");
6165 arg2 =
static_cast< int >(val2);
6166 (arg1)->SetBranchingPriority(arg2);
6175 PyObject *resultobj = 0;
6179 PyObject *swig_obj[1] ;
6198 PyObject *resultobj = 0;
6202 PyObject *swig_obj[1] ;
6221 PyObject *resultobj = 0;
6225 PyObject *swig_obj[1] ;
6232 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_SolutionValue" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
6244 PyObject *resultobj = 0;
6248 PyObject *swig_obj[1] ;
6267 PyObject *resultobj = 0;
6271 PyObject *swig_obj[1] ;
6290 PyObject *resultobj = 0;
6294 PyObject *swig_obj[1] ;
6313 PyObject *resultobj = 0;
6320 PyObject *swig_obj[2] ;
6332 arg2 =
static_cast< double >(val2);
6342 PyObject *resultobj = 0;
6349 PyObject *swig_obj[2] ;
6361 arg2 =
static_cast< double >(val2);
6371 PyObject *resultobj = 0;
6375 PyObject *swig_obj[1] ;
6382 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Variable_ReducedCost" "', argument " "1"" of type '" "operations_research::MPVariable const *""'");
6394 PyObject *resultobj = 0;
6398 PyObject *swig_obj[1] ;
6423 PyObject *resultobj = 0;
6427 PyObject *swig_obj[1] ;
6428 std::string *result = 0 ;
6446 PyObject *resultobj = 0;
6450 PyObject *swig_obj[1] ;
6468 PyObject *resultobj = 0;
6476 PyObject *swig_obj[3] ;
6481 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_SetCoefficient" "', argument " "1"" of type '" "operations_research::MPConstraint *""'");
6491 arg3 =
static_cast< double >(val3);
6501 PyObject *resultobj = 0;
6506 PyObject *swig_obj[2] ;
6512 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_GetCoefficient" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6527 PyObject *resultobj = 0;
6531 PyObject *swig_obj[1] ;
6550 PyObject *resultobj = 0;
6554 PyObject *swig_obj[1] ;
6573 PyObject *resultobj = 0;
6583 PyObject *swig_obj[3] ;
6595 arg2 =
static_cast< double >(val2);
6600 arg3 =
static_cast< double >(val3);
6601 (arg1)->SetBounds(arg2,arg3);
6610 PyObject *resultobj = 0;
6617 PyObject *swig_obj[2] ;
6629 arg2 =
static_cast< bool >(val2);
6630 (arg1)->set_is_lazy(arg2);
6639 PyObject *resultobj = 0;
6643 PyObject *swig_obj[1] ;
6662 PyObject *resultobj = 0;
6666 PyObject *swig_obj[1] ;
6673 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_dual_value" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6685 PyObject *resultobj = 0;
6689 PyObject *swig_obj[1] ;
6696 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_basis_status" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6708 PyObject *resultobj = 0;
6712 PyObject *swig_obj[1] ;
6731 PyObject *resultobj = 0;
6735 PyObject *swig_obj[1] ;
6754 PyObject *resultobj = 0;
6761 PyObject *swig_obj[2] ;
6773 arg2 =
static_cast< double >(val2);
6783 PyObject *resultobj = 0;
6790 PyObject *swig_obj[2] ;
6802 arg2 =
static_cast< double >(val2);
6812 PyObject *resultobj = 0;
6816 PyObject *swig_obj[1] ;
6823 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "Constraint_DualValue" "', argument " "1"" of type '" "operations_research::MPConstraint const *""'");
6835 PyObject *resultobj = 0;
6839 PyObject *swig_obj[1] ;
6870 PyObject *pyobj = 0;
6884 PyObject *pyobj = 0;
6898 PyObject *pyobj = 0;
6912 PyObject *pyobj = 0;
6926 PyObject *pyobj = 0;
6934 PyObject *resultobj = 0;
6947 PyObject *resultobj = 0;
6957 PyObject *swig_obj[3] ;
6962 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_SetDoubleParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters *""'");
6967 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_SetDoubleParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::DoubleParam""'");
6974 arg3 =
static_cast< double >(val3);
6975 (arg1)->SetDoubleParam(arg2,arg3);
6984 PyObject *resultobj = 0;
6994 PyObject *swig_obj[3] ;
6999 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_SetIntegerParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters *""'");
7004 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_SetIntegerParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::IntegerParam""'");
7011 arg3 =
static_cast< int >(val3);
7012 (arg1)->SetIntegerParam(arg2,arg3);
7021 PyObject *resultobj = 0;
7028 PyObject *swig_obj[2] ;
7034 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_GetDoubleParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters const *""'");
7039 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_GetDoubleParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::DoubleParam""'");
7051 PyObject *resultobj = 0;
7058 PyObject *swig_obj[2] ;
7064 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "MPSolverParameters_GetIntegerParam" "', argument " "1"" of type '" "operations_research::MPSolverParameters const *""'");
7069 SWIG_exception_fail(
SWIG_ArgError(ecode2),
"in method '" "MPSolverParameters_GetIntegerParam" "', argument " "2"" of type '" "operations_research::MPSolverParameters::IntegerParam""'");
7081 PyObject *resultobj = 0;
7085 PyObject *swig_obj[1] ;
7091 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "delete_MPSolverParameters" "', argument " "1"" of type '" "operations_research::MPSolverParameters *""'");
7114 PyObject *resultobj = 0;
7127 PyObject *resultobj = 0;
7131 PyObject *swig_obj[1] ;
7137 SWIG_exception_fail(
SWIG_ArgError(res1),
"in method '" "delete_ModelExportOptions" "', argument " "1"" of type '" "operations_research::MPModelExportOptions *""'");
7160 PyObject *resultobj = 0;
7167 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
7170 PyObject*
const pyresult = PyObject_CallMethod(
7171 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7172 if (pyresult !=
nullptr) {
7173 char* buffer =
nullptr;
7174 Py_ssize_t length = 0;
7175 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7176 if (buffer !=
nullptr) {
7177 arg1->ParseFromArray(buffer, length);
7179 Py_DECREF(pyresult);
7184 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "ExportModelAsLpFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
7187 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "ExportModelAsLpFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
7205 PyObject *resultobj = 0;
7209 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
7212 PyObject*
const pyresult = PyObject_CallMethod(
7213 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7214 if (pyresult !=
nullptr) {
7215 char* buffer =
nullptr;
7216 Py_ssize_t length = 0;
7217 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7218 if (buffer !=
nullptr) {
7219 arg1->ParseFromArray(buffer, length);
7221 Py_DECREF(pyresult);
7240 PyObject *argv[3] = {
7250 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7251 if (module !=
nullptr) {
7252 PyObject*
const dict = PyModule_GetDict(module);
7253 if (dict !=
nullptr) {
7254 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7255 if (clss !=
nullptr) {
7256 if (PyObject_IsInstance(argv[0], clss)) {
7273 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7274 if (module !=
nullptr) {
7275 PyObject*
const dict = PyModule_GetDict(module);
7276 if (dict !=
nullptr) {
7277 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7278 if (clss !=
nullptr) {
7279 if (PyObject_IsInstance(argv[0], clss)) {
7299 " Possible C/C++ prototypes are:\n"
7300 " operations_research::ExportModelAsLpFormatReturnString(operations_research::MPModelProto const &,operations_research::MPModelExportOptions const &)\n"
7301 " operations_research::ExportModelAsLpFormatReturnString(operations_research::MPModelProto const &)\n");
7307 PyObject *resultobj = 0;
7314 if ((nobjs < 2) || (nobjs > 2))
SWIG_fail;
7317 PyObject*
const pyresult = PyObject_CallMethod(
7318 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7319 if (pyresult !=
nullptr) {
7320 char* buffer =
nullptr;
7321 Py_ssize_t length = 0;
7322 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7323 if (buffer !=
nullptr) {
7324 arg1->ParseFromArray(buffer, length);
7326 Py_DECREF(pyresult);
7331 SWIG_exception_fail(
SWIG_ArgError(res2),
"in method '" "ExportModelAsMpsFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
7334 SWIG_exception_fail(
SWIG_ValueError,
"invalid null reference " "in method '" "ExportModelAsMpsFormat" "', argument " "2"" of type '" "operations_research::MPModelExportOptions const &""'");
7352 PyObject *resultobj = 0;
7356 if ((nobjs < 1) || (nobjs > 1))
SWIG_fail;
7359 PyObject*
const pyresult = PyObject_CallMethod(
7360 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7361 if (pyresult !=
nullptr) {
7362 char* buffer =
nullptr;
7363 Py_ssize_t length = 0;
7364 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7365 if (buffer !=
nullptr) {
7366 arg1->ParseFromArray(buffer, length);
7368 Py_DECREF(pyresult);
7387 PyObject *argv[3] = {
7397 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7398 if (module !=
nullptr) {
7399 PyObject*
const dict = PyModule_GetDict(module);
7400 if (dict !=
nullptr) {
7401 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7402 if (clss !=
nullptr) {
7403 if (PyObject_IsInstance(argv[0], clss)) {
7420 PyObject*
const module = PyImport_ImportModule(
"ortools.linear_solver.linear_solver_pb2");
7421 if (module !=
nullptr) {
7422 PyObject*
const dict = PyModule_GetDict(module);
7423 if (dict !=
nullptr) {
7424 PyObject*
const clss = PyDict_GetItemString(dict,
"MPModelProto");
7425 if (clss !=
nullptr) {
7426 if (PyObject_IsInstance(argv[0], clss)) {
7446 " Possible C/C++ prototypes are:\n"
7447 " operations_research::ExportModelAsMpsFormatReturnString(operations_research::MPModelProto const &,operations_research::MPModelExportOptions const &)\n"
7448 " operations_research::ExportModelAsMpsFormatReturnString(operations_research::MPModelProto const &)\n");
7454 PyObject *resultobj = 0;
7456 PyObject *swig_obj[1] ;
7463 PyObject*
const pyresult = PyObject_CallMethod(
7464 swig_obj[0],
const_cast<char*
>(
"SerializeToString"),
nullptr);
7465 if (pyresult !=
nullptr) {
7466 char* buffer =
nullptr;
7467 Py_ssize_t length = 0;
7468 int result = PyString_AsStringAndSize(pyresult, &buffer, &length);
7469 if (buffer !=
nullptr) {
7470 arg1->ParseFromArray(buffer, length);
7472 Py_DECREF(pyresult);
7491 {
"new_Solver",
_wrap_new_Solver, METH_VARARGS,
" Create a solver with the given name and underlying solver backend."},
7494 "Recommended factory method to create a MPSolver instance, especially in\n"
7495 "non C++ languages.\n"
7497 "It returns a newly created solver instance if successful, or a nullptr\n"
7498 "otherwise. This can occur if the relevant interface is not linked in, or if\n"
7499 "a needed license is not accessible for commercial solvers.\n"
7501 "Ownership of the solver is passed on to the caller of this method.\n"
7502 "It will accept both string names of the OptimizationProblemType enum, as\n"
7503 "well as a short version (i.e. \"SCIP_MIXED_INTEGER_PROGRAMMING\" or \"SCIP\").\n"
7505 "solver_id is case insensitive, and the following names are supported:\n"
7506 " - CLP_LINEAR_PROGRAMMING or CLP\n"
7507 " - CBC_MIXED_INTEGER_PROGRAMMING or CBC\n"
7508 " - GLOP_LINEAR_PROGRAMMING or GLOP\n"
7509 " - BOP_INTEGER_PROGRAMMING or BOP\n"
7510 " - SAT_INTEGER_PROGRAMMING or SAT or CP_SAT\n"
7511 " - SCIP_MIXED_INTEGER_PROGRAMMING or SCIP\n"
7512 " - GUROBI_LINEAR_PROGRAMMING or GUROBI_LP\n"
7513 " - GUROBI_MIXED_INTEGER_PROGRAMMING or GUROBI or GUROBI_MIP\n"
7514 " - CPLEX_LINEAR_PROGRAMMING or CPLEX_LP\n"
7515 " - CPLEX_MIXED_INTEGER_PROGRAMMING or CPLEX or CPLEX_MIP\n"
7516 " - XPRESS_LINEAR_PROGRAMMING or XPRESS_LP\n"
7517 " - XPRESS_MIXED_INTEGER_PROGRAMMING or XPRESS or XPRESS_MIP\n"
7518 " - GLPK_LINEAR_PROGRAMMING or GLPK_LP\n"
7519 " - GLPK_MIXED_INTEGER_PROGRAMMING or GLPK or GLPK_MIP\n"
7522 "Whether the given problem type is supported (this will depend on the\n"
7523 "targets that you linked).\n"
7526 "Clears the objective (including the optimization direction), all variables\n"
7527 "and constraints. All the other properties of the MPSolver (like the time\n"
7528 "limit) are kept untouched.\n"
7532 "Returns the array of variables handled by the MPSolver. (They are listed in\n"
7533 "the order in which they were created.)\n"
7535 {
"Solver_variable",
_wrap_Solver_variable, METH_VARARGS,
"Returns the variable at position index."},
7537 "Looks up a variable by name, and returns nullptr if it does not exist. The\n"
7538 "first call has a O(n) complexity, as the variable name index is lazily\n"
7539 "created upon first use. Will crash if variable names are not unique.\n"
7542 "Creates a variable with the given bounds, integrality requirement and\n"
7543 "name. Bounds can be finite or +/- MPSolver::infinity(). The MPSolver owns\n"
7544 "the variable (i.e. the returned pointer is borrowed). Variable names are\n"
7545 "optional. If you give an empty name, name() will auto-generate one for you\n"
7553 "Returns the array of constraints handled by the MPSolver.\n"
7555 "They are listed in the order in which they were created.\n"
7559 " Looks up a constraint by name, and returns nullptr if it does not exist.\n"
7561 "The first call has a O(n) complexity, as the constraint name index is\n"
7562 "lazily created upon first use. Will crash if constraint names are not\n"
7568 "Creates a linear constraint with given bounds.\n"
7570 "Bounds can be finite or +/- MPSolver::infinity(). The MPSolver class\n"
7571 "assumes ownership of the constraint.\n"
7573 ":rtype: :py:class:`MPConstraint`\n"
7574 ":return: a pointer to the newly created constraint.\n"
7579 " Creates a constraint with -infinity and +infinity bounds.\n"
7584 " Creates a named constraint with given bounds.\n"
7589 " Creates a named constraint with -infinity and +infinity bounds.\n"
7594 "Solves the problem using the default parameter values.\n"
7599 "Solves the problem using the specified parameter values.\n"
7602 "Advanced usage: compute the \"activities\" of all constraints, which are the\n"
7603 "sums of their linear terms. The activities are returned in the same order\n"
7604 "as constraints(), which is the order in which constraints were added; but\n"
7605 "you can also use MPConstraint::index() to get a constraint's index.\n"
7608 "Advanced usage: Verifies the *correctness* of the solution.\n"
7610 "It verifies that all variables must be within their domains, all\n"
7611 "constraints must be satisfied, and the reported objective value must be\n"
7615 "- This can only be called after Solve() was called.\n"
7616 "- \"tolerance\" is interpreted as an absolute error threshold.\n"
7617 "- For the objective value only, if the absolute error is too large,\n"
7618 " the tolerance is interpreted as a relative error threshold instead.\n"
7619 "- If \"log_errors\" is true, every single violation will be logged.\n"
7620 "- If \"tolerance\" is negative, it will be set to infinity().\n"
7622 "Most users should just set the --verify_solution flag and not bother using\n"
7623 "this method directly.\n"
7626 " Interrupts the Solve() execution to terminate processing if possible.\n"
7628 "If the underlying interface supports interruption; it does that and returns\n"
7629 "true regardless of whether there's an ongoing Solve() or not. The Solve()\n"
7630 "call may still linger for a while depending on the conditions. If\n"
7631 "interruption is not supported; returns false and does nothing.\n"
7632 "MPSolver::SolverTypeSupportsInterruption can be used to check if\n"
7633 "interruption is supported for a given solver type.\n"
7637 "Solves the model encoded by a MPModelRequest protocol buffer and fills the\n"
7638 "solution encoded as a MPSolutionResponse. The solve is stopped prematurely\n"
7639 "if interrupt is non-null at set to true during (or before) solving.\n"
7640 "Interruption is only supported if SolverTypeSupportsInterruption() returns\n"
7641 "true for the requested solver. Passing a non-null interruption with any\n"
7642 "other solver type immediately returns an MPSOLVER_INCOMPATIBLE_OPTIONS\n"
7645 "Note(user): This attempts to first use `DirectlySolveProto()` (if\n"
7646 "implemented). Consequently, this most likely does *not* override any of\n"
7647 "the default parameters of the underlying solver. This behavior *differs*\n"
7648 "from `MPSolver::Solve()` which by default sets the feasibility tolerance\n"
7649 "and the gap limit (as of 2020/02/11, to 1e-7 and 0.0001, respectively).\n"
7653 "Advanced usage: pass solver specific parameters in text format.\n"
7655 "The format is solver-specific and is the same as the corresponding solver\n"
7656 "configuration file format. Returns true if the operation was successful.\n"
7661 "You can use -MPSolver::infinity() for negative infinity.\n"
7667 "Returns the number of branch-and-bound nodes evaluated during the solve.\n"
7669 "Only available for discrete problems.\n"
7672 " Advanced usage: computes the exact condition number of the current scaled\n"
7673 "basis: L1norm(B) * L1norm(inverse(B)), where B is the scaled basis.\n"
7675 "This method requires that a basis exists: it should be called after Solve.\n"
7676 "It is only available for continuous problems. It is implemented for GLPK\n"
7677 "but not CLP because CLP does not provide the API for doing it.\n"
7679 "The condition number measures how well the constraint matrix is conditioned\n"
7680 "and can be used to predict whether numerical issues will arise during the\n"
7681 "solve: the model is declared infeasible whereas it is feasible (or\n"
7682 "vice-versa), the solution obtained is not optimal or violates some\n"
7683 "constraints, the resolution is slow because of repeated singularities.\n"
7685 "The rule of thumb to interpret the condition number kappa is:\n"
7686 " - o kappa <= 1e7: virtually no chance of numerical issues\n"
7687 " - o 1e7 < kappa <= 1e10: small chance of numerical issues\n"
7688 " - o 1e10 < kappa <= 1e13: medium chance of numerical issues\n"
7689 " - o kappa > 1e13: high chance of numerical issues\n"
7691 "The computation of the condition number depends on the quality of the LU\n"
7692 "decomposition, so it is not very accurate when the matrix is ill\n"
7696 "Some solvers (MIP only, not LP) can produce multiple solutions to the\n"
7697 "problem. Returns true when another solution is available, and updates the\n"
7698 "MPVariable* objects to make the new solution queryable. Call only after\n"
7701 "The optimality properties of the additional solutions found, and whether or\n"
7702 "not the solver computes them ahead of time or when NextSolution() is called\n"
7703 "is solver specific.\n"
7705 "As of 2020-02-10, only Gurobi and SCIP support NextSolution(), see\n"
7706 "linear_solver_interfaces_test for an example of how to configure these\n"
7707 "solvers for multiple solutions. Other solvers return false unconditionally.\n"
7717 "Set a hint for solution.\n"
7719 "If a feasible or almost-feasible solution to the problem is already known,\n"
7720 "it may be helpful to pass it to the solver so that it can be used. A\n"
7721 "solver that supports this feature will try to use this information to\n"
7722 "create its initial feasible solution.\n"
7724 "Note that it may not always be faster to give a hint like this to the\n"
7725 "solver. There is also no guarantee that the solver will use this hint or\n"
7726 "try to return a solution \"close\" to this assignment in case of multiple\n"
7727 "optimal solutions.\n"
7729 {
"Solver_SetNumThreads",
_wrap_Solver_SetNumThreads, METH_VARARGS,
" Sets the number of threads to be used by the solver."},
7738 " Clears the offset, all variables and coefficients, and the optimization\n"
7742 "Sets the coefficient of the variable in the objective.\n"
7744 "If the variable does not belong to the solver, the function just returns,\n"
7745 "or crashes in non-opt mode.\n"
7748 " Gets the coefficient of a given variable in the objective\n"
7750 "It returns 0 if the variable does not appear in the objective).\n"
7760 "Returns the objective value of the best solution found so far.\n"
7762 "It is the optimal objective value if the problem has been solved to\n"
7765 "Note: the objective value may be slightly different than what you could\n"
7766 "compute yourself using ``MPVariable::solution_value();`` please use the\n"
7767 "--verify_solution flag to gain confidence about the numerical stability of\n"
7771 "Returns the best objective bound.\n"
7773 "In case of minimization, it is a lower bound on the objective value of the\n"
7774 "optimal integer solution. Only available for discrete problems.\n"
7780 {
"Variable_SetInteger",
_wrap_Variable_SetInteger, METH_VARARGS,
" Sets the integrality requirement of the variable."},
7781 {
"Variable_integer",
_wrap_Variable_integer, METH_O,
" Returns the integrality requirement of the variable."},
7783 "Returns the value of the variable in the current solution.\n"
7785 "If the variable is integer, then the value will always be an integer (the\n"
7786 "underlying solver handles floating-point values only, but this function\n"
7787 "automatically rounds it to the nearest integer; see: man 3 round).\n"
7789 {
"Variable_index",
_wrap_Variable_index, METH_O,
" Returns the index of the variable in the MPSolver::variables_."},
7794 "Advanced usage: returns the reduced cost of the variable in the current\n"
7795 "solution (only available for continuous problems).\n"
7798 "Advanced usage: returns the basis status of the variable in the current\n"
7799 "solution (only available for continuous problems).\n"
7801 "See also: MPSolver::BasisStatus.\n"
7804 "Advanced usage: Certain MIP solvers (e.g. Gurobi or SCIP) allow you to set\n"
7805 "a per-variable priority for determining which variable to branch on.\n"
7807 "A value of 0 is treated as default, and is equivalent to not setting the\n"
7808 "branching priority. The solver looks first to branch on fractional\n"
7809 "variables in higher priority levels. As of 2019-05, only Gurobi and SCIP\n"
7810 "support setting branching priority; all other solvers will simply ignore\n"
7811 "this annotation.\n"
7826 {
"Constraint_Clear",
_wrap_Constraint_Clear, METH_O,
" Clears all variables and coefficients. Does not clear the bounds."},
7828 "Sets the coefficient of the variable on the constraint.\n"
7830 "If the variable does not belong to the solver, the function just returns,\n"
7831 "or crashes in non-opt mode.\n"
7834 "Gets the coefficient of a given variable on the constraint (which is 0 if\n"
7835 "the variable does not appear in the constraint).\n"
7841 "Advanced usage: sets the constraint \"laziness\".\n"
7843 "**This is only supported for SCIP and has no effect on other\n"
7846 "When **laziness** is true, the constraint is only considered by the Linear\n"
7847 "Programming solver if its current solution violates the constraint. In this\n"
7848 "case, the constraint is definitively added to the problem. This may be\n"
7849 "useful in some MIP problems, and may have a dramatic impact on performance.\n"
7851 "For more info see: http://tinyurl.com/lazy-constraints.\n"
7853 {
"Constraint_index",
_wrap_Constraint_index, METH_O,
" Returns the index of the constraint in the MPSolver::constraints_."},
7855 "Advanced usage: returns the dual value of the constraint in the current\n"
7856 "solution (only available for continuous problems).\n"
7859 "Advanced usage: returns the basis status of the constraint.\n"
7861 "It is only available for continuous problems).\n"
7863 "Note that if a constraint \"linear_expression in [lb, ub]\" is transformed\n"
7864 "into \"linear_expression + slack = 0\" with slack in [-ub, -lb], then this\n"
7865 "status is the same as the status of the slack variable with AT_UPPER_BOUND\n"
7866 "and AT_LOWER_BOUND swapped.\n"
7868 "See also: MPSolver::BasisStatus.\n"
7877 {
"new_MPSolverParameters",
_wrap_new_MPSolverParameters, METH_NOARGS,
" The constructor sets all parameters to their default value."},
7892 { NULL, NULL, 0, NULL }
7896 { NULL, NULL, 0, NULL }
7904static 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};
7918static 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};
7986{0, 0, 0, 0.0, 0, 0}};
8040#define SWIGRUNTIME_DEBUG
8076 }
while (iter!= module_head);
8087 if (init == 0)
return;
8090#ifdef SWIGRUNTIME_DEBUG
8091 printf(
"SWIG_InitializeModule: size %lu\n", (
unsigned long)
swig_module.
size);
8098#ifdef SWIGRUNTIME_DEBUG
8108#ifdef SWIGRUNTIME_DEBUG
8109 printf(
"SWIG_InitializeModule: found type %s\n", type->
name);
8113#ifdef SWIGRUNTIME_DEBUG
8114 printf(
"SWIG_InitializeModule: found and overwrite type %s \n", type->
name);
8123 while (cast->
type) {
8126#ifdef SWIGRUNTIME_DEBUG
8127 printf(
"SWIG_InitializeModule: look cast %s\n", cast->
type->
name);
8131#ifdef SWIGRUNTIME_DEBUG
8132 if (ret) printf(
"SWIG_InitializeModule: found cast %s\n", ret->
name);
8137#ifdef SWIGRUNTIME_DEBUG
8138 printf(
"SWIG_InitializeModule: skip old type %s\n", ret->
name);
8145#ifdef SWIGRUNTIME_DEBUG
8146 if (ocast) printf(
"SWIG_InitializeModule: skip old cast %s\n", ret->
name);
8148 if (!ocast) ret = 0;
8153#ifdef SWIGRUNTIME_DEBUG
8154 printf(
"SWIG_InitializeModule: adding cast %s\n", cast->
type->
name);
8169#ifdef SWIGRUNTIME_DEBUG
8170 printf(
"**** SWIG_InitializeModule: Cast List ******\n");
8175 while (cast->
type) {
8176 printf(
"SWIG_InitializeModule: cast type %s\n", cast->
type->
name);
8180 printf(
"---- Total casts: %d\n",j);
8182 printf(
"**** SWIG_InitializeModule: Cast List ******\n");
8195 static int init_run = 0;
8197 if (init_run)
return;
8208 equiv = equiv->
next;
8229#define SWIG_newvarlink() SWIG_Python_newvarlink()
8230#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
8231#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
8239 PyObject *(*get_attr)(void);
8251#if PY_VERSION_HEX >= 0x03000000
8252 return PyUnicode_InternFromString(
"<Swig global variables>");
8254 return PyString_FromString(
"<Swig global variables>");
8260#if PY_VERSION_HEX >= 0x03000000
8261 PyObject *str = PyUnicode_InternFromString(
"(");
8266 tail = PyUnicode_FromString(
var->name);
8267 joined = PyUnicode_Concat(str,
tail);
8272 tail = PyUnicode_InternFromString(
", ");
8273 joined = PyUnicode_Concat(str,
tail);
8279 tail = PyUnicode_InternFromString(
")");
8280 joined = PyUnicode_Concat(str,
tail);
8285 PyObject *str = PyString_FromString(
"(");
8288 PyString_ConcatAndDel(&str,PyString_FromString(
var->name));
8289 if (
var->next) PyString_ConcatAndDel(&str,PyString_FromString(
", "));
8291 PyString_ConcatAndDel(&str,PyString_FromString(
")"));
8309 PyObject *res = NULL;
8312 if (strcmp(
var->name,n) == 0) {
8313 res = (*
var->get_attr)();
8318 if (res == NULL && !PyErr_Occurred()) {
8319 PyErr_Format(PyExc_AttributeError,
"Unknown C global variable '%s'", n);
8329 if (strcmp(
var->name,n) == 0) {
8330 res = (*
var->set_attr)(p);
8335 if (res == 1 && !PyErr_Occurred()) {
8336 PyErr_Format(PyExc_AttributeError,
"Unknown C global variable '%s'", n);
8343 static char varlink__doc__[] =
"Swig var link object";
8344 static PyTypeObject varlink_type;
8345 static int type_init = 0;
8347 const PyTypeObject tmp = {
8348#if PY_VERSION_HEX >= 0x03000000
8349 PyVarObject_HEAD_INIT(NULL, 0)
8351 PyObject_HEAD_INIT(NULL)
8378 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
8381#if PY_VERSION_HEX >= 0x03040000
8384#if PY_VERSION_HEX >= 0x03080000
8387#if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
8400 if (PyType_Ready(&varlink_type) < 0)
8403 return &varlink_type;
8413 return ((PyObject*) result);
8421 size_t size = strlen(
name)+1;
8435 static PyObject *globals = 0;
8451 for (i = 0; constants[i].
type; ++i) {
8452 switch(constants[i].type) {
8457 obj =
SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
8464 PyDict_SetItemString(d, constants[i].
name, obj);
8480 for (i = 0; methods[i].ml_name; ++i) {
8481 const char *c = methods[i].ml_doc;
8483 c = strstr(c,
"swig_ptr: ");
8487 const char *
name = c + 10;
8488 for (j = 0; const_table[j].
type; ++j) {
8489 if (strncmp(const_table[j].
name,
name,
8490 strlen(const_table[j].
name)) == 0) {
8491 ci = &(const_table[j]);
8498 size_t shift = (ci->
ptype) - types;
8500 size_t ldoc = (c - methods[i].ml_doc);
8501 size_t lptr = strlen(ty->
name)+2*
sizeof(
void*)+2;
8502 char *ndoc = (
char*)
malloc(ldoc + lptr + 10);
8505 memcpy(buff, methods[i].ml_doc, ldoc);
8507 memcpy(buff,
"swig_ptr: ", 10);
8510 methods[i].ml_doc = ndoc;
8548 if (PyCFunction_Check(func)) {
8549 PyCFunctionObject *funcobj = (PyCFunctionObject *)func;
8552 func = PyCFunction_NewEx(ml, funcobj->m_self, funcobj->m_module);
8554#if PY_VERSION_HEX >= 0x03000000
8555 return PyInstanceMethod_New(func);
8557 return PyMethod_New(func, NULL, NULL);
8567 if (PyCFunction_Check(func)) {
8568 PyCFunctionObject *funcobj = (PyCFunctionObject *)func;
8571 func = PyCFunction_NewEx(ml, funcobj->m_self, funcobj->m_module);
8573 return PyStaticMethod_New(func);
8589#if PY_VERSION_HEX >= 0x03000000
8595 PyObject *m, *d, *md, *globals;
8597#if PY_VERSION_HEX >= 0x03000000
8598 static struct PyModuleDef SWIG_module = {
8599 PyModuleDef_HEAD_INIT,
8611#if defined(SWIGPYTHON_BUILTIN)
8615 static PyGetSetDef this_getset_def = {
8616 (
char *)
"this", &SwigPyBuiltin_ThisClosure, NULL, NULL, NULL
8618 static SwigPyGetSet thisown_getset_closure = {
8622 static PyGetSetDef thisown_getset_def = {
8623 (
char *)
"thisown", SwigPyBuiltin_GetterClosure, SwigPyBuiltin_SetterClosure, NULL, &thisown_getset_closure
8625 PyTypeObject *builtin_pytype;
8626 int builtin_base_count;
8629 PyGetSetDescrObject *static_getset;
8630 PyTypeObject *metatype;
8631 PyTypeObject *swigpyobject;
8633 PyObject *public_interface, *public_symbol;
8634 PyObject *this_descr;
8635 PyObject *thisown_descr;
8639 (void)builtin_pytype;
8640 (void)builtin_base_count;
8641 (void)builtin_basetype;
8643 (void)static_getset;
8647 metatype = SwigPyObjectType();
8657#ifndef SWIGPYTHON_BUILTIN
8664#if PY_VERSION_HEX >= 0x03000000
8665 m = PyModule_Create(&SWIG_module);
8670 md = d = PyModule_GetDict(m);
8675#ifdef SWIGPYTHON_BUILTIN
8679 assert(SwigPyObject_stype);
8682 SwigPyObject_stype->
clientdata = &SwigPyObject_clientdata;
8683 SwigPyObject_clientdata.
pytype = swigpyobject;
8684 }
else if (swigpyobject->tp_basicsize != cd->
pytype->tp_basicsize) {
8685 PyErr_SetString(PyExc_RuntimeError,
"Import error: attempted to load two incompatible swig-generated modules.");
8686# if PY_VERSION_HEX >= 0x03000000
8699 (void)thisown_descr;
8701 public_interface = PyList_New(0);
8703 (void)public_symbol;
8705 PyDict_SetItemString(md,
"__all__", public_interface);
8706 Py_DECREF(public_interface);
8708 SwigPyBuiltin_AddPublicSymbol(public_interface,
SwigMethods[i].ml_name);
8758 PyErr_SetString(PyExc_TypeError,
"Failure to create SWIG globals.");
8759#if PY_VERSION_HEX >= 0x03000000
8765 PyDict_SetItemString(md,
"cvar", globals);
8772#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.
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.
static void SolveWithProto(const MPModelRequest &model_request, MPSolutionResponse *response, std::atomic< bool > *interrupt=nullptr)
Solves the model encoded by a MPModelRequest protocol buffer and fills the solution encoded as a MPSo...
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.
PyObject * operator->() const
SwigPtr_PyObject(PyObject *obj, bool initial_ref=true)
SwigPtr_PyObject & operator=(const SwigPtr_PyObject &item)
SwigPtr_PyObject(const SwigPtr_PyObject &item)
SharedResponseManager * response
A C++ wrapper that provides a simple and unified interface to several linear programming and mixed in...
SWIGRUNTIME swig_module_info * SWIG_Python_GetModule(void *SWIGUNUSEDPARM(clientdata))
static swig_cast_info _swigc__p_operations_research__MPObjective[]
#define SWIG_Error(code, msg)
SWIGINTERN PyObject * _wrap_Solver_LookupConstraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERNINLINE PyObject * SWIG_From_int(int value)
SWIGRUNTIME int SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty)
PyObject * FromObjectMPConstraint(operations_research::MPConstraint *obj)
SWIGINTERN PyObject * _wrap_Objective_SetCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ExportModelToProto(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info * swig_cast_initial[]
SWIGINTERN PyObject * _wrap_Variable_solution_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__MPSolverParameters
SWIGINTERN PyObject * _wrap_Variable_Ub(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultPrimalTolerance_set(PyObject *)
SWIGINTERN PyObject * _wrap_Solver_Constraint__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_ExportModelAsMpsFormat(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_SetInteger(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME swig_cast_info * SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty)
#define SWIG_MangledTypeQuery(name)
SWIGINTERN PyObject * _wrap_delete_ModelExportOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Constraint__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
static swig_type_info _swigt__p_operations_research__MPSolverParameters
SWIGINTERN PyObject * _wrap___lshift____SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * Variable_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToMPConstraint(PyObject *py_obj)
SWIGINTERN PyObject * _wrap_Constraint_lb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LoadSolutionFromProto__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Constraint_Ub(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_reduced_cost(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_SupportsProblemType(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NumConstraints(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static PyObject * Swig_This_global
SWIGRUNTIME int SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
SWIGINTERN int SWIG_AsVal_double(PyObject *obj, double *val)
SWIGINTERN PyObject * Solver_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_variable(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN Py_ssize_t SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
#define SWIG_TypeQuery(name)
static swig_cast_info _swigc__p_operations_research__MPVariable[]
SWIGINTERN PyObject * _wrap_MPSolverParameters_GetIntegerParam(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_POINTER_EXCEPTION
SWIGINTERN PyObject * _wrap_Solver_Objective(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Objective_SetMinimization(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_CheckState(r)
SWIGINTERN PyObject * _wrap_Solver_nodes(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
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 std::string operations_research_MPVariable___repr__(operations_research::MPVariable *self)
static swig_cast_info _swigc__p_std__atomicT_bool_t[]
SWIGINTERN PyObject * _wrap_Variable_basis_status(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME int SWIG_TypeEquiv(const char *nb, const char *tb)
SWIGINTERN PyObject * _wrap_Solver_SetSolverSpecificParametersAsString(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_VerifySolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN double operations_research_MPSolver_Infinity()
SWIGINTERN PyObject * _wrap_Solver_SolveWithProto__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGRUNTIME int SWIG_Python_AddErrMesg(const char *mesg, int infront)
SWIGRUNTIME PyObject * SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
SWIGINTERN void SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[])
SWIGINTERN PyObject * _wrap_Solver_BoolVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Objective_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_MPSolver_LoadModelFromProtoWithUniqueNamesOrDie(operations_research::MPSolver *self, operations_research::MPModelProto const &input_model)
#define SWIGTYPE_p_operations_research__MPSolver
static swig_type_info * swig_types[19]
SWIGRUNTIME PyObject * SwigPyObject_next(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
#define SWIG_POINTER_IMPLICIT_CONV
SWIGINTERN PyObject * _wrap_Constraint_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_FindErrorInModelProto(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty)
struct swig_cast_info swig_cast_info
SWIGINTERN PyObject * _wrap_MPSolverParameters_GetDoubleParam(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)
SWIGRUNTIME PyObject * SwigPyObject_hex(SwigPyObject *v)
SWIGINTERN PyObject * _wrap_Solver_constraint(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)
SWIGRUNTIME PyTypeObject * SwigPyPacked_TypeOnce(void)
#define SWIG_PYTHON_THREAD_END_BLOCK
SWIGINTERN std::string operations_research_MPSolver_LoadModelFromProto(operations_research::MPSolver *self, operations_research::MPModelProto const &input_model)
SWIGINTERN PyObject * _wrap_Constraint_SetUb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_integer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__MPVariable
SWIGINTERN PyObject * _wrap_Solver_LookupVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_RuntimeError
SWIGRUNTIME PyObject * SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op)
SWIGRUNTIME PyObject * SwigPyObject_append(PyObject *v, PyObject *next)
SWIGINTERN PyObject * swig_varlink_getattr(swig_varlinkobject *v, char *n)
SWIGINTERN PyObject * SWIG_Python_newvarlink(void)
SWIGINTERN PyObject * _wrap_delete_Constraint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_varlinkobject swig_varlinkobject
#define SWIG_NewClientData(obj)
SWIGINTERN PyObject * _wrap_Constraint_index(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultRelativeMipGap_get(void)
SWIGINTERN PyObject * _wrap_Solver_Constraint__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Solver_SuppressOutput(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool CanConvertToMPVariable(PyObject *py_obj)
SWIGINTERN PyObject * swig_varlink_str(swig_varlinkobject *v)
static swig_type_info _swigt__p_unsigned_char
SWIGINTERNINLINE int SWIG_CanCastAsInteger(double *d, double min, double max)
SWIGINTERN PyObject * _wrap_Objective_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap___lshift____SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Objective_SetOffset(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN double operations_research_MPVariable_Lb(operations_research::MPVariable const *self)
static swig_type_info _swigt__p_operations_research__MPModelExportOptions
#define SWIG_RUNTIME_VERSION
SWIGINTERN void operations_research_MPVariable_SetLb(operations_research::MPVariable *self, double x)
SWIGINTERN char * SWIG_Python_str_AsChar(PyObject *str)
SWIGRUNTIMEINLINE const char * SwigPyObject_GetDesc(PyObject *self)
SWIGINTERN PyObject * _wrap_Solver_EnableOutput(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_addvarlink(p, name, get_attr, set_attr)
SWIGINTERN PyObject * SwigPyObject_own(PyObject *v, PyObject *args)
#define SWIG_POINTER_NOSHADOW
SWIGRUNTIME void SWIG_TypeClientData(swig_type_info *ti, void *clientdata)
SWIGRUNTIME swig_type_info * SWIG_TypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
static swig_type_info _swigt__p_short
SWIGINTERN PyObject * _wrap_Variable_lb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void SWIG_Python_addvarlink(PyObject *p, const char *name, PyObject *(*get_attr)(void), int(*set_attr)(PyObject *p))
SWIGINTERN PyObject * _wrap_Constraint_set_is_lazy(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SwigPyObject_acquire(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
static PyMethodDef swigobject_methods[]
SWIGRUNTIME char * SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz)
static swig_cast_info _swigc__p_std__ostream[]
SWIGRUNTIME PyObject * SWIG_Python_TypeCache(void)
#define SWIG_InternalNewPointerObj(ptr, type, flags)
SWIGRUNTIME PyObject * SwigPyObject_long(SwigPyObject *v)
SWIGINTERN PyObject * _wrap_Variable_ub(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_IntVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_exception_fail(code, msg)
SWIGRUNTIMEINLINE PyObject * SWIG_Py_Void(void)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultIncrementality_get(void)
SWIGINTERN PyObject * _wrap_Solver_NumVar(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int64_t operations_research_MPSolver_WallTime(operations_research::MPSolver const *self)
SWIGINTERN PyObject * _wrap_Solver_ComputeConstraintActivities(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN bool operations_research_MPVariable_Integer(operations_research::MPVariable const *self)
SWIGINTERN PyObject * SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func)
#define SWIG_AttributeError
SWIGINTERN PyObject * _wrap_Variable_SetBounds(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME const char * SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name)
static swig_type_info _swigt__p_operations_research__MPModelRequest
SWIGINTERN PyObject * _wrap_Solver_SetTimeLimit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_module_info swig_module
static swig_cast_info _swigc__p_unsigned_char[]
SWIGINTERN PyObject * _wrap_Solver_wall_time(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_short[]
SWIGRUNTIME int SWIG_Python_TypeErrorOccurred(PyObject *obj)
SWIGINTERN PyObject * _wrap_Variable_branching_priority(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SWIG_Python_DestroyModule(PyObject *obj)
#define SWIG_SetModule(clientdata, pointer)
SWIGRUNTIME SwigPyClientData * SwigPyClientData_New(PyObject *obj)
SWIGINTERN PyTypeObject * swig_varlink_type(void)
#define SWIGUNUSEDPARM(p)
SWIGINTERN PyObject * _wrap_Variable_SetUb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_ExportModelAsLpFormat(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Constraint__SWIG_3(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * ModelExportOptions_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__MPSolver
SWIGINTERN int64_t operations_research_MPSolver_Iterations(operations_research::MPSolver const *self)
SWIGINTERN PyObject * _wrap_Solver_SetHint(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME swig_type_info * SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr)
#define SWIG_as_voidptr(a)
SWIGINTERN swig_type_info * SWIG_pchar_descriptor(void)
static swig_const_info swig_const_table[]
SWIGINTERN PyObject * _wrap_ExportModelAsLpFormat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * SwigPyObject_disown(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
SWIGINTERN PyObject * _wrap_Solver_ComputeExactConditionNumber(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Constraint_SetLb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIMEINLINE int SwigPyPacked_Check(PyObject *op)
#define SWIG_Python_CallFunctor(functor, obj)
SWIGRUNTIME void SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata)
SWIGINTERN PyObject * _wrap_Constraint_ub(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_index(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NextSolution(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_unsigned_short
SWIGRUNTIME int SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w)
#define SWIG_ConvertPtr(obj, pptr, type, flags)
SWIGRUNTIME int SWIG_TypeCmp(const char *nb, const char *tb)
SWIGRUNTIME const char * SWIG_UnpackData(const char *c, void *ptr, size_t sz)
SWIGINTERN PyObject * _wrap_Solver_infinity(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_const_info swig_const_info
#define SWIGTYPE_p_operations_research__MPModelExportOptions
SWIGINTERN PyObject * _wrap_new_ModelExportOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Objective_SetMaximization(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Solve(PyObject *self, PyObject *args)
SWIGINTERN int SWIG_Python_CheckNoKeywords(PyObject *kwargs, const char *name)
SWIGINTERN PyObject * _wrap_Objective_minimization(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_NumVariables(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_InterruptSolve(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_operations_research__MPSolver[]
void *(* swig_converter_func)(void *, int *)
SWIGINTERN PyObject * _wrap_Solver_SolveWithProto__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Solver_Var(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_new_MPSolverParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_operations_research__MPObjective
SWIGINTERN PyObject * _wrap_Constraint_SetCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERNINLINE PyObject * SWIG_From_std_string(const std::string &s)
SWIGINTERN PyObject * _wrap_Variable_Lb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SWIG_InitializeModule(void *clientdata)
SWIGINTERN PyObject * _wrap_Solver_Solve__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Objective_offset(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyPacked_repr(SwigPyPacked *v)
SWIGINTERN PyObject * _wrap_Constraint_basis_status(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_newvarlink()
SWIGRUNTIME void SWIG_Python_RaiseOrModifyTypeError(const char *message)
SWIGINTERN PyObject * _wrap_Solver_SolveWithProto(PyObject *self, PyObject *args)
SWIGRUNTIME swig_type_info * SWIG_Python_TypeQuery(const char *type)
SWIGINTERN PyObject * _wrap_Variable___repr__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
bool PyObjAs(PyObject *py_obj, operations_research::MPConstraint **b)
static swig_type_info _swigt__p_unsigned_long
#define SWIG_Python_str_DelForPy3(x)
static swig_cast_info _swigc__p_char[]
SWIGINTERN PyObject * _wrap_delete_Objective(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void operations_research_MPSolver_SetHint(operations_research::MPSolver *self, std::vector< operations_research::MPVariable * > const &variables, std::vector< double > const &values)
SWIGINTERN PyObject * SWIG_PyStaticMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func)
SWIGINTERN PyObject * _wrap_ExportModelAsLpFormat(PyObject *self, PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_Integer(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIMEINLINE PyObject * SWIG_Python_ExceptionType(swig_type_info *desc)
SWIGRUNTIMEINLINE int SwigPyObject_Check(PyObject *op)
SWIGINTERN PyObject * _wrap_Solver_CreateSolver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj)
#define SWIGTYPE_p_operations_research__MPObjective
SWIGRUNTIME swig_type_info * SWIG_MangledTypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
SWIGINTERN PyObject * _wrap_Constraint_Lb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_unsigned_short[]
struct swig_globalvar swig_globalvar
#define SWIGPY_CAPSULE_NAME
SWIGRUNTIME void * SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int SWIGUNUSEDPARM(argnum), int flags)
SWIGRUNTIME void SWIG_Python_AddErrorMsg(const char *mesg)
SWIGINTERN PyObject * _wrap_Constraint_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERNINLINE PyObject * SWIG_FromCharPtrAndSize(const char *carray, size_t size)
SWIGRUNTIME const char * SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name)
#define SWIG_NewPointerObj(ptr, type, flags)
SWIGRUNTIME void SWIG_Python_SetModule(swig_module_info *swig_module)
SWIGINTERN void SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj)
#define SWIG_POINTER_NO_NULL
#define SWIG_Python_str_FromFormat
SWIGINTERN PyObject * _wrap_Solver_Constraint(PyObject *self, PyObject *args)
#define SWIG_InstallConstants(d, constants)
SWIGINTERN PyObject * _wrap_Constraint_dual_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_Infinity(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_type_info *(* swig_dycast_func)(void **)
SWIGINTERN PyObject * ModelExportOptions_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultDualTolerance_set(PyObject *)
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)
SWIGRUNTIME PyTypeObject * SwigPyPacked_type(void)
SWIGRUNTIMEINLINE const char * SWIG_TypeName(const swig_type_info *ty)
SWIGINTERN PyObject * _wrap_new_Solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_MPSolver_ExportModelAsLpFormat(operations_research::MPSolver *self, bool obfuscated)
#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_Solve__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGRUNTIME char * SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz)
SWIGINTERN PyObject * _wrap_delete_Solver(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Variable_ReducedCost(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Objective_Value(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME char * SWIG_PackData(char *c, void *ptr, size_t sz)
SWIGRUNTIME int SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty)
SWIGINTERN void SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg)
SWIGINTERN PyObject * _wrap_Solver_WallTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_set_time_limit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
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_LoadSolutionFromProto(PyObject *self, PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_format(const char *fmt, SwigPyObject *v)
SWIGRUNTIME PyObject * SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int flags)
SWIGINTERN PyObject * _wrap_Solver_ExportModelAsMpsFormat(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_delete_MPSolverParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_signed_char
SWIGINTERN PyObject * Solver_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int SWIG_AsPtr_std_string(PyObject *obj, std::string **val)
SWIGRUNTIME int SWIG_Python_ArgFail(int argnum)
SWIGRUNTIME swig_type_info * SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
SWIGINTERNINLINE PyObject * SWIG_From_bool(bool value)
SWIGRUNTIME int SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own)
SWIGINTERN PyObject * _wrap_Objective_BestBound(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_FillSolutionResponseProto(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_NewPackedObj(ptr, sz, type)
#define SWIG_GetModule(clientdata)
static swig_cast_info _swigc__p_unsigned_int[]
static swig_type_info _swigt__p_int
SWIGRUNTIME void SWIG_PropagateClientData(void)
static swig_cast_info _swigc__p_unsigned_long[]
SWIGINTERN PyObject * _wrap_Solver_constraints(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultIncrementality_set(PyObject *)
SWIGRUNTIME PyObject * SwigPyPacked_str(SwigPyPacked *v)
SWIGRUNTIME int SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
SWIGINTERN PyObject * _wrap_Variable_SetBranchingPriority(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_long
SWIGRUNTIME const char * SWIG_TypePrettyName(const swig_type_info *type)
SWIGINTERN PyObject * _wrap_Constraint_SetBounds(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIMEINLINE PyObject * SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type)
SWIGRUNTIME swig_cast_info * SWIG_TypeCheck(const char *c, swig_type_info *ty)
static PyMethodDef SwigMethods_proxydocs[]
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultPresolve_set(PyObject *)
SWIGRUNTIME PyObject * SWIG_This(void)
SWIGINTERN PyObject * _wrap_Solver_variables(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SWIG_Python_TypeError(const char *type, PyObject *obj)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultPrimalTolerance_get(void)
SWIGINTERN int SWIG_AsVal_int(PyObject *obj, int *val)
SWIGINTERN PyObject * SWIG_Python_AppendOutput(PyObject *result, PyObject *obj)
#define SWIG_TYPE_TABLE_NAME
#define SWIG_BUILTIN_TP_INIT
SWIGINTERN double operations_research_MPVariable_SolutionValue(operations_research::MPVariable const *self)
SWIGINTERN PyObject * _wrap_delete_Variable(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_unsigned_int
#define SWIG_CAST_NEW_MEMORY
SWIGINTERN PyObject * _wrap_Solver_LoadModelFromProtoWithUniqueNamesOrDie(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIGTYPE_p_operations_research__MPModelRequest
SWIGRUNTIME PyObject * SwigPyObject_repr(SwigPyObject *v)
SWIGINTERN PyObject * Constraint_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_ExportModelAsMpsFormat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN int SWIG_AsVal_long(PyObject *obj, long *val)
SWIGINTERN PyObject * _wrap_Solver_Clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
struct swig_module_info swig_module_info
SWIGINTERN PyObject * _wrap_Solver_Iterations(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN bool operations_research_MPSolver_SetNumThreads(operations_research::MPSolver *self, int num_theads)
SWIGRUNTIME PyObject * SWIG_Python_ErrorType(int code)
SWIGINTERN int SWIG_AsVal_bool(PyObject *obj, bool *val)
SWIGRUNTIME void SwigPyClientData_Del(SwigPyClientData *data)
SWIGINTERN PyObject * _wrap_Variable_SolutionValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
PyObject * FromObjectMPVariable(operations_research::MPVariable *obj)
SWIGINTERN PyObject * _wrap_MPSolverParameters_SetDoubleParam(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME SwigPyObject * SWIG_Python_GetSwigThis(PyObject *pyobj)
SWIGINTERN void swig_varlink_dealloc(swig_varlinkobject *v)
SWIGINTERN double operations_research_MPConstraint_Ub(operations_research::MPConstraint const *self)
SWIGINTERN PyObject * swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v))
SWIGINTERN double operations_research_MPObjective_Offset(operations_research::MPObjective const *self)
static swig_cast_info _swigc__p_long[]
static swig_type_info * swig_type_initial[]
#define SWIGTYPE_p_std__ostream
SWIGINTERN PyObject * _wrap_Variable___str__(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME void SwigPyPacked_dealloc(PyObject *v)
static swig_type_info _swigt__p_std__atomicT_bool_t
SWIGINTERN PyObject * _wrap_Objective_maximization(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * SWIG_Python_str_FromChar(const char *c)
SWIGRUNTIME PyObject * SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
SWIGINTERN PyObject * _wrap_Objective_GetCoefficient(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIMEINLINE int SWIG_Python_CheckImplicit(swig_type_info *ty)
SWIGINTERN PyObject * _wrap_Objective_SetOptimizationDirection(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN void SWIG_Python_FixMethods(PyMethodDef *methods, swig_const_info *const_table, swig_type_info **types, swig_type_info **types_initial)
SWIGINTERN PyObject * MPSolverParameters_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * MPSolverParameters_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_LoadModelFromProto(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN PyObject * _wrap_Solver_iterations(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
#define SWIG_DivisionByZero
SWIGINTERN PyObject * _wrap_Objective_Offset(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_type_info _swigt__p_char
#define SWIGTYPE_p_operations_research__MPVariable
SWIGINTERN PyObject * _wrap___lshift__(PyObject *self, PyObject *args)
SWIGINTERN void operations_research_MPSolver_SetTimeLimit(operations_research::MPSolver *self, int64_t x)
SWIGINTERN PyObject * _wrap_Solver_LoadSolutionFromProto__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Variable_SetLb(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyTypeObject * SwigPyObject_type(void)
#define SWIG_OverflowError
SWIGRUNTIME PyTypeObject * SwigPyObject_TypeOnce(void)
SWIGINTERN int SWIG_AsCharPtrAndSize(PyObject *obj, char **cptr, size_t *psize, int *alloc)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultPresolve_get(void)
SWIGINTERN PyObject * Swig_var_MPSolverParameters_kDefaultDualTolerance_get(void)
SWIGINTERN int Swig_var_MPSolverParameters_kDefaultRelativeMipGap_set(PyObject *)
#define SWIGTYPE_p_std__atomicT_bool_t
SWIGINTERN PyObject * _wrap_Constraint_DualValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGRUNTIME PyObject * SwigPyObject_oct(SwigPyObject *v)
SWIGINTERN double operations_research_MPVariable_ReducedCost(operations_research::MPVariable const *self)
SWIGRUNTIME PyObject * SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
SWIGINTERN double operations_research_MPConstraint_Lb(operations_research::MPConstraint const *self)
SWIGINTERN PyObject * SWIG_Python_InitShadowInstance(PyObject *args)
SWIGINTERN PyObject * _wrap_ExportModelAsMpsFormat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
#define SWIG_AddNewMask(r)
SWIGINTERN PyObject * SWIG_globals(void)
SWIGINTERN PyMethodDef * SWIG_PythonGetProxyDoc(const char *name)
SWIGINTERN void operations_research_MPConstraint_SetLb(operations_research::MPConstraint *self, double x)
SWIGINTERN PyObject * _wrap_ExportModelAsLpFormat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj)
SWIGINTERN PyObject * _wrap_Solver_SetNumThreads(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
SWIGINTERN std::string operations_research_MPSolver_ExportModelAsMpsFormat(operations_research::MPSolver *self, bool fixed_format, bool obfuscated)
SWIGINTERN void operations_research_MPConstraint_SetUb(operations_research::MPConstraint *self, double x)
#define SWIG_PYTHON_THREAD_BEGIN_BLOCK
SWIGINTERN PyObject * _wrap_MPSolverParameters_SetIntegerParam(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
static swig_cast_info _swigc__p_signed_char[]
SWIGINTERN PyObject * _wrap_Constraint_GetCoefficient(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)
#define SWIGRUNTIMEINLINE
SWIGINTERN double operations_research_MPConstraint_DualValue(operations_research::MPConstraint const *self)
SWIGRUNTIMEINLINE void * SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory)
int NumVariables(const VariablesProto &variables)
int NumConstraints(const LinearConstraintsProto &linear_constraints)
IntegerValue GetCoefficient(const IntegerVariable var, const LinearExpression &expr)
std::function< int64_t(const Model &)> Value(IntegerVariable v)
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, const bool accept_trivially_infeasible_bounds)
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