【问题标题】:Genetic Algorithm vs Expert System遗传算法与专家系统
【发布时间】:2014-03-16 03:02:57
【问题描述】:

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

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

也许有些遗漏了,但这些是最重要的。
这项工作是手动完成的,并且有人,我们有时看不到最佳路线。
假设一位客户致电询问打印机问题。
首先,检查哪些技术人员了解打印机。
那么,技术是否可用?离客户远吗?可以远程完成(软件问题)吗?
可以由离客户位置较近的其他技术人员完成吗?
该客户是否比其他客户拥有更多优先级?
技术人员的日程安排是否已满?如果是,请传递给另一位打印机/硬件技术人员。

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 感谢指教,这确实是一个很棒的平台。我目前正在阅读文档并测试提供的示例。
    【解决方案2】:

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

    我猜它只处理距离。

    【讨论】:

    • 谢谢,但我在学习 GA 时已经这样做了,我知道它是如何工作的。问题是我要考虑更多变量,我不确定如何正确处理它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2018-03-05
    • 1970-01-01
    • 2011-12-22
    • 2010-09-15
    • 1970-01-01
    • 2013-12-02
    相关资源
    最近更新 更多