【问题标题】:Serialize Cplex Concert Objects序列化 Cplex Concert 对象
【发布时间】:2020-05-24 03:08:19
【问题描述】:

Cplex Concert 对象(例如 IloNumVar 等)是否支持序列化?该文档列出了 IloCplex.Serializer 类,但没有关于如何使用它的示例。具体来说,我正在使用 Java API,我想将这些对象放入 Apache Spark 分布式数据集中,这要求它们的内容是可序列化的。对此问题的任何见解将不胜感激。

【问题讨论】:

    标签: cplex


    【解决方案1】:

    扩展亚历克斯的回答:是的,对象支持序列化。重要的是,为了创建这些对象,您需要使用 IloCplexModeler 类(IloCplex 类的超类)。 IloCplexModeler 的实例可以序列化为ObjectOutputStream,然后可以稍后读回(到IloCplexModeler 的实例中)。然后你可以创建一个新的IloCplex 实例并使用IloCplex.setModel() 为求解器设置反序列化模型。

    正如 Alex 所提到的,您在 CPLEX 附带的 CplexServer.java 示例中有一个示例。

    【讨论】:

    • 谢谢丹尼尔。我正在做的有点不同,但我认为这应该可行。我想存储 Ilo 建模对象(IloNumVar、IloRange 等)的实例。在 Apache Spark 弹性分布式数据集 (RDD) 中。由于此数据结构跨越多个处理器节点的内存空间,因此内容对象需要可序列化,以便在将转换应用于数据集时它们可以在节点之间传输。我现在正在构建应用程序,如果成功了,我会通知您。
    【解决方案2】:

    您可以查看示例中的 CplexServer.java

    CPLEX_Studio1210\cplex\examples\src\java

    【讨论】:

    • 谢谢亚历克斯。这正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多