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

Feature/yuni mutex #194

Open
wants to merge 72 commits into
base: New-Antares-Emulator-4
Choose a base branch
from

Conversation

meslubi2021
Copy link
Collaborator

No description provided.

flomnes and others added 30 commits September 22, 2023 09:27
* [DEV] Create STStorageCashFlowByCluster.h
* start

* add FictitiousLoad

* shortTermStorageLevel

* flowDissociation

* bindingConstraintHour

* ghost

* this is not only about constraint builder

* pay attention to the time step

* specific issue

* bug free

* smooth green?

* M&M

* Max Pumping ok?

* Area Hydro Level (_-_)

* finally

* basic

* tiny

* clean code

* add {PMin,PMax}DispatchableGeneration

* clean code

* ConsistenceNODU ok

* NbUnitsOutageLessThanNbUnitsStop

* NbDispUnitsMinBoundSinceMinUpTime

* MinDownTime

* setup Access Control

* remove comments

* remove comments

* treat major code smells

* treat major code smells 2

* more on major code smells

* update after review

* about objects lifetime

* (does not compile) cut into small pieces

* Revert "(does not compile) cut into small pieces"

This reverts commit 5a047c0.

* aesthetic

* remove comment

* smart move

* **** move

* shallow

* customize error exception

* test new variable construction design

* refactor

* update build for NODU

* clean deprecated code

* update build for NumberStoppingDispatchableUnits

* on NumberStartingDispatchableUnits

* on NumberBreakingDownDispatchableUnits

* new build NTCDirect

* missing file  NTCDirect

* Interco Direct/Indirect Cost

* ShortTermStorageInjection

* ShortTermStorageWithdrawal

* ShortTermStorageLevel

* HydProd

* HydProdDown

* HydProdUp

* Pumping

* HydroLevel

* Overflow

* FinalStorage

* fix

* LayerStorage

* Psitive/Negative UnsuppliedEnergy

* remove old code

* remove code

* fix

* move

* clarity matters thanks to @sylvlecl

* There is no need for repetition

* it makes sense:  Constraint->ConstraintFactory

* update

* remove redundant check

* rename things

* unused

* debug

* fiiiiiiiix

* add explicit keyword

* inspect unique_ptr

* resolve conflicts

* quick fix

* suggestion by @flomnes

Co-authored-by: Florian Omnès <[email protected]>

* add docs

* docs for new constraint classes

* update

* complete new classes documentation

* update

* update

* small changes

* small changes 2

* remove comment

* default value for constraint op

* clean code

* smell code

* smell code

* fix

* pretty

* typo

---------

Co-authored-by: Florian Omnès <[email protected]>
* [DEV] Add resultWriter in application.h

* [DEV] Remove Study::prepareWriter

* [DEV] Give resultWriter arg to ISimulation

* [DEV] Add arg resultWriter to importLogsToOutputFolder

* [DEV] Remove from test-store-timeseries-number

* [DEV] Add arg in StoreTimeSeriesNumbersIntoOuput

* [DEV] Add class member resultWriter in economy and adequacy

* [DEV] Removed resultWriter from study

* [FIX] Tests binding constraints

* [DEV] Move class NullResultWriter in src/libs

* [DEV] Use NullResultWriter to avoid arg

* [FIX] use NullDurationCollector
Delete the <u>src/simulation</u> line, which doesn't exist anymore. Replaced by <u>src/solver</u>.
…resSimulatorTeam#1632)

* Use 0 as a default value for ST-storage property initiallevel

* Use 50% for default values, add logs

* Document default value
…aresSimulatorTeam#1644)

* Ramove global NumeroChroniquesTireesParPays : removing from class State

* Move DataSeriesMemoryUsage to series.cpp

* Move DataSeriesMemoryUsage to class

* Use DataSeriesCommon::getValue for thermal

* Fix index

* Remove some uses of ThermiqueParPalier

* [DEV] Add arg year in prepareClustersInMustRunMode

* [FIX] Segfault by using getValue()

* [DEV] Renamed getValue by getAvailablePower

* [DEV] Add getSeriesIndex

* [FIX] segfault with getSeriesIndex

* [FIX] getseriesindex

* [DEV] getMarketBidCost now takes hour and year

* [DEV] use correct size, remove numspace from args

* [FIX] size

* [DEV] private getSeriesIndex

* [DEV] remove ThermiqueParPalier

* [FIX] post_process

---------

Co-authored-by: Florian OMNES <[email protected]>
Co-authored-by: Vincent Payet <[email protected]>
* Remove StudyRuntimeInfos::parameters

* Fix build
…sSimulatorTeam#1651)

* [DEV] TurbineMax/min

* [FIX] Use new to call constructor for vector

