求解一个算法(变态需求)

刚刚对一个需求画了一个业务场景,但是业务场景的解就是让我头疼,其实现在连这个解的标准都还没有确定,不知道该怎么描述这个问题,下面把这个问题的图给贴出来,请各位高手帮忙看一下: 


 

图中的A1,A2,A3,B1,B2...,C2,C3都是业务实例,每个业务实例属于一层,以上图片有三层,其中A1,A2,A3属于A层,B1,B2...B6属于B层,C1,C2,C3属于C层,其中还有各个有向的线我都给增加了名字,表示各个业务实例中的关系,其中拿A2A3B3B4B5XXYYY1举个例子:



 

  它表示A2,A3共同对B3,B4,B5有一种影响,对于这条线来说A2,A3称为该影响的源,B3,B4,B5称为该影响的目标,后边的X就是表示源的个数(有几个源就有几个X),Y表示目标的个数(有几个目标就有几个Y),1是对他们之间的关系的第一次影响(以后如果有相同的影响关系这个值就得递增了)。

影响关系的要求:其中源必须来自同一层,目标也必须是同一层。同一层的任何组合都可以做影响关系的源,也可以成为影响关系的目标。同样的源可以影响多次同样的目标。比如:



 A3对A1有三次影响。

现在的任务(也是本人最头疼的地方):

首先是确定各层中业务实例在该层中的的位置(层内只有横向坐标)使得将来构建的时候使用的线交叉最少(这个问题的前提是不能破坏层的之间的上下级关系。这个业务需求就是我将来要把这个图中所描述的关系在JSP中画出来),但是我现在还没有一个标准是什么叫交叉数最少,还请各位高手指点迷津。

如果有了这个标准后,有没有一个可行的算法去实现它。

我不知道遗传算法和神经网络能不能解决该问题,如果有人知道,请麻烦给个提示。

业务补充:

分层一般也就只有4,5,但是不排除特殊的业务会达到10层甚至更多。

每一层一般也就5,6个业务实例,但是也有可能很多。

 

不知道我把问题说明白没有,请各位高手帮忙或者给个提示。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值