资讯详情

资讯详情

HiGHS:免费开源求解器,3 分钟跑通线性规划

HiGHS免费开源求解器3 分钟跑通线性规划【免费下载链接】HiGHSLinear optimization software项目地址: https://gitcode.com/GitHub_Trending/hi/HiGHSHiGHS 是一个 MIT 协议下完全免费开源的线性优化求解器适合需要求解规划问题、又不想为商业软件付费的开发者和科研人员。一个工具覆盖线性规划LP、凸二次规划QP、混合整数规划MIP三类问题直接读取 MPS 和 LP 模型文件。它用 C 编写、无第三方运行依赖Linux、macOS、Windows 均可构建并能从 Python、C、C#、Fortran 等语言调用。一分钟看懂 HiGHS 它像一个自动决策计算器你用数学语言描述目标和约束它直接吐出最优的决策变量取值。三类问题通吃LP、凸 QP、MIP整数变量和连续变量可以混排多套求解器内置原始/对偶单纯形、IPX 与 HiPO 两种内点法、分支割平面 MIP 求解器默认自动挑选最合适的命令行即可求解模型文件也能作为库嵌入 Python、C、C#、Fortran、Julia 项目三步跑起来 最快路径是装 PyPI 上的 Python 包pip install highspy验证安装成功在 Python 里能建出求解器实例即可import highspy h highspy.Highs()第三步是把模型文件交给它源码编译出highs可执行文件后执行highs model.mps就出解官方验证脚本见 examples/call_highs_from_python_highspy.py。C 用户用 CMake 3.15 从源码编译即可得到bin/highs和lib/highs。用一个真实例子走一遍 场景工厂生产两种产品单件利润 3 元和 5 元三种资源限制产量。设 x1、x2 为产量求最大利润import highspy, numpy as np h highspy.Highs() inf highspy.kHighsInf h.addVars(2, np.array([0, 0]), np.array([inf, inf])) h.changeColsCost(2, np.array([0, 1]), np.array([3, 5], dtypenp.double)) h.addRows(3, np.array([0, 0, 0]), np.array([4, 12, 3]), 5, np.array([0, 1, 3]), np.array([0, 0, 1, 0, 1]), np.array([2, 3, 2, 1, 1], dtypenp.double)) h.run() print(h.getInfo().objective_function_value)建模思路addVars加两个非负变量changeColsCost设利润系数addRows按 starts/indices/values 描述三条约束 2x1≤4、3x12x2≤12、x1x2≤3。运行输出最优目标值 15.0对应解是不产产品 1、产 3 件产品 2具体变量取值可用getSolution()查看。它凭什么快 ⚡它默认做 presolve 预处理先合并、消去冗余的变量和约束再进求解器所以你即使不做任何调参典型实例也能明显提速它的对偶修正单纯形法支持并行定价大规模稀疏 LP 上每步迭代能同时评估更多候选列所以问题越大优势越明显它内置 IPX 和 HiPO 两套内点法迭代次数不随问题规模线性膨胀所以几十万变量的问题把solver选项设为ipm就能稳定求解调优与避坑 调参建议用--options_file加载参数文件逐项试验格式参考 check/sample_options_file大规模稀疏 LP 优先试solver ipm带整数变量的问题保持 presolve 开启并放宽time_limit要求结果可复现时固定random_seedPython 里批量求解设log_to_console off减少日志开销高频坑点QP 求解报错多半是 Hessian 不是半正定先检查模型再怀疑求解器Fortran 接口不在默认构建里编译时需显式开启HiPO 内点法依赖额外组件Python 端要装highspy[extras]才能启用延伸资源使用指南从安装、API 用法到数值问题与 GPU 配置的成体系文档多语言示例Python、C、C、C#、Fortran 的完整调用样例照着改就能跑测试用例几十组 MPS/LP 实例与单元测试适合验证你的求解行为是否符合预期想要动手的话git clone https://gitcode.com/GitHub_Trending/hi/HiGHS按上文三步今天就能解出第一个模型。【免费下载链接】HiGHSLinear optimization software项目地址: https://gitcode.com/GitHub_Trending/hi/HiGHS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →