docplexのインストール on Windows

CPLEXのPython APIの一つであるdocplexをWindowsに導入します。

* テスト環境
    * CPLEX 22.1.1
    * Windows 11 64bit
    * Python 3.10.9
    * docplex 2.25.236

# 1.CPLEXの導入

まず、CPLEXを導入します。
導入中に「python "C:\Program Files\IBM\ILOG\CPLEX_Studio2211\python\setup.py" install」のコマンドが出ますが、いったん無視して進んでください。このコマンドの実行にはpythonにPATHが通っている必要があります。

# 2.Pythonの導入

CPLEX　22.1.1でサポートされているPythonのバージョンは以下となります。
IBM ILOG CPLEX Optimization Studio 22.1.1.0 - Detailed System Requirements 

https://www.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct#!

ここでは以下の記事を参考にPython 3.10.9を導入します。

Python 3.10 の導入 on Windows - Qiita 

https://qiita.com/kawada2017/items/060987a1fcc60cccd077

# 3. docplexの導入
まず、コマンドプロンプトを管理者権限で起動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/d5c487d9-db18-1b55-fee8-119ed158a6bd.png)


導入したpython 3.10.9をpyランチャーで確認します。
```cmd:環境の確認
py --list
```

3.10が導入され、3.10-64がデフォルトです。
```:結果
C:\temp>py --list
Installed Pythons found by py Launcher for Windows
 -3.10-64 *
 -3.8-64
```

念のためにオプションで-3.10-64を指定してpip install docplexで導入します（特に3.11より大きいバージョンも導入されている環境では-3.10-64が必須です）。

```cmd:docplexインストール
py -3.10-64 "C:\Program Files\IBM\ILOG\CPLEX_Studio2211\python\setup.py" install
```
```python:結果
C:\temp>py -3.10-64 "C:\Program Files\IBM\ILOG\CPLEX_Studio2211\python\setup.py" install
Invoking ['C:\\Users\\dsuser1\\AppData\\Local\\Programs\\Python\\Python310\\python.exe', '-m', 'pip', 'install', '.'] in C:\Program Files\IBM\ILOG\CPLEX_Studio2211\cplex\python\3.10\x64_win64
Processing c:\program files\ibm\ilog\cplex_studio2211\cplex\python\3.10\x64_win64
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: cplex
  Building wheel for cplex (setup.py) ... done
  Created wheel for cplex: filename=cplex-22.1.1.0-py3-none-any.whl size=11460132 sha256=5989526c0ecce3e207e6f08a8dd99801f1365980e42081534d730ae5a5df0fbd
  Stored in directory: C:\Users\dsuser1\AppData\Local\Temp\pip-ephem-wheel-cache-2jvdns5d\wheels\a3\ca\7d\17861c18c6559bf5455e4d2b1fdd6b23901d693063b31cbde7
Successfully built cplex
Installing collected packages: cplex
Successfully installed cplex-22.1.1.0

[notice] A new release of pip available: 22.3.1 -> 23.1.2
[notice] To update, run: C:\Users\dsuser1\AppData\Local\Programs\Python\Python310\python.exe -m pip install --upgrade pip
Invoking ['C:\\Users\\dsuser1\\AppData\\Local\\Programs\\Python\\Python310\\python.exe', '-m', 'pip', 'install', 'docplex']
Collecting docplex
  Using cached docplex-2.25.236-py3-none-any.whl
Requirement already satisfied: six in c:\users\dsuser1\appdata\local\programs\python\python310\lib\site-packages (from docplex) (1.16.0)
Installing collected packages: docplex
Successfully installed docplex-2.25.236

[notice] A new release of pip available: 22.3.1 -> 23.1.2
[notice] To update, run: C:\Users\dsuser1\AppData\Local\Programs\Python\Python310\python.exe -m pip install --upgrade pip


```

バージョンを確認してみると
```python
import cplex
import docplex
print ('cplex:'+cplex.__version__)
print ('docplex:'+docplex.__version__)
```
```python:結果
cplex:22.1.1.0
docplex:2.25.236
```

# 参考
#### CPLEX の Python API のセットアップ - IBM Documentation 

https://www.ibm.com/docs/ja/icos/20.1.0?topic=cplex-setting-up-python-api

#### CPLEXをPythonから呼ぶ(DOcplex) - Qiita 
ubuntsu環境での導入は以下で紹介されていました。

https://qiita.com/Hiroskey/items/038704c5a80f4252e741


#### docplex · PyPI 
APIのマニュアルやサンプルへのリンクがあります。

https://pypi.org/project/docplex/