1. A system for assigning flows to paths in a communication network, the communication network comprising a plurality of nodes, each node being connected to at least one other node by one or more links, each path in the communication network comprising a sequence of network nodes and links for a particular flow, the path starting with a source node and ending with a destination node, the system comprising: a Path Generator (PG), wherein the PG designates flow-to-path assignments in the communication network by using a genetic algorithm, wherein said genetic algorithm determines a fitness of a genotype from a plurality of constraint fitness functions, wherein said fitness is determined by using a genotype fitness function that is calculated as a weighted sum of said plurality of constraint fitness functions, wherein a coefficient is used to adjust a relative importance of each of said plurality of constraint fitness functions; an input interface, said input interface for connecting the PG and the communication network, the input interface for providing the PG with data from the communication network that pertains to one or more flows; and an output interface, the output interface for communicating said flow-to-path assignments designated by the PG to the communication network.