-
Notifications
You must be signed in to change notification settings - Fork 123
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #188 from GenXProject/Dev
Dev
- Loading branch information
Showing
5 changed files
with
37 additions
and
15 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
cff-version: 1.2.0 | ||
message: "If you use this software, please cite it as below." | ||
authors: | ||
- family-names: "Jenkins" | ||
given-names: "Jesse" | ||
- family-names: "Sepulveda" | ||
given-names: "Nestor" | ||
- family-names: "Mallapragada" | ||
given-names: "Dharik" | ||
- family-names: "Patankar" | ||
given-names: "Neha" | ||
- family-names: "Schwartz" | ||
given-names: "Aaron" | ||
- family-names: "Chakrabarti" | ||
given-names: "Sambuddha" | ||
orcid: "https://orcid.org/0000-0002-8916-5076" | ||
- family-names: "Xu" | ||
given-names: "Qingyu" | ||
- family-names: "Morris" | ||
given-names: "Jack" | ||
- family-names: "Sepulveda" | ||
given-names: "Nestor" | ||
title: "GenX" | ||
version: 0.3.0 | ||
doi: 10.5281/zenodo.6229425 | ||
date-released: 2022-04-26 | ||
url: "https://github.com/GenXProject/GenX" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,11 +22,7 @@ In addition to the standard **single-stage planning** mode, in which the produce | |
|
||
## Requirements | ||
|
||
<<<<<<< HEAD | ||
GenX currently exists in version 0.3.0 and runs only on Julia v1.6.x and v1.5.x series, where x>=0 and a minimum version of JuMP v0.21.x. There is also an older version of GenX, which is also currently maintained and runs on Julia 1.3.x and 1.4.x series (For those users who has previously cloned GenX, and has been running it successfully so far, and therefore might be unwilling to run it on the latest version of Julia: please look into the GitHub branch, [old_version](https://github.com/GenXProject/GenX/tree/old_version)). It is currently setup to use one of the following open-source freely available solvers: A) [Clp](https://github.com/jump-dev/Clp.jl) for linear programming (LP) problems and (B) [Cbc](https://github.com/jump-dev/Cbc.jl) for mixed integer linear programming (MILP) problems. We also provide the option to use one of these two commercial solvers: C) [Gurobi](https://www.gurobi.com), and D) [CPLEX](https://www.ibm.com/analytics/cplex-optimizer). Note that using Gurobi and CPLEX requires a valid license on the host machine. There are two ways to run GenX with either type of solver options (open-source free or, licensed commercial) as detailed in the section, `Running an Instance of GenX`. | ||
======= | ||
GenX currently exists in version 0.2.0 and runs only on Julia v1.6.x and v1.5.x series, where x>=0 and a minimum version of JuMP v0.21.x. There is also an older version of GenX, which is also currently maintained and runs on Julia 1.3.x and 1.4.x series (For those users who has previously cloned GenX, and has been running it successfully so far, and therefore might be unwilling to run it on the latest version of Julia: please look into the GitHub branch, [old_version](https://github.com/GenXProject/GenX/tree/old_version)). It is currently setup to use one of the following open-source freely available solvers: A) [Clp](https://github.com/jump-dev/Clp.jl) for linear programming (LP) problems and (B) [Cbc](https://github.com/jump-dev/Cbc.jl) for mixed integer linear programming (MILP) problems. (C) [SCIP](https://www.scipopt.org) for faster solution of MILP problems. At this stage, we suggest users to prefer SCIP over Cbc, while solving MILP problem instances, because, the write outputs is much faster with SCIP. We also provide the option to use one of these two commercial solvers: D) [Gurobi](https://www.gurobi.com), and E) [CPLEX](https://www.ibm.com/analytics/cplex-optimizer). Note that using Gurobi and CPLEX requires a valid license on the host machine. There are two ways to run GenX with either type of solver options (open-source free or, licensed commercial) as detailed in the section, `Running an Instance of GenX`. | ||
>>>>>>> main | ||
|
||
The file `julenv.jl` in the parent directory lists all of the packages and their versions needed to run GenX. You can see all of the packages installed in your Julia environment and their version numbers by running `pkg> status` on the package manager command line in the Jula REPL. | ||
|
||
|
@@ -117,7 +113,6 @@ GenX includes a modeling to generate alternatives (MGA) package that can be used | |
|
||
Results from the MGA algorithm would be saved in `MGA_max` and `MGA_min` folders in the `Example_Systems/` folder. | ||
|
||
<<<<<<< HEAD | ||
## Multi-stage investment planning | ||
Recent improvements in the GenX source code enable its use for studying long-term evolution of the power system across multiple investment stages. More information of this feature can be found in the section on `Multi-stage` under the `Model function reference` tab. In brief, GenX can be used to study multi-stage power system planning in the following two ways: | ||
- The user can formulate and solve a single deterministic multi-stage investment planning problem with perfect foresight i.e. cost and policy assumptions about all stages are known and exploited to determine the least-cost investment trajectory. The solution of this multi-stage problem relies on exploiting the decomposable nature of the multi-stage problem via the implementation of the dual dynamic programming algorithm, described [elsewhere](https://www.sciencedirect.com/science/article/abs/pii/S0377221718304466). | ||
|
@@ -155,7 +150,15 @@ We recommend users of GenX to cite it in their academic publications and patent | |
`MIT Energy Initiative and Princeton University ZERO lab. [GenX](https://github.com/GenXProject/GenX): a configurable power system capacity expansion model for studying low-carbon energy futures n.d. https://github.com/GenXProject/GenX | ||
|
||
# pygenx: Python interface for GenX | ||
======= | ||
|
||
Python users can now run GenX from a thin-python-wrapper interface, developed by [Daniel Olsen](https://github.com/danielolsen). This tool is called `pygenx` and can be cloned from the github page: [pygenx](https://github.com/danielolsen/pygenx). It needs installation of Julia 1.3 and a clone of GenX repo along with your python installation. | ||
|
||
## Simple GenX Case Runner: For automated sequential batch run for GenX | ||
|
||
It is now possible to run a list of GenX cases as separate batch jobs. Alternatively, they can also be run locally in sequence, as one job. It has been developed by [Jacob Schwartz](https://github.com/cfe316). This tool is called `SimpleGenXCaseRunner` and can be cloned from the github page: [SimpleGenXCaseRunner](https://github.com/cfe316/SimpleGenXCaseRunner) | ||
|
||
## Bug and feature requests and contact info | ||
If you would like to report a bug in the code or request a feature, please use our [Issue Tracker](https://github.com/GenXProject/GenX/issues). If you're unsure or have questions on how to use GenX that are not addressed by the above documentation, please reach out to Sambuddha Chakrabarti ([email protected]), Jesse Jenkins ([email protected]) or Dharik Mallapragada ([email protected]). | ||
## Running Method of Morris with GenX | ||
|
||
GenX includes Method of Morris package that can be used for performing extensive one-at-a-time sensitivity analysis on any parameters specified in the `Generators_data.csv` file. To use the Method of Morris algorithm, user will need to perform the following tasks: | ||
|
@@ -164,5 +167,4 @@ GenX includes Method of Morris package that can be used for performing extensive | |
2. Set the `MethodofMorris` flag in the `GenX_Settings.yml` file to 1. | ||
3. Solve the model using `Run.jl` file. | ||
4. Results of the Method of Morris script will be stored in the `Results` folder in the `morris.csv` file. | ||
>>>>>>> main | ||
|