gurobi 如何处理 python API 对 C 的调用?

How does gurobi handle python API calls to C?

正如 gurobi 文档中所讨论的那样,gurobi 引擎是用 C 语言编写的。但是,gurobi 支持的所有语言(Python、Java、Matlab、C# 等)都提供了 gurobi 引擎的接口,并且不会在 API 接口中执行大量计算。

考虑到 Python,我的问题是 gurobipy 如何从 python 对 C 代码进行 API 调用。我读了一点,我不认为他们使用 SWIG 或类似的工具。如果有人能向我澄清这一点,我将不胜感激。

谢谢大家

你说得对,Gurobi 求解器是用 C 编写的。Gurobi 目前为 C++、Java、.NET、Python、MATLAB 和 R 提供 API;这些中的每一个都直接调用 C API 。对于 Python,Gurobi 提供了 Python 类 表示优化模型。这些 类 使用 Cython.

将数据和解决方案传递给 Gurobi C API

这只描述了 Gurobi API; Pyomo 或 PuLP 等开源 API 的工作方式不同。