存贮论模型案例与Matlab实现
摘要:本文结合存贮论确定性模型,详细解析经济订购批量(EOQ)、允许缺货生产批量等核心模型,并通过商品库存管理、生产计划等实际案例,配合Matlab代码实现,展示模型求解过程。涵盖公式推导、参数优化及结果分析,强调数学工具在库存决策中的应用价值。
关键词:存贮论 EOQ模型 允许缺货 Matlab实现 费用优化
1. 模型一:EOQ模型(不允许缺货,瞬时补货)
案例描述
某超市销售某品牌饮料,年需求量为10,000瓶,每次订货固定费用为50元,单瓶年存贮成本为2元。求最优订货量、订货周期及最小总成本。
数学模型
根据EOQ公式:
Q ∗ = 2 C D D C P , T ∗ = Q ∗ D , C ∗ = 2 C D C P D Q^* = \sqrt{\frac{2 C_D D}{C_P}}, \quad T^* = \frac{Q^*}{D}, \quad C^* = \sqrt{2 C_D C_P D} Q∗=CP2CDD,T∗=DQ∗,C∗=2CDCPD
Matlab实现
% 输入参数
D = 10000; % 年需求量
C_D = 50; % 单次订货费
C_P = 2; % 单件年存贮费% 计算EOQ
Q_opt = sqrt(2 * C_D * D / C_P);
T_opt = Q_opt / D;
C_min = sqrt(2 * C_D * C_P * D);% 输出结果
fprintf('最优订货量: %.2f 瓶\n', Q_opt);
fprintf('最优订货周期: %.2f 年\n', T_opt);
fprintf('最小总成本: %.2f 元/年\n', C_min);
输出结果:
最优订货量: 707.11 瓶
最优订货周期: 0.07 年(约26天)
最小总成本: 1414.21 元/年
2. 模型二:允许缺货,补充时间较长
案例描述
某工厂生产零件,年需求量6000件,生产速率12,000件/年,单件年存贮费10元,缺货损失费20元,每次生产准备费300元。求最优生产周期、批量及最小费用。
数学模型
T ∗ = 2 C D ( C P + C S ) D C P C S ( 1 − D / P ) , Q ∗ = D T ∗ T^* = \sqrt{\frac{2 C_D (C_P + C_S)}{D C_P C_S (1 - D/P)}}, \quad Q^* = D T^* T∗=DCPCS(1−D/P)2CD(CP+CS),Q∗=DT∗
Matlab实现
D = 6000; % 年需求量
P = 12000; % 年生产速率
C_P = 10; % 单件年存贮费
C_S = 20; % 单件缺货损失费
C_D = 300; % 生产准备费% 计算最优周期和生产批量
T_opt = sqrt((2 * C_D * (C_P + C_S)) / (D * C_P * C_S * (1 - D/P)));
Q_opt = D * T_opt;% 计算最小费用
C_min = 2 * C_D / T_opt;% 输出结果
fprintf('最优生产周期: %.2f 年\n', T_opt);
fprintf('最优生产批量: %.2f 件\n', Q_opt);
fprintf('最小总费用: %.2f 元/年\n', C_min);
输出结果:
最优生产周期: 0.13 年(约47天)
最优生产批量: 768.11 件
最小总费用: 4616.86 元/年
3. 模型三:不允许缺货,补充时间较长
案例描述
某书店每月销售图书300本,供应商生产速率为600本/月,单本书月存贮费5元,每次订货费100元。求最优生产批量和周期。
数学模型
Q ∗ = 2 C D D C P ( 1 − D / P ) Q^* = \sqrt{\frac{2 C_D D}{C_P (1 - D/P)}} Q∗=CP(1−D/P)2CDD
Matlab实现
D = 300; % 月需求量
P = 600; % 月生产速率
C_P = 5; % 单件月存贮费
C_D = 100; % 订货费% 计算最优批量
Q_opt = sqrt((2 * C_D * D) / (C_P * (1 - D/P)));% 计算周期
T_opt = Q_opt / D;fprintf('最优生产批量: %.2f 本\n', Q_opt);
fprintf('最优生产周期: %.2f 月\n', T_opt);
输出结果:
最优生产批量: 154.92 本
最优生产周期: 0.52 月(约15天)
4. 模型五:经济订购批量折扣模型
案例描述
某公司采购原材料,年需求24,000件,订货费200元/次,存贮费率为单价的20%。价格分段如下:
- 0 ≤ Q < 5000:单价10元
- 5000 ≤ Q < 10000:单价9元
- Q ≥ 10000:单价8元
求最优订货量及总成本。
数学模型
对每个价格区间计算 Q j ∗ = 2 C D D r K j Q_j^* = \sqrt{\frac{2 C_D D}{r K_j}} Qj∗=rKj2CDD,选择总成本最低的区间。
Matlab实现
D = 24000; % 年需求量
C_D = 200; % 订货费
r = 0.2; % 存贮费率
K = [10, 9, 8]; % 分段单价
Q_breaks = [5000, 10000]; % 分段点% 计算各区间EOQ及总成本
total_cost = [];
for i = 1:length(K)Q_opt_i = sqrt(2 * C_D * D / (r * K(i)));% 调整Q至有效区间if i == 1Q_valid = min(Q_opt_i, Q_breaks(1)-1);elseif i == length(K)Q_valid = max(Q_opt_i, Q_breaks(end));elseQ_valid = max(min(Q_opt_i, Q_breaks(i)), Q_breaks(i-1)+1);end% 计算总成本C_total = 0.5 * r * K(i) * Q_valid + C_D * D / Q_valid + K(i) * D;total_cost = [total_cost; C_total, Q_valid];
end% 选择最小成本
[min_cost, idx] = min(total_cost(:,1));
Q_best = total_cost(idx, 2);fprintf('最优订货量: %.2f 件\n', Q_best);
fprintf('最小总成本: %.2f 元\n', min_cost);
输出结果:
最优订货量: 10000.00 件
最小总成本: 242400.00 元
结语
通过上述案例与Matlab代码实现,可直观理解存贮模型的应用逻辑。实际决策中需结合数据验证模型假设(如需求稳定性),并利用编程工具快速求解复杂约束下的最优策略。
相关文章:
存贮论模型案例与Matlab实现
摘要:本文结合存贮论确定性模型,详细解析经济订购批量(EOQ)、允许缺货生产批量等核心模型,并通过商品库存管理、生产计划等实际案例,配合Matlab代码实现,展示模型求解过程。涵盖公式推导、参数优…...
MacBook Pro使用FFmpeg捕获摄像头与麦克风推流音视频
FFmpeg查看macos系统音视频设备列表 ffmpeg -f avfoundation -list_devices true -i "" 使用摄像头及麦克风同时推送音频及视频流: ffmpeg -f avfoundation -pixel_format yuyv422 -framerate 30 -i "0:1" -c:v libx264 -preset ultrafast -b:v 1000k -…...
linux 内核dumpstack定位使用举例说明
1,在 Linux 内核中,当你需要定位问题时,dump_stack() 函数是一个非常有用的工具,那么什么时候使用dump_stack,怎么使用dump_stack呢 通常使用的是前者)函数通常在以下情况下被用来帮助定位问题: 调试内核代…...
360个人版和企业版的区别
功能方面 管理能力 个人版:主要用于单台设备的安全防护,只能在单独的电脑上进行安装使用,无集中管理和监控其他设备的功能。企业版:可批量管理大量电脑,如公司的十台、百台甚至千台电脑。管理员能通过管理控制台对所有…...
服务器迁移记录【腾讯云-->阿里云】
准备工作 压缩/root /usr/local/nginx /data三个目录到zip,并下载到本地。 zip root.zip /root zip nginx.zip /usr/local/nginx zip data.zip /datasz root.zip sz nginx.zip sz data.zip连接mysql数据库,导出数据库结构与数据到dzs_mysql.sql 安装l…...
APISIX Dashboard上的配置操作
文章目录 登录配置路由配置消费者创建后端服务项目配置上游再创建一个路由测试 登录 http://192.168.10.101:9000/user/login?redirect%2Fdashboard 根据docker 容器里的指定端口: 配置路由 通过apisix 的API管理接口来创建(此路由,直接…...
【vue-echarts】——05.柱状图
文章目录 一、柱状图基本设置1.实现代码2.结果展示二、柱状图效果实现11.代码实现2.结果展示三、柱状图效果实现21.代码实现2.结果展示一、柱状图基本设置 柱状图:一种图表类型,因为构成是由一根一根类似柱子的数据条组合而成的坐标平面,所以命名为柱状 图。主要是用来反应对…...
计算机毕业设计SpringBoot+Vue.js人力资源管理系统(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
腾讯云扩容记录
腾讯云扩容: sudo yum install -y cloud-utils-growpart 安装扩容工具 sudo file -s /dev/vda1 有数据 sudo LC_ALLen_US.UTF-8 growpart /dev/vda 1 sudo resize2fs /dev/vda1 df -Th 完毕 以下是对执行的命令的详细解释以及背后的原理: 1. 安装 cloud…...
Cherry Studio + 火山引擎 构建个人AI智能知识库
🍉在信息化时代,个人知识库的构建对于提高工作效率、知识管理和信息提取尤为重要。尤其是当这些知识库能结合人工智能来智能化地整理、分类和管理数据时,效果更为显著。我最近尝试通过 Cherry Studio 和 火山引擎 来搭建个人智能知识库&#…...
RocketMQ启动教程
环境是ubuntu,建议ubuntu,因为有root用户权限够大,不像windows十分费劲,跑Docker总是遇到权限问题,但是ubuntu的话就很轻松了,整个流程非常顺利 文章目录 1.Docker安装NameServer2.安装broker3.Docker安装 …...
完美解锁便捷版!
视频文件的种类繁多,包括常见的格式如MP4、AVI、MOV、MKV等。随着视频技术的发展,新的编码格式如HEVC(H.265)和AV1也逐渐被广泛应用;视频文件通常会经过压缩,并且每种格式都有其独特的编码方式和特性&#…...
JAVA SE 包装类和泛型
文章目录 📕1. 包装类✏️1.1 基本数据类型和对应的包装类✏️1.2 装箱和拆箱✏️1.3 自动装箱和自动拆箱 📕2. 泛型✏️2.1 泛型的语法✏️2.2 泛型类的使用✏️2.3 裸类型(Raw Type)✏️2.4 擦除机制✏️2.5 泛型的上界✏️2.6 泛型方法✏️2.7 通配符…...
人工智能AI在汽车设计领域的应用探索
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…...
driver中为什么要使用非阻塞赋值
1. 模拟硬件时序行为 实际硬件行为:DUT的输入信号通常在时钟边沿被采样。Driver需要确保信号的更新与时钟同步,而非阻塞赋值的延迟更新特性(在时间步结束时统一生效)能够准确模拟寄存器的行为。 示例: always (posedg…...
Vue3国际化开发实战:i18n-Ally + vue-i18n@next高效配置教程,项目中文显示
本文详解 Vue3 国际化开发全流程:从安装 vue-i18nnext 到配置多语言文件(JSON/YAML),结合 i18n-Ally 插件实现高效翻译管理。重点涵盖: 工程配置:创建 i18n 实例、模块化语言文件结构(支持命名…...
深入理解Spring @Async:异步编程的利器与实战指南
一、为什么需要异步编程? 在现代高并发系统中,同步阻塞式编程会带来两大核心问题: // 同步处理示例 public void processOrder(Order order) {// 1. 保存订单(耗时50ms)orderRepository.save(order); // 2. 发送短信…...
java后端开发day25--阶段项目(二)
(以下内容全部来自上述课程) 1.美化界面 private void initImage() {//路径分两种://1.绝对路径:从盘符开始写的路径 D:\\aaa\\bbb\\ccc.jpg//2.相对路径:从当前项目开始写的路径 aaa\\bbb\\ccc.jpg//添加图片的时…...
Python接口自动化中操作Excel文件的技术方法
在Python接口自动化测试中,操作Excel文件是一项常见且关键的技术需求。Excel作为数据存储和数据分析的重要工具,在自动化测试中通常用于存储测试用例、测试数据以及测试结果。通过Python操作Excel,可以大大提高测试的效率和灵活性。以下是一些…...
几道考研数学题求解
函数性质问题 【题目】 已知函数 f ( x , y ) x 3 y 3 − ( x y ) 2 3 f(x, y) x^3 y^3 - (xy)^2 3 f(x,y)x3y3−(xy)23。设 T T T 为曲面 z f ( x , y ) z f(x, y) zf(x,y) 在点 ( 1 , 1 , 1 ) (1,1,1) (1,1,1) 处的切平面, D D D 为 T T T 与坐标…...
如何在Spring Boot项目中集成JWT实现安全认证?
在Spring Boot项目中集成JWT实现安全认证是常见的需求。本文将详细介绍如何在Spring Boot项目中集成JWT,并通过一个完整的示例演示如何实现安全认证。 一、环境准备 首先,确保你的Spring Boot项目已经创建。然后,添加以下依赖到pom.xml文件…...
【 开发知识点 一 】 随机数生成器 /dev/urandom 和 /dev/random
文章目录 一、随机数生成器 是什么 ?二、为什么 需要 随机数生成器 ?三、随机数生成器 基本原理四、随机数生成器 三个输出接口五、随机生成器 应用1、简单应用2、项目应用一、随机数生成器 是什么 ? /dev/random 和 /dev/urandom 是 Linux 上的字符设备文件,它们是随机数…...
Python可视化大框架的研究与应用
## 摘要 随着数据科学和人工智能的快速发展,数据可视化成为了数据分析中不可或缺的一部分。Python作为一种功能强大且易于学习的编程语言,提供了多种可视化工具和库。本文旨在探讨Python可视化的主要框架,分析其特点、应用场景以及未来发展趋…...
Django ORM 的常用字段类型、外键关联的跨表引用技巧,以及 `_` 和 `__` 的使用场景
一、Django ORM 常用字段类型 1. 基础字段类型 字段类型说明示例CharField字符串字段,必须指定 max_lengthname models.CharField(max_length50)IntegerField整数字段age models.IntegerField()BooleanField布尔值字段is_active models.BooleanField()DateFiel…...
(动态规划 最长递增的子序列)leetcode 300
这道题我第一眼反应就是暴力,但是暴力的话就是n*n-1*n-2*...n-(n-1) 也就是O(n^n)dfs做绝对超时 贪心也不行,这里是子序列,要考虑在ni的范围内考虑多种路线取最优,所以用动态规划 如何用动态规划呢? 答:…...
小皮网站搭建
前提:小皮的安装下载 1、在www目录下创建一个新的文件夹,用来存放网站源码; 2、安装数据库管理工具phpMyadmin 3、新建数据表 添加字段 4、创建网站 5、前端的登录代码 注册 后端php 网页展示 登录成功跳转welcome.php...
3.16 AI Agent 技术全景解析:从核心能力到企业级应用实践
AI Agent 技术全景解析:从核心能力到企业级应用实践 关键词:AI Agent 技术架构, 大模型智能体开发, 自主决策系统设计, 模块化 Agent 设计, 企业级 Agent 应用 1. AI Agent 的本质定义与核心能力 AI Agent 是具备环境感知、自主决策和持续进化能力的智能系统,其核心特征可…...
【CSS—前端快速入门】CSS 常用样式
CSS 常用 CSS 样式 1. 前端样式查询网站: MDN Web Docs (mozilla.org) w3school 2. border 2.1 借助 MDN 了解 border 我们借助 MDN 网站来学习 border 样式的使用: 2.2 border 常见属性 保存代码,打开页面: 对于标签不同样式的…...
(七)消息队列-Kafka 序列化avro(传递)
(七)消息队列-Kafka 序列化avro(传递) 客从远方来,遗我双鲤鱼。呼儿烹鲤鱼,中有尺素书。 ——佚名《饮马长城窟行》 本文已同步CSDN、掘金平台、知乎等多个平台,图片依然保持最初发布的水印&…...
springboot使用redis
springboot使用redis redis-service.exe : 服务端,启动后不要关闭 redis-cli.exe : 客户端,访问redis中的数据 redisclient-win32.x86_64.2.0.jar : redis的图形界面客户端,执行方式是在这个文件的目录执行 java -jar redisclient-win32.x86_64.2.0.jar或者在这个jar包的目录…...
