This is the initial release of iwopy - ready for testing.

So far not many models have been transferred from the Fraunhofer IWES in-house predecessor iwes-opt, they will be added in the following versions. We are just getting started here!

Enjoy - we are awaiting comments and issues, thanks for testing.

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.0.11


  • Benchmarks:

    • New benchmark rosenbrock added

  • Tests:

    • Extended tests for pygmo and pymoo

  • Fixes:

    • Bugs fixed with discretization

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.0.12


  • Wrappers:

    • Introducing SimpleObjective and SimpleConstraint, for functions of simple numeric types like f(x, y, ...)

  • Examples:

    • New example: electrostatics, solvable with IPOPT, GA, PSO

  • Notebooks:

    • Work on examples.ipynb: Adding section on simple function minimization

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.0.13


  • Notebooks:

    • Work on examples.ipynb: Adding electrostatics example

  • Core:

    • OptResults can now be printed

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.0.14


  • Utils:

    • RegularDiscretizationGrid now with interpolation parameter: None, nearest or linear

  • Wrappers:

    • New wrapper: LocalFD, Local Finite Difference. Calculates function derivatives by applying local finite difference rules. Currently orders 1 and 2 are implemented, more could be added later.

  • Optimizers:

    • New optimizer: GG, Greedy Gradient. A pretty straight forward gradient based local optimizer that projects out (or reverses) directions of constraint violation. Mostly implemented for the purpose of testing gradients, but maybe worth a try also for problem solving.

  • Examples:

    • electrostatics: New optional constraint MinDist, forcing charges to keep a minimal distance. Also adding a script that demonstrates how to solve this problem using NLOPT via pygmo, and another for solving the problem using the GG algorithm.

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.0.15


  • Bug fixes

  • Updated documentation

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.1.0


  • Tests:

    • pygmo: Increased ngen and npop, intended for osx systems to pass tests

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.1.


  • Tests:

    • pygmo: Fixing test such that it passes on all systems

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.1.2


  • Core:

    • Support for multi objective optimizations

    • Splitting OptResults into SingleObjOptResults and MultiObjOptResults

  • Interfaces:

    • pymoo: Adding nsga2

  • Examples:

    • New: multi_obj_chain, demonstrating multi objective optimization using pymoo’s NSGA2

  • Notebooks:

    • New: multi_obj_chain.ipynb, demonstrating multi objective optimization using pymoo’s NSGA2

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.1.3


  • Interfaces:

    • Improved: pymoo now supports mixed int/float problems and algorithm MixedVariableGA

    • Changed: pymooalgorithms now selectable via same name as in package, i.e., GA, PSO, NSGA2, MixedVariableGA

  • Examples:

    • New: mixed, demonstrating how to solve a mixed int/float problem with pymoo

  • Notebook:

    • New: mixed, demonstrating how to solve a mixed int/float problem with pymoo

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.1.4


  • Small bug fixes

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.1.5


  • Interfaces

    • New interface to scipy: Calling the scipy.optimize.minimize function

Full Changelog: https://github.com/FraunhoferIWES/iwopy/commits/v0.1.6