first commit, included knapsack class, campaign class and skeletons for solver and optimizer