phpcms中的网站介绍页,班级网站源代码,电影网站建设教程下载,推动高质量发展的必然要求使用java规则引擎Drools自动排班前言使用java规则引擎Drools自动排班前言本文以一个经简化的运输车队自动排班需求为例#xff0c;详细讲解了如何使用java规则引擎Drools进行商业规则的形式语言描述#xff0c;并编写java代码实现问题求解。?背景介绍(引自Drools中文文档)?…使用java规则引擎Drools自动排班前言使用java规则引擎Drools自动排班前言本文以一个经简化的运输车队自动排班需求为例详细讲解了如何使用java规则引擎Drools进行商业规则的形式语言描述并编写java代码实现问题求解。?背景介绍(引自Drools中文文档)??? A.I.(Artificial Intelligence)是一个关注于“使计算机像人类一样思考”的广泛的研究领域包括Neural Networks(神经网络), Genetic Algorithms(遗传算法), Decision Trees(决策树), Frame Systems(框架系统) andExpert Systems(专家系统)。??Knowledge representation(知识呈现)是A.I.的一部分关注于如何呈现和操纵知识。专家系统使用知识表示把知识编码简化成一个可用于推理的知识库──比如我们可以用知识库处理数据以推出结论。专家系统又叫基于知识的系统、基于知识的专家系统并被认为是A.I.的一个应用。开发一个专家库系统的过程被称为知识工程。EMYCIN是最早的专家系统Shell(外壳)之一它从医学诊断专家系统MYCIN发展而来。早期的专家系统有自己的logic hard coded shells(逻辑硬件编码环境)把逻辑与系统相分离为用户输入提供一个简单的使用环境。???? Drools是一个使用基于规则的方法实现的专家系统的规则引擎更准确的说属于产生式规则系统。术语“产生式规则”从形式语法中产生形式语法——使用一种抽象结构来准确描述形式语言。知识(facts事实环境)?1员工分为两种司机外勤?2每天分白、中、晚三个班次?3每班3人一个司机两个外勤?规则(rules)?1司机可以当外勤外勤不可以当司机?2每个员工每个月至少休息6天?3每个员工连续上班不能超过5天?4工作分配应尽可能均匀?目标(goal)?1按日期和班次打印排班表?2按员工打印各人的班次任务排班规则的形式语言描述(drl, drools rule language):package TEST;import TEST.*;?rule 司机when?shift : Shift(driver null, $date : workDate, $no : no)爓orker : Worker(type 1, easyDay 6, maxDay 4, $total : shiftTotal )爀val( !shift.getWorkDate().containsWorker(worker) )爊ot Worker(type 1, shiftTotal rule