// Copyright (c) 1997, 1998 Bruno R. Preiss, P.Eng. // $Author: brpreiss $ // $Date: 1998/12/14 02:57:41 $ // $RCSfile: Application12.java,v $ // $Revision: 3.3 $ package Opus5; /** * Application program that demonstrates the use of various * problem solvers to solve a scales-balancing problem and a * 0/1-knapsack problem. * @see ScalesBalancingProblem * @see ZeroOneKnapsackProblem * @see DepthFirstSolver * @see DepthFirstBranchAndBoundSolver * @see BreadthFirstSolver * @see BreadthFirstBranchAndBoundSolver * @author Bruno R. Preiss, P.Eng. * @version $Id: Application12.java,v 3.3 1998/12/14 02:57:41 brpreiss Exp $ **/ public class Application12 { //[ final String copyright = "@(#) Copyright (c) 1998 by Bruno R. Preiss, P.Eng."; //] /** * Uses four different solvers to solve a scales-balancing problem * and a 0/1-knapsack problem. * @param args The command-line arguments. Ignored. **/ public static void main (String[] args) { Solver solver1 = new DepthFirstSolver (); Solver solver2 = new DepthFirstBranchAndBoundSolver (); Solver solver3 = new BreadthFirstSolver (); Solver solver4 = new BreadthFirstBranchAndBoundSolver (); ScalesBalancingProblem scales = new ScalesBalancingProblem (new int[] {20, 20, 2, 2, 1}); Terminal.out.println (scales.solve (solver1)); Terminal.out.println (scales.solve (solver2)); Terminal.out.println (scales.solve (solver3)); Terminal.out.println (scales.solve (solver4)); ZeroOneKnapsackProblem knapsack =new ZeroOneKnapsackProblem ( new int[] {100, 50, 45, 20, 10, 5}, new int[] {40, 35, 18, 4, 10, 2}, 100); Terminal.out.println (knapsack.solve (solver1)); Terminal.out.println (knapsack.solve (solver2)); Terminal.out.println (knapsack.solve (solver3)); Terminal.out.println (knapsack.solve (solver4)); } }