可视化线性程序几何图形的Python包。
gilp的Python项目详细描述
吉尔普
GILP(线性程序的几何解释)是一个用于 可视化linear programs(LPs)和simplex algorithm的几何图形。LPs可以从NumPy数组和许多示例中构造 (例如Klee-Minty cube) 包括在内。改进的单纯形法是与各种支点一起实现的 规则(例如Bland's 和丹泽的)。另外,给出了初始可行解和迭代极限 可以设置。该包依赖于Plotly生成可以在Jupyter中查看的独立HTML文件 笔记本联机或在web浏览器中。在
安装
最快的方法是安装pip。在
pip install gilp
发展
要在gilp上开发和运行测试,首先下载所需的源代码 目录。在
^{pr2}$接下来,将cd放入gilp目录并创建一个Python虚拟环境。在
cd gilp
python -m venv env_name
激活虚拟环境。在
source env_name/bin/activate
在虚拟环境中运行以下命令。-e
标志允许您
对源代码进行调整,无需重新安装即可看到更改。这个
[dev]
安装开发和测试所需的依赖项。在
pip install -e .[dev]
要运行测试并查看覆盖率,请在虚拟环境中运行以下命令。在
coverage run -m pytest
coverage report --include=gilp/*
使用
LP类从(3)个NumPy数组创建线性程序:A、b和c,它们以标准不等式形式定义LP。在
例如,考虑以下LP:
LP实例的创建如下所示。在
fromgilp.simpleximportLPA=np.array([[2,1],[1,1],[1,0]])b=np.array([[20],[16],[7]])c=np.array([[5],[3]])lp=LP(A,b,c)
创建LP后,可以运行simplex并生成可视化
fromgilp.visualizeimportsimplex_visualsimplex_visual(lp)
其中simplex_visual()
返回一个绘图图形。那么这个数字可以是
在Jupyter笔记本上使用
simplex_visual(lp).show()
如果.show()
运行在Jupyter笔记本环境之外,则可视化
将在浏览器中打开。或者,可以编写HTML文件,然后
开的。在
simplex_visual(lp).write_html('name.html')
下面是示例LP的可视化。左边的图显示 线性规划的可行域和约束条件。悬停在一个极端点上显示 基本可行解、基础和目标值。迭代滑块 允许在单纯形的迭代中切换并查看更新 表格。使用“目标”滑块可以看到 一定范围的客观价值。在
许可证
根据MIT License授权
- 项目
标签: