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

SolverCore Revamp #6

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft

SolverCore Revamp #6

wants to merge 10 commits into from

Conversation

abelsiqueira
Copy link
Member

No description provided.

@abelsiqueira abelsiqueira marked this pull request as draft March 30, 2021 01:47
@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

ct :: Vector
end

function DummySolver(nvar :: Integer, ncon :: Integer = 0)
Copy link
Member

Choose a reason for hiding this comment

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

Maybe this should take an NLPModelMeta as input?!

Copy link
Member Author

Choose a reason for hiding this comment

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

That would be too specific. This is the simplest one to allow creating a reusable solver with various problems of the same size, for instance. If you already have the meta, you probably have the nlp.

Copy link
Member

Choose a reason for hiding this comment

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

I know but what I’m saying is that all the information in the meta may be necessary to construct a solver, e.g., for constrained problems, taking into account the number of equality/inequality constraints, types of bounds, etc.

Copy link
Member Author

Choose a reason for hiding this comment

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

I've changed now to use meta. Now both
DummySolver(nlp.meta) and DummySolver(Val(:nosolve), nlp) create the solver without solving.

@@ -76,3 +123,16 @@ function dummy_solver(
iter=iter
)
end

parameters(::DummySolver) = NamedTuple(α = 1e-2, δ = 1e-8)
Copy link
Member

Choose a reason for hiding this comment

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

Ideally, the parameters structure also encapsulates the domain and type of each parameter.

Copy link
Member Author

Choose a reason for hiding this comment

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

I was thinking about that. The issue that remains is the interaction between parameters. Like 0 <= eta_1 <= eta_2 <= 1. So I was thinking of returning the problem, but that constricts the non-scalar parameters.

Copy link
Member Author

Choose a reason for hiding this comment

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

I've updated with a lot more information on the parameters. It could possibly be made clearer with structs but I haven't found a need to change yet. The interaction issue above was not solved. I also implemented a grid search.

end
end
end
)
Copy link
Member

Choose a reason for hiding this comment

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

This function should return a real number, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, it's unfinished because I don't know what to do yet.

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

github-actions bot commented Apr 6, 2021

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@codecov
Copy link

codecov bot commented Apr 6, 2021

Codecov Report

Merging #6 (7f63937) into master (16fc349) will increase coverage by 3.23%.
The diff coverage is 96.82%.

❗ Current head 7f63937 differs from pull request most recent head 9ceb000. Consider uploading reports for the commit 9ceb000 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master       #6      +/-   ##
==========================================
+ Coverage   91.20%   94.44%   +3.23%     
==========================================
  Files           3        6       +3     
  Lines          91       72      -19     
==========================================
- Hits           83       68      -15     
+ Misses          8        4       -4     
Impacted Files Coverage Δ
src/grid-search-tuning.jl 95.23% <95.23%> (ø)
src/logger.jl 88.23% <100.00%> (+0.73%) ⬆️
src/output.jl 100.00% <100.00%> (ø)
src/parameters.jl 100.00% <100.00%> (ø)
src/solver.jl 100.00% <100.00%> (ø)
src/traits.jl 100.00% <100.00%> (ø)
... and 1 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 16fc349...9ceb000. Read the comment docs.

@github-actions
Copy link
Contributor

github-actions bot commented Apr 6, 2021

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

github-actions bot commented Apr 8, 2021

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

github-actions bot commented Apr 8, 2021

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

github-actions bot commented Apr 8, 2021

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

github-actions bot commented Apr 8, 2021

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

github-actions bot commented Apr 8, 2021

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@abelsiqueira abelsiqueira changed the title Create AbstractSolver SolverCore Revamp Apr 16, 2021
@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

@github-actions
Copy link
Contributor

Package name latest stable
CaNNOLeS.jl
DCI.jl
DerivativeFreeSolvers.jl
JSOSolvers.jl
NLPModelsIpopt.jl
Percival.jl
RipQP.jl
SolverTest.jl

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.

2 participants