OptiPy
Loading...
Searching...
No Matches
bindings.cpp File Reference

Python bindings for opti-py optimization library. More...

#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
#include <pybind11/numpy.h>
#include "FlowShop/FlowShop.h"
#include "Optimizer/DifferentialEvolution/DifferentialEvolution.h"
#include "Optimizer/ParticleSwarm.h"
#include "Optimizer/OptResult.h"
#include "ProblemFactory.h"
#include "Problem/ProblemResult.h"
#include "ExperimentConfig.h"

Functions

 PYBIND11_MODULE (_opti_py, m)

Detailed Description

Python bindings for opti-py optimization library.

Author
Alex Buckley

Exposes C++ optimization classes and functions to Python via pybind11. Includes FlowShop, optimization algorithms (DE, PSO), and benchmark problems.

GIL Management: All computationally intensive operations (runNEH, runDE, optimize) release the Python GIL to enable OpenMP parallelization. This prevents threading bottlenecks during optimization.

NumPy Integration:

  • Zero-copy views for job matrices and due dates
  • Automatic memory layout conversion (C-style to/from numpy)
  • Strides configured for row-major access patterns
See also
FlowShop (C++ class documentation for method details)
DifferentialEvolution (C++ optimizer documentation)