0

无法理解我如何利用 PAGMO 的批量适应度评估来解决繁重的单目标差分进化问题。

我想使用 BFE 形式的多线程来加快进程。

代码:

int main()
{
    // Construct a pagmo::problem from our example problem.
    problem p{problemClass{}};
    p.fitness({ 1, 2, 3, 4, 5, 6 });

    // Algorithm
    algorithm algo{de(100, 0.5, 0.7, 6u, 0.01, 0, pagmo::random_device::next())};

    //populate
    population pop{p, 10};

    //evolve population
    //pop = algo.evolve(pop);

    //BFE
    bfe b;
    b.operator()(p, <set of vectors (how to generate this?)>);

    std::cout << "The population: \n" << b;

}

以上是我尝试过的 BFE 实现,但它没有按预期正常工作。

我已经看到了 Python 的实现,这基本上只是将 bfe 应用于算法。

根据 C++文档,我们提供了问题和向量列表。这让我有点困惑。

  • BFE 如何知道应该使用什么算法?
  • 如何生成一组向量以传递给 BFE?
4

0 回答 0