Another optimization package
Project description
fortoptim
Fortoptim is an optimization library based on python and fortran routines.
Installation
Prerequisite:
- python 3.12
- gfortran
from the gitlab repository
After cloning the repository, run in the project folder:
python -m pip install -e .
and compile the fortran source files with:
fortoptim-compile
pip
python -m pip install fortoptim
fortoptim-compile
Demonstration with MultiSwarmCooperativePSO on Ackley problem
import numpy as np
from fortoptim.optimizers.pso import MultiSwarmCooperativePSO
from fortoptim.problems import Ackley
dim = 2
lower = -32
upper = 32
constraints = [np.array([lower, upper])] * dim
problem = Ackley(dim=dim, constraints=constraints)
# initial population and velocity
n = 6
sub_swarm = [np.random.uniform(size=(n, dim), low=lower, high=upper) for i in range(4)]
# sub_swarm_velocity = [np.random.uniform(size=(n, dim), high=0.8) for i in range(4)]
sub_swarm_velocity = [np.zeros(shape=(n, dim)) for i in range(4)]
# initialize optimizer with default parameters
opti = MultiSwarmCooperativePSO(eps=0.0)
history = opti.minimize(problem, sub_swarm, sub_swarm_velocity, max_iter=10000)
x_plot = np.random.uniform(size=(200000, dim), low=lower, high=upper)
x_best, f_best = history.get_best_solution()
print(f"The best solution is {x_best} obtained at {f_best}.")
history.plot_loss_history(log=True, show=True)
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
fortoptim-0.0.10.tar.gz
(22.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fortoptim-0.0.10.tar.gz.
File metadata
- Download URL: fortoptim-0.0.10.tar.gz
- Upload date:
- Size: 22.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1d035b72085da2fbdef687dac7ee24d2356e26b5d2354b3ba0ac43ec2a74c3e
|
|
| MD5 |
bdd827c2a7816567d71ffbc1f83fcaaa
|
|
| BLAKE2b-256 |
a18c67a15f3d1a9fd8c0660bcc2eb56661b8df48a435c14882ab975f3ffc198c
|
File details
Details for the file fortoptim-0.0.10-py3-none-any.whl.
File metadata
- Download URL: fortoptim-0.0.10-py3-none-any.whl
- Upload date:
- Size: 25.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c3eb24df0054e923c70bc651eb4091e0a46dfef99d9f4ffe736d4f4b502ed16
|
|
| MD5 |
7d8477dd2dc5f93e94c7d718fe0af15b
|
|
| BLAKE2b-256 |
bb36ee9ee5f46cca6c1bb563dc0fecf3a2ec75ab8660c086f96c0fc6eac1edc8
|