基于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互动应用时间控制状态管理用户交互 一、功能说明 在这个计时器应用中,用户…...
计算机专业开题报告写法,该怎么写好?
不会写开题报告,或者想要一些论文模版的,欢迎评论,会第一时间给大家。 题报告是计算机专业大学毕业生在开展毕业设计或论文研究前,对研究课题进行详细介绍和计划的重要环节。作为开题者对科研课题的一种文字说明,开题…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
