@Test public void test2() throws FileNotFoundException { Knapsack kp = new Knapsack(); KnapsackLoader loader = new KnapsackLoader("data/knapsack_test2.txt"); kp.execute1(loader.load(), loader.getCapacity()); Assert.assertEquals(1686, kp.getMax1()); }
private void writeOutput() { // prepare the solution in the specified output format System.out.println(knapsack.getValue() + " 0"); for (Item i : itemList) { if (knapsack.containsItem(i)) { System.out.print("1 "); } else { System.out.print("0 "); } } }
public static void main(String args[]) { int p[]; int b; Knapsack inst; p = new int[args.length - 1]; b = Integer.parseInt(args[0]); for (int i = 1; i < args.length; i++) p[i - 1] = Integer.parseInt(args[i]); System.out.println("Budget = " + b + " yen,\n" + p.length + " items,\nPrices: "); for (int i = 0; i < p.length; i++) System.out.print("" + p[i] + ", "); System.out.println(); inst = new Knapsack(b, p); System.out.println(); System.out.println("\nSpend " + inst.bestbuy(p.length - 1, inst.budget) + " yen."); // System.out.println("\nSpend " + inst.dp() + " yen."); return; }
/* * (non-Javadoc) * @see java.lang.Comparable#compareTo(java.lang.Object) */ @Override public int compareTo(Knapsack o) { return this.getWeight().compareTo(o.getWeight()); }
/** * Test case borrowed from rosettacode. * * @see http://rosettacode.org/wiki/Knapsack_problem/0-1 */ @Test public void testGetSolution() { final Knapsack knapsack = new Knapsack(this.elements, 400); assertEquals(this.expected, knapsack.getSolution()); assertEquals(1030, knapsack.getTotalValue()); }