You should probably read some background references on Operations Research and Optimization to understand where your problem fits in the grand scheme of possible problems before you go off and invest ...