我正在尝试为图形问题编写模型。 我定义了用于标记边缘的成对设置。因为我需要找到一些边缘之间的内积。更精确地:
假设E是一组边,我定义了:
在E交叉E内设置N;
例如,如果E = {1,2,3},则N可以是:{(2,3),(1,2)} 即我需要找到边缘1和边缘3之间以及边缘1和边缘2之间的内积。
我的问题不是我必须将顶点的相关边线。 例如,假设V = {v1,v2,v3,v4,v5}是一组顶点。边缘1在v1和v3之间,边缘2在v2和v3之间。
我需要定义另一个成对集合,例如: 在V交叉V内设置N; 但是我需要确定其背后的边缘。例如,如果M = {((1,3),(2,3)}},我需要第三列来确定第一对属于边1,第二对属于边2。 我如何在AMPL中做到这一点?
答案 0 :(得分:0)
您可以这样做:
set vertices;
set edgenames;
set edges_with_vertices within edgenames cross vertices cross vertices;
对于edge_with_vertices中的任何三元组,第一个元素是边名称,第二个和第三个元素是终顶点。