FelooPy: An integrated optimization environment for automated operations research in Python.
Project description
Introduction 📦
Features ✨
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 108 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-attribute decision-making methods: Supports 63 MADM 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.
Installation 🚀
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 |
pip install --upgrade feloopy
|
Python >= 3.10 |
PyPI |
pip install feloopy==0.2.7
|
Python >= 3.10 |
Command |
!pip install feloopy==0.2.7
|
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.7')
|
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.7
|
Python >= 3.10 |
Git |
!pip install -U git+https://github.com/ktafakkori/feloopy
|
Python >= 3.10 |
FelooPy requires Python 3.10 or later to be installed on your system. If you don't have Python installed or a Python interpreter with the necessary version, you can download it from the official website and follow the installation instructions. Alternatively, if you are using an Anaconda distribution, you can create a new environment with Python 3.10 or later and install FelooPy in that environment, as follows:
conda create --name your_environment python=3.10
conda activate your_environment
pip install feloopy
FelooPy (v0.2.7) has a few optional dependencies that can be installed using the following commands (recommended to install if possible):
Dependency | Installation Command | License Help | Download Page |
---|---|---|---|
All solvers | pip install feloopy[all_solvers] |
- | - |
Gurobi | pip install feloopy[gurobi] |
License | Download |
Cplex | pip install feloopy[cplex] |
License | Download |
Xpress | pip install feloopy[xpress] |
License | Download |
Copt | pip install feloopy[copt] |
License | Download |
Cylp | pip install feloopy[cylp] |
License | Download |
Linux | pip install feloopy[linux] |
- | - |
For multi-objective optimization, you should use the linux command for installation. However, please note that the optional dependencies for the Linux kernel might not work on some operating systems. As a workaround, before using the linux command, you can use an Anaconda-based interpreter to install sub-dependencies for multi-objective optimization. For instance, one of such dependencies is the pygmo
package, which is easier to be installed by the conda
package manager as follows (see the official website for more details):
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install pygmo
Documentation 📚
Please refer to the documentation website.
Contributions 🙌
We welcome your contributions to this project, such as reporting bugs, submitting pull requests, testing changes, providing examples, and so on.
Support FelooPy 🌟
Warning: Maintenance Notice ⚠️
We are committed to continuing the development of FelooPy, but ongoing maintenance and improvements depend on the support of our community. Your assistance is invaluable in keeping FelooPy active and thriving.
Here's how you can contribute:
-
Star the project on GitHub: Your stars motivate us to keep improving FelooPy. You can give a star to the project here.
-
Fork the project on GitHub: You can actively contribute to its development by forking it. You can fork the project here.
-
Donate: Your donations help us sustain and maintain the project while adding new features. If you'd like to support us financially, please visit our support page.
Your support is vital to FelooPy's future, and we sincerely appreciate your contribution! Thank you for being part of our community.
Citation 📖
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:
- 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/} }
License 📜
FelooPy is completely free and open-source and licensed under the MIT license.
Learn more 🌐
Group/Channel Name | Join Link |
---|---|
LinkedIn Group (Language: EN) | Join Group |
Instagram Page (Language: EN/FA) | Join Page |
Telegram Group (Language: FA) | Join Group |
Telegram Channel (Language: FA) | Join Channel |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file feloopy-0.2.7.tar.gz
.
File metadata
- Download URL: feloopy-0.2.7.tar.gz
- Upload date:
- Size: 83.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1544a4d4ab7a6898fc8bb75c0cbfed3390a42be4a3e4596f5a5d2d082b89996 |
|
MD5 | 0b2ab65ca00d5eac70aa48b29538bee6 |
|
BLAKE2b-256 | 58794e8c2e4392e3eac63282f8c16deae20c669d0c9e728200dcd53db1adeb04 |
File details
Details for the file feloopy-0.2.7-py3-none-any.whl
.
File metadata
- Download URL: feloopy-0.2.7-py3-none-any.whl
- Upload date:
- Size: 143.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7e452f1042d8e1b2974a97dc48ec3eb23d738c001c7214b2276546625d7ae86 |
|
MD5 | 4e46d15b1c46fba9c50a1684abcf59ad |
|
BLAKE2b-256 | 6cbdbd7bb23b281485a27b8b47b7a4fdbf8ba2d6db07d7a3a67bc74ae7939f48 |