Heuristics
Heuristics and meta heuristics (from now on called heuristics) constitute methods that can be used in order to solve discrete optimization problems. These methods are basically adapted when the number of possible solutions tends to grow large (which is often the case in industrial problems). For such real-world applications, methods that aim to find only the very best solution, like for instance integer programming, are too time consuming. Thus, we have to use heuristics instead in order to (hopefully) find at least one acceptable solution. Heuristics will provide good solutions in a relatively short amount of time, but we can not guarantee that we (always) find the best possible solution. However, for several industrial and real-world applications, it is sometimes enough to come up with "good enough" solutions.
SINTEF has for more than twenty years been doing research on heuristics and meta heuristics aiming to solve large optimizations problems, and hold a considerable amount of knowledge in the field, especially when it comes to tabu search, simulated annealing, and genetic algorithms.