YALMIPのインストールが、既存の記事では上手くできなかったため備忘録として記事にまとめました。
わかりにくい場合は申し訳ありません。
YALMIPのインストールとSDP設定ガイド
このガイドでは、MATLAB用の最適化ツールキットであるYALMIPのインストールと、SDP(半正定値計画問題)を解くための環境設定について説明します。
YALMIPのダウンロード
- YALMIPの公式サイトにアクセスします。
- ページにあるYALMIP-master.zipのリンクをクリックし、ダウンロードします。
SDPT3とSeDuMiのダウンロード
SDPを解くためには、SDPT3とSeDuMiという二つのソルバーが必要です。
-
SDPT3のGitHubから
sdpt3-master.zip
をダウンロードします。 -
SeDuMiのGitHubから
sedumi-master.zip
をダウンロードします。
ファイルの解凍と格納
ダウンロードしたzipファイルを適当なフォルダに解凍します。ここでは例としてDocuments\MATLAB\
に格納します。
ソルバーのインストール
SDPT3のインストール
- MATLABを起動します。
-
sdpt3-master
ディレクトリに移動します。 - MATLABコマンドウィンドウで
install_sdpt3
を実行します。
SeDuMiのインストール
-
sedumi-master
ディレクトリに移動します。 - MATLABコマンドウィンドウで
install_sedumi
を実行します。
MATLAB内でのパス設定
- 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'))
- 設定したパスを保存します。
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|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++