WIN10平台下基于Anaconda环境的pyOpt安装

  • 使用Python 3.8.x

预备

  1. 安装swig:下载,解压并将swig.exe所在目录放在系统环境变量中的PATH中即可。

  2. 安装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\ucrtC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include到系统环境变量中的PATH内即可。

  3. 安装GFortran:下载MinGW,安装,运行,"Basic Setup"选项:建议除ada和objc不勾选外其余都勾选。菜单栏"Installation"-"Apply Changes"-"Apply",等待下载完成后将gfortran.exe所在目录(应为C:\MinGW\bin)添加至环境变量PATH即可。

  4. 新建Anaconda环境,例如env

  5. 安装Powershell Prompt、JupyterLab

  6. 打开Powershell Prompt执行:pip install numpy numpy-ext,执行swig测试swig是否安装正确

安装pyOpt

  1. 下载 pyOpt Zip到本地,此仓库为支持Python 3.x版本,非官方仓库。
  2. 解压pyOpt-master,通过Anaconda的Powershell Prompt工具进入其目录下
  3. 执行python setup.py install
  4. 打开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))
  1. 运行正常即为安装完成
posted @ 2022-05-20 15:45  yinsua  阅读(212)  评论(0编辑  收藏  举报