LoginSignup
3
3

YALMIPのインストールとSDP設定ガイド

Posted at

YALMIPのインストールが、既存の記事では上手くできなかったため備忘録として記事にまとめました。
わかりにくい場合は申し訳ありません。

YALMIPのインストールとSDP設定ガイド

このガイドでは、MATLAB用の最適化ツールキットであるYALMIPのインストールと、SDP(半正定値計画問題)を解くための環境設定について説明します。

YALMIPのダウンロード

  1. YALMIPの公式サイトにアクセスします。
  2. ページにあるYALMIP-master.zipのリンクをクリックし、ダウンロードします。

SDPT3とSeDuMiのダウンロード

SDPを解くためには、SDPT3とSeDuMiという二つのソルバーが必要です。

  1. SDPT3のGitHubからsdpt3-master.zipをダウンロードします。
  2. SeDuMiのGitHubからsedumi-master.zipをダウンロードします。

ファイルの解凍と格納

ダウンロードしたzipファイルを適当なフォルダに解凍します。ここでは例としてDocuments\MATLAB\に格納します。

ソルバーのインストール

SDPT3のインストール

  1. MATLABを起動します。
  2. sdpt3-masterディレクトリに移動します。
  3. MATLABコマンドウィンドウでinstall_sdpt3を実行します。

SeDuMiのインストール

  1. sedumi-masterディレクトリに移動します。
  2. MATLABコマンドウィンドウでinstall_sedumiを実行します。

MATLAB内でのパス設定

  1. MATLABコマンドウィンドウで以下のコマンドを実行します。
    addpath(genpath('C:\Users\<ユーザ名>\Documents\MATLAB\sedumi-master'))
    addpath(genpath('C:\Users\<ユーザ名>\Documents\MATLAB\sdpt3-master'))
    addpath(genpath('C:\Users\<ユーザ名>\Documents\MATLAB\YALMIP-master'))
    
  2. 設定したパスを保存します。
    savepath
    

YALMIPのテスト

YALMIPが正常に動作しているかを確認するため、以下のコマンドを実行します。

yalmiptest

テスト結果の例

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|                                     Test|    Status|       Solver|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|                     Core functionalities|   Success|             |
|                  Linear programming (LP)|    Failed|      LINPROG|
|               Quadratic programming (QP)|   Success|     QUADPROG|
|     Second-order cone programming (SOCP)|   Success|       SEDUMI|
|           Semidefinite programming (SDP)|   Success|       SEDUMI|
|               Geometric programming (GP)|   Success|      FMINCON|
|              Nonlinear programming (NLP)|   Success|      FMINCON|
|                    Nonlinear SDP (NLSDP)|   Success|      FMINCON|
|       Exponential cone programming (ECP)|   Success|      FMINCON|
|                  Mixed-integer LP (MIQP)|   Success|   INTLINPROG|
|                  Mixed-integer QP (MIQP)|   Success|          BNB|
|              Mixed-integer SOCP (MISOCP)|   Success|          BNB|
|   Global nonconvex quadratic programming|    Failed|       BMIBNB|
|             Global nonconvex programming|    Failed|       BMIBNB|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3