可视化线性程序几何图形的Python包。

gilp的Python项目详细描述


吉尔普

MIT licensePyPI pyversionsDocumentation StatuscodecovMaintenancePyPI download month

GILP(线性程序的几何解释)是一个用于 可视化linear programs(LPs)和simplex algorithm的几何图形。LPs可以从NumPy数组和许多示例中构造 (例如Klee-Minty cube) 包括在内。改进的单纯形法是与各种支点一起实现的 规则(例如Bland's 和丹泽的)。另外,给出了初始可行解和迭代极限 可以设置。该包依赖于Plotly生成可以在Jupyter中查看的独立HTML文件 笔记本联机或在web浏览器中。在

Output

安装

最快的方法是安装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的可视化。左边的图显示 线性规划的可行域和约束条件。悬停在一个极端点上显示 基本可行解、基础和目标值。迭代滑块 允许在单纯形的迭代中切换并查看更新 表格。使用“目标”滑块可以看到 一定范围的客观价值。在

Output

许可证

根据MIT License授权

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java找不到适合makeText的方法   如何将java数组转换为prolog列表并使用它进行jpl查询?   安卓中显示ArrayList的java子类ArrayAdapter   Java8GroupingBy到包含列表的映射中   java Json字符串,带有要映射的嵌套对象<string,string>   java Hibernate中的包和列表有什么区别?   java Spring REST模板指定Jackson视图   java如何在继承的类中返回字符串?   调试Java ArrayQue删除和轮询方法错误   带有NetBeans 7.4的java JSP自定义标记Struts2   java无法从加载jar文件。蝙蝠锉   无法解析java image_项“未显示在下拉列表中且无法键入”   jdoDetachedState设置为null的java查询实体   scala使用Cypher CREATE命令和属性映射,来自Java   minecraft中的java/me并没有被我编写的插件禁用   java Cucumber框架设置   java以奇怪的方式遍历LinkedList?   java JPA将布尔字段配置为保留为整数   月球着陆器中的java Android垃圾收集