求anylogic专家解答,为什么会这样,错误代码如下:
离散事件执行时出现异常:
Too many splitting iterations while enforcing constraints. Last split point was at: [ POINT ( 2039.9999999999998 445.000000000033 ) ]
org.locationtech.jts.triangulate.ConstraintEnforcementException: Too many splitting iterations while enforcing constraints. Last split point was at: [ POINT ( 2039.9999999999998 445.000000000033 ) ]
at org.locationtech.jts.triangulate.ConformingDelaunayTriangulator.enforceConstraints(ConformingDelaunayTriangulator.java:401)
at org.locationtech.jts.triangulate.ConformingDelaunayTriangulationBuilder.create(ConformingDelaunayTriangulationBuilder.java:116)
at org.locationtech.jts.triangulate.ConformingDelaunayTriangulationBuilder.getSubdivision(ConformingDelaunayTriangulationBuilder.java:167)
at com.anylogic.libraries.modules.navigation_mesh.NavMeshBuilder.a(Unknown Source)
at com.anylogic.libraries.modules.navigation_mesh.NavMeshBuilder.build(Unknown Source)
at com.anylogic.libraries.pedestrian.an.y(Unknown Source)
at com.anylogic.libraries.pedestrian.an.g(Unknown Source)
at com.anylogic.libraries.pedestrian.ba.a(Unknown Source)
at com.anylogic.libraries.pedestrian.ba.a(Unknown Source)
at com.anylogic.libraries.pedestrian.PedSettings.b(Unknown Source)
at com.anylogic.libraries.pedestrian.PedGoTo_xjal.c(Unknown Source)
at com.anylogic.libraries.pedestrian.PedGoTo_xjal.g(Unknown Source)
at com.anylogic.libraries.pedestrian.PedGoTo_xjal.f(Unknown Source)
at com.anylogic.libraries.pedestrian.PedGoTo_xjal.d(Unknown Source)
at com.anylogic.libraries.pedestrian.PedGoTo_xjal.a(Unknown Source)
at com.anylogic.libraries.pedestrian.PedGoTo_xjal$1.onEnter(Unknown Source)
at com.anylogic.libraries.processmodeling.Delay.b(Unknown Source)
at com.anylogic.libraries.processmodeling.Delay$9.onEnter(Unknown Source)
at com.anylogic.libraries.processmodeling.InputBlock$1.b(Unknown Source)
at com.anylogic.libraries.processmodeling.InPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.InPort.receiveImmediately(Unknown Source)
at com.anylogic.libraries.processmodeling.InputBlock$1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
at com.anylogic.libraries.processmodeling.PlainTransfer$1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
at com.anylogic.libraries.processmodeling.PlainTransfer$1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock.forwardReadyEntityNotification(Unknown Source)
at com.anylogic.libraries.processmodeling.InputBlock$1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
at com.anylogic.libraries.processmodeling.PlainTransfer$1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
at com.anylogic.libraries.processmodeling.PlainTransfer$1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock$2.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock$2.action(Unknown Source)
at com.anylogic.libraries.processmodeling.AsynchronousExecutor_xjal$a.execute(Unknown Source)
at com.anylogic.engine.LibraryEventHandler$f.execute(Unknown Source)
at com.anylogic.engine.Engine.a(Unknown Source)
at com.anylogic.engine.Engine.nd(Unknown Source)
at com.anylogic.engine.Engine$f.run(Unknown Source)
根据错误信息,发生了一个ConstraintEnforcementException
异常,异常信息提示是在执行离散事件时出现的。异常信息中提到了Too many splitting iterations while enforcing constraints
,这意味着在执行约束强制时进行了太多的分割迭代。
根据给出的错误堆栈信息,异常发生在org.locationtech.jts.triangulate.ConformingDelaunayTriangulator
类的enforceConstraints
方法中。这表明在进行三角剖分时出现了问题。
根据该错误,有可能是在进行导航网格构建时出现了问题。您可以尝试以下方法来解决这个问题:
检查输入数据:确保提供给算法的输入数据是正确的,没有错误或不一致的地理数据。
检查约束设置:如果您使用了约束来指定特定的边界或限制条件,请确保约束设置正确并与您的需求相匹配。
更新任意逻辑版本:确保您使用的是最新版本的AnyLogic软件。有时,此类错误可能是由软件版本中的已知问题引起的,升级到最新版本可能会修复问题。
联系AnyLogic支持:如果以上方法仍无法解决问题,请联系AnyLogic的技术支持团队,提供完整的错误信息和代码示例,以便他们能够更好地帮助您解决问题。
请注意,由于缺乏上下文和完整的代码示例,无法提供更具体的解决方案。建议您根据上述方法逐一检查和排除可能的问题,以解决您遇到的异常情况。
可能的解决方法:
检查和调整导航网格的设置。导航网格不应该有太多复杂的边界,或者不应该有过于密集的点。这可能导致了约束迭代过多。
检查你的模型中是否存在位置或者移动的错误设置。例如,你可能错误地设置了一个行人的初始位置或目标位置在导航网格之外。
如果以上步骤无效,用不同的方法建立你的导航网格,例如使用较少的顶点和边,或者更简单的形状。
这个错误表明在执行几何约束时,AnyLogic在尝试进行三角剖分时遇到了问题。这可能是由于你的模型中的几何形状或者路径存在问题。具体可能有以下几种情况:
几何形状有重叠或者交叉。这可能导致在进行三角剖分时产生无法解决的约束。
几何形状的定义过于复杂,导致在进行约束求解时需要进行过多的迭代。
在执行三角剖分时,计算机的浮点数精度问题可能导致计算结果的不稳定。
解决这个问题的方法可能有以下几种:
检查你的模型中的几何形状和路径,确保没有重叠或者交叉。
尝试简化你的模型中的几何形状,减少定义的复杂度。
在进行三角剖分时,尝试增大计算的精度或者调整计算的参数。
如果上述方法都无法解决问题,再联系我
根据报错信息看起来是在使用AnyLogic软件时出现了错误。该错误是由于在执行约束条件时发生了太多的分割迭代。最后一次分割出现在坐标为(2039.9999999999998, 445.000000000033)的位置。
这个错误可能是因为在计算或约束条件设置中存在问题,导致无法顺利执行分割操作。解决这个问题可以尝试以下几个步骤:
ConstraintEnforcementException是一个由JTS库抛出的异常,在执行约束三角剖分时出现了问题。你的AnyLogic模型中的某些几何形状或导航网格有错误或冲突,导致无法正确生成三角形
参考跟你一样的问题
https://stackoverflow.com/questions/66558476/anylogic-agent-cannot-be-cast-to-class
很好弄的;这个属于空间标记类错误,找个这个坐标的位置,这个坐标点应该是有墙体或者其他,一般行人库出现较多,然后把那个地方的墙删除就行了,重新画一个;我看其他都是搞编程的,哈哈,我用了多年的anglogic