Drools Planner(第1.2章节)
来源:互联网 发布:windows 8.1原版镜像 编辑:程序博客网 时间:2024/04/29 05:43
第一章 Planner introduction(规划师介绍第1.2章节)
版本:5.5.0.Final1.2 什么是规划问题?
1.2.1 规划问题是NP-complete
上述所有的用例可能是NP-complete[http://en.wikipedia.org/wiki/NP-complete].通俗地说,这儿意味着:
a.在合理的时间内很容易用一个给定的解决方案去验证一个问题。
b.没有灵丹妙药在河里的时间内去找到一个最佳解决问题的方案。
注意:
(*)至少现在,世界上没有一个聪明的计算机科学家发现这样的灵丹妙药。但是为了找到一个NP-complete问题,他们将为每一个NP-complate问题工作。目前,如果有这样的灵丹妙药存在或者不存在[http://en.wikipedia.org/wiki/P_%3D_NP_problem],那么宁可用很高的报酬来换取这个证明。言下之意非常严峻:解决你的问题可能比你预期的还要困难。因为第二项常用的技术室不够的:
a.强大的算法(即使是一个很聪明的变体),也将花很长时间。
b.快捷算法,例如在大包之前,首先要投入很大的物品,然后返回一个尚未达到理想状态的解决方案。通过采用先进的优化算法,规划师是不能在合理的时间内找到一个像这样的规划问题的解决方案的。
1.2.2 规划问题是有硬软限制的
通常情况下,一个规划问题是至少有两个方面的限制的:
a.A(负面的)硬约束是不能被打破的。例如:一个老师是不能同时上两个不同的课的。
b.A(负面的)软约束如果能够避免是不应该被打破的。例如:一个老师是不喜欢在星期一下午上课的。
许多问题都有正面的约束:
c.A一个积极的软约束(或者奖励)可能的话应该满足,例如:老师A喜欢在星期一上午上课。
有些问题只有一个硬约束,还有有些问题有两个,甚至多个方面的约束,例如:硬约束,中性约束和软约束。
这些约束条件定义了规划问题的计算分数(AKA fitness function)。每一个解决方案规划问题都可以分级得分。对于规划师来说,得分约束被写在一个面向对象的语言中,例如Java代码或Drools规则。这样的代码是很容易的,灵活的和可扩展的。
1.2.3 一个规划问题有一个很大的搜素空间。
一个规划问题有很多歌解决方案。有几类解决方案:
a.一个可能的解决方案可以是任意的,无论是否打破怎样的约束。规划问题往往有一个令人难以置信的大量的可能的解决方案。许多这些解决方案是毫无价值的。
b.一个可行的解决方案是不会打破任何一个硬约束(负面)的.很大数量的可行解决方案关联到一些可能的解决方案。有时候没有可行的解决方案,每一个可行的解决方案就是一个可能的解决方案。
c.最佳的解决方案是得分最高的。规划问题有一个或者多个最佳方案。总是会至少有一个最佳的解决方案,即使没有可行的解决方案和最佳的解决方案不可用。
d.一个最好的解决方案是得分最高的,是在一段时间的实施才发现的。最好的解决方案要成为可行的,需要花费足够的时间,那就是一个最佳的解决方案。
Drools规划师支持多种优化算法,有效地解决令人难以执行大量的可能的解决方案。根据使用情况,一些优化算法的性能优于其他,但提前告知这是不可能的。规划师中很容易转换优化算法。
- Drools Planner(第1.2章节)
- Drools Planner(第1.1章节)
- Drools Planner(第1.3章节)
- Drools Planner--下载和运行案例(第1.4章节)
- Drools Planner--问题,议题,博客(第1.5章节)
- Drools Planner--云均衡(第2.1.1章节)
- Drools Planner--域模型图(第2.1.2章节)
- Drools Planner--主要方法(第2.1.3章节)
- Drools Planner--solver配置(第2.1.4章节)
- 策略引擎-jboss Drools Planner
- Drools
- drools
- drools
- drools
- Drools
- drools
- Drools
- 第一天:Drools环境搭建配置
- php 输出双引号"与单引号''的方法
- android:layout_weight属性的使用
- 旧工程适配iOS 6和iPhone 5之第三方静态库
- Java验证字符串是否可以转换成Integer
- POJ 3080 Blue Jeans
- Drools Planner(第1.2章节)
- 为什末会这样呢!!!!!!
- Oracle求上周数据
- Bisectional Bandwidth
- Java Web 服务性能优化实践
- php之文件上传类代码
- RGB与YUV图像视频格式的相互转换
- 常用学习网站(jquery+css样式等)
- Apache配置正向代理与反向代理