Exemple #1
0
        static void Main(string[] args)
        {
            int[] val = new int[] { 60, 120, 100 };
            int[] wt  = new int[] { 10, 30, 20 };
            int[] x   = new int[] { 0, 0, 0 };
            int[] y   = new int[] { 0, 0, 0 };
            int   W   = 50;
            int   n   = val.Length;

            Console.WriteLine("knapsack capacity is: " + W);
            Console.WriteLine("knapsack contains " + n + " items.");
            for (int i = 0; i < wt.Length; i++)
            {
                Console.WriteLine("Item '" + i + "' weight is " + wt[i]);
                Console.WriteLine("Item '" + i + "' value is " + val[i]);
                Console.WriteLine("...............................");
            }
            GeneticKnapsack genetic = new GeneticKnapsack(wt, val, W, wt.Length, 13, 100);

            genetic.solveGenetic();
            Console.WriteLine("----------------------------------------------------------");
            KnapsackDP DP = new KnapsackDP(wt, val, W);

            DP.solveDP();
            Console.WriteLine("----------------------------------------------------------");
        }
 public static int[] getFittest()
 {
     // fittest = 0;
     int[] best = new int[nitems];
     for (int i = 0; i < solutions.Count; i++)
     {
         if (fittest < GeneticKnapsack.calcFitness((int[])solutions[i]))
         {
             fittest = GeneticKnapsack.calcFitness((int[])solutions[i]);
             best    = (int[])solutions[i];
         }
     }
     // i might need to save fittest
     return(best);
 }