ITPub博客

首页 > 数据库 > 数据库开发技术 > 一款小型求解器使用介绍

一款小型求解器使用介绍

原创 数据库开发技术 作者:derekwh 时间:2024-01-30 17:35:00 0 删除 编辑

今天给大家介绍一款小型求解器:excel_solver。该求解器是基于Scipy、Numpy开发的。 

从官网上看,该包使用 Scipy 函数模拟 Excel 求解器的 UI 的包装器。实际上是使用了scipy.optimize.linprog()函数,但该包对该函数进行了简化封装,使用起来非常方便。

安装

安装方式跟其他包安装方式一样,使用pip就行。

pip install excel-solver==0.0.0

安装完成后就可以直接使用了。

基础使用

案例1,解决一个最小化的线性规划的问题。在python中编程处理,非常简洁方便。

import excel_solver as solver
solver.solve(
    problem_type = "min",
    objective_function = [
        4, 5, 3, 7, 6
    ],
    constraints_left = [
        [10,  20,  10,  30,  20],
        [5,   7,   4,   9,   2],
        [1,   4,   10,  2,   1],
        [500, 450, 160, 300, 500],
    ],
    constraints_right = [
        16,
        10,
        15,
        600,
    ],
    constraints_signs = [
        ">=",
        ">=",
        ">=",
        ">=",
    ],
    minimum_for_all=0.1, # 根据15行到19行设定一个最小值的约束。
)

输出结果:

案例2,解决一个最大化的线性规划的问题。

import excel_solver as solver
solver.solve(
    problem_type = "max",
    objective_function = [
        16, 20.5, 14
    ],
    constraints_left = [
        [4,  6,  2],
        [3,  8,  6],
        [9,  6,  4],
        [30, 40, 25],
    ],
    constraints_right = [
        2000,
        2000,
        1440,
        9600,
    ],
    constraints_signs = [
        "<=",
        "<=",
        "<=",
        "<=",
    ],
)

输出结果:

求解方式代码非常简便、易用。对于小规模线性规划问题,完全可以使用该求解包求解。



原文作者:Python学习杂记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
央企算法工程师,微信公众号: python数智工坊

注册时间:2021-03-14

  • 博文量
    305
  • 访问量
    162379