|
1 | | -# flixOpt: Energy and Material Flow Optimization Framework |
| 1 | +# FlixOpt |
2 | 2 |
|
3 | | -**flixOpt** is a Python-based optimization framework designed to tackle energy and material flow problems using mixed-integer linear programming (MILP). |
| 3 | +**FlixOpt** is a Python-based optimization framework designed to tackle energy and material flow problems using mixed-integer linear programming (MILP). |
4 | 4 |
|
5 | | -It bridges the gap between **high-level energy systems models** like [FINE](https://github.com/FZJ-IEK3-VSA/FINE) used for design and (multi-period) investment decisions and **low-level dispatch optimization tools** used for operation decisions. |
| 5 | +It borrows concepts from both [FINE](https://github.com/FZJ-IEK3-VSA/FINE) and [oemof.solph](https://github.com/oemof/oemof-solph). |
| 6 | + |
| 7 | +## Why FlixOpt? |
| 8 | + |
| 9 | +FlixOpt is designed as a general-purpose optimization framework to get your model running quickly, without sacrificing flexibility down the road: |
| 10 | + |
| 11 | +- **Easy to Use API**: FlixOpt provides a Pythonic, object-oriented interface that makes mathematical optimization more accessible to Python developers. |
| 12 | + |
| 13 | +- **Approachable Learning Curve**: Designed to be accessible from the start, with options for more detailed models down the road. |
| 14 | + |
| 15 | +- **Domain Independence**: While frameworks like oemof and FINE excel at energy system modeling with domain-specific components, FlixOpt offers a more general mathematical approach that can be applied across different fields. |
| 16 | + |
| 17 | +- **Extensibility**: Easily add custom constraints or variables to any FlixOpt Model using [linopy](https://github.com/PyPSA/linopy). Tailor any FlixOpt model to your specific needs without loosing the convenience of the framework. |
| 18 | + |
| 19 | +- **Solver Agnostic**: Work with different solvers through a consistent interface. |
| 20 | + |
| 21 | +- **Results File I/O**: Built to analyze results independent of running the optimization. |
6 | 22 |
|
7 | 23 | <figure markdown> |
8 | 24 |  |
9 | 25 | <figcaption>Conceptual Usage and IO operations of flixOpt</figcaption> |
10 | 26 | </figure> |
11 | 27 |
|
12 | | -## 🚀️ Getting Started |
13 | | - |
14 | | -See the [Getting Started Guide](getting-started.md) to start using flixOpt. |
| 28 | +## Installation |
15 | 29 |
|
16 | | -See the [Examples](examples/) section for detailed examples. |
| 30 | +```bash |
| 31 | +pip install flixopt |
| 32 | +``` |
17 | 33 |
|
18 | | -## ⚙️ How It Works |
| 34 | +For more detailed installation options, see the [Getting Started](getting-started.md) guide. |
19 | 35 |
|
20 | | -See our [Concepts & Math](concepts-and-math/index.md) to understand the core concepts of flixOpt. |
| 36 | +## License |
21 | 37 |
|
22 | | -## 🛠️ Compatible Solvers |
| 38 | +FlixOpt is released under the MIT License. See [LICENSE](https://github.com/flixopt/flixopt/blob/main/LICENSE) for details. |
23 | 39 |
|
24 | | -flixOpt works with various solvers: |
| 40 | +## Citation |
25 | 41 |
|
26 | | -- [HiGHS](https://highs.dev/) (installed by default) |
27 | | -- [Gurobi](https://www.gurobi.com/) |
28 | | -- [CBC](https://github.com/coin-or/Cbc) |
29 | | -- [GLPK](https://www.gnu.org/software/glpk/) |
30 | | -- [CPLEX](https://www.ibm.com/analytics/cplex-optimizer) |
31 | | - |
32 | | -## 📝 Citation |
33 | | - |
34 | | -If you use flixOpt in your research or project, please cite: |
| 42 | +If you use FlixOpt in your research or project, please cite: |
35 | 43 |
|
36 | 44 | - **Main Citation:** [DOI:10.18086/eurosun.2022.04.07](https://doi.org/10.18086/eurosun.2022.04.07) |
37 | 45 | - **Short Overview:** [DOI:10.13140/RG.2.2.14948.24969](https://doi.org/10.13140/RG.2.2.14948.24969) |
| 46 | + |
| 47 | +*A more sophisticated paper is in progress* |
0 commit comments