运筹说 第127期 | 存储论相关模型代码实现

本期我们进行运筹学之存储论算法的讲解,我们将对常见的商品存储模型进行介绍,并求解不同供需条件下的最优存储策略,通过MATLAB和Python工具帮助大家快速求解最优存储策略,做到事半功倍。由于篇幅有限,小编接下来只展示部分代码,小伙伴们可以关注“运筹说”公众号→后台回复“存储论相关模型代码实现”获取完整代码。话不多说,我们一起来看看吧!

第一部分 需求确定的存储模型

1.问题描述

在供应链管理中,存储模型的选择对企业运营效率和成本控制至关重要。针对不同的市场需求和产品生命周期,企业通常会采用不同的存储策略,以优化库存管理,确保供应链的顺畅运作。下面将会介绍四种常见的存储模型,分别适用于需求确定的不同情境。

模型一:不允许缺货,补充时间极短

在这种模型下,企业面临着对产品持续高需求且补充时间极短的挑战。为了确保市场需求得到及时满足,企业必须保持充足的库存,以避免缺货情况的发生。该模型通常用于新产品引入期,确保随时可供销售。

该模型的前提假设为:需求速度R是常数;补充速度近似为零;单位存储费为C1;不允许缺货,故单位缺货费C2为无穷大;订货费为C3;货物单价为K

模型二:允许缺货,补充时间较长

在此模型中,企业在面对需求较低或需求波动较大的产品时,可能允许出现一定的缺货现象。由于补充时间较长,企业通常会减少库存持有量,以降低过剩库存和相关成本。该模型适用于产品生命周期的后期阶段,尤其是市场需求逐渐减少的情境。

该模型的前提假设为:需求速度R是常数;补充需要一定时间,不考虑拖后时间,只考虑生产时间,生产连续均匀,生产速度P为常数,且P>R;单位存储费为C1;单位缺货费为C2;订购费为C3。

模型三:不允许缺货,补充时间较长

该模型适用于需求较为稳定且缺货可能对企业造成较大影响的产品。尽管补充时间较长,企业仍会通过适当的库存策略来确保不断货。这种模型常见于市场成熟期的产品管理中,企业需通过精准的需求预测和生产计划,维持库存水平,以确保市场份额的稳定。

在模型二的假设条件中,取消允许缺货条件(即设C2→∞,t2=0)就成为模型三。

模型四:允许缺货,补充时间极短

在此模型中,企业对需求有较强的预测能力,并且供应链反应速度快。虽然企业允许短时间的缺货,但由于补充时间极短,能够迅速恢复库存水平。该模型通常用于市场增长期,企业通过灵活的库存管理来降低持有成本,同时迅速响应市场需求的变化。

在模型二的假设条件中,取消补充需要一定时间的条件(即设P→∞),就成为模型四。

在下述例子中,阐述了产品在整个生命周期管理的过程中的用户需求和供应链响应情况。

2.例题介绍

①某公司推出某新品,在产品新推出时期,根据市场情况,消费者对该产品的需求较高,公司要求不允许缺货且采用快速响应的供应链,确保补货时间极短。该产品在现阶段的需求量为7件/天(R),每次订购该产品花费80元,每天的存储费为每件0.13元/天,假设该商品进货可随时实现,求进货策略。

②随着产品逐渐被市场接受,且供应链已经优化,补货时间仍然很短,企业可以接受偶尔的缺货情况,以减少过剩库存的风险。求允许缺货(缺货费每件0.5元/天)条件下的最优存储策略。

③产品进入成熟期,市场需求趋于稳定,为稳定的销售对维持市场份额,公司规定不允许产品缺货且可以适当延长补货时间,已知产品的生产速度为10件/天,求最优存储策略。

④产品最终进入了衰退期,市场需求开始下降。在这个阶段,企业接受更长的补货时间,以减少过剩库存的风险。同时,由于需求减少,企业可能允许缺货,以清理库存并为新产品让路。此时,产品的需求量为5件/天,缺货费仍是每件0.5元/天,求最优存储策略。

3.代码实现

我们以上述例题为例,借助Python介绍实现求解的相关代码。

代码运行及最终结果展示如下。

第二部分 价格与订货批量有关的存储模型

1.问题描述

为了鼓励大批量订货,供方常对需方实行价格优惠。订货批量越大,货物价格就越便宜。所谓经济订购批量折扣模型是经济订购批量存贮模型的一种发展,即商品的价格是不固定的,是随着订货量的多少而改变的。就一般情况而论,物品订购的越多,物品的单价也就越低,因此折扣模型就是讨论这种情况下物品的订购数量。模型五除含有这样的价格刺激机制外,其他假设条件和模型一相同。

Ct为关于t的分段函数。为了了解它的性质,以n=3为例,画出其图像,见下图。

2.例题介绍

某公司计划订购一种商品用于销售。该商品的年销售量为40000件,每次订货费为9000元,商品的价格与订货量的大小有关,为

存贮费是商品价格的20%。问如何安排订购量与订货时间。

3.代码实现

我们以上述例题为例,借助MATLAB和Python介绍实现模型五的相关代码。

