Mon problème est comme ceci:
J'ai une disposition physique représentée sous forme de graphique. Les nœuds représentent des crochets / conduits où un fil peut ancrer et les bords sont la connexion possible entre 2 nœuds d'où le fil peut aller.
Il existe des nœuds spéciaux, appelés séparateurs, à partir desquels un seul fil peut être divisé en 2 ou plus jusqu'à k. Le k peut être pris constant pour l'instant mais il varie d'un nœud à l'autre. Tous les nœuds ne sont pas des séparateurs.
Il existe une source d'énergie d'où un fil émergera. C'est la source. Le fil doit être acheminé vers n éviers.
Un bord peut prendre n'importe quel nombre de fils qui le traversent dans les deux sens.
La longueur totale du fil doit être minimisée.
La nature du graphe, planaire ou euclidienne n'est pas connue.
Exemple : voici un exemple de réseau. Les nœuds sont nommés sous forme de nombres et les bords sont fournis avec des poids égaux de 1. La source est Node1 et les récepteurs sont Node5, Node9 et Node13. Dans le cas où 1 Node6 est le nœud Splitter. Dans le cas où 2 Node6 et Node4 sont des nœuds de séparation. Le nœud séparateur k = 3, c'est-à-dire qu'il peut prendre un fil et le diviser en 3 fils.
Cas 1 . Un seul nœud séparateur. Il est logique de se séparer au Node6.
Cas 2 . Nœud à deux séparateurs. Il est logique de diviser le nœud 4 au lieu du nœud 6.
Je recherche différentes stratégies pour trouver une solution générique à ce problème. Le graphique présenté ici est d'une plus petite échelle par rapport au problème en cours. Le graphique est statique et ne peut pas être modifié (je veux dire que la solution ne doit suggérer aucun nouveau bord ni proposer un nouvel emplacement de séparateur). Toute référence à un document de recherche publié sur ce type de problème est également la bienvenue.
Cas 3 . Nœud à deux séparateurs. Il est logique de diviser les nœuds 4 et 14. Notez que ce cas a des poids de bord modifiés pour les bords 8-12, 6-10 et 10-11. L'important dans ce cas est de retracer un fil après avoir été séparé de Node14.
@Chao Xu, j'ai également trouvé que Steiner était l'approximation la plus proche de mon problème. J'explore les systèmes basés sur Ant pour résoudre ce problème.
la source