
AI Blueprints
By :

The problem of cloud infrastructure planning may be solved with a constraint satisfaction engine, also known as a constraint solver. Constraint solving is a search process that attempts to minimize (or maximize) certain metrics while respecting certain constraints. There are many algorithmic methods for finding solutions that meet all the constraints and simultaneously minimize or maximize certain metrics. These methods include branch-and-bound, tabu search, simulated annealing, and genetic algorithms. It is worth noting that except in relatively simplistic cases, the optimal solution (as opposed to near-optimal) cannot be found efficiently, where "efficiently" refers to thousands of seconds as compared to thousands of years. We will develop a cloud infrastructure planner that searches for a good solution, but it might not be optimal.
In order to use a constraint solver, we need to know the following about our problem: