一款小型求解器使用介绍
发布于 2024-10-26
1533
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
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学习杂记的其他文章
遗传算法解决经典运输问题
遗传算法是优化求解常用的一种启发式算法,其原理是模拟进化的过程,包括交叉遗传、突变、选择等方式繁衍后代,计算机通过模拟这些算子,优中选优,通过一次次迭代、繁衍,这些过程的目的就是搜索最优解。
使用sktime快速实现多种类型的预测算法
时序预测(Time Series Forecasting)是机器学习领域中的一个重要分支。
异步编程:提升效率的关键技术之一
异步编程是一种处理任务的方式,其中任务可以在后台进行而不会阻塞主线程。
Pandas新增一列的10种常用操作
pandas是一个用于数据处理和分析的Python库,它提供了丰富的功能来操作数据。
数据分析常用方法介绍
本文介绍了6种常见的数据分析方法。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线