OR-Tools  8.2
linear_solver_java_wrap.cc
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 4.0.2
4  *
5  * This file is not intended to be easily readable and contains a number of
6  * coding conventions designed to improve portability and efficiency. Do not make
7  * changes to this file unless you know what you are doing--modify the SWIG
8  * interface file instead.
9  * ----------------------------------------------------------------------------- */
10 
11 
12 #ifndef SWIGJAVA
13 #define SWIGJAVA
14 #endif
15 
16 
17 
18 #ifdef __cplusplus
19 /* SwigValueWrapper is described in swig.swg */
20 template<typename T> class SwigValueWrapper {
21  struct SwigMovePointer {
22  T *ptr;
23  SwigMovePointer(T *p) : ptr(p) { }
24  ~SwigMovePointer() { delete ptr; }
25  SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
26  } pointer;
27  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
28  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
29 public:
30  SwigValueWrapper() : pointer(0) { }
31  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
32  operator T&() const { return *pointer.ptr; }
33  T *operator&() { return pointer.ptr; }
34 };
35 
36 template <typename T> T SwigValueInit() {
37  return T();
38 }
39 #endif
40 
41 /* -----------------------------------------------------------------------------
42  * This section contains generic SWIG labels for method/variable
43  * declarations/attributes, and other compiler dependent labels.
44  * ----------------------------------------------------------------------------- */
45 
46 /* template workaround for compilers that cannot correctly implement the C++ standard */
47 #ifndef SWIGTEMPLATEDISAMBIGUATOR
48 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
49 # define SWIGTEMPLATEDISAMBIGUATOR template
50 # elif defined(__HP_aCC)
51 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
52 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
53 # define SWIGTEMPLATEDISAMBIGUATOR template
54 # else
55 # define SWIGTEMPLATEDISAMBIGUATOR
56 # endif
57 #endif
58 
59 /* inline attribute */
60 #ifndef SWIGINLINE
61 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
62 # define SWIGINLINE inline
63 # else
64 # define SWIGINLINE
65 # endif
66 #endif
67 
68 /* attribute recognised by some compilers to avoid 'unused' warnings */
69 #ifndef SWIGUNUSED
70 # if defined(__GNUC__)
71 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
72 # define SWIGUNUSED __attribute__ ((__unused__))
73 # else
74 # define SWIGUNUSED
75 # endif
76 # elif defined(__ICC)
77 # define SWIGUNUSED __attribute__ ((__unused__))
78 # else
79 # define SWIGUNUSED
80 # endif
81 #endif
82 
83 #ifndef SWIG_MSC_UNSUPPRESS_4505
84 # if defined(_MSC_VER)
85 # pragma warning(disable : 4505) /* unreferenced local function has been removed */
86 # endif
87 #endif
88 
89 #ifndef SWIGUNUSEDPARM
90 # ifdef __cplusplus
91 # define SWIGUNUSEDPARM(p)
92 # else
93 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
94 # endif
95 #endif
96 
97 /* internal SWIG method */
98 #ifndef SWIGINTERN
99 # define SWIGINTERN static SWIGUNUSED
100 #endif
101 
102 /* internal inline SWIG method */
103 #ifndef SWIGINTERNINLINE
104 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
105 #endif
106 
107 /* exporting methods */
108 #if defined(__GNUC__)
109 # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
110 # ifndef GCC_HASCLASSVISIBILITY
111 # define GCC_HASCLASSVISIBILITY
112 # endif
113 # endif
114 #endif
115 
116 #ifndef SWIGEXPORT
117 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
118 # if defined(STATIC_LINKED)
119 # define SWIGEXPORT
120 # else
121 # define SWIGEXPORT __declspec(dllexport)
122 # endif
123 # else
124 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
125 # define SWIGEXPORT __attribute__ ((visibility("default")))
126 # else
127 # define SWIGEXPORT
128 # endif
129 # endif
130 #endif
131 
132 /* calling conventions for Windows */
133 #ifndef SWIGSTDCALL
134 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
135 # define SWIGSTDCALL __stdcall
136 # else
137 # define SWIGSTDCALL
138 # endif
139 #endif
140 
141 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
142 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
143 # define _CRT_SECURE_NO_DEPRECATE
144 #endif
145 
146 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
147 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
148 # define _SCL_SECURE_NO_DEPRECATE
149 #endif
150 
151 /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
152 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
153 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
154 #endif
155 
156 /* Intel's compiler complains if a variable which was never initialised is
157  * cast to void, which is a common idiom which we use to indicate that we
158  * are aware a variable isn't used. So we just silence that warning.
159  * See: https://github.com/swig/swig/issues/192 for more discussion.
160  */
161 #ifdef __INTEL_COMPILER
162 # pragma warning disable 592
163 #endif
164 
165 
166 /* Fix for jlong on some versions of gcc on Windows */
167 #if defined(__GNUC__) && !defined(__INTEL_COMPILER)
168  typedef long long __int64;
169 #endif
170 
171 /* Fix for jlong on 64-bit x86 Solaris */
172 #if defined(__x86_64)
173 # ifdef _LP64
174 # undef _LP64
175 # endif
176 #endif
177 
178 #include <jni.h>
179 #include <stdlib.h>
180 #include <string.h>
181 
182 
183 /* Support for throwing Java exceptions */
184 typedef enum {
196 
197 typedef struct {
199  const char *java_exception;
201 
202 
203 static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) {
204  jclass excep;
205  static const SWIG_JavaExceptions_t java_exceptions[] = {
206  { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" },
207  { SWIG_JavaIOException, "java/io/IOException" },
208  { SWIG_JavaRuntimeException, "java/lang/RuntimeException" },
209  { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" },
210  { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" },
211  { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" },
212  { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
213  { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
214  { SWIG_JavaUnknownError, "java/lang/UnknownError" },
215  { SWIG_JavaIllegalStateException, "java/lang/IllegalStateException" },
216  { (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" }
217  };
218  const SWIG_JavaExceptions_t *except_ptr = java_exceptions;
219 
220  while (except_ptr->code != code && except_ptr->code)
221  except_ptr++;
222 
223  jenv->ExceptionClear();
224  excep = jenv->FindClass(except_ptr->java_exception);
225  if (excep)
226  jenv->ThrowNew(excep, msg);
227 }
228 
229 
230 /* Contract support */
231 
232 #define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else
233 
234 
235 #include <stdint.h> // Use the C99 official header
236 
237 
238 #define SWIGWORDSIZE64
239 #ifndef LONG_MAX
240 #include <limits.h>
241 #endif
242 #if (__WORDSIZE == 32) || (LONG_MAX == INT_MAX)
243 # error "SWIG wrapped code invalid in 32 bit architecture, regenerate code using -DSWIGWORDSIZE32"
244 #endif
245 
246 
247 #include <cstdint>
248 #include <string>
249 #include <vector>
250 
251 #include "ortools/base/basictypes.h"
252 
253 
254 #include <string>
255 
256 
258 
259 
260 #include "ortools/base/jniutil.h"
261 
262 
265 
266 SWIGINTERN std::string operations_research_MPSolver_loadModelFromProto(operations_research::MPSolver *self,operations_research::MPModelProto const &input_model){
267  std::string error_message;
268  self->LoadModelFromProto(input_model, &error_message);
269  return error_message;
270  }
271 SWIGINTERN std::string operations_research_MPSolver_loadModelFromProtoWithUniqueNamesOrDie(operations_research::MPSolver *self,operations_research::MPModelProto const &input_model){
272  std::unordered_set<std::string> names;
273  for (const auto var : input_model.variable()) {
274  if (!var.name().empty() && !names.insert(var.name()).second) {
275  LOG(FATAL) << "found duplicated variable names " + var.name();
276  }
277  }
278  std::string error_message;
279  self->LoadModelFromProtoWithUniqueNamesOrDie(input_model, &error_message);
280  return error_message;
281  }
283  operations_research::MPModelProto model;
284  self->ExportModelToProto(&model);
285  return model;
286  }
288  operations_research::MPSolutionResponse response;
289  self->FillSolutionResponseProto(&response);
290  return response;
291  }
293  return self->LoadSolutionFromProto(response).ok();
294  }
295 SWIGINTERN operations_research::MPSolutionResponse operations_research_MPSolver_solveWithProto(operations_research::MPModelRequest const &model_request){
296  operations_research::MPSolutionResponse response;
298  return response;
299  }
301  operations_research::MPModelProto model;
302  self->ExportModelToProto(&model);
303  return ExportModelAsLpFormat(model, options).value_or("");
304  }
306  operations_research::MPModelProto model;
307  self->ExportModelToProto(&model);
308  return ExportModelAsMpsFormat(model, options).value_or("");
309  }
310 SWIGINTERN void operations_research_MPSolver_setHint(operations_research::MPSolver *self,std::vector< operations_research::MPVariable * > const &variables,std::vector< double > const &values){
311  if (variables.size() != values.size()) {
312  LOG(FATAL) << "Different number of variables and values when setting "
313  << "hint.";
314  }
315  std::vector<std::pair<const operations_research::MPVariable*, double> >
316  hint(variables.size());
317  for (int i = 0; i < variables.size(); ++i) {
318  hint[i] = std::make_pair(variables[i], values[i]);
319  }
320  self->SetHint(hint);
321  }
323  return self->SetNumThreads(num_theads).ok();
324  }
325 
326 #ifdef __cplusplus
327 extern "C" {
328 #endif
329 
331  jint jresult = 0 ;
333 
334  (void)jenv;
335  (void)jcls;
337  jresult = (jint)result;
338  return jresult;
339 }
340 
341 
343  jint jresult = 0 ;
345 
346  (void)jenv;
347  (void)jcls;
349  jresult = (jint)result;
350  return jresult;
351 }
352 
353 
355  jint jresult = 0 ;
357 
358  (void)jenv;
359  (void)jcls;
361  jresult = (jint)result;
362  return jresult;
363 }
364 
365 
367  jint jresult = 0 ;
369 
370  (void)jenv;
371  (void)jcls;
373  jresult = (jint)result;
374  return jresult;
375 }
376 
377 
379  jint jresult = 0 ;
381 
382  (void)jenv;
383  (void)jcls;
385  jresult = (jint)result;
386  return jresult;
387 }
388 
389 
391  jint jresult = 0 ;
393 
394  (void)jenv;
395  (void)jcls;
397  jresult = (jint)result;
398  return jresult;
399 }
400 
401 
403  jint jresult = 0 ;
405 
406  (void)jenv;
407  (void)jcls;
409  jresult = (jint)result;
410  return jresult;
411 }
412 
413 
415  jint jresult = 0 ;
417 
418  (void)jenv;
419  (void)jcls;
421  jresult = (jint)result;
422  return jresult;
423 }
424 
425 
427  jint jresult = 0 ;
429 
430  (void)jenv;
431  (void)jcls;
433  jresult = (jint)result;
434  return jresult;
435 }
436 
437 
439  jint jresult = 0 ;
441 
442  (void)jenv;
443  (void)jcls;
445  jresult = (jint)result;
446  return jresult;
447 }
448 
449 
451  jint jresult = 0 ;
453 
454  (void)jenv;
455  (void)jcls;
457  jresult = (jint)result;
458  return jresult;
459 }
460 
461 
463  jint jresult = 0 ;
465 
466  (void)jenv;
467  (void)jcls;
469  jresult = (jint)result;
470  return jresult;
471 }
472 
473 
475  jint jresult = 0 ;
477 
478  (void)jenv;
479  (void)jcls;
481  jresult = (jint)result;
482  return jresult;
483 }
484 
485 
487  jint jresult = 0 ;
489 
490  (void)jenv;
491  (void)jcls;
493  jresult = (jint)result;
494  return jresult;
495 }
496 
497 
498 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_new_1MPSolver(JNIEnv *jenv, jclass jcls, jstring jarg1, jint jarg2) {
499  jlong jresult = 0 ;
500  std::string *arg1 = 0 ;
502  operations_research::MPSolver *result = 0 ;
503 
504  (void)jenv;
505  (void)jcls;
506  if(!jarg1) {
508  return 0;
509  }
510  const char *arg1_pstr = (const char *)jenv->GetStringUTFChars(jarg1, 0);
511  if (!arg1_pstr) return 0;
512  std::string arg1_str(arg1_pstr);
513  arg1 = &arg1_str;
514  jenv->ReleaseStringUTFChars(jarg1, arg1_pstr);
516  result = (operations_research::MPSolver *)new operations_research::MPSolver((std::string const &)*arg1,arg2);
517  *(operations_research::MPSolver **)&jresult = result;
518  return jresult;
519 }
520 
521 
524 
525  (void)jenv;
526  (void)jcls;
527  arg1 = *(operations_research::MPSolver **)&jarg1;
528  delete arg1;
529 }
530 
531 
533  jlong jresult = 0 ;
534  std::string *arg1 = 0 ;
535  operations_research::MPSolver *result = 0 ;
536 
537  (void)jenv;
538  (void)jcls;
539  if(!jarg1) {
541  return 0;
542  }
543  const char *arg1_pstr = (const char *)jenv->GetStringUTFChars(jarg1, 0);
544  if (!arg1_pstr) return 0;
545  std::string arg1_str(arg1_pstr);
546  arg1 = &arg1_str;
547  jenv->ReleaseStringUTFChars(jarg1, arg1_pstr);
548  result = (operations_research::MPSolver *)operations_research::MPSolver::CreateSolver((std::string const &)*arg1);
549  *(operations_research::MPSolver **)&jresult = result;
550  return jresult;
551 }
552 
553 
555  jboolean jresult = 0 ;
557  bool result;
558 
559  (void)jenv;
560  (void)jcls;
563  jresult = (jboolean)result;
564  return jresult;
565 }
566 
567 
568 SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1isMip(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
569  jboolean jresult = 0 ;
571  bool result;
572 
573  (void)jenv;
574  (void)jcls;
575  (void)jarg1_;
576  arg1 = *(operations_research::MPSolver **)&jarg1;
577  result = (bool)((operations_research::MPSolver const *)arg1)->IsMIP();
578  jresult = (jboolean)result;
579  return jresult;
580 }
581 
582 
583 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
585 
586  (void)jenv;
587  (void)jcls;
588  (void)jarg1_;
589  arg1 = *(operations_research::MPSolver **)&jarg1;
590  (arg1)->Clear();
591 }
592 
593 
594 SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1numVariables(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
595  jint jresult = 0 ;
597  int result;
598 
599  (void)jenv;
600  (void)jcls;
601  (void)jarg1_;
602  arg1 = *(operations_research::MPSolver **)&jarg1;
603  result = (int)((operations_research::MPSolver const *)arg1)->NumVariables();
604  jresult = (jint)result;
605  return jresult;
606 }
607 
608 
609 SWIGEXPORT jobjectArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1variables(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
610  jobjectArray jresult = 0 ;
612  std::vector< operations_research::MPVariable * > *result = 0 ;
613 
614  (void)jenv;
615  (void)jcls;
616  (void)jarg1_;
617  arg1 = *(operations_research::MPSolver **)&jarg1;
618  result = (std::vector< operations_research::MPVariable * > *) &((operations_research::MPSolver const *)arg1)->variables();
619  {
620  if (nullptr == result)
621  return 0;
622  std::string java_class_path ="com/google/ortools/linearsolver" "/""MPVariable";
623  jclass object_class = jenv->FindClass(java_class_path.c_str());
624  if (nullptr == object_class)
625  return 0;
626  jresult = jenv->NewObjectArray(result->size(), object_class, 0);
627  jmethodID ctor = jenv->GetMethodID(object_class,"<init>", "(JZ)V");
628  for (int i = 0; i < result->size(); ++i) {
629  jlong obj_ptr = 0;
630  *((operations_research::MPVariable **)&obj_ptr) = (*result)[i];
631  jobject elem = jenv->NewObject(object_class, ctor, obj_ptr, false);
632  jenv->SetObjectArrayElement(jresult, i, elem);
633  }
634  }
635  return jresult;
636 }
637 
638 
639 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1lookupVariableOrNull(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
640  jlong jresult = 0 ;
642  std::string *arg2 = 0 ;
643  operations_research::MPVariable *result = 0 ;
644 
645  (void)jenv;
646  (void)jcls;
647  (void)jarg1_;
648  arg1 = *(operations_research::MPSolver **)&jarg1;
649  if(!jarg2) {
651  return 0;
652  }
653  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0);
654  if (!arg2_pstr) return 0;
655  std::string arg2_str(arg2_pstr);
656  arg2 = &arg2_str;
657  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr);
658  result = (operations_research::MPVariable *)((operations_research::MPSolver const *)arg1)->LookupVariableOrNull((std::string const &)*arg2);
659  *(operations_research::MPVariable **)&jresult = result;
660  return jresult;
661 }
662 
663 
664 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeVar(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3, jboolean jarg4, jstring jarg5) {
665  jlong jresult = 0 ;
667  double arg2 ;
668  double arg3 ;
669  bool arg4 ;
670  std::string *arg5 = 0 ;
671  operations_research::MPVariable *result = 0 ;
672 
673  (void)jenv;
674  (void)jcls;
675  (void)jarg1_;
676  arg1 = *(operations_research::MPSolver **)&jarg1;
677  arg2 = (double)jarg2;
678  arg3 = (double)jarg3;
679  arg4 = jarg4 ? true : false;
680  if(!jarg5) {
682  return 0;
683  }
684  const char *arg5_pstr = (const char *)jenv->GetStringUTFChars(jarg5, 0);
685  if (!arg5_pstr) return 0;
686  std::string arg5_str(arg5_pstr);
687  arg5 = &arg5_str;
688  jenv->ReleaseStringUTFChars(jarg5, arg5_pstr);
689  result = (operations_research::MPVariable *)(arg1)->MakeVar(arg2,arg3,arg4,(std::string const &)*arg5);
690  *(operations_research::MPVariable **)&jresult = result;
691  return jresult;
692 }
693 
694 
695 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeNumVar(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3, jstring jarg4) {
696  jlong jresult = 0 ;
698  double arg2 ;
699  double arg3 ;
700  std::string *arg4 = 0 ;
701  operations_research::MPVariable *result = 0 ;
702 
703  (void)jenv;
704  (void)jcls;
705  (void)jarg1_;
706  arg1 = *(operations_research::MPSolver **)&jarg1;
707  arg2 = (double)jarg2;
708  arg3 = (double)jarg3;
709  if(!jarg4) {
711  return 0;
712  }
713  const char *arg4_pstr = (const char *)jenv->GetStringUTFChars(jarg4, 0);
714  if (!arg4_pstr) return 0;
715  std::string arg4_str(arg4_pstr);
716  arg4 = &arg4_str;
717  jenv->ReleaseStringUTFChars(jarg4, arg4_pstr);
718  result = (operations_research::MPVariable *)(arg1)->MakeNumVar(arg2,arg3,(std::string const &)*arg4);
719  *(operations_research::MPVariable **)&jresult = result;
720  return jresult;
721 }
722 
723 
724 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeIntVar(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3, jstring jarg4) {
725  jlong jresult = 0 ;
727  double arg2 ;
728  double arg3 ;
729  std::string *arg4 = 0 ;
730  operations_research::MPVariable *result = 0 ;
731 
732  (void)jenv;
733  (void)jcls;
734  (void)jarg1_;
735  arg1 = *(operations_research::MPSolver **)&jarg1;
736  arg2 = (double)jarg2;
737  arg3 = (double)jarg3;
738  if(!jarg4) {
740  return 0;
741  }
742  const char *arg4_pstr = (const char *)jenv->GetStringUTFChars(jarg4, 0);
743  if (!arg4_pstr) return 0;
744  std::string arg4_str(arg4_pstr);
745  arg4 = &arg4_str;
746  jenv->ReleaseStringUTFChars(jarg4, arg4_pstr);
747  result = (operations_research::MPVariable *)(arg1)->MakeIntVar(arg2,arg3,(std::string const &)*arg4);
748  *(operations_research::MPVariable **)&jresult = result;
749  return jresult;
750 }
751 
752 
753 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeBoolVar(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
754  jlong jresult = 0 ;
756  std::string *arg2 = 0 ;
757  operations_research::MPVariable *result = 0 ;
758 
759  (void)jenv;
760  (void)jcls;
761  (void)jarg1_;
762  arg1 = *(operations_research::MPSolver **)&jarg1;
763  if(!jarg2) {
765  return 0;
766  }
767  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0);
768  if (!arg2_pstr) return 0;
769  std::string arg2_str(arg2_pstr);
770  arg2 = &arg2_str;
771  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr);
772  result = (operations_research::MPVariable *)(arg1)->MakeBoolVar((std::string const &)*arg2);
773  *(operations_research::MPVariable **)&jresult = result;
774  return jresult;
775 }
776 
777 
778 SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1numConstraints(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
779  jint jresult = 0 ;
781  int result;
782 
783  (void)jenv;
784  (void)jcls;
785  (void)jarg1_;
786  arg1 = *(operations_research::MPSolver **)&jarg1;
787  result = (int)((operations_research::MPSolver const *)arg1)->NumConstraints();
788  jresult = (jint)result;
789  return jresult;
790 }
791 
792 
793 SWIGEXPORT jobjectArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1constraints(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
794  jobjectArray jresult = 0 ;
796  std::vector< operations_research::MPConstraint * > *result = 0 ;
797 
798  (void)jenv;
799  (void)jcls;
800  (void)jarg1_;
801  arg1 = *(operations_research::MPSolver **)&jarg1;
802  result = (std::vector< operations_research::MPConstraint * > *) &((operations_research::MPSolver const *)arg1)->constraints();
803  {
804  if (nullptr == result)
805  return 0;
806  std::string java_class_path ="com/google/ortools/linearsolver" "/""MPConstraint";
807  jclass object_class = jenv->FindClass(java_class_path.c_str());
808  if (nullptr == object_class)
809  return 0;
810  jresult = jenv->NewObjectArray(result->size(), object_class, 0);
811  jmethodID ctor = jenv->GetMethodID(object_class,"<init>", "(JZ)V");
812  for (int i = 0; i < result->size(); ++i) {
813  jlong obj_ptr = 0;
814  *((operations_research::MPConstraint **)&obj_ptr) = (*result)[i];
815  jobject elem = jenv->NewObject(object_class, ctor, obj_ptr, false);
816  jenv->SetObjectArrayElement(jresult, i, elem);
817  }
818  }
819  return jresult;
820 }
821 
822 
823 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1lookupConstraintOrNull(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
824  jlong jresult = 0 ;
826  std::string *arg2 = 0 ;
828 
829  (void)jenv;
830  (void)jcls;
831  (void)jarg1_;
832  arg1 = *(operations_research::MPSolver **)&jarg1;
833  if(!jarg2) {
835  return 0;
836  }
837  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0);
838  if (!arg2_pstr) return 0;
839  std::string arg2_str(arg2_pstr);
840  arg2 = &arg2_str;
841  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr);
842  result = (operations_research::MPConstraint *)((operations_research::MPSolver const *)arg1)->LookupConstraintOrNull((std::string const &)*arg2);
843  *(operations_research::MPConstraint **)&jresult = result;
844  return jresult;
845 }
846 
847 
848 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3) {
849  jlong jresult = 0 ;
851  double arg2 ;
852  double arg3 ;
854 
855  (void)jenv;
856  (void)jcls;
857  (void)jarg1_;
858  arg1 = *(operations_research::MPSolver **)&jarg1;
859  arg2 = (double)jarg2;
860  arg3 = (double)jarg3;
861  result = (operations_research::MPConstraint *)(arg1)->MakeRowConstraint(arg2,arg3);
862  *(operations_research::MPConstraint **)&jresult = result;
863  return jresult;
864 }
865 
866 
868  jlong jresult = 0 ;
871 
872  (void)jenv;
873  (void)jcls;
874  (void)jarg1_;
875  arg1 = *(operations_research::MPSolver **)&jarg1;
876  result = (operations_research::MPConstraint *)(arg1)->MakeRowConstraint();
877  *(operations_research::MPConstraint **)&jresult = result;
878  return jresult;
879 }
880 
881 
882 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeConstraint_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3, jstring jarg4) {
883  jlong jresult = 0 ;
885  double arg2 ;
886  double arg3 ;
887  std::string *arg4 = 0 ;
889 
890  (void)jenv;
891  (void)jcls;
892  (void)jarg1_;
893  arg1 = *(operations_research::MPSolver **)&jarg1;
894  arg2 = (double)jarg2;
895  arg3 = (double)jarg3;
896  if(!jarg4) {
898  return 0;
899  }
900  const char *arg4_pstr = (const char *)jenv->GetStringUTFChars(jarg4, 0);
901  if (!arg4_pstr) return 0;
902  std::string arg4_str(arg4_pstr);
903  arg4 = &arg4_str;
904  jenv->ReleaseStringUTFChars(jarg4, arg4_pstr);
905  result = (operations_research::MPConstraint *)(arg1)->MakeRowConstraint(arg2,arg3,(std::string const &)*arg4);
906  *(operations_research::MPConstraint **)&jresult = result;
907  return jresult;
908 }
909 
910 
911 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeConstraint_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
912  jlong jresult = 0 ;
914  std::string *arg2 = 0 ;
916 
917  (void)jenv;
918  (void)jcls;
919  (void)jarg1_;
920  arg1 = *(operations_research::MPSolver **)&jarg1;
921  if(!jarg2) {
923  return 0;
924  }
925  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0);
926  if (!arg2_pstr) return 0;
927  std::string arg2_str(arg2_pstr);
928  arg2 = &arg2_str;
929  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr);
930  result = (operations_research::MPConstraint *)(arg1)->MakeRowConstraint((std::string const &)*arg2);
931  *(operations_research::MPConstraint **)&jresult = result;
932  return jresult;
933 }
934 
935 
936 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1objective(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
937  jlong jresult = 0 ;
940 
941  (void)jenv;
942  (void)jcls;
943  (void)jarg1_;
944  arg1 = *(operations_research::MPSolver **)&jarg1;
945  result = (operations_research::MPObjective *)(arg1)->MutableObjective();
946  *(operations_research::MPObjective **)&jresult = result;
947  return jresult;
948 }
949 
950 
952  jint jresult = 0 ;
954 
955  (void)jenv;
956  (void)jcls;
958  jresult = (jint)result;
959  return jresult;
960 }
961 
962 
963 SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1solve_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
964  jint jresult = 0 ;
967 
968  (void)jenv;
969  (void)jcls;
970  (void)jarg1_;
971  arg1 = *(operations_research::MPSolver **)&jarg1;
973  jresult = (jint)result;
974  return jresult;
975 }
976 
977 
978 SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1solve_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
979  jint jresult = 0 ;
983 
984  (void)jenv;
985  (void)jcls;
986  (void)jarg1_;
987  (void)jarg2_;
988  arg1 = *(operations_research::MPSolver **)&jarg1;
989  arg2 = *(operations_research::MPSolverParameters **)&jarg2;
990  if (!arg2) {
991  SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "operations_research::MPSolverParameters const & reference is null");
992  return 0;
993  }
995  jresult = (jint)result;
996  return jresult;
997 }
998 
999 
1000 SWIGEXPORT jdoubleArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1computeConstraintActivities(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1001  jdoubleArray jresult = 0 ;
1003  std::vector< double > result;
1004 
1005  (void)jenv;
1006  (void)jcls;
1007  (void)jarg1_;
1008  arg1 = *(operations_research::MPSolver **)&jarg1;
1009  result = ((operations_research::MPSolver const *)arg1)->ComputeConstraintActivities();
1010 
1011  const std::vector<double>& vec = result;
1012  jresult = jenv->NewDoubleArray(vec.size());
1013  jenv->SetDoubleArrayRegion(jresult, 0, vec.size(), reinterpret_cast<const jdouble*>(vec.data()));
1014 
1015  return jresult;
1016 }
1017 
1018 
1019 SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1verifySolution(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jboolean jarg3) {
1020  jboolean jresult = 0 ;
1022  double arg2 ;
1023  bool arg3 ;
1024  bool result;
1025 
1026  (void)jenv;
1027  (void)jcls;
1028  (void)jarg1_;
1029  arg1 = *(operations_research::MPSolver **)&jarg1;
1030  arg2 = (double)jarg2;
1031  arg3 = jarg3 ? true : false;
1032  result = (bool)((operations_research::MPSolver const *)arg1)->VerifySolution(arg2,arg3);
1033  jresult = (jboolean)result;
1034  return jresult;
1035 }
1036 
1037 
1038 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1reset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1040 
1041  (void)jenv;
1042  (void)jcls;
1043  (void)jarg1_;
1044  arg1 = *(operations_research::MPSolver **)&jarg1;
1045  (arg1)->Reset();
1046 }
1047 
1048 
1049 SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1interruptSolve(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1050  jboolean jresult = 0 ;
1052  bool result;
1053 
1054  (void)jenv;
1055  (void)jcls;
1056  (void)jarg1_;
1057  arg1 = *(operations_research::MPSolver **)&jarg1;
1058  result = (bool)(arg1)->InterruptSolve();
1059  jresult = (jboolean)result;
1060  return jresult;
1061 }
1062 
1063 
1064 SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1setSolverSpecificParametersAsString(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
1065  jboolean jresult = 0 ;
1067  std::string *arg2 = 0 ;
1068  bool result;
1069 
1070  (void)jenv;
1071  (void)jcls;
1072  (void)jarg1_;
1073  arg1 = *(operations_research::MPSolver **)&jarg1;
1074  if(!jarg2) {
1076  return 0;
1077  }
1078  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0);
1079  if (!arg2_pstr) return 0;
1080  std::string arg2_str(arg2_pstr);
1081  arg2 = &arg2_str;
1082  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr);
1083  result = (bool)(arg1)->SetSolverSpecificParametersAsString((std::string const &)*arg2);
1084  jresult = (jboolean)result;
1085  return jresult;
1086 }
1087 
1088 
1090  jint jresult = 0 ;
1092 
1093  (void)jenv;
1094  (void)jcls;
1096  jresult = (jint)result;
1097  return jresult;
1098 }
1099 
1100 
1102  jdouble jresult = 0 ;
1103  double result;
1104 
1105  (void)jenv;
1106  (void)jcls;
1107  result = (double)operations_research::MPSolver::infinity();
1108  jresult = (jdouble)result;
1109  return jresult;
1110 }
1111 
1112 
1113 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1enableOutput(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1115 
1116  (void)jenv;
1117  (void)jcls;
1118  (void)jarg1_;
1119  arg1 = *(operations_research::MPSolver **)&jarg1;
1120  (arg1)->EnableOutput();
1121 }
1122 
1123 
1124 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1suppressOutput(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1126 
1127  (void)jenv;
1128  (void)jcls;
1129  (void)jarg1_;
1130  arg1 = *(operations_research::MPSolver **)&jarg1;
1131  (arg1)->SuppressOutput();
1132 }
1133 
1134 
1135 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1iterations(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1136  jlong jresult = 0 ;
1138  int64 result;
1139 
1140  (void)jenv;
1141  (void)jcls;
1142  (void)jarg1_;
1143  arg1 = *(operations_research::MPSolver **)&jarg1;
1144  result = (int64)((operations_research::MPSolver const *)arg1)->iterations();
1145  jresult = (jlong)result;
1146  return jresult;
1147 }
1148 
1149 
1150 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1nodes(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1151  jlong jresult = 0 ;
1153  int64 result;
1154 
1155  (void)jenv;
1156  (void)jcls;
1157  (void)jarg1_;
1158  arg1 = *(operations_research::MPSolver **)&jarg1;
1159  result = (int64)((operations_research::MPSolver const *)arg1)->nodes();
1160  jresult = (jlong)result;
1161  return jresult;
1162 }
1163 
1164 
1166  jdouble jresult = 0 ;
1168  double result;
1169 
1170  (void)jenv;
1171  (void)jcls;
1172  (void)jarg1_;
1173  arg1 = *(operations_research::MPSolver **)&jarg1;
1174  result = (double)((operations_research::MPSolver const *)arg1)->ComputeExactConditionNumber();
1175  jresult = (jdouble)result;
1176  return jresult;
1177 }
1178 
1179 
1180 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1setTimeLimit(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
1182  int64 arg2 ;
1183 
1184  (void)jenv;
1185  (void)jcls;
1186  (void)jarg1_;
1187  arg1 = *(operations_research::MPSolver **)&jarg1;
1188  arg2 = (int64)jarg2;
1189  (arg1)->set_time_limit(arg2);
1190 }
1191 
1192 
1193 SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1wallTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1194  jlong jresult = 0 ;
1196  int64 result;
1197 
1198  (void)jenv;
1199  (void)jcls;
1200  (void)jarg1_;
1201  arg1 = *(operations_research::MPSolver **)&jarg1;
1202  result = (int64)((operations_research::MPSolver const *)arg1)->wall_time();
1203  jresult = (jlong)result;
1204  return jresult;
1205 }
1206 
1207 
1209  std::string *arg1 = 0 ;
1210 
1211  (void)jenv;
1212  (void)jcls;
1213  if(!jarg1) {
1215  return ;
1216  }
1217  const char *arg1_pstr = (const char *)jenv->GetStringUTFChars(jarg1, 0);
1218  if (!arg1_pstr) return ;
1219  std::string arg1_str(arg1_pstr);
1220  arg1 = &arg1_str;
1221  jenv->ReleaseStringUTFChars(jarg1, arg1_pstr);
1222  operations_research::MPSolver::SetGurobiLibraryPath((std::string const &)*arg1);
1223 }
1224 
1225 
1226 SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1loadModelFromProto(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2) {
1227  jstring jresult = 0 ;
1229  operations_research::MPModelProto *arg2 = 0 ;
1230  operations_research::MPModelProto temp2 ;
1231  std::string result;
1232 
1233  (void)jenv;
1234  (void)jcls;
1235  (void)jarg1_;
1236  arg1 = *(operations_research::MPSolver **)&jarg1;
1237  {
1238  int proto_size = 0;
1239  std::unique_ptr<char[]> proto_buffer(
1240  JNIUtil::MakeCharArray(jenv, jarg2, &proto_size));
1241  bool parsed_ok = temp2.ParseFromArray(proto_buffer.get(), proto_size);
1242  if (!parsed_ok) {
1245  "Unable to parse operations_research::MPModelProto protocol message.");
1246  }
1247  arg2 = &temp2;
1248  }
1249  result = operations_research_MPSolver_loadModelFromProto(arg1,(operations_research::MPModelProto const &)*arg2);
1250  jresult = jenv->NewStringUTF((&result)->c_str());
1251  return jresult;
1252 }
1253 
1254 
1255 SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1loadModelFromProtoWithUniqueNamesOrDie(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2) {
1256  jstring jresult = 0 ;
1258  operations_research::MPModelProto *arg2 = 0 ;
1259  operations_research::MPModelProto temp2 ;
1260  std::string result;
1261 
1262  (void)jenv;
1263  (void)jcls;
1264  (void)jarg1_;
1265  arg1 = *(operations_research::MPSolver **)&jarg1;
1266  {
1267  int proto_size = 0;
1268  std::unique_ptr<char[]> proto_buffer(
1269  JNIUtil::MakeCharArray(jenv, jarg2, &proto_size));
1270  bool parsed_ok = temp2.ParseFromArray(proto_buffer.get(), proto_size);
1271  if (!parsed_ok) {
1274  "Unable to parse operations_research::MPModelProto protocol message.");
1275  }
1276  arg2 = &temp2;
1277  }
1278  result = operations_research_MPSolver_loadModelFromProtoWithUniqueNamesOrDie(arg1,(operations_research::MPModelProto const &)*arg2);
1279  jresult = jenv->NewStringUTF((&result)->c_str());
1280  return jresult;
1281 }
1282 
1283 
1284 SWIGEXPORT jbyteArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1exportModelToProto(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1285  jbyteArray jresult = 0 ;
1287  operations_research::MPModelProto result;
1288 
1289  (void)jenv;
1290  (void)jcls;
1291  (void)jarg1_;
1292  arg1 = *(operations_research::MPSolver **)&jarg1;
1294  {
1295  const long size = (&result)->ByteSizeLong();
1296  std::unique_ptr<char[]> buf(new char[size]);
1297  (&result)->SerializeWithCachedSizesToArray(reinterpret_cast<uint8*>(buf.get()));
1298  jresult = JNIUtil::MakeJByteArray(jenv, buf.get(), size);
1299  }
1300  return jresult;
1301 }
1302 
1303 
1305  jbyteArray jresult = 0 ;
1307  operations_research::MPSolutionResponse result;
1308 
1309  (void)jenv;
1310  (void)jcls;
1311  (void)jarg1_;
1312  arg1 = *(operations_research::MPSolver **)&jarg1;
1314  {
1315  const long size = (&result)->ByteSizeLong();
1316  std::unique_ptr<char[]> buf(new char[size]);
1317  (&result)->SerializeWithCachedSizesToArray(reinterpret_cast<uint8*>(buf.get()));
1318  jresult = JNIUtil::MakeJByteArray(jenv, buf.get(), size);
1319  }
1320  return jresult;
1321 }
1322 
1323 
1324 SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1loadSolutionFromProto(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2) {
1325  jboolean jresult = 0 ;
1327  operations_research::MPSolutionResponse *arg2 = 0 ;
1328  operations_research::MPSolutionResponse temp2 ;
1329  bool result;
1330 
1331  (void)jenv;
1332  (void)jcls;
1333  (void)jarg1_;
1334  arg1 = *(operations_research::MPSolver **)&jarg1;
1335  {
1336  int proto_size = 0;
1337  std::unique_ptr<char[]> proto_buffer(
1338  JNIUtil::MakeCharArray(jenv, jarg2, &proto_size));
1339  bool parsed_ok = temp2.ParseFromArray(proto_buffer.get(), proto_size);
1340  if (!parsed_ok) {
1343  "Unable to parse operations_research::MPSolutionResponse protocol message.");
1344  }
1345  arg2 = &temp2;
1346  }
1347  result = (bool)operations_research_MPSolver_loadSolutionFromProto(arg1,(operations_research::MPSolutionResponse const &)*arg2);
1348  jresult = (jboolean)result;
1349  return jresult;
1350 }
1351 
1352 
1354  jbyteArray jresult = 0 ;
1355  operations_research::MPModelRequest *arg1 = 0 ;
1356  operations_research::MPModelRequest temp1 ;
1357  operations_research::MPSolutionResponse result;
1358 
1359  (void)jenv;
1360  (void)jcls;
1361  {
1362  int proto_size = 0;
1363  std::unique_ptr<char[]> proto_buffer(
1364  JNIUtil::MakeCharArray(jenv, jarg1, &proto_size));
1365  bool parsed_ok = temp1.ParseFromArray(proto_buffer.get(), proto_size);
1366  if (!parsed_ok) {
1369  "Unable to parse operations_research::MPModelRequest protocol message.");
1370  }
1371  arg1 = &temp1;
1372  }
1373  result = operations_research_MPSolver_solveWithProto((operations_research::MPModelRequest const &)*arg1);
1374  {
1375  const long size = (&result)->ByteSizeLong();
1376  std::unique_ptr<char[]> buf(new char[size]);
1377  (&result)->SerializeWithCachedSizesToArray(reinterpret_cast<uint8*>(buf.get()));
1378  jresult = JNIUtil::MakeJByteArray(jenv, buf.get(), size);
1379  }
1380  return jresult;
1381 }
1382 
1383 
1384 SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1exportModelAsLpFormat_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
1385  jstring jresult = 0 ;
1388  std::string result;
1389 
1390  (void)jenv;
1391  (void)jcls;
1392  (void)jarg1_;
1393  (void)jarg2_;
1394  arg1 = *(operations_research::MPSolver **)&jarg1;
1395  arg2 = *(operations_research::MPModelExportOptions **)&jarg2;
1396  if (!arg2) {
1397  SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "operations_research::MPModelExportOptions const & reference is null");
1398  return 0;
1399  }
1401  jresult = jenv->NewStringUTF((&result)->c_str());
1402  return jresult;
1403 }
1404 
1405 
1407  jstring jresult = 0 ;
1409  std::string result;
1410 
1411  (void)jenv;
1412  (void)jcls;
1413  (void)jarg1_;
1414  arg1 = *(operations_research::MPSolver **)&jarg1;
1416  jresult = jenv->NewStringUTF((&result)->c_str());
1417  return jresult;
1418 }
1419 
1420 
1421 SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1exportModelAsMpsFormat_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
1422  jstring jresult = 0 ;
1425  std::string result;
1426 
1427  (void)jenv;
1428  (void)jcls;
1429  (void)jarg1_;
1430  (void)jarg2_;
1431  arg1 = *(operations_research::MPSolver **)&jarg1;
1432  arg2 = *(operations_research::MPModelExportOptions **)&jarg2;
1433  if (!arg2) {
1434  SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "operations_research::MPModelExportOptions const & reference is null");
1435  return 0;
1436  }
1438  jresult = jenv->NewStringUTF((&result)->c_str());
1439  return jresult;
1440 }
1441 
1442 
1444  jstring jresult = 0 ;
1446  std::string result;
1447 
1448  (void)jenv;
1449  (void)jcls;
1450  (void)jarg1_;
1451  arg1 = *(operations_research::MPSolver **)&jarg1;
1453  jresult = jenv->NewStringUTF((&result)->c_str());
1454  return jresult;
1455 }
1456 
1457 
1458 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1setHint(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobjectArray jarg2, jdoubleArray jarg3) {
1460  std::vector< operations_research::MPVariable * > *arg2 = 0 ;
1461  std::vector< double > *arg3 = 0 ;
1462  std::vector< operations_research::MPVariable * > result2 ;
1463 
1464  (void)jenv;
1465  (void)jcls;
1466  (void)jarg1_;
1467  arg1 = *(operations_research::MPSolver **)&jarg1;
1468  {
1469  std::string java_class_path ="com/google/ortools/linearsolver" "/""MPVariable";
1470  jclass object_class = jenv->FindClass(java_class_path.c_str());
1471  if (nullptr == object_class)
1472  return ;
1473  jmethodID method_id =
1474  jenv->GetStaticMethodID(
1475  object_class, "getCPtr",
1476  std::string("(L" + java_class_path + ";)J").c_str());
1477  assert(method_id != nullptr);
1478  for (int i = 0; i < jenv->GetArrayLength(jarg2); i++) {
1479  jobject elem = jenv->GetObjectArrayElement(jarg2, i);
1480  jlong ptr_value = jenv->CallStaticLongMethod(object_class, method_id, elem);
1481  result2.push_back(/*@SWIG:ortools/util/java/vector.i,259,REINTERPRET_CAST@*/
1482  reinterpret_cast<operations_research::MPVariable*>(ptr_value)
1483  /*@SWIG@*/);
1484  }
1485  arg2 = &result2;
1486  }
1487 
1488  if(jarg3) {
1489  arg3 = new std::vector<double>;
1490  const int size = jenv->GetArrayLength(jarg3);
1491  arg3->reserve(size);
1492  jdouble *values = jenv->GetDoubleArrayElements((jdoubleArray)jarg3, NULL);
1493  for (int i = 0; i < size; ++i) {
1494  arg3->emplace_back(values[i]);
1495  }
1496  jenv->ReleaseDoubleArrayElements((jdoubleArray)jarg3, values, JNI_ABORT);
1497  }
1498  else {
1500  return ;
1501  }
1502 
1503  operations_research_MPSolver_setHint(arg1,(std::vector< operations_research::MPVariable * > const &)*arg2,(std::vector< double > const &)*arg3);
1504  {
1505  delete arg3;
1506  }
1507 }
1508 
1509 
1510 SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1setNumThreads(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
1511  jboolean jresult = 0 ;
1513  int arg2 ;
1514  bool result;
1515 
1516  (void)jenv;
1517  (void)jcls;
1518  (void)jarg1_;
1519  arg1 = *(operations_research::MPSolver **)&jarg1;
1520  arg2 = (int)jarg2;
1521  result = (bool)operations_research_MPSolver_setNumThreads(arg1,arg2);
1522  jresult = (jboolean)result;
1523  return jresult;
1524 }
1525 
1526 
1527 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1529 
1530  (void)jenv;
1531  (void)jcls;
1532  (void)jarg1_;
1533  arg1 = *(operations_research::MPObjective **)&jarg1;
1534  (arg1)->Clear();
1535 }
1536 
1537 
1538 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1setCoefficient(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jdouble jarg3) {
1541  double arg3 ;
1542 
1543  (void)jenv;
1544  (void)jcls;
1545  (void)jarg1_;
1546  (void)jarg2_;
1547  arg1 = *(operations_research::MPObjective **)&jarg1;
1548  arg2 = *(operations_research::MPVariable **)&jarg2;
1549  arg3 = (double)jarg3;
1550  (arg1)->SetCoefficient((operations_research::MPVariable const *)arg2,arg3);
1551 }
1552 
1553 
1554 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1getCoefficient(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
1555  jdouble jresult = 0 ;
1558  double result;
1559 
1560  (void)jenv;
1561  (void)jcls;
1562  (void)jarg1_;
1563  (void)jarg2_;
1564  arg1 = *(operations_research::MPObjective **)&jarg1;
1565  arg2 = *(operations_research::MPVariable **)&jarg2;
1566  result = (double)((operations_research::MPObjective const *)arg1)->GetCoefficient((operations_research::MPVariable const *)arg2);
1567  jresult = (jdouble)result;
1568  return jresult;
1569 }
1570 
1571 
1572 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1setOffset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
1574  double arg2 ;
1575 
1576  (void)jenv;
1577  (void)jcls;
1578  (void)jarg1_;
1579  arg1 = *(operations_research::MPObjective **)&jarg1;
1580  arg2 = (double)jarg2;
1581  (arg1)->SetOffset(arg2);
1582 }
1583 
1584 
1585 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1offset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1586  jdouble jresult = 0 ;
1588  double result;
1589 
1590  (void)jenv;
1591  (void)jcls;
1592  (void)jarg1_;
1593  arg1 = *(operations_research::MPObjective **)&jarg1;
1594  result = (double)((operations_research::MPObjective const *)arg1)->offset();
1595  jresult = (jdouble)result;
1596  return jresult;
1597 }
1598 
1599 
1600 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1setOptimizationDirection(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
1602  bool arg2 ;
1603 
1604  (void)jenv;
1605  (void)jcls;
1606  (void)jarg1_;
1607  arg1 = *(operations_research::MPObjective **)&jarg1;
1608  arg2 = jarg2 ? true : false;
1609  (arg1)->SetOptimizationDirection(arg2);
1610 }
1611 
1612 
1615 
1616  (void)jenv;
1617  (void)jcls;
1618  (void)jarg1_;
1619  arg1 = *(operations_research::MPObjective **)&jarg1;
1620  (arg1)->SetMinimization();
1621 }
1622 
1623 
1626 
1627  (void)jenv;
1628  (void)jcls;
1629  (void)jarg1_;
1630  arg1 = *(operations_research::MPObjective **)&jarg1;
1631  (arg1)->SetMaximization();
1632 }
1633 
1634 
1635 SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1maximization(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1636  jboolean jresult = 0 ;
1638  bool result;
1639 
1640  (void)jenv;
1641  (void)jcls;
1642  (void)jarg1_;
1643  arg1 = *(operations_research::MPObjective **)&jarg1;
1644  result = (bool)((operations_research::MPObjective const *)arg1)->maximization();
1645  jresult = (jboolean)result;
1646  return jresult;
1647 }
1648 
1649 
1650 SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1minimization(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1651  jboolean jresult = 0 ;
1653  bool result;
1654 
1655  (void)jenv;
1656  (void)jcls;
1657  (void)jarg1_;
1658  arg1 = *(operations_research::MPObjective **)&jarg1;
1659  result = (bool)((operations_research::MPObjective const *)arg1)->minimization();
1660  jresult = (jboolean)result;
1661  return jresult;
1662 }
1663 
1664 
1665 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1value(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1666  jdouble jresult = 0 ;
1668  double result;
1669 
1670  (void)jenv;
1671  (void)jcls;
1672  (void)jarg1_;
1673  arg1 = *(operations_research::MPObjective **)&jarg1;
1674  result = (double)((operations_research::MPObjective const *)arg1)->Value();
1675  jresult = (jdouble)result;
1676  return jresult;
1677 }
1678 
1679 
1680 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1bestBound(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1681  jdouble jresult = 0 ;
1683  double result;
1684 
1685  (void)jenv;
1686  (void)jcls;
1687  (void)jarg1_;
1688  arg1 = *(operations_research::MPObjective **)&jarg1;
1689  result = (double)((operations_research::MPObjective const *)arg1)->BestBound();
1690  jresult = (jdouble)result;
1691  return jresult;
1692 }
1693 
1694 
1697 
1698  (void)jenv;
1699  (void)jcls;
1700  arg1 = *(operations_research::MPObjective **)&jarg1;
1701  delete arg1;
1702 }
1703 
1704 
1705 SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1name(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1706  jstring jresult = 0 ;
1708  std::string *result = 0 ;
1709 
1710  (void)jenv;
1711  (void)jcls;
1712  (void)jarg1_;
1713  arg1 = *(operations_research::MPVariable **)&jarg1;
1714  result = (std::string *) &((operations_research::MPVariable const *)arg1)->name();
1715  jresult = jenv->NewStringUTF(result->c_str());
1716  return jresult;
1717 }
1718 
1719 
1720 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1setInteger(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
1722  bool arg2 ;
1723 
1724  (void)jenv;
1725  (void)jcls;
1726  (void)jarg1_;
1727  arg1 = *(operations_research::MPVariable **)&jarg1;
1728  arg2 = jarg2 ? true : false;
1729  (arg1)->SetInteger(arg2);
1730 }
1731 
1732 
1733 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1solutionValue(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1734  jdouble jresult = 0 ;
1736  double result;
1737 
1738  (void)jenv;
1739  (void)jcls;
1740  (void)jarg1_;
1741  arg1 = *(operations_research::MPVariable **)&jarg1;
1742  result = (double)((operations_research::MPVariable const *)arg1)->solution_value();
1743  jresult = (jdouble)result;
1744  return jresult;
1745 }
1746 
1747 
1748 SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1index(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1749  jint jresult = 0 ;
1751  int result;
1752 
1753  (void)jenv;
1754  (void)jcls;
1755  (void)jarg1_;
1756  arg1 = *(operations_research::MPVariable **)&jarg1;
1757  result = (int)((operations_research::MPVariable const *)arg1)->index();
1758  jresult = (jint)result;
1759  return jresult;
1760 }
1761 
1762 
1763 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1lb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1764  jdouble jresult = 0 ;
1766  double result;
1767 
1768  (void)jenv;
1769  (void)jcls;
1770  (void)jarg1_;
1771  arg1 = *(operations_research::MPVariable **)&jarg1;
1772  result = (double)((operations_research::MPVariable const *)arg1)->lb();
1773  jresult = (jdouble)result;
1774  return jresult;
1775 }
1776 
1777 
1778 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1ub(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1779  jdouble jresult = 0 ;
1781  double result;
1782 
1783  (void)jenv;
1784  (void)jcls;
1785  (void)jarg1_;
1786  arg1 = *(operations_research::MPVariable **)&jarg1;
1787  result = (double)((operations_research::MPVariable const *)arg1)->ub();
1788  jresult = (jdouble)result;
1789  return jresult;
1790 }
1791 
1792 
1793 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1setLb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
1795  double arg2 ;
1796 
1797  (void)jenv;
1798  (void)jcls;
1799  (void)jarg1_;
1800  arg1 = *(operations_research::MPVariable **)&jarg1;
1801  arg2 = (double)jarg2;
1802  (arg1)->SetLB(arg2);
1803 }
1804 
1805 
1806 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1setUb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
1808  double arg2 ;
1809 
1810  (void)jenv;
1811  (void)jcls;
1812  (void)jarg1_;
1813  arg1 = *(operations_research::MPVariable **)&jarg1;
1814  arg2 = (double)jarg2;
1815  (arg1)->SetUB(arg2);
1816 }
1817 
1818 
1819 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1setBounds(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3) {
1821  double arg2 ;
1822  double arg3 ;
1823 
1824  (void)jenv;
1825  (void)jcls;
1826  (void)jarg1_;
1827  arg1 = *(operations_research::MPVariable **)&jarg1;
1828  arg2 = (double)jarg2;
1829  arg3 = (double)jarg3;
1830  (arg1)->SetBounds(arg2,arg3);
1831 }
1832 
1833 
1834 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1reducedCost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1835  jdouble jresult = 0 ;
1837  double result;
1838 
1839  (void)jenv;
1840  (void)jcls;
1841  (void)jarg1_;
1842  arg1 = *(operations_research::MPVariable **)&jarg1;
1843  result = (double)((operations_research::MPVariable const *)arg1)->reduced_cost();
1844  jresult = (jdouble)result;
1845  return jresult;
1846 }
1847 
1848 
1849 SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1basisStatus(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1850  jint jresult = 0 ;
1853 
1854  (void)jenv;
1855  (void)jcls;
1856  (void)jarg1_;
1857  arg1 = *(operations_research::MPVariable **)&jarg1;
1858  result = (operations_research::MPSolver::BasisStatus)((operations_research::MPVariable const *)arg1)->basis_status();
1859  jresult = (jint)result;
1860  return jresult;
1861 }
1862 
1863 
1866 
1867  (void)jenv;
1868  (void)jcls;
1869  arg1 = *(operations_research::MPVariable **)&jarg1;
1870  delete arg1;
1871 }
1872 
1873 
1874 SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1name(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1875  jstring jresult = 0 ;
1877  std::string *result = 0 ;
1878 
1879  (void)jenv;
1880  (void)jcls;
1881  (void)jarg1_;
1882  arg1 = *(operations_research::MPConstraint **)&jarg1;
1883  result = (std::string *) &((operations_research::MPConstraint const *)arg1)->name();
1884  jresult = jenv->NewStringUTF(result->c_str());
1885  return jresult;
1886 }
1887 
1888 
1889 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setCoefficient(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jdouble jarg3) {
1892  double arg3 ;
1893 
1894  (void)jenv;
1895  (void)jcls;
1896  (void)jarg1_;
1897  (void)jarg2_;
1898  arg1 = *(operations_research::MPConstraint **)&jarg1;
1899  arg2 = *(operations_research::MPVariable **)&jarg2;
1900  arg3 = (double)jarg3;
1901  (arg1)->SetCoefficient((operations_research::MPVariable const *)arg2,arg3);
1902 }
1903 
1904 
1905 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1getCoefficient(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
1906  jdouble jresult = 0 ;
1909  double result;
1910 
1911  (void)jenv;
1912  (void)jcls;
1913  (void)jarg1_;
1914  (void)jarg2_;
1915  arg1 = *(operations_research::MPConstraint **)&jarg1;
1916  arg2 = *(operations_research::MPVariable **)&jarg2;
1917  result = (double)((operations_research::MPConstraint const *)arg1)->GetCoefficient((operations_research::MPVariable const *)arg2);
1918  jresult = (jdouble)result;
1919  return jresult;
1920 }
1921 
1922 
1923 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1lb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1924  jdouble jresult = 0 ;
1926  double result;
1927 
1928  (void)jenv;
1929  (void)jcls;
1930  (void)jarg1_;
1931  arg1 = *(operations_research::MPConstraint **)&jarg1;
1932  result = (double)((operations_research::MPConstraint const *)arg1)->lb();
1933  jresult = (jdouble)result;
1934  return jresult;
1935 }
1936 
1937 
1938 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1ub(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1939  jdouble jresult = 0 ;
1941  double result;
1942 
1943  (void)jenv;
1944  (void)jcls;
1945  (void)jarg1_;
1946  arg1 = *(operations_research::MPConstraint **)&jarg1;
1947  result = (double)((operations_research::MPConstraint const *)arg1)->ub();
1948  jresult = (jdouble)result;
1949  return jresult;
1950 }
1951 
1952 
1953 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setLb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
1955  double arg2 ;
1956 
1957  (void)jenv;
1958  (void)jcls;
1959  (void)jarg1_;
1960  arg1 = *(operations_research::MPConstraint **)&jarg1;
1961  arg2 = (double)jarg2;
1962  (arg1)->SetLB(arg2);
1963 }
1964 
1965 
1966 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setUb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
1968  double arg2 ;
1969 
1970  (void)jenv;
1971  (void)jcls;
1972  (void)jarg1_;
1973  arg1 = *(operations_research::MPConstraint **)&jarg1;
1974  arg2 = (double)jarg2;
1975  (arg1)->SetUB(arg2);
1976 }
1977 
1978 
1979 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setBounds(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3) {
1981  double arg2 ;
1982  double arg3 ;
1983 
1984  (void)jenv;
1985  (void)jcls;
1986  (void)jarg1_;
1987  arg1 = *(operations_research::MPConstraint **)&jarg1;
1988  arg2 = (double)jarg2;
1989  arg3 = (double)jarg3;
1990  (arg1)->SetBounds(arg2,arg3);
1991 }
1992 
1993 
1994 SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1isLazy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
1995  jboolean jresult = 0 ;
1997  bool result;
1998 
1999  (void)jenv;
2000  (void)jcls;
2001  (void)jarg1_;
2002  arg1 = *(operations_research::MPConstraint **)&jarg1;
2003  result = (bool)((operations_research::MPConstraint const *)arg1)->is_lazy();
2004  jresult = (jboolean)result;
2005  return jresult;
2006 }
2007 
2008 
2009 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setIsLazy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
2011  bool arg2 ;
2012 
2013  (void)jenv;
2014  (void)jcls;
2015  (void)jarg1_;
2016  arg1 = *(operations_research::MPConstraint **)&jarg1;
2017  arg2 = jarg2 ? true : false;
2018  (arg1)->set_is_lazy(arg2);
2019 }
2020 
2021 
2022 SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1index(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
2023  jint jresult = 0 ;
2025  int result;
2026 
2027  (void)jenv;
2028  (void)jcls;
2029  (void)jarg1_;
2030  arg1 = *(operations_research::MPConstraint **)&jarg1;
2031  result = (int)((operations_research::MPConstraint const *)arg1)->index();
2032  jresult = (jint)result;
2033  return jresult;
2034 }
2035 
2036 
2037 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1dualValue(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
2038  jdouble jresult = 0 ;
2040  double result;
2041 
2042  (void)jenv;
2043  (void)jcls;
2044  (void)jarg1_;
2045  arg1 = *(operations_research::MPConstraint **)&jarg1;
2046  result = (double)((operations_research::MPConstraint const *)arg1)->dual_value();
2047  jresult = (jdouble)result;
2048  return jresult;
2049 }
2050 
2051 
2052 SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1basisStatus(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
2053  jint jresult = 0 ;
2056 
2057  (void)jenv;
2058  (void)jcls;
2059  (void)jarg1_;
2060  arg1 = *(operations_research::MPConstraint **)&jarg1;
2061  result = (operations_research::MPSolver::BasisStatus)((operations_research::MPConstraint const *)arg1)->basis_status();
2062  jresult = (jint)result;
2063  return jresult;
2064 }
2065 
2066 
2069 
2070  (void)jenv;
2071  (void)jcls;
2072  arg1 = *(operations_research::MPConstraint **)&jarg1;
2073  delete arg1;
2074 }
2075 
2076 
2078  jint jresult = 0 ;
2080 
2081  (void)jenv;
2082  (void)jcls;
2084  jresult = (jint)result;
2085  return jresult;
2086 }
2087 
2088 
2090  jint jresult = 0 ;
2092 
2093  (void)jenv;
2094  (void)jcls;
2096  jresult = (jint)result;
2097  return jresult;
2098 }
2099 
2100 
2102  jint jresult = 0 ;
2104 
2105  (void)jenv;
2106  (void)jcls;
2108  jresult = (jint)result;
2109  return jresult;
2110 }
2111 
2112 
2114  jint jresult = 0 ;
2116 
2117  (void)jenv;
2118  (void)jcls;
2120  jresult = (jint)result;
2121  return jresult;
2122 }
2123 
2124 
2126  jint jresult = 0 ;
2128 
2129  (void)jenv;
2130  (void)jcls;
2132  jresult = (jint)result;
2133  return jresult;
2134 }
2135 
2136 
2138  jint jresult = 0 ;
2140 
2141  (void)jenv;
2142  (void)jcls;
2144  jresult = (jint)result;
2145  return jresult;
2146 }
2147 
2148 
2150  jint jresult = 0 ;
2152 
2153  (void)jenv;
2154  (void)jcls;
2156  jresult = (jint)result;
2157  return jresult;
2158 }
2159 
2160 
2162  jint jresult = 0 ;
2164 
2165  (void)jenv;
2166  (void)jcls;
2168  jresult = (jint)result;
2169  return jresult;
2170 }
2171 
2172 
2174  jint jresult = 0 ;
2176 
2177  (void)jenv;
2178  (void)jcls;
2180  jresult = (jint)result;
2181  return jresult;
2182 }
2183 
2184 
2186  jint jresult = 0 ;
2188 
2189  (void)jenv;
2190  (void)jcls;
2192  jresult = (jint)result;
2193  return jresult;
2194 }
2195 
2196 
2198  jint jresult = 0 ;
2200 
2201  (void)jenv;
2202  (void)jcls;
2204  jresult = (jint)result;
2205  return jresult;
2206 }
2207 
2208 
2210  jint jresult = 0 ;
2212 
2213  (void)jenv;
2214  (void)jcls;
2216  jresult = (jint)result;
2217  return jresult;
2218 }
2219 
2220 
2222  jint jresult = 0 ;
2224 
2225  (void)jenv;
2226  (void)jcls;
2228  jresult = (jint)result;
2229  return jresult;
2230 }
2231 
2232 
2234  jint jresult = 0 ;
2236 
2237  (void)jenv;
2238  (void)jcls;
2240  jresult = (jint)result;
2241  return jresult;
2242 }
2243 
2244 
2246  jint jresult = 0 ;
2248 
2249  (void)jenv;
2250  (void)jcls;
2252  jresult = (jint)result;
2253  return jresult;
2254 }
2255 
2256 
2258  jint jresult = 0 ;
2260 
2261  (void)jenv;
2262  (void)jcls;
2264  jresult = (jint)result;
2265  return jresult;
2266 }
2267 
2268 
2270  jdouble jresult = 0 ;
2271  double result;
2272 
2273  (void)jenv;
2274  (void)jcls;
2276  jresult = (jdouble)result;
2277  return jresult;
2278 }
2279 
2280 
2282  jdouble jresult = 0 ;
2283  double result;
2284 
2285  (void)jenv;
2286  (void)jcls;
2288  jresult = (jdouble)result;
2289  return jresult;
2290 }
2291 
2292 
2294  jdouble jresult = 0 ;
2295  double result;
2296 
2297  (void)jenv;
2298  (void)jcls;
2300  jresult = (jdouble)result;
2301  return jresult;
2302 }
2303 
2304 
2306  jint jresult = 0 ;
2308 
2309  (void)jenv;
2310  (void)jcls;
2312  jresult = (jint)result;
2313  return jresult;
2314 }
2315 
2316 
2318  jint jresult = 0 ;
2320 
2321  (void)jenv;
2322  (void)jcls;
2324  jresult = (jint)result;
2325  return jresult;
2326 }
2327 
2328 
2330  jlong jresult = 0 ;
2332 
2333  (void)jenv;
2334  (void)jcls;
2336  *(operations_research::MPSolverParameters **)&jresult = result;
2337  return jresult;
2338 }
2339 
2340 
2341 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1setDoubleParam(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jdouble jarg3) {
2344  double arg3 ;
2345 
2346  (void)jenv;
2347  (void)jcls;
2348  (void)jarg1_;
2349  arg1 = *(operations_research::MPSolverParameters **)&jarg1;
2351  arg3 = (double)jarg3;
2352  (arg1)->SetDoubleParam(arg2,arg3);
2353 }
2354 
2355 
2356 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1setIntegerParam(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jint jarg3) {
2359  int arg3 ;
2360 
2361  (void)jenv;
2362  (void)jcls;
2363  (void)jarg1_;
2364  arg1 = *(operations_research::MPSolverParameters **)&jarg1;
2366  arg3 = (int)jarg3;
2367  (arg1)->SetIntegerParam(arg2,arg3);
2368 }
2369 
2370 
2371 SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1getDoubleParam(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
2372  jdouble jresult = 0 ;
2375  double result;
2376 
2377  (void)jenv;
2378  (void)jcls;
2379  (void)jarg1_;
2380  arg1 = *(operations_research::MPSolverParameters **)&jarg1;
2382  result = (double)((operations_research::MPSolverParameters const *)arg1)->GetDoubleParam(arg2);
2383  jresult = (jdouble)result;
2384  return jresult;
2385 }
2386 
2387 
2388 SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1getIntegerParam(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
2389  jint jresult = 0 ;
2392  int result;
2393 
2394  (void)jenv;
2395  (void)jcls;
2396  (void)jarg1_;
2397  arg1 = *(operations_research::MPSolverParameters **)&jarg1;
2399  result = (int)((operations_research::MPSolverParameters const *)arg1)->GetIntegerParam(arg2);
2400  jresult = (jint)result;
2401  return jresult;
2402 }
2403 
2404 
2407 
2408  (void)jenv;
2409  (void)jcls;
2410  arg1 = *(operations_research::MPSolverParameters **)&jarg1;
2411  delete arg1;
2412 }
2413 
2414 
2416  jlong jresult = 0 ;
2418 
2419  (void)jenv;
2420  (void)jcls;
2422  *(operations_research::MPModelExportOptions **)&jresult = result;
2423  return jresult;
2424 }
2425 
2426 
2427 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1Obfuscate_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
2429  bool arg2 ;
2430 
2431  (void)jenv;
2432  (void)jcls;
2433  (void)jarg1_;
2434  arg1 = *(operations_research::MPModelExportOptions **)&jarg1;
2435  arg2 = jarg2 ? true : false;
2436  if (arg1) (arg1)->obfuscate = arg2;
2437 }
2438 
2439 
2441  jboolean jresult = 0 ;
2443  bool result;
2444 
2445  (void)jenv;
2446  (void)jcls;
2447  (void)jarg1_;
2448  arg1 = *(operations_research::MPModelExportOptions **)&jarg1;
2449  result = (bool) ((arg1)->obfuscate);
2450  jresult = (jboolean)result;
2451  return jresult;
2452 }
2453 
2454 
2455 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1LogInvalidNames_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
2457  bool arg2 ;
2458 
2459  (void)jenv;
2460  (void)jcls;
2461  (void)jarg1_;
2462  arg1 = *(operations_research::MPModelExportOptions **)&jarg1;
2463  arg2 = jarg2 ? true : false;
2464  if (arg1) (arg1)->log_invalid_names = arg2;
2465 }
2466 
2467 
2469  jboolean jresult = 0 ;
2471  bool result;
2472 
2473  (void)jenv;
2474  (void)jcls;
2475  (void)jarg1_;
2476  arg1 = *(operations_research::MPModelExportOptions **)&jarg1;
2477  result = (bool) ((arg1)->log_invalid_names);
2478  jresult = (jboolean)result;
2479  return jresult;
2480 }
2481 
2482 
2483 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1ShowUnusedVariables_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
2485  bool arg2 ;
2486 
2487  (void)jenv;
2488  (void)jcls;
2489  (void)jarg1_;
2490  arg1 = *(operations_research::MPModelExportOptions **)&jarg1;
2491  arg2 = jarg2 ? true : false;
2492  if (arg1) (arg1)->show_unused_variables = arg2;
2493 }
2494 
2495 
2497  jboolean jresult = 0 ;
2499  bool result;
2500 
2501  (void)jenv;
2502  (void)jcls;
2503  (void)jarg1_;
2504  arg1 = *(operations_research::MPModelExportOptions **)&jarg1;
2505  result = (bool) ((arg1)->show_unused_variables);
2506  jresult = (jboolean)result;
2507  return jresult;
2508 }
2509 
2510 
2511 SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1MaxLineLength_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
2513  int arg2 ;
2514 
2515  (void)jenv;
2516  (void)jcls;
2517  (void)jarg1_;
2518  arg1 = *(operations_research::MPModelExportOptions **)&jarg1;
2519  arg2 = (int)jarg2;
2520  if (arg1) (arg1)->max_line_length = arg2;
2521 }
2522 
2523 
2525  jint jresult = 0 ;
2527  int result;
2528 
2529  (void)jenv;
2530  (void)jcls;
2531  (void)jarg1_;
2532  arg1 = *(operations_research::MPModelExportOptions **)&jarg1;
2533  result = (int) ((arg1)->max_line_length);
2534  jresult = (jint)result;
2535  return jresult;
2536 }
2537 
2538 
2541 
2542  (void)jenv;
2543  (void)jcls;
2544  arg1 = *(operations_research::MPModelExportOptions **)&jarg1;
2545  delete arg1;
2546 }
2547 
2548 
2549 #ifdef __cplusplus
2550 }
2551 #endif
2552 
#define LOG(severity)
Definition: base/logging.h:420
static jbyteArray MakeJByteArray(JNIEnv *env, const char *a, int size)
Definition: jniutil.h:59
static char * MakeCharArray(JNIEnv *env, jbyteArray a, int *size)
Definition: jniutil.h:47
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.
@ NOT_SOLVED
not been solved yet.
static void SolveWithProto(const MPModelRequest &model_request, MPSolutionResponse *response)
Solves the model encoded by a MPModelRequest protocol buffer and fills the solution encoded as a MPSo...
OptimizationProblemType
The type of problems (LP or MIP) that will be solved and the underlying solver (GLOP,...
static void SetGurobiLibraryPath(const std::string &full_library_path)
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.
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.
IncrementalityValues
Advanced usage: Incrementality options.
@ INCREMENTALITY_OFF
Start solve from scratch.
@ INCREMENTALITY_ON
Reuse results from previous solve as much as the underlying solver allows.
ScalingValues
Advanced usage: Scaling options.
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
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.
PresolveValues
For each categorical parameter, enumeration of possible values.
The class for variables of a Mathematical Programming (MP) model.
SharedResponseManager * response
const std::string name
IntVar * var
Definition: expr_array.cc:1858
GRBmodel * model
int64_t int64
unsigned char uint8
A C++ wrapper that provides a simple and unified interface to several linear programming and mixed in...
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1index(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_new_1MPSolver(JNIEnv *jenv, jclass jcls, jstring jarg1, jint jarg2)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1minimization(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1INCREMENTALITY_1ON_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1setHint(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobjectArray jarg2, jdoubleArray jarg3)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1CPLEX_1LINEAR_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1kDefaultPresolve_1get(JNIEnv *jenv, jclass jcls)
SWIGINTERN operations_research::MPSolutionResponse operations_research_MPSolver_createSolutionResponseProto(operations_research::MPSolver *self)
SWIGEXPORT jdoubleArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1computeConstraintActivities(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1setOptimizationDirection(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeVar(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3, jboolean jarg4, jstring jarg5)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1value(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1LP_1ALGORITHM_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1basisStatus(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1SCALING_1ON_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1isMip(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1createSolver(JNIEnv *jenv, jclass jcls, jstring jarg1)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1setLb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2)
SWIGINTERN std::string operations_research_MPSolver_loadModelFromProtoWithUniqueNamesOrDie(operations_research::MPSolver *self, operations_research::MPModelProto const &input_model)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1solve_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1objective(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1suppressOutput(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1PRESOLVE_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1BOP_1INTEGER_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1PRESOLVE_1ON_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeConstraint_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3, jstring jarg4)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1SAT_1INTEGER_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setBounds(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1basisStatus(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1kDefaultPrimalTolerance_1get(JNIEnv *jenv, jclass jcls)
SWIGINTERN bool operations_research_MPSolver_setNumThreads(operations_research::MPSolver *self, int num_theads)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1NOT_1SOLVED_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1getCoefficient(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
SWIGEXPORT jobjectArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1variables(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1nodes(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setIsLazy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2)
SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1name(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_delete_1MPVariable(JNIEnv *jenv, jclass jcls, jlong jarg1)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1getDoubleParam(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1lb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1setTimeLimit(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2)
SWIGEXPORT jbyteArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1createSolutionResponseProto(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1computeExactConditionNumber(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1GLPK_1LINEAR_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGINTERN bool operations_research_MPSolver_loadSolutionFromProto(operations_research::MPSolver *self, operations_research::MPSolutionResponse const &response)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1setOffset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1supportsProblemType(JNIEnv *jenv, jclass jcls, jint jarg1)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeBoolVar(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1maximization(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1lb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_delete_1MPModelExportOptions(JNIEnv *jenv, jclass jcls, jlong jarg1)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1solve_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setCoefficient(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jdouble jarg3)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1setMinimization(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1setInteger(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1setUb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2)
SWIGEXPORT jbyteArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1exportModelToProto(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_new_1MPModelExportOptions(JNIEnv *jenv, jclass jcls)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1ShowUnusedVariables_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeNumVar(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3, jstring jarg4)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1isLazy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_delete_1MPConstraint(JNIEnv *jenv, jclass jcls, jlong jarg1)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1DUAL_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1SCIP_1MIXED_1INTEGER_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
#define SWIGUNUSED
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1PRESOLVE_1OFF_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1GUROBI_1LINEAR_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg)
@ SWIG_JavaIOException
@ SWIG_JavaArithmeticException
@ SWIG_JavaUnknownError
@ SWIG_JavaRuntimeException
@ SWIG_JavaNullPointerException
@ SWIG_JavaDirectorPureVirtual
@ SWIG_JavaOutOfMemoryError
@ SWIG_JavaIllegalStateException
@ SWIG_JavaIllegalArgumentException
@ SWIG_JavaIndexOutOfBoundsException
SWIGINTERN std::string operations_research_MPSolver_loadModelFromProto(operations_research::MPSolver *self, operations_research::MPModelProto const &input_model)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1BARRIER_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1FREE_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1loadSolutionFromProto(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_delete_1MPSolverParameters(JNIEnv *jenv, jclass jcls, jlong jarg1)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1index(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1setSolverSpecificParametersAsString(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1Obfuscate_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1setDoubleParam(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jdouble jarg3)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1XPRESS_1MIXED_1INTEGER_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1CPLEX_1MIXED_1INTEGER_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1CLP_1LINEAR_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1infinity(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1offset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1ub(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1DUAL_1TOLERANCE_1get(JNIEnv *jenv, jclass jcls)
SWIGINTERN std::string operations_research_MPSolver_exportModelAsMpsFormat__SWIG_0(operations_research::MPSolver *self, operations_research::MPModelExportOptions const &options=operations_research::MPModelExportOptions())
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1numConstraints(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_delete_1MPSolver(JNIEnv *jenv, jclass jcls, jlong jarg1)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1INCREMENTALITY_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1LogInvalidNames_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
#define SWIGINTERN
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1reset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1MaxLineLength_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1GLOP_1LINEAR_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jbyteArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1solveWithProto(JNIEnv *jenv, jclass jcls, jbyteArray jarg1)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1ub(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1exportModelAsLpFormat_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeConstraint_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1lookupConstraintOrNull(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1loadModelFromProto(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1exportModelAsMpsFormat_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
SWIGINTERN void operations_research_MPSolver_setHint(operations_research::MPSolver *self, std::vector< operations_research::MPVariable * > const &variables, std::vector< double > const &values)
SWIGINTERN operations_research::MPSolutionResponse operations_research_MPSolver_solveWithProto(operations_research::MPModelRequest const &model_request)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1kDefaultRelativeMipGap_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1Obfuscate_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1CBC_1MIXED_1INTEGER_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1setNumThreads(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1loadModelFromProtoWithUniqueNamesOrDie(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jbyteArray jarg2)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1kDefaultDualTolerance_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1ShowUnusedVariables_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1setGurobiLibraryPath(JNIEnv *jenv, jclass jcls, jstring jarg1)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeIntVar(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3, jstring jarg4)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1RELATIVE_1MIP_1GAP_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setLb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2)
SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1exportModelAsMpsFormat_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeConstraint_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1solutionValue(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1interruptSolve(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1XPRESS_1LINEAR_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1PRIMAL_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1kDefaultIncrementality_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1INCREMENTALITY_1OFF_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1PRIMAL_1TOLERANCE_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1SCALING_1OFF_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1setIntegerParam(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jint jarg3)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1reducedCost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1makeConstraint_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3)
SWIGEXPORT jobjectArray JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1constraints(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1setCoefficient(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jdouble jarg3)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1dualValue(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPConstraint_1setUb(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1setBounds(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3)
SWIGEXPORT jboolean JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1verifySolution(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jboolean jarg3)
SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1exportModelAsLpFormat_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1LogInvalidNames_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_new_1MPSolverParameters(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1getCoefficient(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_)
#define SWIGEXPORT
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1enableOutput(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGINTERN std::string operations_research_MPSolver_exportModelAsLpFormat__SWIG_0(operations_research::MPSolver *self, operations_research::MPModelExportOptions const &options=operations_research::MPModelExportOptions())
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jstring JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPVariable_1name(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1GUROBI_1MIXED_1INTEGER_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1SCALING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1wallTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolverParameters_1getIntegerParam(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1GLPK_1MIXED_1INTEGER_1PROGRAMMING_1get(JNIEnv *jenv, jclass jcls)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1lookupVariableOrNull(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2)
SWIGEXPORT jdouble JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1bestBound(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_delete_1MPObjective(JNIEnv *jenv, jclass jcls, jlong jarg1)
SWIGEXPORT jint JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1numVariables(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGINTERN operations_research::MPModelProto operations_research_MPSolver_exportModelToProto(operations_research::MPSolver *self)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPObjective_1setMaximization(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT jlong JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPSolver_1iterations(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_)
SWIGEXPORT void JNICALL Java_com_google_ortools_linearsolver_main_1research_1linear_1solverJNI_MPModelExportOptions_1MaxLineLength_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2)
const int FATAL
Definition: log_severity.h:32
std::function< int64(const Model &)> Value(IntegerVariable v)
Definition: integer.h:1487
IntegerValue GetCoefficient(const IntegerVariable var, const LinearExpression &expr)
absl::StatusOr< std::string > ExportModelAsMpsFormat(const MPModelProto &model, const MPModelExportOptions &options)
Outputs the current model (variables, constraints, objective) as a string encoded in MPS file format,...
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...
int index
Definition: pack.cc:508
SWIG_JavaExceptionCodes code