Официальную документацию для ввода вашего ключа CPLEX API можно найти здесь (вы, вероятно, уже видели это). В этой документации предполагается, что вы установили Community Edition (также известную как «бесплатная версия») CPLEX Optimization Studio, и вы можете найти ссылку для загрузки здесь . Вы можете сделать это, если хотите, и вы должны быть готовы к работе.
Альтернативой является использование недокументированной переменной среды CPLEX_CPXCHECKLIC_BINDIR
. Это особенно полезно для Python пользователей, которые не могут выбрать установку остальной части CPLEX Optimization Studio. Когда вы устанавливали пакет cplex
в свою среду anaconda (или для других, которые устанавливались через pip
), он включал исполняемый файл с именем cpxchecklic
. Его можно найти в каталоге bin
или Scripts
вашей среды Python. Если вы установите переменную среды CPLEX_CPXCHECKLIC_BINDIR
в каталог, содержащий cpxchecklic
, и вы уже правильно установили переменную среды CPLEX_STUDIO_KEY
, тогда вы должны быть готовы к go.
Если вы продолжите Чтобы иметь проблемы после следования приведенному выше совету, следующий сценарий 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()))