我对于我应该将哪个系统用于新软件存有疑问
还没有编写代码,我只是将所有需求分开,然后才开始编码
这将在一家计算机公司实施,该公司为其他公司提供现场和远程服务
这些是我的变量:
也许有些人遗失了,但这些是最重要的
这项工作是手工完成的,有人类,我们有时看不到最好的路线
假设客户打电话给打印机问题
首先,检查哪个技术人员了解打印机
那么,技术是否可用?远离顾客?可以远程完成(软件问题)吗?
是否可以由距离客户所在地更近的其他技术人员完成?
这个客户的优先级是否高于同一技术应该进行的其他客户?
技术人员的日程表是否已满?如果是,请转到另一台打印机/硬件技术人员
我知道我的英语不完美(不是我的自然语言),但我会尝试提供更多细节或根据需要更正文字。
所以,我的问题是,你采取什么样的方法?遗传算法似乎很适合这种工作,我也有一些GAF和WatchMaker(Java GA Framework)的经验。但是,在阅读上述文本时,专家系统似乎也是合适的
有人做过这样的事吗?!我曾经搜索过这种软件,找不到任何相似的东西
另一种做法会比两个问题更好吗?!
此外,我正在建立一个包含所有技术能力和专业知识的表格,简单的规则,如每个专业知识1到5。这也是一个决定因素
感谢。
答案 0 :(得分:3)
为什么不两个都做?使用专家系统(规则引擎)来定义约束并使用元启发式(例如本地搜索或遗传算法)来解决它。规划引擎OptaPlanner(java,开源)正是这样做的(通过使用规则引擎Drools)。架构看起来像这样:
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
我猜它只涉及距离。