当前位置: 首页 > news >正文

基于ExtendSim的库存与订购实验

说明: 库存和订购实验室是一个单部件模拟模型,旨在测试从组件需求站点到组件分发站点的订购策略,以及 在组件分销现场的生产区域内。最佳解决方案允许为需求站点提供高服务级别,同时最大限度地降低总库存水平。 该模型演示了分层模块、ExtendSim数据库、克隆的使用。

输入参数面板: 此模型顶层左侧的输入参数面板用于配置测试的零件场景 每月需求量:需求现场对该零件的总预测需求量。

每月生成:如果一个月有20个生成日,并且此参数设置为10,则该零件将用于 每隔一天访问一次网站。

构建Q的方差:每次构建期间构建数量的+/-因子(围绕平均值)。例如,如果需求为2000,并且该零件每月在构建中使用10天,则平均构建数量为200。

如果方差为+/-.1,则实际构建数量将在180到220之间。 Q每箱:箱内零件的数量。零件从配送站点以箱为单位订购。 Q每生产M单位:生产移动单位(如托盘)中的零件数量。当移动单元 数量在生产加工中完成,该数量转移到外包加工或进入 库存。

运输(天):将货物从组件分发地点运输到组件需求地点的天数。

检验(天):在将已到达组件需求现场的货物放入库存之前,对其进行检验的天数。

目标库存:计算值为 (运输天数+检验天数)*每日需求Q*目标乘数

每天生产小时数:每天可用于生产零件的工艺小时数。

设置(天):配置机器/区域所需的时间,然后才能开始处理一批零件批量:生产订单中生产的最小零件数量。

每个零件的加工时间(小时):每个零件所需的机器/区域时间。 每移动单位外包(天):每移动单位完成任何外包加工的零件数量所需的时间。

目标库存:计算值为 (处理时间+外包时间)*每日需求Q*目标乘数

组件需求站点: 组件需求站点层次结构块具有用于从组件分销商站点发送订单和接收装运的模型构造

每天中午都会进行一次检查,以确定所研究的零件是否在当天用于构建。构建概率是二项式随机数 根据输入参数Builds Per Month除以20天进行绘制(即,如果每月通常有10个构建,则这一天成为构建日的概率为.5)。如果已经进行了构建,则构建数量将根据基于输入参数“每月需求”、“每月构建”和“构建Q的方差”的随机抽取进行计算。例如,如果每月需求为2000,则每月构建为10,方差为.1,则每个构建的平均值为200个单位,随机抽取为180-220之间的整数。然后从需求位置数据库表中的现有库存水平中减去该数量。然后,订单被发送到配送点进行补货,要求完全纠正当前库存状况所需的最小零件箱数(OrderQ=TargetInv(OnShelf+Pipeline) 订单Q调整到最接近的满箱)。此订单的记录将在模型数据库表Orders Sent中创建。

货物在工作日收到,并按照“输入参数”面板中的规定进行检查。然后,在DemandPosition中更新货架数量 带有订单数量和“已发送订单”记录的数据库表将以交货日期关闭。这也是计算订单循环时间的地方

组件分销商网站: 组件分销商层次结构模块具有用于接收订单、履行和装运订单、创建生产订单和关闭的模型构造 生产订单。

订单在从组件需求站点发送的同一天被接收和检查。如果订单的货架上有足够的库存,则从货架上提取订单数量,将其码垛并放置在码头上,供下一辆出库卡车使用。如果货架上没有足够的零件来完成订单,订单将在再次检查前一天被扣留

订单: 卡车按照运输资源分层块中模型的卡车时间表部分显示的时间表到达装运

每天都会检查是否需要生产订单。

这个 位置计算是

position = (OnShelf + Pipeline) - ((BatchDays * dailyQ) + orders + targetInv)

where

dailyQ = ceil(monthlyDemand / 20)

batchDays = ceil(BatchSize / DailyQ)

如果发现某个位置大于批量大小,则会为批量大小加上移动单位单位中超出批量大小所需的数量创建一个生产订单。在中为订单创建记录 已完成的生产订单包括 在生产订单中退回并关闭 数据库。这也是循环时间所在的地方 为每个订单计算。

组件生产: 组件生产层次结构块具有用于完成生产订单的模型构造。

一次只能有一个生产订单在线。如果系统空闲,则设置订单,然后将其拆分为移动单位数量。每个移动单元数量都经过单独处理,然后发送给外包,然后放入货架库存。

输出

顶层: 顶层提供订单和装运流程的基本动画。

