2

我对使用新软件的系统有些怀疑。
尚未编写任何代码,我只是将所有需求分开,然后才开始编码。
这将在一家计算机公司实施,该公司为其他公司提供现场和远程服务。
这是我的变量:
遗传算法vs专家系统

  • 技师
  • 客户的位置
  • 的问题类型
  • 已经安排了技术人员约
  • 专业技术人员的服务情况
  • 客户优先

也许有些失踪,但这些是最重要的。
这项工作是手动完成的,并且有人类,我们无法看到有时需要采取的最佳途径。
假设客户打印机出现问题。
首先,检查哪些技术人员知道打印机。
然后,是可用的技术?远离客户?它可以远程完成(软件问题)吗?
它可以由离客户位置较近的另一位技术人员完成吗?
此客户是否比其他技术人员有更高的优先级?
技术员时间表是否已满?如果是,请转到其他打印机/硬件技术部门。

我知道我的英语不完美(不是我的自然语言),但我会尽量提供更多详细信息或根据需要更正文本。

所以,我的问题是,你会采取什么样的方法?遗传算法对于这类工作来说看起来不错,我也有GAF和WatchMaker(Java GA Framework)的一些经验。但是,在阅读上述文字时,专家系统似乎也适用。
有人做过这样的事吗?
我曾搜索这种软件,找不到任何相似的东西。
另一种方法会比两个问好吗?!
此外,我正在建立一张具有所有技术能力和专业知识的表格,其中包含简单的规则,例如1到5个关于每种专业知识的规则。这也是一个决定因素。
谢谢。

回答

3

为什么不这样做呢?使用专家系统(规则引擎)来定义约束条件,并使用元启发式算法(如本地搜索或遗传算法)来解决它。规划引擎OptaPlanner(java,open source)正是如此(通过使用规则引擎Drools)。该建筑的外观很喜欢这样的:

enter image description here

Here's a video demonstrating the constraint flexibility on the vehicle routing problem (VRP).你的问题似乎是在VRP的先进变型(这是对TSP的变体)。

+0

感谢您的启发,这确实是一个很棒的平台。我正在阅读文档并测试提供的示例。 –