Differentiation of conic programs with nonlinear parametric expressions
還沒有人認領這個 Issue。
評估
研究方向
先使用 Clarabel 執行 Julia MWE,並與 Ipopt 版本比較,接著閱讀透過 diff_model 和 optimize! 進入的 DiffOpt 參數微分路徑。當錐規劃支援 sin(θ) * x 之類的非線性參數表達式,且提供的範例能成功完成微分時,即表示完成。
由索引模型根據 Issue 內容生成。
描述
DiffOpt does not support differentiating a conic program if the problem's data depends nonlinearly from the parameters (e.g. if A(theta) x <= b(theta) with A(.) and b(.) given by nonlinear expressions).
Here is a simple MWE:
using JuMP
using Clarabel
using DiffOpt
model = DiffOpt.diff_model(Clarabel.Optimizer)
@variable(model, x >= 0)
@variable(model, θ ∈ MOI.Parameter(1.0))
@objective(model, Min, x)
@constraint(model, sin(θ) * x >= 1.0)
JuMP.optimize!(model)
If we replace Clarabel by Ipopt, the code works like a charm. But Clarabel works much better than Ipopt if the problem is conic.
We can use the chain-rule to differentiate the problem w.r.t. A instead of theta. However, I think it would be more intuitive to support nonlinear expressions depending on the parameters in DiffOpt. What do you think?
- 主要語言
- Julia
- 星號
- 146
- 分支
- 21
- 平均合併
- 1 小時 25 分鐘
- 30 天內合併 PR
- 2
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
jump-dev/DiffOpt.jl 的其他 Issue
-
難度 3/5 1-2 天 新手友好度 55/100
jump-dev/DiffOpt.jl#362 · 1 則留言 ·
-
難度 5/5 一週以上 新手友好度 25/100
jump-dev/DiffOpt.jl#358 · 2 則留言 ·
-
難度 3/5 1-2 天 新手友好度 55/100
jump-dev/DiffOpt.jl#348 ·
-
good first issue
難度 4/5 3-5 天 新手友好度 48/100
jump-dev/DiffOpt.jl#336 · 4 則留言 ·
-
難度 5/5 一週以上 新手友好度 35/100
jump-dev/DiffOpt.jl#318 · 1 則留言 ·
查看 jump-dev/DiffOpt.jl 的全部 Issue
相似的 Issue
-
CI: two jobs fail on the new ubuntu-latest (Ubuntu 26.04) runner image可能已有人在做 @bjarthur 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 86/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 63/100
mojaie/MolecularGraph.jl#151 ·
-
Julia runner test IDs cause false oracle regressions可能已有人在做 @yu-depend 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 76/100
-
bug
難度 2/5 1-3 小時 新手友好度 72/100
-
View of a view is broken可能已有人在做 關聯的 PR 仍在進行中或已合併。 未關閉
難度 2/5 1-3 小時 新手友好度 68/100
維護者通常 1 天內回覆