Sienna-Platform / Sienna-Platform/InfrastructureOptimizationModels.jl
improve the addition of slack penalties
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 1
- Forks
- 0
- Avg merge
- 8h 51m
- Merged PRs (30d)
- 9
Description
We should add the option for users to set slack penalties and also implement a way to define the slack adequately.
For instance we we can take the structure
mutable struct ObjectiveFunction
invariant_terms::JuMP.AbstractJuMPScalar
variant_terms::GAE
synchronized::Bool
sense::MOI.OptimizationSense
function ObjectiveFunction(invariant_terms::JuMP.AbstractJuMPScalar,
variant_terms::GAE,
synchronized::Bool,
sense::MOI.OptimizationSense = MOI.MIN_SENSE)
new(invariant_terms, variant_terms, synchronized, sense)
end
end
and add a slack variables vector that doesn't get added until the end when we call get_objective_expression that dynamically sets the penalties for the slacks.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the ObjectiveFunction structure and the get_objective_expression entry point mentioned in the issue. Determine how slack variables and penalties should be represented, then confirm that users can define slack behavior and set penalties dynamically when the objective expression is created.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100