首页 > 数据库 > 数据库开发技术 > 一款小型求解器使用介绍
今天给大家介绍一款小型求解器: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学习杂记;如有侵权,请联系管理员删除。