-
Notifications
You must be signed in to change notification settings - Fork 42
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
New structures for Solutions & Results #286
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* part 1 * wip * tests ok * improve a little bit
* starting work on OptimizationResult * draft * wip * wip * works * rm outputs
* masterIpHeur -> IpForm * future input in comment * rm use of incumbents * solve colgen sp with ipform + try things with Logging
* MasterLp -> LpForm * use LpForm to solve LP restricted master in colgen * update travis
* rm old optimization input * debug outputs * fix bug in call for restricted master heur * fix things * not working * fix colgen mlp * fixes * tests ok
* update colgen * rm incumbents
* update/add/set methods for solutions in OptimizationResult * tests ok * ok now
guimarqu
changed the title
New structures for Solutions/OptimizationOutputs
New structures for Solutions
Mar 12, 2020
guimarqu
changed the title
New structures for Solutions
New structures for Solutions & Results
Mar 12, 2020
* move optresult in alg * rename OptimizationResult -> OptimizationState
), | ||
PrimalSolution{sense}(), DualBound{sense}() | ||
) | ||
struct OptimizationOutput{F,S} <: AbstractOutput |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this structure still going to be completed? Right now it is not consistent with the description in the PR.
Why do we need it?
rrsadykov
approved these changes
Mar 13, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Solution -> contains a formulation ref now
MoiResult -> to retrieve the result after solving a model with a MoiOptimizer/UserOptimizer
OptimizationOutput -> output of an algorithm & contains an OptimizationState
ObjValues -> contains incumbent bounds
OptimizationState :
A convenient structure to maintain and return solutions and bounds of a formulation
form
during an optimization process. The feasibility and termination statuses are considered as unknown by default. You can define the initial incumbent bounds usingip_primal_bound
,ip_dual_bound
,lp_primal_bound
, andlp_primal_bound
keyword arguments. Incumbent bounds are set to infinite (according to formulation objective sense) by default. You can store three types of solutionsip_primal_sols
,lp_primal_sols
, andlp_dual_sols
. These solutions are stored in three lists. Keywordsmax_length_ip_primal_sols
,max_length_lp_primal_sols
, andmax_length_lp_dual_sols
let you define the maximum size of the lists. Keywordsinsert_function_ip_primal_sols
,insert_function_lp_primal_sols
, andinsert_function_lp_dual_sols
let you provide a function to define the way you want to insert a new solution in each list. By default, lists are sorted by best bound.