凸优化:python解决凸优化问题

发布时间:2019-09-22 07:41:01编辑:auto阅读(2255)

    1、凸优化

    这里写图片描述

    这里写图片描述

    2、安装CVX包
    用pip安装cvxpy-0.4.8-py2-none-any.whl

    下载地址:
    http://www.lfd.uci.edu/~gohlke/pythonlibs/

    3、安装过程中可能遇到的问题

    • error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
      解决办法:安装Microsoft Visual C++ Compiler for Python 2.7

    • ImportError: cannot import name NUMPY_MKL
      解决办法:安装numpy+mkl

      首先pip freeze命令查看安装的扩展包,会发现只安装了numpy而没有mkl

      Numpy+MKL is linked to the
      Intel® Math Kernel Library and includes required DLLs in the
      numpy.core directory.

      于是下载重新安装numpy+mkl
      (1)、了解mkl:

        Python下有很多关于机器学习的库,最常用的组合有一下四个:

        numpy :主要用来做一些科学运算,主要是矩阵的运算。NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组。它将常用的数学函数都进行数组化,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。
        scipy:主要是一些科学工具集,信号处理工具集(如线性代数使用LAPACK库,快速傅立叶变换使用FFTPACK库)及数值计算的一些工具(常微分方程求解使用ODEPACK库,非线性方程组求解以及最小值求解等)。
        scikit-learn:里面有很多机器学习相关的算法(如聚类算法,SVM等)。
        matplotlib:是一个画图工具和Matlab中的画图工程类似。
        
       (2)、安装
        下载了:numpy-1.11.3+mkl-cp27-cp27m-win_amd64.whl
        然后:pip install numpy-1.11.3+mkl-cp27-cp27m-win_amd64.whl存放位置
        

    • ImportError: ImportError: No module named _multiprocess
      解决办法:
      Install “Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)” from http://www.microsoft.com/en-us/download/confirmation.aspx?id=2092
      Install Microsoft Visual C++ for Python from http://aka.ms/vcpython27
      Build and install multiprocess

      或者是:
      将“PYTHON_ROOT\Lib\site-packages\multiprocess__init__.py”文件的第84行(其中PYTHON_ROOT为你的python根目录)

      
      # This is down here because _multiprocessing uses BufferTooShort
      
                             import _multiprocess as _multiprocessing

      替换为:

             #This is down here because _multiprocessing uses BufferTooShort
                      try:
                          import _multiprocess as _multiprocessing
                      except ImportError:
                          import _multiprocessing

关键字