| 概述 | 组 | 树 | 图形 | 不推荐 | 索引 | 概念 |

搜索限制是 CP 优化器中的一个对象。 与其他 CP 优化实体一样,搜索限制通过两个类来实现:一个处理类和一个实现类。 换句话说,类 "IlcSearchLimit(句柄)的实例包含一个数据成员(句柄指针),该数据成员指向类 "IlcSearchLimitI(其实现对象)的实例。
搜索限制用于修剪搜索树的一部分。 成员函数 "check表示是否已达到限值。
搜索限制有自己的生命周期:
duplicate克隆。
init。IlcSearchLimitI类是可扩展的,换句话说,你可以编写自己的搜索限制。
另请参阅:
IlcSearchLimit,IlcLimitSearch, IlcSearchLimitI
| 方法概要 | |
|---|---|
public virtual IlcBool | check() const |
public | IlcSearchLimitI(IlcCPEngine cp) |
public virtual void | init() |
public | ~IlcSearchLimitI() |
| 方法详细信息 |
|---|
This constructor creates an instance of the class IlcSearchLimitI using cp. 由于该类是一个抽象类,因此不应直接调用该构造函数。 该构造函数将在子类的构造函数中调用。
子类的析构函数会自动调用该析构函数。 它可以释放对象使用的内存。
调用该成员函数是为了检查是否已达到对象执行的限制。 如果已达到上限,该虚拟成员函数应返回 "IlcTrue。 之后,该限制所覆盖的未探索搜索树将被直接丢弃。
当你自己实现这个虚拟成员函数时,应确保你的实现能准确地一次(即一劳永逸地)判断是否已达到限制。 一旦达到限制,就不会再调用,限制所覆盖的所有节点都将被丢弃。 因此,签名中包含了 "const,以避免多次调用该成员函数的累积效应。
当目标 "IlcLimitSearch执行时,它会调用该方法,并将当前的 "node作为其参数。 该方法的目的是为节点评估器存储参考状态。