使用 PySCIPOpt 使 SCIP 优化在 Azure 应用服务上运行

Getting SCIP Optimization to work on Azure App Service with PySCIPOpt

问题: 根据以下信息,这是在 Azure 上安装 PySCIPOpt 的问题吗?或者在 Azure 上安装 SCIP Optimization Suite 有问题?这实际上是 32 对 64 的问题吗?还是这里还有其他未知因素阻止了这种情况的发生?如何智能诊断根本原因?先谢谢大家!

背景

objective 是通过 python 及其 PySCIPOpt 包部署一个可以使用 SCIP 优化套件解决 IP 问题的网络应用程序。此 Web 应用程序已成功部署到我的本地计算机上。

设置

Azure Web App(免费套餐,Python 3.6.4 x64 扩展):OS 是 Windows(echo %PROCESSOR_ARCHITECTURE% => x86 )

SCIP version 4.0.1:(SCIPOptSuite-4.0.1-win32-VS14.exe) 安装在本地计算机上,Program Files (x86) 中的 copy/pasted 文件夹 /SCIPOptSuite 4.0.1 到 Azure 上的文件夹 D:/home/site/wwwwroot 中。 PATHSCIPOPTDIR 变量通过 .xdt 文件在 Azure 上更新。在 Kudu 调试控制台中测试 scip.exe,它似乎可以在 Azure 上运行。

PySCIPOpt:包含在用于应用程序部署的 requirements.txt 文件 (pyscipopt, Cython==0.28.2) 中。来自 git push `... pyscipopt in d:\home\python364x64\lib\site-packages ... Cython==0.28.2 in d:\home\python364x64\lib\site-packages

错误信息

D:\home\python364x64\lib\site-packages\pyscipopt\__init__.py in <module>

from pyscipopt.scip      import Model 

Django Version: 2.0.4
Exception Type: ImportError
**Exception Value: DLL load failed: %1 is not a valid Win32 application.**
Exception Location: D:\home\python364x64\lib\site-packages\pyscipopt\__init__.py in <module>, line 5
Python Executable:  D:\home\python364x64\python.exe
Python Version: 3.6.4
Python Path:    
['D:\home\site\wwwroot',
 'D:\home\site\wwwroot',
 'D:\home\python364x64\python36.zip',
 'D:\home\python364x64\DLLs',
 'D:\home\python364x64\lib',
 'D:\home\python364x64',
 'D:\home\python364x64\lib\site-packages',
 'D:\home\site\wwwroot\backend',
 'C:\gurobi10\win32\python2.5\lib',
 'C:\gurobi10\win32\python2.5\lib',
 'D:\home\site\wwwroot\backend',
 'D:\home\site\wwwroot\backend']

您似乎使用了过时版本的 SCIP Opt Suite (4.0.1)。 PySCIPOpt 仅兼容最新版本 5.0.1。我强烈建议您不要使用旧版本的软件包。

您确定您尊重 licensing terms of SCIP 吗?