我有一个j和参数边。我也有一张图。
Set j/1*5/;
Alias(j,jp);
Parameter edge(j,jp)
如果j到jp之间存在弧,则edge(j,jp)= 1;如果j到jp之间没有弧,则edge(j,jp)为0。 我做了edge(j,jp)。
我想定义一个集合或参数,以保存节点“ j”的邻域索引。
我的意思是,邻域(j)= {jp:边(j,jp)= 1}
我在命令下面写,但出现错误。
Set neighborhood (j)
Neighborhood (j)$edge (j,jp) =JP.val;
如何获得特殊节点的邻域?
答案 0 :(得分:1)
您是否使用有向图并假设每个j仅有一个邻居?然后,尝试以下方法:
Set j/1*3/;
Alias(j,jp);
Parameter edge(j,jp) / 1.2 1, 2.3 1, 3.1 1 /;
Parameter Neighborhood (j);
Neighborhood (j) = sum(jp$edge(j,jp), jp.val);
否则:如果邻居不止一个,您希望在邻里看到什么?