笔记本:点击“结果”按钮或打开笔记本,显示每个位置的货架库存图以及许多其他输出参数。需求服务水平是指工作日货架库存水平大于零的比例。建造数量可能会在货架上产生负的零件,表明希望建造但库存不足以满足需求(即服务失败)。 组件和生产订单的平均周期时间是订单交付的平均时间(以天为单位)。还显示了平均库存和当前库存 每个位置,以及目前在组件分销商现场等待充足库存的订单数量。

多运行统计: 要执行多次运行并获得具有置信区间的统计数据,请在模拟设置中进行以下更改 -在菜单栏中,选择运行>>>模拟设置或 使用快捷键Control+Y -将参数Runs设置为20,然后设置OK按钮 关闭对话框。

现在,每当模型运行时,它都会自动 执行20次模型运行并收集均值和方差 统计数据块中每次运行的统计数据。

请注意,根据处理器的速度 电脑,每次运行需要几秒钟。加速运行的一个好建议是向下滚动顶层窗口,这样就不会显示任何输出参数。无需更新屏幕,模型即可运行 更快。

运行完成后,打开 统计块,然后选择置信区间。 20次运行的数据将合并显示 结果为平均值和置信区间 确保在模拟设置中重置Runs参数 返回1进行单次运行分析。

数据库表: 在模型数据库中收集需求订单和生产订单的日志记录。要打开数据库查看器,请在菜单栏中选择数据库>>> 基础(Inventory Lab.mox)。

在查看器中,选择“日志”选项卡。 可以选择两个输出表 在左侧窗格中。然后,这些数据可以 选择并移动到Excel以获取更多信息 后处理和分析。

优化: 该模型配置了ExtendSim优化块。通过设置所需的服务级别,该模型将自动搜索 在组件需求和组件分销商站点设定目标库存 优化运行可能很长(超过一个小时) 因此,建议对场景进行测试 优化前的单次运行。 优化完成后,输出 下表将显示目标的十大解决方案 库存乘数。这相当于总计 每个位置的库存计算,可以 可用于进一步分析。

相关文章:

基于ExtendSim的库存与订购实验

说明: 库存和订购实验室是一个单部件模拟模型,旨在测试从组件需求站点到组件分发站点的订购策略,以及 在组件分销现场的生产区域内。最佳解决方案允许为需求站点提供高服务级别,同时最大限度地降低总库存水平。 该模型演示了分层模…...

操作系统个人八股文总结

1.进程和线程的区别 进程和线程的定义 进程: 进程是一个运行中的程序实例,是资源分配的基本单位。每个进程都有自己的地址空间、数据、堆栈以及其他辅助数据。线程: 线程是进程中的一个执行单元,是CPU调度的基本单位。一个进程可…...

scala set训练

Set实训内容: 1.创建一个可变Set,用于存储图书馆中的书籍信息(假设书籍信息用字符串表示),初始化为包含几本你喜欢的书籍 2.添加两本新的书籍到图书馆集合中,使用操作符 3.删除一本图书馆集合中的书籍&…...

【d63】【Java】【力扣】141.训练计划III

