问题标签 [lemon-graph-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
550 浏览

lemon-graph-library - 无法编译/构建 Lemon Graph 库:给出缺少的库

我正在尝试在运行具有 gcc 和 g++ 4.9.2 的 ubuntu 的 VM 上构建 Lemon,但它不断给出以下错误。我尝试安装 glpk、Soplex 和 ILOG Ciplex,但错误并没有消失。以下是错误。

显然,这个问题在 lemon-1.3.1 中被提及,但我使用的是相同的,并且似乎它仍然存在。

如果有人知道如何解决这个问题,请告诉我。

在此处输入图像描述

0 投票
0 回答
417 浏览

c++ - Lemon dijkstra 计算错误的路径/路径长度,为什么?

我正在使用以下代码来计算从 G 中的源节点 s 到所有其他节点的最短路径长度:

但是,我将计算的路径长度与真实路径长度进行比较,它们不是真的。即使路径错误,输出中也会出现节点 ID -1 的节点。当我现在将 dijkstra_instance.run(s) 放入 for 循环时,计算是正确的。我是否使用了 dijkstra 命令错误?

0 投票
0 回答
164 浏览

c++ - 在 LEMON 库中以有效的方式评估距离矩阵

我在我的一个项目中使用LEMON 库,我对如何最好地使用它来评估给定集合中顶点之间的完整距离矩阵有疑问。

因此,考虑给定一个大图(表示为 a ListDigraph),一个顶点子集,S我们需要评估 中任意两个顶点之间的所有最短路径S

最简单的方法是Dijkstra为 中的两个顶点的每个组合运行算法S,但这当然不是效率方面的最佳想法。

我想的一件事是评估从顶点 i 到顶点 j 的一条路径,两者都在 中S,然后ProcessedMap在 S 中搜索任何其他顶点。如果我找到一个,比如 k,我已经有了从 i 到 k 的距离. 这很可能会减少对算法的调用次数。但是我仍然认为柠檬应该有更好的解决方案。

添加多个来源是否有帮助?Dijkstra使用此功能时,我还不太了解该类的行为。

谢谢你=)

0 投票
1 回答
885 浏览

c++11 - 用柠檬表示“没有可行的转换”,但对 g++ 有效

目前,我尝试在我们的项目中加入柠檬库。大多数开发人员都在 Windows 上,他们使用 MSVC 编译,但我负责(这部分)使用 gcc 和 clang 编译。

我遇到了一个 gcc 无法重现的 clang 错误,我设法减少了代码:

使用 gcc,没有错误。

但是随着叮当声:

备注

  • SRC_ROOT, BIN_ROOT,TMP_ROOT被替换为可读性
  • 片段源代码不起作用,但应该编译(我会更正真正的大代码)
  • 我真的需要真正的源代码的 c++11 功能。
  • gcc5
  • clang 3.7
  • lemon1.3.1

问题

  • 我是不是忘记挂旗了?
  • 柠檬与clang完全兼容吗?
  • 如何解决这个错误?
0 投票
0 回答
471 浏览

c++ - 如何使用 LEMON(或 BGL)组合/合并多个图形

我正在寻找一种使用LEMON将多个 Graph 合并为一个 Graph 的方法。如果做不到,我也会对使用Boost Graph Library的解决方案感兴趣。

背景是,我想将较小的结构单元定义为图形,用属性注释它们并将它们的多个副本添加在一起以创建更复杂的结构。

在下面的示例中,我有 3 个图表g1g2. 并由g3单个顶点组成。我想将它们组合成一个图,并能够添加边来连接结果图中的顶点。但是,我不知道如何copyGraph正确指定函数,以便 、 和 的所有顶点g1最后g2g3出现在同一个图中。此外,如果g1etc. 包含多个连接的顶点,则这些边应保持完整。

该示例还包含第四个图gTest,它看起来像我想要实现的结果。但是,gTest这里是从头开始创建的,而不是通过组合先前存在的图表。这是为了演示/澄清,并产生以下图形: 程序的输出

要使用 g++ 编译代码,请使用

g++ -lemon main.cpp

0 投票
1 回答
854 浏览

c++ - 柠檬图迭代边

从 Lemon 的你好世界(hello_lemon.cc,见这里)我复制了以下代码:

我想做的就是遍历节点/边缘并打印它们。但是,当我尝试编译它时,出现以下错误:

知道如何解决这个问题吗?我正在使用当前最新版本的 Lemon 1.3.1。

0 投票
2 回答
1241 浏览

c++ - 柠檬安装 SOPLEX、COIN 和 ILOG 库

我试图在 Ubuntu 14.04 上安装 Lemon。我按照他们文档中的说明进行操作。在“cmake ..”命令中,出现如下错误

我试图更新和升级 Cmake 以防万一。但是,它没有帮助。那么,这是关于未安装的库(COIN、ILOG 等)吗?如何安装它们?

0 投票
1 回答
208 浏览

c++ - 来自 Omnet++ 网络的柠檬图

我正在尝试从 omnet++ 中提取网络图,并将节点信息和链接提供给柠檬图。问题的一部分很容易处理。使用代码:

不知何故,我得到了节点列表,现在我也在尝试获取链接信息。也就是说,节点和它们之间的链接也是如此。如何获取链接信息并将其提供给 Lemon 图,我在代码中使用的方法有什么问题?

0 投票
1 回答
56 浏览

c++ - 点(类型)和整数(没有 struct )之间的连接

我从文件中读取点,我使用库 Lemon (因为我想稍后使用图形)因此每个点都由类型表示:dim2 :: Point。所以我使用了图书馆柠檬/dim2.h

我的问题是每个点都有许多视频帧,所以我使用这段代码将文件中的变量放入向量中:

我的问题:我不知道如何在 C++ 中表示每个点和他的帧号之间的连接,并将这个变量命名为 Trajectory。

文件示例:
155 // 即 x
168 // 即 y
0 // 即帧号
364
245
20
546
156

0 投票
1 回答
170 浏览

c++ - 在 C++ 中将对象从一个向量移动到另一个向量(LEMON 库)

我正在尝试使用 LEMON 库,但遇到了我尝试实现的算法的问题。该算法的想法是有一个节点向量的向量,我想将节点移动到具有一定限制的不同向量(颜色类)。这是实现我的算法的代码:

此函数在 main 中循环调用,直到无法移动节点。我在代码中遇到的主要问题是实际将节点从一个向量移动到另一个向量的部分:

这部分似乎不起作用,因为我认为在调用擦除函数时节点正在解构。这是调用此函数之前和之后的节点 ID 示例:

如您所见,被移动节点的 id 不正确(32701 而不是 1)。任何帮助表示赞赏。