由定时器控制的离散事件模型分析。

oris的Python项目详细描述


python的oris

这是一个用于分析受控制的离散事件模型的库 通过整数变量连续计时器

  • 变量包含正整数或负整数。它们代表 系统的可观察状态。例如,变量queue 可以存储当前的客户数。

  • timers跟踪更改状态的事件的连续时间 变量:

    • 如果满足其guard的条件,则会启用计时器。在队列中 例如,service计时器在queue > 0时启用。

    • 计时器的值是根据概率抽样的 分布;例如,Unif(1, 2)抽样一个随机值 介于1和2之间。

    • 当计时器超时时,它可以触发状态的变化 变量,例如,queue = queue-1service之后。这个 改变可以启动其他计时器(因为他们的警卫现在 满意)或使其失效(警卫不满意 再也没有了)。

单服务器队列容量为200,poisson的例子 到达(指数间隔时间)和统一服务时间 看起来像这样:

fromorisimport*b=ModelBuilder()# for each variable: name, initial value, min, max (defaults: 0, 0, 'inf')b.var('queue',1,0,200)# for each timer: name, guard, distribution, state updateb.timer('arrival','True',Exp(0.5),'queue=min(queue+1, max_value(queue))')b.timer('service','queue>0',Unif(1,2),'queue-=1')m=b.build()

一旦有了模型,就可以

  • 分析它的状态空间(例如,你能在10分钟内达到目标状态吗?)
  • 使用模拟来评估奖励(例如,队列中的平均客户数)

manual中了解更多信息。

如何安装

要安装oris:pip3.7 install oris --user --upgrade(您需要python 3.7)

要在Linux、MacOS或Windows上运行Python3.7环境, 我们建议使用miniconda和jupyter笔记本:

  • Linux和MacOS

    curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/.miniconda
    $HOME/.miniconda/condabin/conda init bash
    bash
    

    对于macos,在前两个命令中将Linux替换为MacOSX。 如果您使用的是MacOS Catalina,请将bash替换为zsh

  • windows:运行miniconda installer选择“add anaconda to” 我的道路”。

现在您可以为ORIS创建一个环境:

conda config --set auto_activate_base false
conda create -y -n oris python=3.7 scipy matplotlib numba jupyter
conda activate oris
pip install oris

每次您想使用ORIS时,都可以运行:

conda activate oris
jupyter notebook

如果您不想安装任何东西:只需使用ORIS 在Google Colaboratory内部。您唯一需要的是:

!pip3installoris

在你笔记本的开头。

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

推荐PyPI第三方库


热门话题
java类。getResource和ClassLoader。getSystemResource:有没有理由选择其中一个而不是另一个?   在Java中以编程方式粘贴后恢复剪贴板   Java字符串到日期没有时间   JavaSpring注释:@Component起作用,@Repository不起作用   java“addScript”在HSQL中是否有最大记录计数?   java如何将值从JDialog框返回到父JFrame?   java我的模块库的用户有没有办法访问尚未导出的类?   java javac:未找到命令   java如何解决jsoup错误:无法找到请求目标的有效证书路径   类中的java作用域变量   Java中集合实现中的arraylist add()方法不起作用   java如何使用while循环和从用户接收输入来近似Pi?   java Spring安全CSRF培训模式   在安卓系统中,如何通过在警报框外单击来限制用户?