(1)MATLAB代码展示

我们以上述例题为例,借助MATLAB介绍实现求解的相关代码。

求得最优订货量为10211 件,最优存贮费用为145151510 元,最优订货周期是平均0.255 年一次。

(2)Python代码展示

我们以上述例题为例,借助Python介绍实现求解的相关代码。

求得最优订货量为10211 件,最优存贮费用为145151510 元,最优订货周期是平均0.255 年一次。

第三部分 需求是离散随机变量的存储模型

1.问题描述

单周期的存储模型中周期内只能提出一次订货,发生短缺时也不允许再提出订货,周期结束后,剩余货可以处理。单周期库存模型又称为单订货模型。模型假定周期末库存对下一个周期没有任何价值。这个问题也称为报童问题,因为报童手中的报纸若卖不完,明天就没有用了。该模型研究的是仅有一次机会的存贮与供需关系的产品。

模型六的最佳订购量Q可由下面关系式来确定:

2.例题介绍

(报童问题)在街中有一报亭,平均每天出售报纸500份,出售报纸的数量,与来往的人流有关,假设服从Poisson分布,每卖出一份报纸能盈利0.15元。如果卖不出去,只能作为废纸处理,每份报纸亏损0.40元,问:报亭应如何安排报纸的订购量,使得报亭的利润最大?

3.平台实现

我们以上述例题为例,借助MATLAB和Python介绍实现模型六的相关代码。

(1)MATLAB代码展示

我们以上述例题为例,借助MATLAB介绍实现求解的相关代码。

求得最优订购量为493件,获利80.05元。

(2)Python代码展示

我们以上述例题为例,借助Python介绍实现求解的相关代码。

求得最优订购量为496件,获利79.9元。

第四部分 需求是连续的随机变量的存储模型

1.算法描述

设单位货物进价为k,售价为p,存储费为C。又设货物需求r是连续型随机变量,其密度函数为Φ(r),分布函数为

当货物的订购量(或生产量)为

时,能使盈利期望值最大。

2.例题介绍

设在某食品店内,每天对面包的需求服从μ=300,σ=50的正态分布。已知每个面包的售价为1.50元,成本0.90元,对当天未售出的其处理价为每个0.60元,问该商店每天应生产多少面包,使预期的利润为最大?

3.平台实现

我们以上述例题为例,借助MATLAB和Python介绍实现模型七的相关代码。

(1)MATLAB代码展示

我们以上述例题为例,借助MATLAB介绍实现求解的相关代码。

(2)Python代码展示

我们以上述例题为例,借助Python介绍实现求解的相关代码。

以上就是本期存储论的一些实际应用的全部内容啦,通过对这一期的学习,相信大家一定能够加深对存储论的理解,进而在生活实践中学会应用!

作者 | 齐涵 王凡

责编 | 唐京茹

审核 | 徐小峰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1788.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】Linux权限

本文将会围绕着下面5个问题进行讲解: 认识Linux下用户的分类什么叫做权限没有权限会有什么现象如何进行权限的修改其他与权限相关的问题 好了,本章内容就要开始了,准备你的大脑,开凿吧!!! 认识…

Ubuntu系统如何实现键盘按键映射到其他按键(以 Ctrl+c 映射到 F3,Ctrl+v 映射到 F4 为例)

文章目录 写在前面1. 功能描述2. 实现步骤2.1 安装AutoKey2.2 软件设置2.2.1 软件设置 2.3 测试是否安装成功 参考链接 写在前面 自己的测试环境: Ubuntu20.04 1. 功能描述 Ubuntu系统使用Ctrlc 、Ctrlv 进行复制粘贴操作的时候,时间长了就会出现小拇指…

threejs开源实例-粒子地球

源码 three.js webgl - geometry - cube <script type"module">import * as THREE from "three";import { OrbitControls } from "three/addons/controls/OrbitControls.js";import { GUI } from "three/addons/libs/lil-gui.modul…

苍穹外卖的vue开发

前端的环境搭建 技术选型 熟悉目录结构 如何梳理代码 以登录功能进行示例 先看前端页面 这个路径一定是对应了一个对应的路由,这个路由一定对应了某个组件 找到登录的方法 这个方法在store中,是异步方法 store中有一个actions方法 对应的是login的api请求 request是我们单独…

docker desktop使用ubuntu18.04带图形化+运行qemu

记录一下docker desktop使用ubuntu18.04带图形化命令和使用步骤 1. 下载镜像 参考&#xff1a;【Docker教程】Docker部署Ubuntu18.04(带图形化界面) 命令&#xff1a; docker pull kasmweb/ubuntu-bionic-desktop:1.10.02. 启动镜像 命令&#xff1a; docker run -d -it …

springboot入门学习笔记2(连接mysql,使用mybatis,plus等)

对于application.yml的学习 application.yml 是 Spring Boot 的核心配置文件&#xff0c;用于定义应用程序的配置属性。 它允许开发者通过 YAML 格式配置各种属性&#xff0c;如服务器端口、数据库连接、第三方服务端点等。 这些属性通过 Spring 的 ConfigurationProperties…

5G基础知识

