<p>Probably it just depends on the argument <code>len</code> of the function. For example, if I run the following code </p>

<pre class="lang-r prettyprint-override"><code># packages
library(FLSSS)

# data
prof &lt;- c(400, 320, 230, 210, 190, 130)
costs &lt;- cbind(
  c(6, 3, 2, 2, 2, 1), 
  c(8, 8, 7, 6, 5, 4)
)

capac &lt;- c(9, 18)
</code></pre>

<p>then I get your current optimal sack </p>

<pre class="lang-r prettyprint-override"><code>mmKnapsack(
  maxCore = 3, 
  len = 2, 
  itemsProfits = prof, 
  itemsCosts = costs, 
  capacities = capac
)
#&gt; Updated profit = 720
#&gt; $solution
#&gt; [1] 2 1
#&gt; 
#&gt; $selectionCosts
#&gt; [1]  9 16
#&gt; 
#&gt; $budgets
#&gt; [1]  9 18
#&gt; 
#&gt; $selectionProfit
#&gt; [1] 720
#&gt; 
#&gt; $unconstrainedMaxProfit
#&gt; [1] 720
</code></pre>

<p>but if I increase the maximum subsize size (i.e. please note that I set <code>len = 3</code>), the I get another optimal solution. </p>

<pre class="lang-r prettyprint-override"><code>mmKnapsack(
  maxCore = 3, 
  len = 3, 
  itemsProfits = prof, 
  itemsCosts = costs, 
  capacities = capac
)
#&gt; Updated profit = 630
#&gt; Updated profit = 660
#&gt; Updated profit = 720
#&gt; Updated profit = 740
#&gt; $solution
#&gt; [1] 6 4 1
#&gt; 
#&gt; $selectionCosts
#&gt; [1]  9 18
#&gt; 
#&gt; $budgets
#&gt; [1]  9 18
#&gt; 
#&gt; $selectionProfit
#&gt; [1] 740
#&gt; 
#&gt; $unconstrainedMaxProfit
#&gt; [1] 950
</code></pre>

<p><sup>Created on 2020-03-19 by the <a href="https://reprex.tidyverse.org" rel="nofollow noreferrer">reprex package</a> (v0.3.0)</sup></p>

<p>From the <a href="https://arxiv.org/abs/1612.04484" rel="nofollow noreferrer">package docs</a> you can read that if you set <code>len = 0</code>, then FLSSS function tries to look for the optimal solution for all subset sizes, i.e.</p>

<pre class="lang-r prettyprint-override"><code>mmKnapsack(
  maxCore = 3, 
  len = 0, 
  itemsProfits = prof, 
  itemsCosts = costs, 
  capacities = capac
)
#&gt; Updated profit = 630
#&gt; Updated profit = 740
#&gt; $solution
#&gt; [1] 1 4 6
#&gt; 
#&gt; $selectionCosts
#&gt; [1]  9 18
#&gt; 
#&gt; $budgets
#&gt; [1]  9 18
#&gt; 
#&gt; $selectionProfit
#&gt; [1] 740
#&gt; 
#&gt; $unconstrainedMaxProfit
#&gt; [1] NA
</code></pre>

<p><sup>Created on 2020-03-19 by the <a href="https://reprex.tidyverse.org" rel="nofollow noreferrer">reprex package</a> (v0.3.0)</sup></p>
Has anyone used the mmKnapsack function from the FLSSS R package, and received sub-optimal solutions?
<p>I've just tried using the mmKnapsack function to solve a multi-dimensional knapsack problem in R.
I noticed that the solution seemed a bit suspect, so I tried a very simple 2-d problem:<a href="https://i.stack.imgur.com/uyvNB.png" rel="nofollow noreferrer">the 2-d problem</a>. It returned an optimal profit of 720, which I can easily see is not the optimal profit of the 2-d problem(the optimal profit is 740). It returns a solution of items 2 and 1 <a href="https://i.stack.imgur.com/6iNAI.png" rel="nofollow noreferrer">as shown here</a>, but the optimal solution is items 1, 4 and 6.
<a href="https://i.stack.imgur.com/YFJ1l.png" rel="nofollow noreferrer">Here</a> is the code I ran </p>