I am not sure if this is really a "coloring" problem, as it is a assignment / linear programming problem. I also have no experience, so I apologize for any nubo that could follow. But I feel that this problem should have been almost completely solved / investigated before, I just could not find anything by looking at many graph algorithms at http://en.wikipedia.org/wiki/Category:Graph_algorithms . I was hoping some pointers were in the right direction.
The expression-task effectively reduces to:
There are two types of vertices in a graph: routers and kernels.
Kernels connect only to routers. Each core connects to only one router. And each has a user-entered / specific "color". (In my particular problem, color is limited to one of 4/5 possible colors). Their color cannot be changed; this is an input parameter. (The kernels are the squares in the image below)
Routers connect to the cores, as well as to other routers. They do not have a “color” assigned to them. Color assignment is part of the purpose of the program / algorithm. (Routers are the circular vertices in the image below.)
The goal of the program is to assign colors for each router on the graph so that the number of “intersections” / edges between vertices of different colors is minimized.
(Alternative view: in fact, you are given a graph in which some vertices are colored, while others are not. The goal is to color those that are not such that the number of edges between vertices of different colors is minimized.)
I was able to formulate this (rather poorly confident) as an Integer-Linear-Program and set up a solution / approach using LP-Solve. I also have a heuristic. I would like to know the “correct” / famous / other approaches to solving this ?!
Many thanks!

source share