那个工种&#xff1f; FDD 频分双工&#xff08;Frequency Division Duplexing&#xff09;&#xff0c;理解起来很简单&#xff0c;就是把上行和下行业务隔离在两个频段&#xff0c;互不干扰。 而 TDD 时分双工&#xff08;Time-Division Duplexing&#xff09;&#xff0c;是…

大数据治理:策略、技术与挑战

随着信息技术的飞速发展&#xff0c;大数据已经成为现代企业运营和决策的重要基础。然而&#xff0c;大数据的复杂性、多样性和规模性给数据管理带来了前所未有的挑战。因此&#xff0c;大数据治理应运而生&#xff0c;成为确保数据质量、合规性、安全性和可用性的关键手段。本…

022集——统计多条线的总长度(CAD—C#二次开发入门)

如下图所示&#xff0c;选择多条线并统计长度&#xff1a; c#中不包含直接获取curve曲线长度 属性&#xff0c;需用如下方法&#xff1a;curve.GetDistanceAtParameter(item.EndParam) 附部分代码如下&#xff1a; using Autodesk.AutoCAD.ApplicationServices; using Autode…

WPF+MVVM案例实战(十四)- 封装一个自定义消息弹窗控件(下)

文章目录 1、案例效果2、弹窗控件使用1.引入用户控件2、按钮命令实现 3、总结4、源代码获取 1、案例效果 2、弹窗控件使用 1.引入用户控件 打开 Wpf_Examples 项目&#xff0c;在引用中添加用户控件库&#xff0c;在 MainWindow.xaml 界面引用控件库&#xff0c;代码如下&…

2024年计算机视觉与图像处理国际学术会议 (CVIP 2024)

目录 大会简介 主办单位&#xff0c;协办单位 组委会 主讲嘉宾 征稿主题 参会方式 会议议程 重要信息 会议官网&#xff1a;iccvip.org 大会时间&#xff1a;2024年11月15日-17日 大会地点&#xff1a;中国 杭州 大会简介 2024年计算机视觉与图像处理国际学术会议(C…

硅谷甄选(8)spu

Spu模块 SPU(Standard Product Unit)&#xff1a;标准化产品单元。是商品信息聚合的最小单位&#xff0c;是一组可复用、易检索的标准化信息的集合&#xff0c;该集合描述了一个产品的特性。通俗点讲&#xff0c;属性值、特性相同的商品就可以称为一个SPU。 7.1 Spu模块的静态…

【element el-date-picker限制时间选择范围】

问题场景 在一次项目中,有一个这样的需求就是填报时间需要在上一次提交信息之后,在限制时间时发现,el-date-picker中的pickerOption中的disableDate是基于日期限制的,若限制日期为今日凌晨,那么今天之后的日期都不能填 <el-date-pickerv-model="selectedDateTime&…

我也谈AI

“随着人工智能技术的不断发展&#xff0c;我们已经看到了它在各行业带来的巨大变革。在医疗行业中&#xff0c;人工智能技术正在被应用于病例诊断、药物研发等方面&#xff0c;为医学研究和临床治疗提供了新的思路和方法&#xff1b;在企业中&#xff0c;人工智能技术可以通过…

机器人对人工智能未来发展的影响

机器人作为人工智能&#xff08;AI&#xff09;技术的一个重要应用领域&#xff0c;对人工智能的未来发展具有深远的影响。机器人和人工智能在技术上存在深度的交叉和融合。人工智能为机器人提供了强大的感知、决策和执行能力&#xff0c;而机器人则成为人工智能技术的最佳载体…

大数据-199 数据挖掘 机器学习理论 - 决策树 模型 决策与条件 香农熵计算

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

ES入门:查询和聚合

安装完ElasticSearch 和 Kibana后我们开始学习 为了方便测试&#xff0c;使用kibana的dev tool来进行学习测试&#xff1a; 测试工具 从索引文档开始 插入 向 Elasticsearch 索引 customer 的 _doc 类型的文档 id 为 1 的文档发送 PUT 请求的例子。 请求体为 JSON 格式&am…

力扣——二叉树的后序遍历(C语言)

1.题目&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;返回其节点值的后序遍历。 2.原理&#xff1a; 这里的遍历&#xff0c;是要存入到数组中&#xff0c;所以需要建立数组&#xff0c;这里传参有*returnSize&#xff0c;需要求节点个数&#xff0c;可以调用前面Tr…

软件测试学习笔记丨Flask操作数据库-数据库和表的管理

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/23427 结构分析 Runner是中间件sqlachemy去驱动Runner&#xff0c;根据不同的数据库去驱动不同的中间件 demo # 导入Flask的类 from flask import Flask # 实例化 Flask的类&#xff0c;并且…

一个小程序如何对接多个收款账户?

背景 我又来了&#xff0c;之前对接过网约巴士系统 网约巴士旅游专线平台搭建历程&#xff0c;运营了两年多了。在运营中完善、在完善中学习&#xff0c;一直是不变的真理。有一句话说得好&#xff1a;先做一个垃圾、用起来再说。 今天又需要升级了&#xff0c;需求是&#…