問題タブ [julia-jump]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - Matlab から Julia への最適化: JuMP @SetNLObjective の関数
Julia で Matlab fmincon 最適化関数を書き直そうとしています。
Matlab コードは次のとおりです。
ここに私のジュリアコードがあります:
Julia の最適化は、@setNLObjective で目的関数を明示的に定義すると機能しますが、ユーザーの入力が変化して別の目的関数が生成される可能性があるため、これは不適切です。これは、目的関数の作成方法から確認できます。
この問題は、目的関数を @setNLObjective 引数に入力する方法に関する JuMP の制限のようです。
すべての式は単純なスカラー演算でなければなりません。ドット、行列ベクトル積、ベクトル スライスなどは使用できません。ベクトル演算を明示的な sum{} 演算に変換してください。
これを回避する方法はありますか?または、これを解決する Julia の他のパッケージはありますか?
どうもありがとう。
julia - Julia の辞書からプログラムでローカル変数を作成する
次の関数を検討してください。
のスコープにローカル変数を作成したいのですが、func
変数名はそれぞれ のキーでありvars
、変数の値はvars
指定されたキーに対応する の値です。
私はeval()
次のようなもので使用できることを認識しています:
ただし、これはグローバル スコープで変数を定義するため、パフォーマンスに影響があり、既存のグローバル変数をオーバーライドする可能性があります。
PS私が行っているアプローチとは大幅に異なる提案がある場合に備えて、コンテキストを追加します. ユーザーが任意の制約式を使用して最適化モデルを動的に作成できるように、 JuMPの周りにラッパーを実装しています。制約式はシンボルを使用してJuMP
定義されており、それらのシンボルは現在のスコープで定義する必要があるため、ユーザーはそれらのシンボルとその値をディクショナリで関数に提供する必要があります。シンボルをグローバルに定義するのは面倒です。ユーザーは理想的には、同じ制約式 (つまり、同じシンボル) で異なる値を使用して関数を複数回実行できる必要があるためです。
julia - 線形計画法: すべての最適な頂点を見つける
線形プログラムのすべての最適解を取得するための良い方法 (できれば JuMP を使用) があるかどうか疑問に思っていました (複数の最適解がある場合)。
例
2 つの確率分布間の統計的距離 (コルモゴロフ距離) を最小化します。
最適化を線形プログラムとして表現できることに注意してください。目的は次のようになります。
この問題には一意の解はありません。代わりに、最適解の部分空間は
どちらも 0.5 の最小距離を持ち、これら 2 つのソリューションの任意の凸結合が最適です。
これらすべての最適な極値 (最適な部分空間にまたがる点) を見つける良い方法があるかどうか疑問に思っていましたか?
なぜこれに興味があるのですか?最大のBhattacharyya 係数(凹関数)を与える点は、静的距離の最適部分空間の中間のどこかにあります。
これまでのところ、最適な P,Q のペア (私が示した例を参照) を見つけようとしました和。確かなことはほとんどわかりませんが、ある程度は機能しているようです。