gecode 中的metainfo

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gecode 中的metainfo相关的知识,希望对你有一定的参考价值。

这个类只是作为信息储存的载体,并没有进行其它操作

t:type 类型

r:rstart reastart的次数

f:fail 失败的次数

ng: no good 

a: asset 资源分成了几部份

  /*
   * Information from meta search engines
   */
  forceinline
  MetaInfo::MetaInfo(unsigned long int r0,
                     unsigned long int s0,
                     unsigned long int f0,
                     const Space* l0,
                     NoGoods& ng0)
    : t(RESTART), r(r0), s(s0), f(f0), l(l0), ng(ng0), a(0) {}

  forceinline
  MetaInfo::MetaInfo(unsigned int a0)
    : t(PORTFOLIO), r(0), s(0), f(0), l(NULL), ng(NoGoods::eng), a(a0) {}

  forceinline MetaInfo::Type
  MetaInfo::type(void) const {
    return t;
  }
  forceinline unsigned long int
  MetaInfo::restart(void) const {
    assert(type() == RESTART);
    return r;
  }
  forceinline unsigned long int
  MetaInfo::solution(void) const {
    assert(type() == RESTART);
    return s;
  }
  forceinline unsigned long int
  MetaInfo::fail(void) const {
    assert(type() == RESTART);
    return f;
  }
  forceinline const Space*
  MetaInfo::last(void) const {
    assert(type() == RESTART);
    return l;
  }
  forceinline const NoGoods&
  MetaInfo::nogoods(void) const {
    assert(type() == RESTART);
    return ng;
  }
  forceinline unsigned int
  MetaInfo::asset(void) const {
    assert(type() == PORTFOLIO);
    return a;
  }

  

以上是关于gecode 中的metainfo的主要内容,如果未能解决你的问题,请参考以下文章

gecode中的meritbase

gecode FunctionBranch 源码分析

gecode中自定义brancher

Gecode branch()函数的z3替代方案?

gecode dom分析

如何测试vue Js metaInfo