An Improved Genetic Algorithm For Knapsack Problems