Discussion: Should `MOI.set` perform complex operations?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Documentación
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- julia
- Área
- backend-api-design
Línea de trabajo
Empieza leyendo el pull request 356 y los usos existentes de MOI.set; después, compáralos con compute_conflict!, write_to_file, read_from_file, submit, transform y Utilities.PenaltyRelaxation. Aclara las ventajas, desventajas y precedentes de realizar operaciones complejas en set frente a modify, y documenta los estándares acordados si la discusión llega a una decisión.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
As far as I understand MOI.set is primarily used for setting attributes.
However, https://github.com/jump-dev/DiffOpt.jl/pull/356 introduced:
function MOI.set(model::Model, ::DiffOpt.ForwardDifferentiate)
as a replacement to
function forward_differentiate!(model)
Historically, performing more complex operations has been left (mostly?) for special functions such as:
compute_conflict!write_to_fileread_from_filesubmittransform
A partial counter argument is:
Utilities.PenaltyRelaxation, but it is amodifynot even aset
I do think modify here makes sense.
Are there any other arguments to each side? any other precedent?
I would like to have the reasoning for that clarified.
What are de advantages and disadvantages?
Bonus:
As a follow-up, we should have good practices and standards documented to help developers consistently make decisions in these cases.
- Lenguaje dominante
- Julia
- Estrellas
- 146
- Forks
- 21
- Merge medio
- 1 h 25 min
- PR fusionados (30 d)
- 2
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jump-dev/DiffOpt.jl
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
jump-dev/DiffOpt.jl#362 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
jump-dev/DiffOpt.jl#348 ·
-
good first issue
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
jump-dev/DiffOpt.jl#336 · 4 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
jump-dev/DiffOpt.jl#331 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
jump-dev/DiffOpt.jl#318 · 1 comentario ·
Todos los issues de jump-dev/DiffOpt.jl
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
JuliaMath/Polynomials.jl#647 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
OpenSourceAWE/SymbolicAWEModels.jl#431 ·
Los mantenedores suelen responder en 1 día
-
Make PDAQP an optional extraAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 89/100
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día