我们一直在使用 OR 工具来解决实时 .NET 应用程序中的线性优化问题。也就是说,随着时间的推移,定期使用不同的输入解决线性优化问题。
最近,我们在服务器上长时间运行我们的应用程序时遇到了一个以前从未见过的问题,其中看似随机尝试解决优化问题导致 AccessViolationExceptions。具体来说,
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at Google.OrTools.LinearSolver.operations_research_linear_solverPINVOKE.Variable_SolutionValue(System.Runtime.InteropServices.HandleRef)
...
我试图更具体地找出管道中发生这种情况的位置,但鉴于那里的输出,我相信这是我们试图在解决优化后从求解器中检索单个变量解决方案值的部分。
我们在相当数量的变量上使用了各种各样的约束。
有没有人见过这个?