Permuting a collection of values
When we permute a collection of values, we'll elaborate all the possible orders for the items. There are
itertools.permutations() function is only handy for exploring very small problems.One popular example of these combinatorial optimization problems is the assignment problem. We have n agents and n tasks, but the cost of each agent performing a given task is not equal. Imagine that some agents have trouble with some details, while other agents excel at these details. If we can properly assign tasks to agents, we can minimize the costs.
We can create a simple grid that shows how well a given agent is able to perform a given task. For a small...