Differentiation of problems with Almost Locally Solved termination status
まだ誰も着手していません。
評価
調査の方向性
まず Julia の最小動作例を実行し、次に DiffOpt.forward_differentiate! と Almost Locally Solved 終了ステータスの処理を追跡します。そのステータスに対して例が順方向微分を正常に完了すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
DiffOpt seems to not suppoer problems with the termination status Almost Locally Solved. Below is a minimum working example.
using JuMP
using Ipopt
using DiffOpt
# Create differentiable model with loose tolerances
diff_optimizer = optimizer_with_attributes(
Ipopt.Optimizer,
"print_level" => 3,
"tol" => 1e-2,
"acceptable_tol" => 1e-1,
"max_iter" => 5,
"acceptable_iter" => 2
)
model = Model(() -> DiffOpt.diff_optimizer(diff_optimizer))
# Decision variables
@variable(model, x >= 0)
@variable(model, y >= 0)
# Parameters (weights in objective)
w = [0.1, 0.1] # Initial parameter values
weight = w
weight = JuMP.@variable(
model,
[j in keys(w)] in MOI.Parameter(w[j]),
base_name = "weight")
@constraint(model, x + y >= 10)
@constraint(model, 2x + y >= 15)
@objective(model, Min, weight[1]*x + weight[2]*y)
optimize!(model)
println("\nStatus: $(termination_status(model))")
for (i, key) in enumerate(keys(weight))
perturbation = i
DiffOpt.set_forward_parameter(model, weight[key], perturbation)
end
# Solve perturbed problem
optimize!(model)
# Compute forward derivatives
DiffOpt.forward_differentiate!(model)
- 主要言語
- Julia
- スター
- 146
- フォーク
- 21
- 平均マージ
- 1時間 25分
- マージ済み PR(30日)
- 2
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
jump-dev/DiffOpt.jl のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
jump-dev/DiffOpt.jl#362 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
jump-dev/DiffOpt.jl#358 · コメント 2 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
jump-dev/DiffOpt.jl#348 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
jump-dev/DiffOpt.jl#331 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
jump-dev/DiffOpt.jl#318 · コメント 1 件 ·
jump-dev/DiffOpt.jl の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
OpenSourceAWE/SymbolicAWEModels.jl#431 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
EnzymeAD/Reactant.jl#3549 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
WaterLily-jl/WaterLily-Examples#46 · コメント 1 件 ·