* [DEV] niveauxbas apports

* [DEV] DONNEES_MENSUELLES_ETENDUES

* [DEV] CoutLineaire CoefficientsDeLaMatriceDesContraintes

* [DEV] Sens

* [FIX] Using new

* [DEV] NombreDeTermesDesLignes IndicesDebutDeLigne

* [DEV] IndicesColonnes

* [DEV] Xmin Xmax SecondMembre

* [DEV] X CoutsReduits CoutsMarginauxDesContraintes

* [DEV] PositionDeLaVariable ComplementDeLaBase

* [DEV] AdresseOuPlacerLaValeurDesVariablesOptimisees

* [DEV] CORRESPONDANCE_DES_VARIABLES_PB_ETENDU

* [DEV] NbJoursDUnProbleme

* [DEV] ProblemeSpx

* [DEV] TypeDeVariable

* [DEV] CorrespondanceDesVariables

* [DEV] ProblemeLineaireEtenduPartieFixe

* [DEV] ProblemeLineaireEtenduPartieVariable

* [DEV] Var scope

* [DEV] ProblemeHydrauliqueEtendu

* [DEV] Use unique_ptr for Probleme

* [DEV] Remove probleme in struct

* [DEV] Remove probleme in monthly

* [DEV] Remove probleme in daily/

* [DEV] DONNEES_MENSUELLES_ETENDUES&

* [FIX] code smells

* [FIX] vois* for probspx

* [DEV] std::vector<PROBLEME_SPX*> ProblemeSpx for daily and monthly

* [DEV] Remove error checking for unique_ptr

* [FIX] Code smell
…am#1659)

* [DEV] Remove RenouvelableParPalier from alea

* [DEV] Changed arg of valueAtTimeStep

* [DEV] use year for valueAtTimeStep calls

* [DEV] Removed RenouvelableParPalier from struct

* [FIX] warning

* [FIX] args hour, year for valueAtTimeStep

* [FIX] Remove unused var

* [DEV] Try Eolien for output var

* [FIX] Arg name for hourInYear

* [FIX] Compile

* [DEV] Add getIndex

* [DEV] Remove Eolien

* [DEV] Consommation

* [DEV] Remove Consommation from struct

* [DEV] Remove Hydraulique

* [DEV] Remove (long) conversion for getIndex

* [FIX] Replace wind with load

* [DEV] Guillaume comments

* [DEV] Solar

* [DEV] Remove NumeroChroniquesTireesParPays, struct NUMERO_CHRONIQUES_TIREES_PAR_PAYS

* [DEV] Rename getAvailablePower with getCoefficient

* [DEV] Use getCoefficient instead of scratchpad for wind

* [DEV] Use getCoefficient instead of scratchpad for solar and load

* [DEV] remove ts from scratchpad

* [DEV] problem.year as year

* [DEV] Code smell

* [DEV] Code smell 2

* [DEV] Code smell const lambda

* [DEV] Code smell const

* [DEV] getColumn

* [FIX] Results

* [FIX] windSeries

* [FIX] Use double*

* [FIX] const
* [DEV] Renamed timeSeries into timeSeriesEnum

* [DEV] Renamed timeSeriesEnum in timeSeriesType
…nt (AntaresSimulatorTeam#1656)

* checkHourlyMinGeneration - check in all cases

* fix comments
* clean branch

* update .yml

* update deploy branch

* ooooooook

* set develop as gh-pages deployer

* move Doxyfile

* just for test

* checks: ok

* update README.md

* try clone instead of submodule
…am#1679)

* De-templatize `HydroManagement::prepareNetDemand`

Templates make for larger binaries since 2 functions are required.

* Swap 2 lines of code
* disable ghpages for pr

* Revert "disable ghpages for pr"

This reverts commit 3c162df.

* disable ghpages for pr
* try fix

* first test long test 2

* move implementation details

* restore .yml
)

* New log msg when solver not found in or-tools

* New log msg when solver not found in or-tools : oops, correct an oblivion
…orTeam#1678)

* Remove dependency to UI : removal from solver

* Remove dependency to UI : calling the main arguments pre-processing from outside

* Remove dependency to UI : removal from analyzer

* Remove dependency to UI : replace the dependency to UI in other stand alone targets + correct new target include files paths

* Remove dependency to UI : forgot to add header file to repository

* Remove dependency to UI : introduce a RAII to automatically destroy the allocated memory

