2016-04-18 11 views
3

JuMPのスパース行列をどのように扱うのですか?例えばスパース行列を使用したJuMP?

、私は、フォームの制約を課すこととします

Aは疎行列と x変数のベクトルである
A * x == 0 

。私はAの希薄さが最適化をより速くするために悪用される可能性があると仮定します。 JuMPでこれをどのように活用できますか?

答えて

3

JuMPは、すでにさまざまな方法で疎行列から利益を得る、私はソースをチェックしますがJuMP.jlからcited paperを参照していました:

LPの場合は、入力されたデータ構造は、ベクトルcであり、 B とスパース形式の行列A、およびこれら データ構造を生成するためのルーチンは、注意することが行列ジェネレータ

ワンポイントと呼ばれそれは、JuMPのような代数モデリング言語(AML)の主な仕事は、ソルバーの入力データ構造を生成することです。 JuMPのようなAMLは、生成された問題自体を解決しませんが、タスクを実行するために標準的な適切なソルバーを呼び出します。

+0

私はJuMPがユーザーとソルバーの間のインターフェースとしてのみ機能することを知っています。私の質問(より明確になった)は、JuMPに疎な行列(A * x == 0という形式の制約で、Aは疎行列とxaベクトル)を与えた場合、JuMPによって翻訳されたデータソルバーに供給されると、スパースになります(ソルバーがスパース行列を処理するために最適化されていると仮定します)。 – becko

+0

@becko JuMPはこれをフードの下で行うと思います。あなたが懐疑的であるならば、あなた自身のために見るために疎な線形制約行列Aの有無にかかわらずおもちゃの例を実行してみてください。 –

関連する問題