思路 使用递归实现 出口 ,遇到null 每一层要做:把下层放进去,把本层放下去 代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { …...

【Linux】- 权限(2)

接上一篇文章,继续介绍linux权限的相关知识。https://blog.csdn.net/hffh123/article/details/143432940?spm1001.2014.3001.5501j 目录 一、chown:修改文件的拥有者 二、chgrp:修改文件所属组 三、关于other的介绍 四、文件类型 1、分类…...

如何设置内网IP的端口映射到公网

在现代网络环境中,端口映射(Port Mapping)是一项非常实用的技术,它允许用户将内网设备的服务端口映射到公网,使外网用户可以访问内网中的服务。这项技术在远程办公、设备远程控制、游戏服务器、家庭监控等场景中得到了…...

Matplotlib | 条形图中的每个条形(patch)设置标签数据的方法

方法一 不使用子图对象如何给形图中的每个条形设置数据 plt.figure(figsize(8, 4)) sns.countplot(xWorkout_Frequency (days/week), datadf)plt.title(会员每周锻炼频率分布) plt.xlabel(锻炼频率 (每周次数)) plt.ylabel(人数)# 获取当前活动的轴对象 ax plt.gca()# 循环遍…...

机器学习3_支持向量机_线性不可分——MOOC

线性不可分的情况 如果训练样本是线性不可分的,那么上一节问题的是无解的,即不存在 和 满足上面所有N个限制条件。 对于线性不可分的情况,需要适当放松限制条件,使得问题有解。 放松限制条件的基本思路: 对每个训…...

bash: git: command not found

在windows上重新安装Git之后,遇到cmd可以使用git命令,但是git bash中使用的git命令的时候,会提示: $ git bash: git: command not found 解决办法 找到用户目录下的.bash_profile和.bashrc文件,编辑打开,找…...

大模型LLama3!!!Ollama下载、部署和应用(保姆级详细教程)

首先呢,大家在网站先下载ollama软件 这就和anaconda和python是一样的 废话不多说 直接上链接:Download Ollama on Windows 三个系统都支持 注意: 这里的Models,就是在上面,大家点开之后,里面有很多模型…...

ReactPress系列—NestJS 服务端开发流程简介

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议,感谢Star。 NestJS 服务端开发流程简介 NestJS 是一个用于构建高效、可靠和可扩展的服务器端应用程序的框架。它使用 TypeScript(但也支持纯 Java…...

Maven 下载配置 详解 我的学习笔记

Maven 下载配置 详解 我的学习笔记 一、Maven 简介二、maven安装配置三、maven基本使用四、idea配置mavenidea配置maven环境maven坐标idea创建maven项目配置Maven-Helper插件 五、依赖管理 一、Maven 简介 Apache Maven 是一个项目管理和构建工具,它基于项目对象模型…...

【学术精选】SCI期刊《Electronics》特刊“New Challenges in Remote Sensing Image Processing“

英文名称:New Challenges in Remote Sensing Image Processing 中文名称:"遥感图像处理的新挑战"特刊 期刊介绍 “New Challenges in Remote Sensing Image Processing”特刊隶属于《Electronics》期刊,聚焦遥感图像处理领域快速…...

卷积神经网络——pytorch与paddle实现卷积神经网络

卷积神经网络——pytorch与paddle实现卷积神经网络 本文将深入探讨卷积神经网络的理论基础,并通过PyTorch和PaddlePaddle两个深度学习框架来展示如何实现卷积神经网络模型。我们将首先介绍卷积神经网络、图像处理的基本概念,这些理论基础是理解和实现卷…...

云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等

云平台虚拟机运维笔记整理,使用libvirt创建和管理虚拟机,以及开启虚拟机嵌套,虚拟磁盘扩容,物理磁盘扩容等等。 掌握和使用qemu和libvirt,分别使用它们创建一个cirros虚拟机,并配置好网络。 宿主机node0的系统为ubuntu16,IP为192.168.56.200。 qemu和libvirt简介 QEMU…...

最佳实践:如何实现函数参数之间的TS类型相依赖和自动推断

引入 最近在开发一款极致优雅的前端状态管理库AutoStore时碰到这样一个问题。 拟实现Field组件,该组件相关类型简化代码如下: type Field (props:{validate,render:(props:{value,isValid}) })该组件,具有validate和render两个属性: 其中…...

Linux基础指令1

好久没写博客了,这次我将重新做人,每星期都更,做不到的话直接倒立洗头。最近在学Linux,感觉很厉害的样子,先浅学一下再弄数据结构去。 Linux的基本操作是通过指令来执行的,所以我们先来学习下指令。 1.简…...

软件设计师:排序算法总结

一、直接插入 排序方式:从第一个数开始,拿两个数比较,把后面一位跟前面的数比较,把较小的数放在前面一位 二、希尔 排序方式:按“增量序列(步长)”分组比较,组内元素比较交换 假设…...

「Mac畅玩鸿蒙与硬件25」UI互动应用篇2 - 计时器应用实现

本篇将带领你实现一个实用的计时器应用,用户可以启动、暂停或重置计时器。该项目将涉及时间控制、状态管理以及按钮交互,是掌握鸿蒙应用开发的重要步骤。 关键词 UI互动应用时间控制状态管理用户交互 一、功能说明 在这个计时器应用中,用户…...

计算机专业开题报告写法,该怎么写好?

不会写开题报告,或者想要一些论文模版的,欢迎评论,会第一时间给大家。 题报告是计算机专业大学毕业生在开展毕业设计或论文研究前,对研究课题进行详细介绍和计划的重要环节。作为开题者对科研课题的一种文字说明,开题…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...

ZYNQ学习记录FPGA(二)Verilog语言

一、Verilog简介 1.1 HDL&#xff08;Hardware Description language&#xff09; 在解释HDL之前&#xff0c;先来了解一下数字系统设计的流程&#xff1a;逻辑设计 -> 电路实现 -> 系统验证。 逻辑设计又称前端&#xff0c;在这个过程中就需要用到HDL&#xff0c;正文…...