I am trying to optimize a complex problem. This is a real world problem that I am trying to summarize in a mathematical format.
THE PROBLEM
I need to connect N cables from S_i start points to E_i end points.
A graph G defines where the cables can pass and the maximum number of cables that can pass on each edge.
I need to connect all the cables trying to minimize a certain cost function. This can be for example the number edges used (each edge counts as 1 regardless of how many cables are passing there).
CURRENT SOLUTION
I solved the problem using a greedy algorithm by selecting first a cable path between S_0, E_0 e then the cable between S_1, E_1 and so on. At each iteration I was taking into account the edges that were still free.
QUESTION Now I think this solution is quiet far from the optimal and I'd like to improve the optimization strategy. Is there any standard approach to solve this type of problems?
DATA POINTS
In my current experiment I have 14 start/end tuples (S_i,E_i). I am able to compute the path from each S_i, E_i independently from the other and I have around 5000 possible paths each time.