How to fill Multiple Knapsacks PHP -
How to fill Multiple Knapsacks PHP -
this problem related knapsack problem.
i've multiple knapsacks x space, want fill knapsacks close x possible (i'm not going leave items behind). how can efficient way?
in code below loop through knapsacks, problem it's looking @ 'value' of items , if not gonna fit in sack leave to the lowest degree of import item behind.
//all knapsacks $knapsacks = array(1,1,1,1,1,1,1,1); foreach($knapsacks $knapsack){ ## initialize $m = ''; $pickeditems = ''; $totalval = ''; $totalwt = ''; ## solve list ($m4,$pickeditems) = knapsolvefast2($w4, $v4, sizeof($v4) -1, 32,$m); # display result echo "<b>items:</b><br>".join(", ",$items4)."<br>"; echo "<b>array indices:</b><br>".join(",",$pickeditems)."<br>"; echo "<b>chosen items:</b><br>"; echo "<table border cellspacing=0>"; echo "<tr><td>item</td><td>value</td><td>weight</td></tr>"; foreach($pickeditems $key) { $totalval += $v4[$key]; $totalwt += $w4[$key]; echo "<tr><td>".$items4[$key]."</td><td>".$v4[$key]."</td><td>".$w4[$key]."</td></tr>"; unset($items4[$key]); unset($v4[$key]); unset($w4[$key]); } echo "<tr><td align=right><b>totals</b></td><td>$totalval</td><td>$totalwt</td></tr>"; echo "</table><hr>"; }
php knapsack-problem
Comments
Post a Comment