代码之家  ›  专栏  ›  技术社区  ›  Carlos

运输优化问题的非等成本数组生成算法

  •  1
  • Carlos  · 技术社区  · 14 年前

    我有一个优化器,可以解决运输问题,使用所有可能路径的成本矩阵。

    我想要最少的路线数,并做到这一点

    现在,我将成本矩阵传递给一个烘焙函数,该函数测试每个条目是否与其他条目相等,如果匹配,则将其移动固定的百分比。但是,这种方法似乎需要N^2比较,如果起始值都相同,则最后的成本会更大(r是任意的固定百分比)。还有一个问题是,乘以这个百分比,你会得到另一个值的顶部。所以这个问题似乎有一个递归元素,或者至少是重复检查,这会使代码膨胀。

    例子: {1,1,2,3,4,5}(tol=0.05)变为{1,1.05,2,3,4,5}

    2 回复  |  直到 14 年前
        1
  •  0
  •   Chris Hulan    14 年前

    与其相互比较所有值,不如尝试更线性的方法:

    危险!前向伪代码。。。

    seen = {}
    for i=0:
      for j=0:
        if cost_matrix[i,j] in seen:
          cost_matrix[i,j] = cost_matrix[i,j]+percentage
        append cost_matrix[i,j] to seen
        j++
      i++
    
        2
  •  0
  •   Grembo    14 年前

    不必太挑剔,但我认为你描述的是最短路径问题。

    这是个好主意 paper 关于处理所有对中的冗余最短路径问题。