Operational Constraints Suppress Forecast Value within State-Aware Reservoir Policies in Highly Regulated Water Resources Systems
Notice bibliographique
Résumé
Background Outflows from Lake Ontario are regulated at the Moses-Saunders Dam, which is located downstream on the St. Lawrence River near Cornwall, Ontario and Massena, New York. The Moses-Saunders Dam spans the border of the United States and Canada and is jointly managed by the two countries by the International Lake Ontario - St. Lawrence River Board, at the direction of the International Joint Commission. The current flow regulation plan of the LOSLR system is Plan 2014, which is the first control policy in the system to use forecasts to guide release decisions. This Zenodo repository contains a framework to identify alternative reservoir operating policies using a simulation and optimization approach, particularly through the use of global approximators (e.g.., neural networks) as the release function for the system. Repository Overview There are two major components to the workflow in this repository: the simulation and optimization of alternative outflow control policies and the visualization and data analysis on optimized alternatives. This repository contains code to: Perform an offline artificial neural network (ANN) hyperparameter search Optimize control policies Simulate plan prescribed outflows and water levels Assess policy performance for system objectives Explore results in an interactive dashboard Offline ANN Architecture Selection Procedure Before running simulation-optimization experiments, it is necessary to determine the hyperparameters (e.g., number of neurons, hidden layer activation functions, number of hidden layers, et cetera) to configure the ANN policy. There are four key steps required to perform the offline ANN architecture selection procedure: Obtain Training Data Train ANNs Compute Testing Error Select the Best ANN Architecture To obtain the training data, releases associated with optimized, satisficing rule curve policies for the LOSLR system are used. Then, a large suite of ANNs using different architectures are trained, defined by varying number of neurons, activation functions, and number of hidden layers. Then, model performance is evaluated by computing the mean squared error (MSE) for each policy and architecture. The best ANN architecture is selected based on rankings of mean and standard deviation MSE by architecture. To implement the offline ANN architecture procedure, please see the script offline_ANN_approach_HPC_scaling_revised_train_test_split_updated_mpi. We conduct the offline ANN approach on an HPC environment. You can run the shell script runOfflineANN_HPC_batch_mpi.sh to implement the ANN offline hyperparameter search procedure on HPC. Simulation-Optimization There are two scripts that drive the policy simulation and optimization: optimizationWrapper_MWBorg_noisy_opt_combined.py and optimizationSimulation_historic_stochastic_combined.py. The optimizationWrapper_MWBorg_noisy_opt_combined.py script calls and interacts with the Borg MOEA. The wrapper script reads the user-generated configuration file and sets up the optimization experiment. optimizationWrapper_MWBorg_noisy_opt_combined.py then calls optimizationSimulation_historic_stochastic_combined.py to simulate the time series of outflows, water levels, and system performance that result from the decision variables returned by Borg in each function evaluation. To ensure convergence on the Pareto Frontier and avoid falling into local minima/maxima, it is advisable to run multiple seeds per experiment. The runOptimization_Local.sh and runOptimization_HPC_batch_stochastic.sh shell scripts are setup to take in the number of seeds to run per experiment rather than the random seed. Configuration File The optimization requires several hyperparameters, decision variables, and simulation modules. These fields are specified in a user-generated configuration file. Configuration files are written using the toml file format. Optimization Algorithm A many-objective evolutionary algorithm (MOEA) is used to optimize control policies for flow regulation. The optimization algorithm used in this repository is the parallelized Master-Worker Borg MOEA MW-Borg MOEA. Before any runs, you will need to download and compile MW-Borg. A two-part tutorial on setup (with an example) is available here by the Reed Lab at Cornell University. Once you have compiled MW-Borg, you can introduce new simulation and evaluation problems. You will need to move the borg.c, borg.py, and libborgms.so to the directory with your wrapper script. Input Data Input hydrologic files are provided for the historic supply data from 1900 - 2020 (input/historic/1900_2020), as well as for 500 stochastic centuries (input/stochastic/century_xxx). Objective Functions Objective functions are simulated over the user-specified time period. Each objective is aggregated by the net annual average value, and that metric is returned to Borg to drive the optimization.
Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.
Comment cette classification a été obtenuedéplier
Prédiction machine sur la base complète
Imitation des enseignantsNi prévalence calibrée, ni vérité terrain. Validation humaine à venir. Le volet Gemma est une étiquette directe du modèle pour chaque travail de la base, lue sur la notice réduite au titre. Le volet Codex est un classifieur appris des 10 348 étiquettes directes de Codex et calibré sur les taux pondérés de l'échantillon; les champs sans appui suffisant ne portent aucun appel Codex. Le mode candidate est l'union des deux volets; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont pas des étiquettes humaines.
Scores du classifieur distillé par catégorie (deux têtes)
| Catégorie | Codex | Gemma |
|---|---|---|
| Métarecherche | 0,002 | 0,013 |
| Méta-épidémiologie (sens strict) | 0,000 | 0,000 |
| Méta-épidémiologie (sens large) | 0,000 | 0,000 |
| Bibliométrie | 0,001 | 0,001 |
| Études des sciences et des technologies | 0,001 | 0,001 |
| Communication savante | 0,003 | 0,002 |
| Science ouverte | 0,001 | 0,001 |
| Intégrité de la recherche | 0,001 | 0,001 |
| Charge utile insuffisante (le modèle a refusé de juger) | 0,009 | 0,001 |
Scores machine (provisoires)
Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.
Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.
score_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découleClassification
machine, non validéePrédiction automatique; un appel candidat d’une seule source (Gemma direct ou Codex distillé), pas un consensus.
Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».