ScalarAffine sensitivity on a VectorAffine constraint
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 38/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- julia
- Domínio
- backend-api-design
Direção de pesquisa
Reproduza o exemplo em Julia na issue, começando com MOI.set e DiffOpt.forward_differentiate!. Leia o contexto posterior em #287 e o comentário vinculado para entender a falha de sensibilidade de ScalarAffine na restrição VectorAffine. Está concluído quando a sequência de diferenciação mostrada tratar esse caso com sucesso.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Followup of #287
model = Model(() -> DiffOpt.diff_optimizer(SCS.Optimizer))
@variable(model, x[1:7])
@test num_variables(model) == 7
c1 = @constraint(model, -sum(x[i] for i in 1:6) + 10 ≥ 0)
c2 = [
@constraint(model, x[i] ≥ 0)
for i in 1:6
]
α = 0.8
δ = 0.9
c3 = @constraint(
model,
LinearAlgebra.Symmetric(hcat(
[((δ/2)*x[1] + α*x[2] + δ*x[3] + (δ/4)*x[4] + (δ/8)*x[5] - 1.0*x[7]) # a11
((-(δ/(2*√2)))*x[1] - (δ/4)*x[2] - (δ/(8*√2))*x[5])],
[((-(δ/(2*√2)))*x[1] - (δ/4)*x[2] - (δ/(8*√2))*x[5])
((δ/2)*x[1] + (δ - α)*x[2] + 0.0*x[3] + (δ/8)*x[5] + (δ/4)*x[6] - x[7])])
) in PSDCone()
)
@objective(model, Max, x[7])
optimize!(model)
MOI.set.(
model,
DiffOpt.ForwardConstraintFunction(),
c3,
sum(x) + 1,
)
DiffOpt.forward_differentiate!(model)
The issue is a ScalarAffine sensitivity on a VectorAffine constraint: https://github.com/jump-dev/DiffOpt.jl/pull/287#issuecomment-2816109383
- Linguagem predominante
- Julia
- Estrelas
- 146
- Forks
- 21
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de jump-dev/DiffOpt.jl
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
jump-dev/DiffOpt.jl#362 · 1 comentário ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
jump-dev/DiffOpt.jl#358 · 2 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
jump-dev/DiffOpt.jl#348 ·
-
good first issue
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
jump-dev/DiffOpt.jl#336 · 4 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
jump-dev/DiffOpt.jl#331 · 1 comentário ·
Todas as issues de jump-dev/DiffOpt.jl
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
legend-exp/LegendDataManagement.jl#232 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
EnzymeAD/Reactant.jl#3569 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
astroautomata/SymbolicRegression.jl#783 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia