我怎样才能确定我的数据集的最佳数据结构/实现?

前言:我是自学的编码员,所以我的许多知识仅限于我的研究。 我希望能有其他的意见,因为我想第一次做正确的事情。 我需要帮助确定一个合适的解决scheme,以及如何实施解决scheme。


我期望根据不同的交通方式( vehicles )和所采用的不同道路( paths )build立一个在不同位置( nodes )之间交付的最低成本替代模型(本质上是最短paths )。 另一个考虑因素是产品价格( value )来确定最小成本path。

这里是我的重要数据项目:

  • nodes :产品将要往返的城市。
  • paths :道路有不同的成本,取决于道路。
  • vehicles :不同的车辆在运输时有不同的租赁成本(摩托车,汽车,卡车)。 请注意,车辆的成本并不是恒定的,它高度依赖于节点。 例如,使用汽车从城市A到城市B将具有与使用汽车从城市B到A或从城市A到城市C不同的成本。
  • value :产品价值。 同样,产品的价值高度依赖于其目的地节点。 相同的产品在A,B,C三区可以有不同的价值

问题陈述

如何设置数据结构以最好地确定从一个位置到另一个位置的产品成本最低的path。

可能的解决scheme

从我的研究中,我认为加权图的数据结构将最适合我的情况与dijkstra的algorithm相结合。 我相信简单地解决这个问题将是至关重要的,首先创build一个简单的加权图只有nodespaths

从那里,增加vehicle成本和产品value考虑。 也许只是增加这两个值作为“访问”一个node的成本? (也就是把它纳入path成本?)

思考我目前的解决scheme? 我忽略了其他的考虑? 也许更好的解决scheme?

履行

我很希望能够在Excel VBA中构build这个function(因为这是我学习代码的方式),Excel是我用于工具的。 VBA在这个任务中是否太有限了? 除此之外,我还可以如何将Excel分析与另一种语言结合起来?

试试Winston&Albright实用pipe理科学(Practical Management Science)一书,查看“运营pipe理”一章 – 从简单的开始就介绍了很多模型。 在线提供PDF格式: http : //ingenieria-industrial.net/downloads/practicalmanagementscience.pdf

VBA更像是一种脚本语言,而不是一个完整的脚本语言,尽pipe人们可能会认为底层框架是.NET。 为什么不给C ++或Java一个镜头? 如果你直观地理解数据结构和algorithm,那么这将是一个轻而易举的编码。 Sedgewick和Waynealgorithm的第四章对最短path有一个很好的解释。 如果您预见到任何顶点的负重量循环,您也可以考虑研究Bellman-Fordalgorithm。