一款小型求解器使用介绍
发布于 2024-10-26
994
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
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学习杂记
Python学习杂记
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
Python学习杂记的其他文章
遗传算法解决经典运输问题
遗传算法是优化求解常用的一种启发式算法,其原理是模拟进化的过程,包括交叉遗传、突变、选择等方式繁衍后代,计算机通过模拟这些算子,优中选优,通过一次次迭代、繁衍,这些过程的目的就是搜索最优解。
Python编写函数的基本原则和技巧
在Python编程的世界中,函数是代码组织与逻辑封装的核心。一个高效、结构良好的函数不仅能提升代码的可读性,还能增强代码的复用性和维护性。
Python读写多个sheet文件
我们经常用pandas读入读写excel文件,有时候遇到一个excel里有多个sheet文件,经常要一次性读写多个sheet文件。
z3,一个强大的约束求解器使用介绍
Z3是由微软研究开发的一款强大的求解器,用于解决逻辑公式和约束条件的问题。
运筹优化库PyMathProg使用介绍
PyMathProg是Python里的一个优化求解工具。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线