小编coo*_*cav的帖子

通过c ++中的网格/矩阵找到成本优化的路径

我遇到了问题,在网上找不到太多帮助.我需要从多个数字向量中找到数字的最小成本组合.所有向量的向量大小相同.例如,请考虑以下事项:

row [0]:  a  b  c  d   
row [1]:  e  f  g  h  
row [2]:  i  j  k  l  
Run Code Online (Sandbox Code Playgroud)

现在我需要通过从每一行中取一个元素即矢量来找到数字的组合,例如:aei
在此之后,我需要找到彼此不相交的其他三个组合,例如:bfj,cgk,dhl.我根据选择的这四种组合计算成本.目标是找到能够降低成本的组合.另一种可能的组合可以是:afj,bei,chk,dgl.如果列的总数是d并且行是k,则可能的总组合是d ^ k.行存储为向量.我被困在这里,我发现很难为上述过程编写算法.如果有人能提供帮助我真的很感激.
谢谢.

// I am still working on the algorithm. I just have the vectors and the cost function.  

//Cost Function  , it also depends on the path chosen
float cost(int a, int b, PATH to_a) {  
float costValue;  
...  
...  
return costValue;  
}  

vector< vector < int > > row;  
//populate row  
...   
...
//Suppose  

//    row …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm graph permutation shortest-path

13
推荐指数
2
解决办法
3745
查看次数

标签 统计

algorithm ×1

c++ ×1

graph ×1

permutation ×1

shortest-path ×1