基于GCNN的装配线平衡问题:分组构建与模型优化技术问询
基于图卷积神经网络的装配线平衡调度问题疑问
问题背景
我正在采用图卷积神经网络(GCNN)解决以最小化工作站数量为目标的装配线平衡调度问题,具体定义如下:
存在装配产品图$\text{G(V, A)}$,顶点对应加工工序,弧代表工序间的优先约束关系。当前节点特征仅包含加工时间,后续可扩展,已构建如下张量定义edge_index与node_features:
num_nodes = 6 edge_index = torch.tensor([[0, 1, 2, 2, 3, 4], [2, 2, 3, 4, 5, 5]], dtype=torch.long) node_features = torch.tensor([[3], [2], [3], [4], [1], [5]], dtype=torch.float)
其中edge_index对应工序间的优先关系,node_features为各工序的加工时间,同时构建PyTorch Geometric几何数据对象:
data = Data(x=node_features, edge_index=edge_index, y=node_group)
这里的y即node_group是基于预定义工作站时间上限(如数值5)的合理分组,必须满足两个核心约束:
- 组内所有工序的加工时间总和不超过时间上限
- 严格符合工序间的优先约束
示例可行分组如下:
node_group = torch.tensor([0, 0, 1, 2, 2, 3], dtype=torch.long)
训练GCNN后输出结果符合预期,但目前面临核心挑战:初始分组的定义。随机生成的分组几乎都是不可行解,而通过预求解方式定义分组则失去了GCNN的应用价值。由于没有公开知名数据集用于构建几何数据,我提出以下三个疑问:
核心疑问
- 是否存在合理定义初始分组/模式的方法?
- 能否以随机分组为输入调整GCNN,使其最终输出可行的节点分组模式?
- 在GCNN中嵌入辅助算法生成合理分组作为
y输入,是否会限制模型的训练灵活性?若我的判断有误请予以纠正。
补充说明
实际测试采用12节点的线性优先图(工序顺序为1→2→…→12),基于预定义时间上限20设置4个工作站,要求每组加工时间总和不超过20。目前考虑在GCNN中设计启发式算法来生成y。
内容的提问来源于stack exchange,提问作者A.Omidi
相关产品推荐
相关产品推荐

