遗传算法与专家系统

时间:2014-02-17 00:01:12

标签: artificial-intelligence genetic-programming expert-system

我对于我应该将哪个系统用于新软件存有疑问 还没有编写代码,我只是将所有需求分开,然后才开始编码 这将在一家计算机公司实施,该公司为其他公司提供现场和远程服务 这些是我的变量:

  • 技术人员数
  • 客户的位置
  • 问题类型
  • 已安排给技术人员的服务
  • 技术人员对情况的专业知识
  • 客户优先级

也许有些人遗失了,但这些是最重要的 这项工作是手工完成的,有人类,我们有时看不到最好的路线 假设客户打电话给打印机问题 首先,检查哪个技术人员了解打印机 那么,技术是否可用?远离顾客?可以远程完成(软件问题)吗? 是否可以由距离客户所在地更近的其他技术人员完成? 这个客户的优先级是否高于同一技术应该进行的其他客户? 技术人员的日程表是否已满?如果是,请转到另一台打印机/硬件技术人员
我知道我的英语不完美(不是我的自然语言),但我会尝试提供更多细节或根据需要更正文字。

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

2 个答案:

答案 0 :(得分:3)

为什么不两个都做?使用专家系统(规则引擎)来定义约束并使用元启发式(例如本地搜索或遗传算法)来解决它。规划引擎OptaPlanner(java,开源)正是这样做的(通过使用规则引擎Drools)。架构看起来像这样:

enter image description here

Here's a video demonstrating the constraint flexibility on the vehicle routing problem (VRP).您的问题似乎是VRP的高级变体(这是TSP的变体)。

答案 1 :(得分:0)

也许你可以从TSP开始, 这里http://en.m.wikipedia.org/wiki/Travelling_salesman_problem

我猜它只涉及距离。