-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feature/optimization discrete variables (#670)
* glop solver activated intVariable array added to store information on discrete variables * Adding discrete value array in problem creation Renaming intVar into VariablesEntieres Allocation + filling values during optimization variables creation * Giving discrete variables info to solvers * Making use of MakeVar(min, max, isInteger, name) * filling VariablesEntieres complete * Fix xpress identifier, use MIP solver if the problem is MIP * Deactivating heuristic and second optimization (by commenting) Only bringing back reduced costs and dual values when using MIP model * Remove commented second optimization ERRATUM for preceding commit : reduced costs and dual values when using *LP* model * Reactivated heuristics / second optimization Adding an epsilon to int vars to measure stability through heuristics * Use of round function for int vars out of XPRESS * Test : remove epsilon to output of XPRESS Check influence on heuristic * Going back without 2nd optimization Enabling solver output log * remove commented code * Renaming ucHeuristic and ucMILP (resp. to ucFast and ucAccurate) * also renaming selection methods * Adding "milp" parameter as option of optimisation conditionning "VariablesEntieres" to the use of milp parameter * activating 2nd optimization (if not milp) * No NODU smoothing needed for MILP resolution * changed memory required for input with MILP * (first draft) check of ortools if milp model * error messages changes * refactoring yearEndBuildFromThermalClusterIndex separating smoothing and costs computing not activating smoothing when MILP resolution * reactivating NODU smoothing for MILP solve * fix case * Cleaning, renaming after comments Moving isMIP to named_problem * adding methods to compute ON_Min and ON_Max * remove unused variable * Apply clang-format * remaking isMIP into a method * removing const typing * [TEMP] Test log xpress + 1 thread * remove xpress parameters * adding parameters --ortools-parameters="" for specific solver parameters string --ortools-verbose to activate verbosity * [TEMP] removing ortools presolve * Revert "[TEMP] removing ortools presolve" This reverts commit 9500cec. * changing parameters setting for ortools solvers * 2 solvers kept in memory for optim 1/2 for milp, 2nd optim with min/max fixed for M * [TEMP] individual year objectives * Revert "[TEMP] individual year objectives" This reverts commit 7d6164c. * Apply clang-format * fix : fixing NODU min and max for ALL timesteps in MILP mode * Fix build, formatting * Remove ortoolsVerbose & ortoolsParamsString * Simplify condition a bit * Fix variable type in MPS writer * [skip ci] Add TODO * Add forgotten data member * Revert state.* * One more fix * Fix build for GUI * Factorize UI code a bit * Move `checkOrtoolsUsage` * Add comment * Restore existing behavior for unitCommitmentMode = ucHeuristicAccurate * Small clean-up * Restore dual values & reduced costs * Renaming * Setup relaxation * Revert "Setup relaxation" This reverts commit 1c6411b. * Remove relaxation, use 0 for reduced cost & marginal values * Format * Partial revert * Disable variables requiring dual values / marg costs when ucMode = milp * Add comments * Add comments in `enum UnitCommitmentMode` * Remove obsolete TODO note * Add OutputRetriever::thermalNbUnitsON * Add 2 unit tests with COIN * Remove obsolete TODO note * Fix formatting * Fix formatting * Skip 2nd optimization when solving with integer variables --------- Co-authored-by: Florian OMNES <[email protected]> Co-authored-by: Florian Omnes <[email protected]>
- Loading branch information
1 parent
27de580
commit 8dbba7e
Showing
29 changed files
with
351 additions
and
110 deletions.
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.