gpt4 book ai didi

java - 使用 MATLAB 中的 CPLEX 和 Java 中的 CPLEX 求解模型是否可能得到不同的结果?

转载 作者:太空宇宙 更新时间:2023-11-04 14:37:05 33 4
gpt4 key购买 nike

我正在使用 CPLEX 求解线性二元优化模型。我已经用 MATLAB 和 JAVA 编写了模型。 JAVA和MATLAB编程得到的目标函数最优值是相同的。然而,最佳变量值是不同的。我的模型可能有多个最佳解决方案。我想知道在 MATLAB 和 JAVA 中应用 CPLEX 所产生的变量是否可能具有不同的最佳值?

最佳答案

是的,绝对。在幕后,这些语言的行为完全不同,而不仅仅是字节代码与编译代码的差异。您可以用C代码编写代码并通过不同的编译器运行它,并且运行代码的结果会有所不同。如果完成任何 float 学运算,编译器会进行不同的优化以加速代码。理想情况下,单个编译器在优化后始终以相同的顺序执行 float 学(因此,即使代码与相同的预期输出略有不同,它也会是相同的),这种假设不能跨多个编译器/语言成立/硬件,因为 float 非常挑剔。

我还没有阅读整个文档,但您可能会感兴趣: http://gafferongames.com/networking-for-game-programmers/floating-point-determinism/

关于java - 使用 MATLAB 中的 CPLEX 和 Java 中的 CPLEX 求解模型是否可能得到不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25435303/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com