WIN10平台下基于Anaconda环境的pyOpt安装
- 使用Python 3.8.x
预备
-
安装swig:下载,解压并将swig.exe所在目录放在系统环境变量中的PATH中即可。
-
安装MSVC C++ 14.0 or greater支持:下载vsBuildTools,运行,勾选 “工作负荷”-“使用C++的桌面开发”,右侧可选项目里只保留“MSVC v142 - VS 2019 C++ x64/x86生成工具”和“WIN10 SDK”,等待安装完成,添加
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt
和C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include
到系统环境变量中的PATH内即可。 -
安装GFortran:下载MinGW,安装,运行,"Basic Setup"选项:建议除ada和objc不勾选外其余都勾选。菜单栏"Installation"-"Apply Changes"-"Apply",等待下载完成后将gfortran.exe所在目录(应为C:\MinGW\bin)添加至环境变量PATH即可。
-
新建Anaconda环境,例如env
-
安装Powershell Prompt、JupyterLab
-
打开Powershell Prompt执行:
pip install numpy numpy-ext
,执行swig
测试swig是否安装正确
安装pyOpt
- 下载 pyOpt Zip到本地,此仓库为支持Python 3.x版本,非官方仓库。
- 解压pyOpt-master,通过Anaconda的Powershell Prompt工具进入其目录下
- 执行
python setup.py install
- 打开JupyterLab,输入如下内容进行验证:
from numpy import cos, exp, pi
from pyOpt import NSGA2, Optimization
def objfunc(x):
a = [3, 5, 2, 1, 7]
b = [5, 2, 1, 4, 9]
c = [1, 2, 5, 2, 3]
f = 0.0
for i in range(5):
f += -(c[i] * exp(-(1 / pi) * ((x[0] - a[i]) ** 2 + (x[1] - b[i]) ** 2)) * cos(
pi * ((x[0] - a[i]) ** 2 + (x[1] - b[i]) ** 2)))
g = [
20.04895 - (x[0] + 2.0) ** 2 - (x[1] + 1.0) ** 2,
]
fail = 0
return f, g, fail
opt_prob = Optimization('Langermann Function 11', objfunc)
opt_prob.addVar('x1', 'c', lower=-2.0, upper=10.0, value=8.0)
opt_prob.addVar('x2', 'c', lower=-2.0, upper=10.0, value=8.0)
opt_prob.addObj('f')
opt_prob.addCon('g', 'i')
print(opt_prob)
# Global Optimization
nsga2 = NSGA2()
nsga2(opt_prob)
print(opt_prob.solution(0))
- 运行正常即为安装完成