* Add & use IntoUTF8ArgsTranslator::convert (AntaresSimulatorTeam#1684)

* Add & use IntoUTF8ArgsTranslator::convert

* Fix header inclusion

* Fix windows build

* Fix build

* Fix build (bis)

* Remove ref to argc, make IntoUTF8ArgsTranslator's API homogenous

* Apply clang-format

---------

Co-authored-by: Florian Omnès <[email protected]>
…m#1685)

* Fixes swallowed exceptions in computation thread

Exceptions are now transferred from the computation thread
to the main one using std::future mechanisms.
Only the first encountered exception is thrown in the main
thread.

Signed-off-by: Sylvain Leclerc <[email protected]>

* - transfer exceptions occuring in zip_writer too
- some cleanup
- an integration test to check behaviour in simulation

Signed-off-by: Sylvain Leclerc <[email protected]>

* Take into account review

Signed-off-by: Sylvain Leclerc <[email protected]>

* - Separate thread pool for zip IO
- Addition of a flush method for writers, to synchronize
- Addition of tests for zip writer

Signed-off-by: Sylvain Leclerc <[email protected]>

* Some comments

Signed-off-by: Sylvain Leclerc <[email protected]>

* Throw more exceptions from zip writer

Signed-off-by: Sylvain Leclerc <[email protected]>

* Fix headers

Signed-off-by: Sylvain Leclerc <[email protected]>

* Fix missing header (windows build)

Signed-off-by: Sylvain Leclerc <[email protected]>

* Take into account review

Signed-off-by: Sylvain Leclerc <[email protected]>

* Fix windows build again

Signed-off-by: Sylvain Leclerc <[email protected]>

---------

Signed-off-by: Sylvain Leclerc <[email protected]>
* Fix segfault when a study is invalid

* Re-throw loading exceptions in case of failure

* Formatting

* Rename
flomnes and others added 24 commits November 7, 2023 11:34
…imulatorTeam#1694)

* Add build instructions for Debian 12 & Ubuntu 23.04 (AntaresSimulatorTeam#1692)

* add install instructions for debian bookworm - switch to new libwxgtk

* fix package requirements for debian 12 install

* use Ubuntu/Debian or more specific versions as needed

* Minor changes

---------

Co-authored-by: Florian Maurer <[email protected]>
* Shared function object

Signed-off-by: Sylvain Leclerc <[email protected]>

* Extract in another header

Signed-off-by: Sylvain Leclerc <[email protected]>

* Move solution to concurrency lib

Signed-off-by: Sylvain Leclerc <[email protected]>

* Some test

Signed-off-by: Sylvain Leclerc <[email protected]>

* Unnecessary change

Signed-off-by: Sylvain Leclerc <[email protected]>

* Rename implementation class

Signed-off-by: Sylvain Leclerc <[email protected]>

---------

Signed-off-by: Sylvain Leclerc <[email protected]>
* Fix clang warnings

* Fix gcc compilation

* Improve readability
…#1767)

* [DEV] Set thetaInf value to match constraint value

* [DEV] Revert thetainf changes

* [DEV] Add pmin to thermal cluster

* [DEV] Add pmin to resultatsHoraires

* [DEV] Add move pmin to PRODUCTION_THERMIQUE_OPTIMAL

* [DEV] Use PuissanceMinDuPalierThermique

* [DEV] Check if PuissanceDisponibleEtCout is empty

* [DEV] if syntax

* [DEV] use PMinOfClusters

* [DEV] Clean comments

* [DEV] use PuissanceMinDuPalierThermique

* Revert "[DEV] use PuissanceMinDuPalierThermique"

This reverts commit 8580847.

---------

Co-authored-by: Florian OMNES <[email protected]>
…atorTeam#1569)

* fix: bc opBoth -->2 contraints

* update & disable "mps" test

* force run ALL tests

* run ub ci

* split name & ID

* separate Id & series filename

* Revert "separate Id & series filename"

This reverts commit 102583d.

* fix bc comparison

* workflows: pick up develop version

* test updated simtest

* refactor bc comparison

* disable named-mps until ref are regenerated

* back to original

* small changes

* update  function's doc

* plural

* X=X

* tidy

* Revert "disable named-mps until ref are regenerated"

This reverts commit 837e6f5.
…latorTeam#1769)

* Add "default" to binding constraint group if empty

* Move "default" to constructors

* Remove empty group error
* 8.8.0-rc1

* Update changelog, version numbers

* Fix version numbers

* RC++

* [skip ci] Changelog

* Fix Oracle Linux minizip build + actually run zip unit tests (AntaresSimulatorTeam#1744)

* Add unit label to zip writer test

Signed-off-by: Sylvain Leclerc <[email protected]>

* Enable oracle linux build only

Signed-off-by: Sylvain Leclerc <[email protected]>

* Fix test property

Signed-off-by: Sylvain Leclerc <[email protected]>

* Enable oracle linux CI

Signed-off-by: Sylvain Leclerc <[email protected]>

* Retry oracle CI

Signed-off-by: Sylvain Leclerc <[email protected]>

* Install zlib on oracle linux build image

Signed-off-by: Sylvain Leclerc <[email protected]>

* Revert "Enable oracle linux build only"

This reverts commit 02abf46.

* Revert oracle CI activation

Signed-off-by: Sylvain Leclerc <[email protected]>

* Add other missing test labels

Signed-off-by: Sylvain Leclerc <[email protected]>

* Fix test name

Signed-off-by: Sylvain Leclerc <[email protected]>

---------

Signed-off-by: Sylvain Leclerc <[email protected]>
(cherry picked from commit f6c8f7f)

* RC3

---------

Co-authored-by: Sylvain Leclerc <[email protected]>
Co-authored-by: Jason Marechal <[email protected]>
Use generic class TimeSeries for directCapacities and indirectCapacities
…resSimulatorTeam#1778)

* 8.8.0-rc1

* Update changelog, version numbers

* Fix version numbers

* RC++

* [skip ci] Changelog

* Fix Oracle Linux minizip build + actually run zip unit tests (AntaresSimulatorTeam#1744)

* Add unit label to zip writer test

Signed-off-by: Sylvain Leclerc <[email protected]>

* Enable oracle linux build only

Signed-off-by: Sylvain Leclerc <[email protected]>

* Fix test property

Signed-off-by: Sylvain Leclerc <[email protected]>

* Enable oracle linux CI

Signed-off-by: Sylvain Leclerc <[email protected]>

* Retry oracle CI

Signed-off-by: Sylvain Leclerc <[email protected]>

* Install zlib on oracle linux build image

Signed-off-by: Sylvain Leclerc <[email protected]>

* Revert "Enable oracle linux build only"

This reverts commit 02abf46.

* Revert oracle CI activation

Signed-off-by: Sylvain Leclerc <[email protected]>

* Add other missing test labels

Signed-off-by: Sylvain Leclerc <[email protected]>

* Fix test name

Signed-off-by: Sylvain Leclerc <[email protected]>

---------

Signed-off-by: Sylvain Leclerc <[email protected]>
(cherry picked from commit f6c8f7f)

* RC3

* Take variable status (integer/continuous) into account for MILP

* Apply remark

---------

Co-authored-by: Sylvain Leclerc <[email protected]>
Co-authored-by: Jason Marechal <[email protected]>
…#1783)

* Fix E2E tests, add valid-870 to usual E2E tests

* Use [email protected] reference results

* [skip ci] Fix labels
* [DEV] remove Yuni::Atomic in tools

* [DEV] remove Yuni::Atomic

* [DEV] remove Atomic

* [DEV] replace int32_t with int
* [DEV] Add parallel option in tests

* [DEV] Add parallel tests for short tests

* [FIX] Use store_true

* [DEV] Use nproc for ubuntu centos oracle

* [DEV] Use force-parallel

* [DEV] Change batch name to valid-parallel

* [DEV] Add to windows CI, fix thread num to 2

* [DEV] Add case tests to simple study

* [DEV] Move parallel tests first

* [DEV] Move parallel tests back

* [FIX] named mps
)

* Fix expansion logs, clean up & refactor

* Use enum class SimulationMode instead of enum StudyMode

* Do not force MPS export when Expansion mode is enabled
* Unable c++20

* Test code for c++ 20

* temp centos CI

* Tmp oracle CI

* Use gcc 10 in centos

* Use gcc 10 on oracle 8

* Use gcc 10 for sonar

* Format

* Fix infinite recursion in cpp20 for CString==char*

* Sonar fix

* Remove some operator overload for CString

* Revert "Remove some operator overload for CString"

This reverts commit 718083f.

* Fix windows build

* Remove test code

* Only build centOS and oracle on develop

* const corectness

Co-authored-by: Florian Omnès <[email protected]>

---------

Co-authored-by: Jason Marechal <[email protected]>
Co-authored-by: Florian Omnès <[email protected]>
Expose solver as a lib to allow external application (e.g. xpansion) to link to it and perform simulation directly without invoking external process in CLI.

* Move Application as a separate library. Scaffold for future work
* Expose solver-lib library. Existing solver executable now link to this library
* Refactor several solver libraries to fit proper library structure. Better and necessary to resolve some path.
@meslubi2021 meslubi2021 self-assigned this Jul 17, 2024
Copy link

mergify bot commented Jul 17, 2024

⚠️ The sha of the head commit of this PR conflicts with #29. Mergify cannot evaluate rules on this PR. ⚠️

Copy link

github-actions bot commented Oct 9, 2024

Stale pull request message

Copy link

mergify bot commented Oct 9, 2024

⚠️ The sha of the head commit of this PR conflicts with #29. Mergify cannot evaluate rules on this PR. ⚠️

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.