【问题标题】:How do I set the key for using the full version of CPLEX?如何设置使用完整版 CPLEX 的密钥?
【发布时间】:2020-08-20 12:10:49
【问题描述】:

我已经购买了 cplex 订阅并收到了使用密钥,但我不知道如何使用它,无论我尝试什么,我都会不断收到“没有密钥,请在此处购买 cplex”错误。

我在 Ubuntu 20.04 中运行的 jupyter 笔记本中通过 docplex 使用 cplex。所有的 python 东西都是使用 anaconda 安装的,cplex 和 docplex 已经使用这里列出的 conda install 命令安装:https://developer.ibm.com/docloud/blog/2017/01/23/cplex-python-now-available-anaconda-cloud/

这似乎工作正常,我可以解决小问题,但对于较大的问题,它会抛出一个错误,告诉我购买完整的产品。我有,并且我已经设置了 CPLEX_STUDIO_KEY 环境变量,但错误仍然存​​在。除了“设置此环境变量”之外,我找不到 任何 文档。并且错误只是假设您没有购买它而不是提供任何帮助..

我错过了什么?

【问题讨论】:

    标签: cplex docplex


    【解决方案1】:

    可以在here 找到输入CPLEX API 密钥的官方文档(您可能已经看过这个)。本文档假定您已安装 CPLEX Optimization Studio 的社区版(也称为“免费版”),并且您可以找到下载该链接的链接here。如果您愿意,您可以这样做,并且您应该已经启动并运行。

    另一种方法是使用未记录的CPLEX_CPXCHECKLIC_BINDIR 环境变量。这对于可能不选择安装其余 CPLEX Optimization Studio 的 Python 用户特别有用。当您将cplex 包安装到您的anaconda 环境中(或通过pip 安装的其他包)时,它包含一个名为cpxchecklic 的可执行文件。这可以在 Python 环境的 binScripts 目录中找到。如果您将CPLEX_CPXCHECKLIC_BINDIR 环境变量设置为包含cpxchecklic 的目录,并且您已经正确设置了CPLEX_STUDIO_KEY 环境变量,那么您应该可以开始了。

    如果您在遵循上述建议后仍然遇到问题,则以下 Python 脚本可能会派上用场,以帮助您解决您遇到的 API 密钥问题(如果是这种情况,请使用输出更新您的问题) :

    """Tests Python Download-and-go setup.
    
    usage: python test.py [API_KEY] [CPXCHECKLIC_BINDIR]
    
    The API_KEY and CPXCHECKLIC_BINDIR arguments are optional.
    """
    import os
    import sys
    
    import cplex
    
    # Column limit for the Community Edition.
    CPLEX_COLUMN_LIMIT = 1000
    
    # Print the CPLEX version.
    print("Version:", cplex.__version__)
    
    # Allow the user to pass in the API key.
    if len(sys.argv) > 1:
        os.environ["CPLEX_STUDIO_KEY"] = sys.argv[1]
    
    # Allow the user to pass in the cpxchecklic bindir.
    if len(sys.argv) > 2:
        os.environ["CPLEX_CPXCHECKLIC_BINDIR"] = sys.argv[2]
    
    # Print the environment variables.
    for var in ("CPLEX_STUDIO_KEY",
                "CPLEX_STUDIO_DIR1210",
                "CPLEX_CPXCHECKLIC_BINDIR"):
        print(var, "=", os.getenv(var))
    
    # Create a model that will not work with the Community Edition.
    cpx = cplex.Cplex()
    cpx.variables.add(lb=[0.0] * (CPLEX_COLUMN_LIMIT + 1))
    
    # Solve the model and print the solution status.
    cpx.solve()
    print("Status: {0} ({1})".format(cpx.solution.get_status_string(),
                                     cpx.solution.get_status()))
    

    【讨论】:

    • 设置 CPLEX_CPXCHECKLIC_BINDIR 环境变量成功了,非常感谢!有没有我应该知道的地方?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-07
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多