扫码阅读
手机扫码阅读

一款小型求解器使用介绍

38 2024-10-26

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:一款小型求解器使用介绍
文章来源:
Python学习杂记
扫码关注公众号

本文介绍了一款基于Scipy和Numpy开发的小型求解器:excel_solver。该求解器通过模拟Excel求解器的用户界面(UI),提供了对Scipy函数scipy.optimize.linprog()的简化封装,使得使用起来更加方便。

安装

excel_solver的安装过程简单,与安装其他Python包相同,通过pip命令即可完成:

    pip install excel-solver==0.0.0
  

安装后即可直接使用。

基础使用

文章通过两个案例展示了excel_solver的基础使用方法:

案例1

案例1展示了如何使用excel_solver来解决一个最小化问题的线性规划。代码示例如下:

    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,
    )
  

案例2

案例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 = [">", ">", ">", ">"],
        ...
    )
  

在这两个案例中,我们可以看到excel_solver可以轻松的设置问题类型(最大化或最小化)、目标函数、约束条件以及相关参数,从而求解线性规划问题。

想要了解更多内容?

查看原文:一款小型求解器使用介绍
文章来源:
Python学习杂记
扫码关注公众号