FelooPy can be installed on Linux-based distributions, Windows, or macOS. It has a few dependencies that should work on all these platforms.
Method | Description | Requirements |
Quick |
|
Python >= 3.10 |
PyPI |
|
Python >= 3.10 |
Command |
|
Python >= 3.10 |
Script |
import pip
def install(package):
if hasattr(pip, 'main'):
pip.main(['install','-U', package])
else:
pip._internal.main(['install','-U', package])
install('feloopy==0.2.6') |
Python >= 3.10 |
Local |
|
Python >= 3.10 |
Colab |
!wget https://github.com/korakot/kora/releases/download/v0.10/py310.sh
!bash ./py310.sh -b -f -p /usr/local
!python -m ipykernel install --name "py310" --user
!pip install feloopy==0.2.6 |
Python >= 3.10 |
Git |
|
Python >= 3.10 |
FelooPy requires Python 3.10 or later to be installed on your system. If you don't have Python installed, or if you have an older version, you can download it from the official website (https://www.python.org/downloads/) and follow the installation instructions. Alternatively, if you are using Anaconda, you can create a new environment with Python 3.10 or later and install FelooPy in that environment:
conda create --name feloopy python=3.10
conda activate feloopy
pip install feloopy
FelooPy (v0.2.6) has a few optional dependencies that can be installed using the following commands:
- All solvers:
pip install feloopy[all_solvers]
- Gurobi:
pip install feloopy[gurobi]
- Cplex:
pip install feloopy[cplex]
- Xpress:
pip install feloopy[xpress]
- Linux:
pip install feloopy[linux]
(better support for multi-objective optimization)
For multi-objective optimization, you should use the linux command for installation. However, please note that the optional dependencies for Linux kernel might not work on some operating systems. As a workaround, you can use a Conda-based Python 3.10 interpreter to ensure that optional dependencies for multi-objective optimization are installed correctly.
FelooPy offers the following key features:
- Simplest optimization programming language: Designed to be easy to use, even for those with little or no programming experience.
- Modeling, solving and analyzing optimization problems: Provides a complete suite of tools for modeling, solving and analyzing a wide range of optimization problems.
- Exact optimization algorithms: Supports 107 exact optimization algorithms that guarantee the optimal solution to your problem.
- Heuristic optimization algorithms: Supports 197 heuristic optimization algorithms that can find best possible solutions to complex problems.
- Convex optimization algorithms: Supports 20 convex optimization algorithms that ease tensor- and matrix-form modeling, primarily for convex problems.
- Constraint optimization algorithms: Supports 2 constraint optimization algorithms that can handle a wide range of complex constraints for operational and time-dependent decisions.
- Multi-objective optimization algorithms: Supports 17 multi-objective optimization algorithms, in which objectives might be conflicting or with different numerical units.
- Multi-critera decision-making methods: Supports 41 MCDM algorithms to solve decision problems with expert-based inputs without mathematical modeling.
- Solver configurations: Lets you configure the solver to meet specific requirements.
- Auto-encoders for general purpose programming: Provides auto-encoders to simplify general-purpose programming tasks.
- Auto-linearizers for linear programming conversions: Provides auto-linearizers that can handle mixed-integer non-linear programming problems.
- Auto-logic for modeling special constraints: Provides auto-logic to help you model and solve problems with special constraints.
- Auto-sensitivity for analyzing the impact of key parameters: Provides auto-sensitivity tools to help you analyze the impact of key parameters on your optimization problem.
Please refer to https://feloopy.readthedocs.io/en/latest/.
We welcome your contributions to this project, such as reporting bugs, submitting pull requests, testing changes, providing examples, and so on.
We are committed to continuing the development of FelooPy and would greatly appreciate your support. You can help us by:
-
Starring the project on GitHub: Your stars motivate us to keep improving FelooPy. You can star the project here: https://github.com/ktafakkori/feloopy/stargazers
-
Forking the project on GitHub: You can also contribute to FelooPy by forking the project here: https://github.com/ktafakkori/feloopy/network/members
-
Making a donation: Your donations help to sustain and maintain the project and add new features. If you would like to support us, please visit our website at https://ktafakkori.github.io/support/.
If you use the facilities of this GitHub repository or the Python library in your work, we recommend citing it to help others reproduce the results of your research. You may also provide the specific version of the Python library used in your research or project for accuracy and reproducibility. Thank you for your consideration.
- APA 7:
Tafakkori, K. (2022). FelooPy: An integrated optimization environment for AutoOR in Python [Python Library]. https://github.com/ktafakkori/feloopy (Original work published September 2022)
- LaTeX:
@software{ktafakkori2022Sep,
author = {Keivan Tafakkori},
title = {{FelooPy: An integrated optimization environment for AutoOR in Python}},
year = {2022},
month = sep,
publisher = {GitHub},
url = {https://github.com/ktafakkori/feloopy/}
}
FelooPy is completely free and open-source and licensed under the MIT license.