运筹学模型与方法集

ormm的Python项目详细描述


运筹学模型和方法(ORMM)的灵感来自paula.Jensen的Excel插件。 他的Excel包最近一次更新是在2011年,虽然我相信它们仍然有效 (在大多数情况下),他的作品可能会在以下几个方面过时:

  • Excel不是常用于或,除非在安全性属于的设置中 最关心和/或现代语言如Python,R,朱丽亚,C,C++,Matlab,AMPL, 或其他建模软件不可用。在
  • 据我所知,微软一直试图逐步淘汰VBA,转而使用Javascript。 如果发生这种情况,这可能会严重影响他的软件包能否正常工作。在
  • 而他的网站和软件包仍然可用 here,某些部分无法使用。 这些动画依赖于Flash,而Flash在googlechrome和其他网络中正逐渐被淘汰 浏览器。在

这个python包的目标与pauljensen的网站和 加载项做了,主要是为了

  1. 作为一个教育工具,展示抽象模型(线性规划,整数规划, 非线性程序等)可以应用于现实生活中解决复杂问题。在
  2. 通过提供建模框架、解决这些模型的方法来帮助从业者, 以及问题类,这样用户就可以更容易地看到它们是如何构建框架的 从运筹学的角度看他们的商业问题/目标。在

此存储库包含用于分组不同类型或模型和方法的子包。 当前此子包列表包括

  1. mathprog:数学程序的一个子包,包括线性程序,混合的 整数线性规划,非线性规划,随机规划。注意这个 模型和方法不一定在其抽象中实现的子包 像保罗詹森那样完成了很多任务 比我好得多(Pyomo,PuLP,GLPK等等)。因此,这里的子包 致力于提供许多问题类,展示如何应用这些类 为现实生活中的问题提供一个抽象/具体的模型 一类问题。注意,抽象模型可以基于 唯一的业务问题,可能有更多或更少的约束,或者更复杂 目的最大化/最小化。在

安装

$ pip install ormm

使用

mathprog子包目前有4个问题类,以及 打印已解决的具体模型的解决方案并返回熊猫数据帧 包含敏感度分析的信息。四个问题类是

  1. 资源配置:优化利用稀缺资源进行有价值的活动。在
^{pr2}$
  1. 混合问题:优化原料的混合以满足要求 同时降低成本。在
fromormm.mathprogimportblendingmodel=blending()
  1. 员工安排:在会议期间尽量减少雇佣的员工数量 每个时期所需的最少工人人数。在
fromormm.mathprogimportschedulingmodel=scheduling(prob_class="employee")
  1. 租房计划:尽量减少购买计划的成本 在满足单位数量的同时 每个时期都需要。在
fromormm.mathprogimportschedulingmodel=scheduling(prob_class="rental")

有关可选参数、用法和问题描述的更多详细信息,请参阅 documentation。在

开发者环境

使用开发中使用的相同包(用于创建添加/修改), 您可以使用下面的bash命令来安装dev需求(建议在virtualenv中这样做)。这包括能够运行测试 并添加到文档中。 .. 代码::控制台

$ pip install -e .[dev]

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

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?