Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic sparse vector for solutions #247

Merged
merged 6 commits into from
Jan 29, 2020
Merged

Dynamic sparse vector for solutions #247

merged 6 commits into from
Jan 29, 2020

Conversation

guimarqu
Copy link
Contributor

@guimarqu guimarqu commented Jan 28, 2020

  • Replace the SortedDict by a PackedMemoryArray in the Solution container
  • Fix a tolerance problem in fill_primal_solution.

@codecov-io
Copy link

codecov-io commented Jan 28, 2020

Codecov Report

Merging #247 into master will increase coverage by 0.02%.
The diff coverage is 77.08%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #247      +/-   ##
==========================================
+ Coverage   83.48%   83.51%   +0.02%     
==========================================
  Files          49       49              
  Lines        2918     2923       +5     
==========================================
+ Hits         2436     2441       +5     
  Misses        482      482
Impacted Files Coverage Δ
src/parameters.jl 100% <ø> (ø) ⬆️
src/Containers/Containers.jl 100% <ø> (ø) ⬆️
src/MathProg/formulation.jl 63.63% <0%> (+0.81%) ⬆️
src/MathProg/optimizerwrappers.jl 92.77% <100%> (-0.18%) ⬇️
src/MathProg/manager.jl 70.58% <100%> (+0.89%) ⬆️
src/Containers/members.jl 38.54% <100%> (-8.72%) ⬇️
src/MathProg/MOIinterface.jl 94.17% <100%> (+0.14%) ⬆️
src/Algorithm/preprocessing.jl 76.89% <80%> (-0.73%) ⬇️
src/Algorithm/masterlp.jl 93.75% <0%> (-6.25%) ⬇️
... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1e21abc...115bad2. Read the comment docs.

@guimarqu guimarqu marked this pull request as ready for review January 28, 2020 23:38
@guimarqu guimarqu requested a review from vitornesello January 28, 2020 23:38
@@ -4,6 +4,8 @@ Base.@kwdef mutable struct Params
integrality_tolerance::Float64 = 1e-5
absolute_optimality_tolerance::Float64 = 1e-5
relative_optimality_tolerance::Float64 = 1e-5
ϵ_tol::Float64 = 1e-6 # if - ϵ_tol < val < ϵ_tol, we consider val = 0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe remove all other tolerances and leave this one as tolerance?

@@ -4,6 +4,8 @@ Base.@kwdef mutable struct Params
integrality_tolerance::Float64 = 1e-5
absolute_optimality_tolerance::Float64 = 1e-5
relative_optimality_tolerance::Float64 = 1e-5
ϵ_tol::Float64 = 1e-6 # if - ϵ_tol < val < ϵ_tol, we consider val = 0
integrality_tol_digits::Int = 6 # because round(val, digits = 6)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe tolerance_digits?

Copy link
Collaborator

@vitornesello vitornesello left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remark in the function that checks if column exists : will it work for non-binary variables? Also, maybe it should be in a separate function.. We might have an isequal(varconstr, varconstr)

@guimarqu guimarqu requested a review from vitornesello January 29, 2020 14:02
@guimarqu guimarqu merged commit c60b27c into master Jan 29, 2020
@guimarqu guimarqu deleted the dynsparsevecsol branch January 29, 2020 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants