Files
ortools-clone/docs/java/KnapsackSolver_8java_source.html
2019-07-11 17:54:23 -07:00

73 lines
37 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">OR-Tools 7.2</span>
</div>
</div>
<link rel="icon" href="https://developers.google.com/optimization/images/orLogo.png">
<div id="content">
<!-- Generated by Doxygen 1.8.15 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_a7cc1eeded8f693d0da6c729bc88c45a.html">ortools</a></li><li class="navelem"><a class="el" href="dir_b2c6d49957bf5d0c7726edb4b829cd4d.html">gen</a></li><li class="navelem"><a class="el" href="dir_82da1734a9cb0f1cf40dbd95c2117ce5.html">com</a></li><li class="navelem"><a class="el" href="dir_1713cbfcde5229f242ac28be432e77c9.html">google</a></li><li class="navelem"><a class="el" href="dir_06c320066273db25e45ae140036401c9.html">ortools</a></li><li class="navelem"><a class="el" href="dir_6f5f39259ccb3a3cf2057c81e7707870.html">algorithms</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">KnapsackSolver.java</div> </div>
</div><!--header-->
<div class="contents">
<a href="KnapsackSolver_8java.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/* ----------------------------------------------------------------------------</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * This file was automatically generated by SWIG (http://www.swig.org).</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Version 4.0.0</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Do not make changes to this file unless you know what you are doing--modify</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * the SWIG interface file instead.</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * ----------------------------------------------------------------------------- */</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div><div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="namespacecom_1_1google_1_1ortools_1_1algorithms.html"> 9</a></span>&#160;<span class="keyword">package </span>com.google.ortools.algorithms;</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html"> 63</a></span>&#160;<span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html">KnapsackSolver</a> {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keyword">private</span> <span class="keyword">transient</span> <span class="keywordtype">long</span> swigCPtr;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">protected</span> <span class="keyword">transient</span> <span class="keywordtype">boolean</span> swigCMemOwn;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4af9744830d1c4b8a1428f6987a83848"> 67</a></span>&#160; <span class="keyword">protected</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4af9744830d1c4b8a1428f6987a83848">KnapsackSolver</a>(<span class="keywordtype">long</span> cPtr, <span class="keywordtype">boolean</span> cMemoryOwn) {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; swigCMemOwn = cMemoryOwn;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; swigCPtr = cPtr;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keywordtype">long</span> getCPtr(<a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html">KnapsackSolver</a> obj) {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> (obj == <span class="keyword">null</span>) ? 0 : obj.swigCPtr;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; @SuppressWarnings(<span class="stringliteral">&quot;deprecation&quot;</span>)</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; protected <span class="keywordtype">void</span> finalize() {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keyword">delete</span>();</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a1dc7589ad0a7fcd25a698d3b4bd58ed4"> 81</a></span>&#160; <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keywordtype">void</span> <span class="keyword">delete</span>() {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span> (swigCPtr != 0) {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (swigCMemOwn) {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; swigCMemOwn = <span class="keyword">false</span>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; mainJNI.delete_KnapsackSolver(swigCPtr);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; swigCPtr = 0;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a71315d371d629b375775e02809bf823b"> 91</a></span>&#160; <span class="keyword">public</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a71315d371d629b375775e02809bf823b">KnapsackSolver</a>(String solver_name) {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">this</span>(mainJNI.new_KnapsackSolver__SWIG_0(solver_name), <span class="keyword">true</span>);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a6c87ed971aadba08e35a4ea8966100c1"> 95</a></span>&#160; <span class="keyword">public</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a6c87ed971aadba08e35a4ea8966100c1">KnapsackSolver</a>(<a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html">KnapsackSolver</a>.<a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html">SolverType</a> solver_type, String solver_name) {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">this</span>(mainJNI.new_KnapsackSolver__SWIG_1(solver_type.swigValue(), solver_name), <span class="keyword">true</span>);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4c448eb5e9b767c402d9c3b55ead64f3"> 102</a></span>&#160; <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4c448eb5e9b767c402d9c3b55ead64f3">init</a>(<span class="keywordtype">long</span>[] profits, <span class="keywordtype">long</span>[][] weights, <span class="keywordtype">long</span>[] capacities) {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; mainJNI.KnapsackSolver_init(swigCPtr, <span class="keyword">this</span>, profits, weights, capacities);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a86b9400f19838acc60411703ece777c6"> 109</a></span>&#160; <span class="keyword">public</span> <span class="keywordtype">long</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a86b9400f19838acc60411703ece777c6">solve</a>() {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> mainJNI.KnapsackSolver_solve(swigCPtr, <span class="keyword">this</span>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4289dd15929df6a7b20acbac3f6eae55"> 116</a></span>&#160; <span class="keyword">public</span> <span class="keywordtype">boolean</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4289dd15929df6a7b20acbac3f6eae55">bestSolutionContains</a>(<span class="keywordtype">int</span> item_id) {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">return</span> mainJNI.KnapsackSolver_bestSolutionContains(swigCPtr, <span class="keyword">this</span>, item_id);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4739782e483a17d41c93850f372f22e4"> 123</a></span>&#160; <span class="keyword">public</span> <span class="keywordtype">boolean</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4739782e483a17d41c93850f372f22e4">isSolutionOptimal</a>() {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> mainJNI.KnapsackSolver_isSolutionOptimal(swigCPtr, <span class="keyword">this</span>);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a3ca12bb3360598c0548d0de81b38c34b"> 127</a></span>&#160; <span class="keyword">public</span> String <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a3ca12bb3360598c0548d0de81b38c34b">getName</a>() {</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> mainJNI.KnapsackSolver_getName(swigCPtr, <span class="keyword">this</span>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a9397051479da2ba13997e21ce9b02493"> 131</a></span>&#160; <span class="keyword">public</span> <span class="keywordtype">boolean</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a9397051479da2ba13997e21ce9b02493">useReduction</a>() {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> mainJNI.KnapsackSolver_useReduction(swigCPtr, <span class="keyword">this</span>);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a807708964205a04f7fd5252341200daf"> 135</a></span>&#160; <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a807708964205a04f7fd5252341200daf">setUseReduction</a>(<span class="keywordtype">boolean</span> use_reduction) {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; mainJNI.KnapsackSolver_setUseReduction(swigCPtr, <span class="keyword">this</span>, use_reduction);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a5b08123bb36b0d7294f2630cbfeb9121"> 145</a></span>&#160; <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a5b08123bb36b0d7294f2630cbfeb9121">setTimeLimit</a>(<span class="keywordtype">double</span> time_limit_seconds) {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; mainJNI.KnapsackSolver_setTimeLimit(swigCPtr, <span class="keyword">this</span>, time_limit_seconds);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html"> 155</a></span>&#160; <span class="keyword">public</span> <span class="keyword">enum</span> <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html">SolverType</a> {</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a70d82302e63947eaa0c6611bc374a1d7"> 164</a></span>&#160; <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a70d82302e63947eaa0c6611bc374a1d7">KNAPSACK_BRUTE_FORCE_SOLVER</a>(mainJNI.KnapsackSolver_KNAPSACK_BRUTE_FORCE_SOLVER_get()),</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a0f4f9a731e7b06b97363d3db5e7242b2"> 172</a></span>&#160; <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a0f4f9a731e7b06b97363d3db5e7242b2">KNAPSACK_64ITEMS_SOLVER</a>(mainJNI.KnapsackSolver_KNAPSACK_64ITEMS_SOLVER_get()),</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#acabadf68ecf9fc0cf8d6536fb3c9849b"> 180</a></span>&#160; <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#acabadf68ecf9fc0cf8d6536fb3c9849b">KNAPSACK_DYNAMIC_PROGRAMMING_SOLVER</a>(mainJNI.KnapsackSolver_KNAPSACK_DYNAMIC_PROGRAMMING_SOLVER_get()),</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#ad51bb5a93f6c00dbdb8f2dce5d4bc0ba"> 187</a></span>&#160; <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#ad51bb5a93f6c00dbdb8f2dce5d4bc0ba">KNAPSACK_MULTIDIMENSION_CBC_MIP_SOLVER</a>(mainJNI.KnapsackSolver_KNAPSACK_MULTIDIMENSION_CBC_MIP_SOLVER_get()),</div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a01954933c623c5525a6c1cfdfaa05de7"> 194</a></span>&#160; <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a01954933c623c5525a6c1cfdfaa05de7">KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER</a>(mainJNI.KnapsackSolver_KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER_get());</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#ad42ed19878d99f727cfb897963df6fe5"> 196</a></span>&#160; <span class="keyword">public</span> <span class="keyword">final</span> <span class="keywordtype">int</span> <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#ad42ed19878d99f727cfb897963df6fe5">swigValue</a>() {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> swigValue;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a04b824b5950c38369889c8f4d5522867"> 200</a></span>&#160; <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html">SolverType</a> <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a04b824b5950c38369889c8f4d5522867">swigToEnum</a>(<span class="keywordtype">int</span> swigValue) {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html">SolverType</a>[] swigValues = <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html">SolverType</a>.class.getEnumConstants();</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (swigValue &lt; swigValues.length &amp;&amp; swigValue &gt;= 0 &amp;&amp; swigValues[swigValue].swigValue == swigValue)</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> swigValues[swigValue];</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html">SolverType</a> swigEnum : swigValues)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (swigEnum.swigValue == swigValue)</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> swigEnum;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="stringliteral">&quot;No enum &quot;</span> + <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html">SolverType</a>.class + <span class="stringliteral">&quot; with value &quot;</span> + swigValue);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; @SuppressWarnings(<span class="stringliteral">&quot;unused&quot;</span>)</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; private <a class="code" href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html">SolverType</a>() {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; this.swigValue = SwigNext.next++;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; @SuppressWarnings(<span class="stringliteral">&quot;unused&quot;</span>)</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; private SolverType(<span class="keywordtype">int</span> swigValue) {</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; this.swigValue = swigValue;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; SwigNext.next = swigValue+1;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; @SuppressWarnings(<span class="stringliteral">&quot;unused&quot;</span>)</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; private SolverType(SolverType swigEnum) {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; this.swigValue = swigEnum.swigValue;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; SwigNext.next = this.swigValue+1;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keyword">private</span> <span class="keyword">final</span> <span class="keywordtype">int</span> swigValue;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">class </span>SwigNext {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">private</span> <span class="keyword">static</span> <span class="keywordtype">int</span> next = 0;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;}</div><div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a86b9400f19838acc60411703ece777c6"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a86b9400f19838acc60411703ece777c6">com.google.ortools.algorithms.KnapsackSolver.solve</a></div><div class="ttdeci">long solve()</div><div class="ttdoc">Solves the problem and returns the profit of the optimal solution.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00109">KnapsackSolver.java:109</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a4c448eb5e9b767c402d9c3b55ead64f3"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4c448eb5e9b767c402d9c3b55ead64f3">com.google.ortools.algorithms.KnapsackSolver.init</a></div><div class="ttdeci">void init(long[] profits, long[][] weights, long[] capacities)</div><div class="ttdoc">Initializes the solver and enters the problem to be solved.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00102">KnapsackSolver.java:102</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a5b08123bb36b0d7294f2630cbfeb9121"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a5b08123bb36b0d7294f2630cbfeb9121">com.google.ortools.algorithms.KnapsackSolver.setTimeLimit</a></div><div class="ttdeci">void setTimeLimit(double time_limit_seconds)</div><div class="ttdoc">Time limit in seconds.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00145">KnapsackSolver.java:145</a></div></div>
<div class="ttc" id="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType_html_acabadf68ecf9fc0cf8d6536fb3c9849b"><div class="ttname"><a href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#acabadf68ecf9fc0cf8d6536fb3c9849b">com.google.ortools.algorithms.KnapsackSolver.SolverType.KNAPSACK_DYNAMIC_PROGRAMMING_SOLVER</a></div><div class="ttdeci">KNAPSACK_DYNAMIC_PROGRAMMING_SOLVER</div><div class="ttdoc">Dynamic Programming approach for single dimension problems Limited to one dimension,...</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00180">KnapsackSolver.java:180</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a3ca12bb3360598c0548d0de81b38c34b"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a3ca12bb3360598c0548d0de81b38c34b">com.google.ortools.algorithms.KnapsackSolver.getName</a></div><div class="ttdeci">String getName()</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00127">KnapsackSolver.java:127</a></div></div>
<div class="ttc" id="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType_html_a0f4f9a731e7b06b97363d3db5e7242b2"><div class="ttname"><a href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a0f4f9a731e7b06b97363d3db5e7242b2">com.google.ortools.algorithms.KnapsackSolver.SolverType.KNAPSACK_64ITEMS_SOLVER</a></div><div class="ttdeci">KNAPSACK_64ITEMS_SOLVER</div><div class="ttdoc">Optimized method for single dimension small problems Limited to 64 items and one dimension,...</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00172">KnapsackSolver.java:172</a></div></div>
<div class="ttc" id="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType_html_ad42ed19878d99f727cfb897963df6fe5"><div class="ttname"><a href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#ad42ed19878d99f727cfb897963df6fe5">com.google.ortools.algorithms.KnapsackSolver.SolverType.swigValue</a></div><div class="ttdeci">final int swigValue()</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00196">KnapsackSolver.java:196</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a4289dd15929df6a7b20acbac3f6eae55"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4289dd15929df6a7b20acbac3f6eae55">com.google.ortools.algorithms.KnapsackSolver.bestSolutionContains</a></div><div class="ttdeci">boolean bestSolutionContains(int item_id)</div><div class="ttdoc">Returns true if the item 'item_id' is packed in the optimal knapsack.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00116">KnapsackSolver.java:116</a></div></div>
<div class="ttc" id="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType_html"><div class="ttname"><a href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html">com.google.ortools.algorithms.KnapsackSolver.SolverType</a></div><div class="ttdoc">Enum controlling which underlying algorithm is used.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00155">KnapsackSolver.java:155</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html">com.google.ortools.algorithms.KnapsackSolver</a></div><div class="ttdoc">This library solves knapsack problems.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00063">KnapsackSolver.java:63</a></div></div>
<div class="ttc" id="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType_html_ad51bb5a93f6c00dbdb8f2dce5d4bc0ba"><div class="ttname"><a href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#ad51bb5a93f6c00dbdb8f2dce5d4bc0ba">com.google.ortools.algorithms.KnapsackSolver.SolverType.KNAPSACK_MULTIDIMENSION_CBC_MIP_SOLVER</a></div><div class="ttdeci">KNAPSACK_MULTIDIMENSION_CBC_MIP_SOLVER</div><div class="ttdoc">CBC Based Solver This solver can deal with both large number of items and several dimensions.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00187">KnapsackSolver.java:187</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a6c87ed971aadba08e35a4ea8966100c1"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a6c87ed971aadba08e35a4ea8966100c1">com.google.ortools.algorithms.KnapsackSolver.KnapsackSolver</a></div><div class="ttdeci">KnapsackSolver(KnapsackSolver.SolverType solver_type, String solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00095">KnapsackSolver.java:95</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a71315d371d629b375775e02809bf823b"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a71315d371d629b375775e02809bf823b">com.google.ortools.algorithms.KnapsackSolver.KnapsackSolver</a></div><div class="ttdeci">KnapsackSolver(String solver_name)</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00091">KnapsackSolver.java:91</a></div></div>
<div class="ttc" id="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType_html_a01954933c623c5525a6c1cfdfaa05de7"><div class="ttname"><a href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a01954933c623c5525a6c1cfdfaa05de7">com.google.ortools.algorithms.KnapsackSolver.SolverType.KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER</a></div><div class="ttdeci">KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER</div><div class="ttdoc">Generic Solver.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00194">KnapsackSolver.java:194</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a9397051479da2ba13997e21ce9b02493"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a9397051479da2ba13997e21ce9b02493">com.google.ortools.algorithms.KnapsackSolver.useReduction</a></div><div class="ttdeci">boolean useReduction()</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00131">KnapsackSolver.java:131</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a807708964205a04f7fd5252341200daf"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a807708964205a04f7fd5252341200daf">com.google.ortools.algorithms.KnapsackSolver.setUseReduction</a></div><div class="ttdeci">void setUseReduction(boolean use_reduction)</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00135">KnapsackSolver.java:135</a></div></div>
<div class="ttc" id="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType_html_a70d82302e63947eaa0c6611bc374a1d7"><div class="ttname"><a href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a70d82302e63947eaa0c6611bc374a1d7">com.google.ortools.algorithms.KnapsackSolver.SolverType.KNAPSACK_BRUTE_FORCE_SOLVER</a></div><div class="ttdeci">KNAPSACK_BRUTE_FORCE_SOLVER</div><div class="ttdoc">Brute force method.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00164">KnapsackSolver.java:164</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a4af9744830d1c4b8a1428f6987a83848"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4af9744830d1c4b8a1428f6987a83848">com.google.ortools.algorithms.KnapsackSolver.KnapsackSolver</a></div><div class="ttdeci">KnapsackSolver(long cPtr, boolean cMemoryOwn)</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00067">KnapsackSolver.java:67</a></div></div>
<div class="ttc" id="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType_html_a04b824b5950c38369889c8f4d5522867"><div class="ttname"><a href="enumcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_1_1SolverType.html#a04b824b5950c38369889c8f4d5522867">com.google.ortools.algorithms.KnapsackSolver.SolverType.swigToEnum</a></div><div class="ttdeci">static SolverType swigToEnum(int swigValue)</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00200">KnapsackSolver.java:200</a></div></div>
<div class="ttc" id="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver_html_a4739782e483a17d41c93850f372f22e4"><div class="ttname"><a href="classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver.html#a4739782e483a17d41c93850f372f22e4">com.google.ortools.algorithms.KnapsackSolver.isSolutionOptimal</a></div><div class="ttdeci">boolean isSolutionOptimal()</div><div class="ttdoc">Returns true if the solution was proven optimal.</div><div class="ttdef"><b>Definition:</b> <a href="KnapsackSolver_8java_source.html#l00123">KnapsackSolver.java:123</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>