结合CPLEX和JAVA

时间:2014-05-13 19:32:48

标签: java eclipse netbeans cplex

Java - CPLEX

对于大学的研讨会,我需要用java编写模型。

由于这是一个最大化问题,我还需要涉及 CPLEX 方法。因此,我在 Mac OS X版本10.5.8 上成功安装了 CPLEX

组合 CPLEX Eclipse (我还尝试使用 Netbeans )我将当前项目与 CPLEX连接 library(Properties>Library>Add Library)。

Eclipse 识别该库,因为这些方法没有被低估。另外,我将以下参数提交给我的运行配置:

-Djava.library.path=/Users/myname/Applications/IBM/ILOG/CPLEX_Studio126/cplex/bin/x86-64_osx

当我尝试运行示例代码(有效)时,我收到以下错误:

java.lang.UnsatisfiedLinkError: /Users/myname/Applications/IBM/ILOG/CPLEX_Studio126/cplex/bin/x86-64_osx/libcplex1260.jnilib:  no suitable image found.  Did find:  /Users/myname/Applications/IBM/ILOG/CPLEX_Studio126/cplex/bin/x86-64_osx/libcplex1260.jnilib: unknown required load command 0x80000022Exception in thread "main" java.lang.UnsatisfiedLinkError: ilog.cplex.Cplex.CPXopenCPLEX([I)J
    at ilog.cplex.Cplex.CPXopenCPLEX(Native Method)
    at ilog.cplex.CplexI.init(CplexI.java:6594)
    at ilog.cplex.CplexI.<init>(CplexI.java:629)
    at ilog.cplex.IloCplex.<init>(IloCplex.java:11067)
    at ilog.cplex.IloCplex.<init>(IloCplex.java:11082)
    at Knapsack.buildModel(Knapsack.java:54)
    at Knapsack.main(Knapsack.java:122)

java.library.path must point to the directory containing the CPLEX shared library
try invoking java with java -Djava.library.path=...
你能不能帮助我,我不知道该怎么做。

感谢您的回答

2 个答案:

答案 0 :(得分:1)

我遇到同样的问题时发现了这个问题。遵循互联网的建议,发现我把-Djava.library.path参数放在错误的地方......你应该真正仔细检查路径,但是如果你把你的参数放在正确的位置并正确输入。这似乎很愚蠢,但却发生了:)

无论如何,就我而言,我使用的是NetBeans,我去了:

  • 项目属性
  • 运行
  • VM选项文本字段中的
  • -Djava.library.path = /应用/ IBM / ILOG / CPLEX_Studio126 / CPLEX / bin中/ x86-64_osx

我希望这会对你有所帮助

答案 1 :(得分:0)

  1. 确保您严格按照1中所述的步骤来设置月食。

  2. 确保在运行eclipse的环境中设置了环境变量DYLD_LIBRARY_PATH。请参见2。首先检查是否设置了DYLD_LIBRARY_PATH。其次,尝试通过终端执行Java程序。