Julia+JuMP で一定のパラメーターを定義する必要があります。これは、AMPL で定義するときに行うことと同様です。
set A := a0 a1 a2;
param p :=
a0 1
a1 5
a2 10 ;
Julia でA
andのようなものを定義するにはどうすればよいですか?p
Julia+JuMP で一定のパラメーターを定義する必要があります。これは、AMPL で定義するときに行うことと同様です。
set A := a0 a1 a2;
param p :=
a0 1
a1 5
a2 10 ;
Julia でA
andのようなものを定義するにはどうすればよいですか?p
JuMP 自体は、Julia で利用可能なものを超えて、インデックス セットの特別な構文を定義していません。たとえば、次のように定義できます。
A = [:a0, :a1, :a2]
where:a0
はシンボルを定義します。
このセットに対して変数にインデックスを付けたい場合、構文は次のとおりです。
m = Model()
@variable(m, x[A])
また、JuMP は AMPL と同じようにデータとモデルを区別しないため、パラメーターの実際の概念はありません。代わりに、使用時にデータを提供するだけです。あなたの質問を正しく理解できれば、次のようなことができます
p = Dict(:a0 => 1, :a1 => 5, :a2 => 10)
@constraint(m, sum(p[i]*x[i] for i in A) <= 20)
これにより、制約が追加されます
x[a0] + 5 x[a1] + 10 x[a2] <= 20
p
Julia辞書として定義する場所。ここでは JuMP に固有のものは何もありません。実際には、任意の julia 式を係数として提供できます。簡単に言うと
@constraint(m, sum(foo(i)*x[i] for i in A) <= 20)
foo
データベース検索を実行したり、pi の数字を計算したりできる任意の Julia 関数はどこにありますか?