跳至主内容
框架 无框架

类IlcSearchLimitI

定义文件: ilcp/cpext.h
包含文件: <ilcp/cpextilcp/cpext.h
IlcSearchLimitI的地图IlcSearchLimitIIlcSearchLimitI
搜索限制的实现类。

搜索限制是 CP 优化器中的一个对象。 与其他 CP 优化实体一样,搜索限制通过两个类来实现:一个处理类和一个实现类。 换句话说,类 "IlcSearchLimit(句柄)的实例包含一个数据成员(句柄指针),该数据成员指向类 "IlcSearchLimitI(其实现对象)的实例。

搜索限制用于修剪搜索树的一部分。 成员函数 "check表示是否已达到限值。

搜索限制有自己的生命周期:

IlcSearchLimitI类是可扩展的,换句话说,你可以编写自己的搜索限制。

另请参阅:

方法概要
public virtual IlcBoolcheck() const
public IlcSearchLimitI(IlcCPEngine cp)
public virtual voidinit()
public ~IlcSearchLimitI()
方法详细信息

IlcSearchLimitI

publicIlcSearchLimitI(IlcCPEngine cp)

This constructor creates an instance of the class IlcSearchLimitI using cp. 由于该类是一个抽象类,因此不应直接调用该构造函数。 该构造函数将在子类的构造函数中调用。


~IlcSearchLimitI

公共~IlcSearchLimitI()

子类的析构函数会自动调用该析构函数。 它可以释放对象使用的内存。


check

public virtualIlcBool check() const

调用该成员函数是为了检查是否已达到对象执行的限制。 如果已达到上限,该虚拟成员函数应返回 "IlcTrue。 之后,该限制所覆盖的未探索搜索树将被直接丢弃。

当你自己实现这个虚拟成员函数时,应确保你的实现能准确地一次(即一劳永逸地)判断是否已达到限制。 一旦达到限制,就不会再调用,限制所覆盖的所有节点都将被丢弃。 因此,签名中包含了 "const,以避免多次调用该成员函数的累积效应。


初始化

public virtual voidinit()

当目标 "IlcLimitSearch执行时,它会调用该方法,并将当前的 "node作为其参数。 该方法的目的是为节点评估器存储参考状态。