MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

二次計画法(Quadratic Programming)の概要とPythonソルバーcvxoptの使い方

目次

  • 目次
  • はじめに
  • 二次計画法(Quadratic Programming)とは?
  • 二次計画法のPythonソルバーcvxopt
  • インストール方法
  • CVXOPTで簡単な二次計画問題を解いてみる。
  • cvxoptにおける等式制約の注意点
  • 制約の緩和のためのスラック変数の導入
    • ∞ノルム法によるスラック変数
    • 1ノルム法によるスラック変数
  • 大規模な二次計画問題のベンチマークテスト
  • 参考資料
  • MyEnigma Supporters

はじめに

先日、Googleが開発した

非線形最適化ソルバーCeres Solverの使い方を説明しましたが、

myenigma.hatenablog.com

同じ非線形最適化でも、ある特別な形をしている最適化問題の場合、

より効率的に解ける場合があります。

 

その中でも有名なのが、二次計画法(Quadratic Programming)です。

今回はこの二次計画法の概要の説明と、

二次計画法を解くための

Pythonソルバーcvoptの使い方を説明したいと思います。

続きを読む