Tomlabは、MATLABで最適化問題を研究、教育、実用的に解くための一般的な開発およびモデリング環境です。Tomlabには、グローバル最適化、整数計画、すべての種類の最小二乗法、線形、二次、制約なしプログラミングなど、さまざまな最適化ツールボックスがあります
特徴
・数値計算処理が速く、行列や配列の処理に強い。一度にひとつの数値ではなく行列や配列全体を処理できるため、数値計算の分野では使いやすい言語です。
・グラフや図の作成が簡単:コマンド入力によるソースコードの実行結果をすぐにグラフィカルに表示できます。
・多言語との連携が可能:C言語やPythonなどと組み合わせて使うことができます。
・IoT、ディープラーニング、アルゴリズム開発などに活用できる:様々な分野で需要が高まっている技術に対応できるツールボックスやライブラリが豊富に用意されています。
機能
・機械学習:教師あり学習や教師なし学習の主要な分類、回帰、クラスタリングアルゴリズムを利用できます。Simulinkと統合して、組み込み展開やシミュレーションを実行できます。
・グラフィックス:コマンド入力によるソースコードの実行結果をすぐにグラフィカルに表示できます。2Dや3Dのグラフやアニメーションを作成できます。
・アプリケーション開発:完成したアルゴリズムをデスクトップやWeb上のアプリやソフトウェアに変換することが可能で、システムへ組み込むことができます。Live Editorでコード、出力、書式付きテキストを実行可能なノートブックに組み合わせることもできます。
■TOMLAB Base Module
特徴
・最適化ソルバーのセット:TOMLAB Base Moduleには、多数の最適化ソルバーが含まれています。そのほとんどは、応用最適化とモデリンググループ(TOM)によって開発されたものです。それらは、Matlabのスパース配列を扱えるように改良されたり、さらに開発されたりしています。
・SOLソルバーの含有:TOMLAB Base Moduleには、SOLソルバーのTlsqr(LSQR)、PDCO、PDSCOなどが含まれています。これらは、線形や非線形の制約を持つ問題を解くことができます。
・グローバル最適化の機能:TOMLAB Base Moduleには、glbDirect、glcDirect、glcClusterというMatlab-Fortran MEXソルバーも含まれています。これらは、凸でも非凸でもない混合整数非線形計画問題を高速に解くことができます。
・TomSymシンボリックモデリングエンジンの含有:TOMLAB Base Moduleには、TomSymというシンボリックモデリングエンジンも含まれています。これは、最適化問題を簡単に記述することができるツールです。
■Solverpage
MATLABで最適化問題を解くためのソフトウェアです1。Tomlabには、Base Moduleという基本的なソルバーの集合と、さまざまな拡張モジュールがあります。拡張モジュールには、/SOL、/CGO、/CPLEX、/GUROBI、/MINLP、/PENSDP、/PENBMI、/KNITRO、/OQNLP、/NLPQL、/LGO、/GPなどがあります。
TomlabのSolverの一覧は以下の通りです。
・TOMLAB /MINOS:TOMLAB Base ModuleにSOL社のソルバーを3つ追加したものです。MINOS, LP-MINOS, QP-MINOS, QPOPT, LPOPTが含まれます。疎行列や密行列を用いた線形、二次、非線形計画問題を解くことができます。
・TOMLAB /NPSOL:TOMLAB Base ModuleにSOL社のソルバーを4つ追加したものです。NPSOL, NLSSOL, LSSOL, DNOPTが含まれます。非線形最適化や非線形最小二乗法などを解くことができます。
・TOMLAB /DNOPT:TOMLAB /SOLの一部として利用できます2。DNOPTは、非線形方程式系や非線形最小二乗法などにも適しています。DNOPTは、内部的に微分を推定することができ、TOMLABの他の方法よりも高速です1。DNOPTは、他のTOMLABソルバーのサブ問題ソルバーとしても使用できます。
・TOMLAB /SNOPT:TOMLAB Base ModuleにSOL社のソルバーを2つ追加したものです。SNOPT, SQOPTが含まれます。大規模な疎行列や密行列を用いた非線形計画問題や二次計画問題を解くことができます。
・TOMLAB /SOL:TOMLAB /MINOS, TOMLAB /NPSOL, TOMLAB /SNOPTを統合したものです。SOL社のソルバーをすべて利用できます。
・TOMLAB /CGO:グローバル最適化や応答曲面法などに特化したモジュールです。CGO, EGO, glcCluster, glcDirect, glcFast, glbDirect, glbFast, multiMinなどが含まれます。
・TOMLAB /CPLEX:IBM社のCPLEX Optimizerと統合したモジュールです。大規模な線形計画問題や混合整数計画問題を解くことができます。
・TOMLAB /GUROBI:Gurobi Optimization社のGurobi Optimizerと統合したモジュールです。大規模な線形計画問題や混合整数計画問題を解くことができます。
・TOMLAB /MINLP:混合整数非線形計画問題に特化したモジュールです。MINLPBB, BQPD, MIQPBBなどが含まれます。
・TOMLAB /MIPNLP:混合整数非線形計画問題に特化したモジュールです。MIPNLPなどが含まれます。
・TOMLAB /PENSDP:半正定値計画問題に特化したモジュールです。
・TOMLAB /PENBMI:TOMLAB /PENSDPの拡張版であり、線形目的関数と線形行列不等式制約(LMI)に加えて、BMIも扱うことができます。
・TOMLAB /KNITROは:非線形計画問題のための新しいアルゴリズムを実装しています。このアルゴリズムは、内点法(またはバリア法)と呼ばれるクラスに属し、収束を促進するために信頼領域を使用しています。
・TOMLAB /OQNLP:滑らかな制約付き非線形計画問題(NLP)や混合整数非線形計画問題(MINLP)の大域最適解を探すためのマルチスタート法のヒューリスティックアルゴリズムです。
・TOMLAB /NLPQL:密行列用の非線形計画問題を解くためのソルバーです。内部アルゴリズムは、逐次二次計画法(SQP)です。
・TOMLAB /LGO:一般的な非線形計画問題(NLP)の分析と大域最適化を行うためのツールです。
・TOMLAB /GPとは、幾何計画問題を解くためのパッケージです。幾何計画問題は、最適解が非微分可能であることが多いので、専用のツールが必要です。TOMLAB /GPは、内点法に基づいて、原始問題と双対問題を同時に解きます。
・TOMLAB /GENO:MATLABで遺伝的アルゴリズムや進化的探索を使って、伝統的な手法では難しい最適化問題を解くためのパッケージです1。TOMLAB /GENOは、実数値遺伝的アルゴリズムに基づいて、静的または動的、単目的または多目的の最適化問題を解きます。
■Optional control
・TOMLAB /PROPT
MATLABで最適制御問題を高速に解くためのプラットフォームです。TOMLABと完全に統合されており、TomSymモデリングエンジンを利用してコード生成を行います1。TOMLAB /PROPTには、以下のような特徴があります。
・最適制御問題の記述に必要なコードが少ない
・多様な問題構造や制約条件に対応できる
・疎行列を用いた高速な数値計算を行う
・結果の可視化や分析が容易である
■Automatic Differentation
TOMLAB /MADとは、MATLABで自動微分を行うためのパッケージです。クランフィールド大学のMAD (MATLAB Automatic Differentiation)をTOMLABに完全に統合したものです1。TOMLAB /MADのユーザーは、目的関数や制約条件の1階または2階の微分を評価するかどうかを指定できます。勾配や制約微分は、自動的に生成されるコードによって計算されます2。TOMLAB /MADには、以下のような特徴があります。
・前進モードと逆伝播モードの両方をサポートする
・高速で正確な数値計算を行う
・疎行列や構造化された行列に対応できる
・TOMLABの他のソルバーと連携できる
試用版ダウンロードはこちら
メーカーの製品サイト
https://tomopt.com/tomlab/
【種別】シェアウェア
【言語】英語
【動作環境】Windows、Mac、Linux