Meu problema é assim:
Eu tenho um layout físico representado como um gráfico. Os nós representam ganchos / dutos onde um fio pode ancorar e as arestas são a conexão possível entre 2 nós de onde o fio pode ir.
Existem alguns nós especiais, chamados divisores, nos quais um único fio pode ser dividido em 2 ou mais até k. O k pode ser considerado constante por enquanto, mas varia de nó para nó. Nem todos os nós são divisores.
Existe uma fonte de energia de onde um fio emergirá. É a fonte. O fio deve ser levado para n pias.
Uma aresta pode levar qualquer número de fios que a atravessem em qualquer direção.
O comprimento total do fio deve ser minimizado.
A natureza do gráfico, planar ou euclidiana não é conhecida.
Exemplo : Abaixo está uma rede de amostra. Os nós são nomeados como números e as arestas são fornecidas com pesos iguais de 1. A origem é Nó1 e os Pias são Nó5, Nó9 e Nó13. No caso 1 Nó6 é o nó Divisor. No caso 2 Nó6 e Nó4 são nós divisores. O nó divisor é k = 3, ou seja, pode receber um fio e dividi-lo em 3 fios.
Caso 1 . Apenas um nó divisor. Faz sentido dividir no Nó6.
Caso 2 . Nó de dois divisores. Faz sentido dividir no Nó4 em vez do Nó6.
Estou procurando estratégias diferentes para descobrir uma solução genérica para esse problema. O gráfico apresentado aqui é de menor escala em comparação com o problema em questão. O gráfico é estático e não pode ser alterado (a solução não deve sugerir nenhuma nova aresta ou propor uma nova localização do divisor). Qualquer referência a trabalhos de pesquisa publicados sobre esse tipo de problema também é bem-vinda.
Caso 3 . Nó de dois divisores. Faz sentido dividir no Nó4 e Nó14. Observe que este gabinete possui pesos de borda alterados para o Edge 8-12, 6-10 e 10-11. O importante neste caso é refazer um fio depois de ser dividido do Nó14.
fonte
@Chao Xu, também achei Steiner a aproximação mais próxima do meu problema. Estou explorando sistemas baseados em Ant para resolver esse problema.
fonte