【数学建模】简单的优化模型-1 存贮模型

        简单的优化模型,可以归结为微积分中的函数极值问题,可以直接用微分法求解。首先,我们需要确定优化目标是什么,决策是什么,决策受哪些条件的限制,然后用数学工具(变量、函数、常数)表示他们,最后,用微分法求出最优决策后,要对结果进行定性、定量的分析和必要检验。

        下面,将介绍8个教材上的模型。本文将进行存贮模型的讲解。

      存贮模型

        背景:工厂定期订购原料,存入仓库供生产之用,这些情况下都有一个贮存量多大才合适的问题。贮存量过大,费用高;贮存量太小,会导致一次性订购费用增加,或不能及时满足需求。下面将讨论两种模型:不允许缺货模型和允许缺货模型。

        1. 不允许缺货模型

        问:多少天生产一次(生产周期),每次产量多少,可使平均每天总费用最小

        问题分析:生产周期短、产量少,贮存费小,准备费大;周期长、产量多,贮存费大,准备费小。

        模型假设:

         模型建立:贮存量q(t),t=0时生产Q件,贮存量q(0)=Q,q(t) 以需求速率r递减,直到 q(T)=0,显然 Q=rT.

         从图中,我们可以知道生产一次,即一个周期内的贮存费为,生产准备费为,得到一个周期的总费用为 \overline{C}=c_{1}+c_{2}\frac{QT}{2}=c_{1}+c_{2}\frac{rT^{2}}{2}(目标函数).

        模型求解:使得目标函数C最小,得到 T=\sqrt{\frac{2c_{1}}{c_{2}r}}  Q=\sqrt{\frac{2c_{1}r}{c_{2}}},带入目标函数可以得到C=\sqrt{2c_{1}c_{2}r}.

        结果解释:生产准备费增加时,生产周期和产量都在变大;贮存费增加时,生产周期和产量都变小,当需求量增加时,生产周期变小而产量变大。经过定性分析,这些结果均符合常识。

        敏感性分析:讨论 c_{1}c_{2}, r有微小变化时对生产周期T的影响。用相对该变量衡量结果对参数的敏感程度 S(T,c_{1})=\frac{\Delta T/T}{\Delta c_{1}/c_{1}}\approx \frac{dT}{dc_{1}}\frac{c_{1}}{T}=\frac{1}{2},作类似定义可以得到,S(T,c_{2})=-\frac{1}{2}S(T,r)=-\frac{1}{2}.

        2. 允许缺货模型

        问:多少天生产一次(生产周期),每次产量多少,可使平均每天总费用最小

        问题分析:生产周期短、产量少,贮存费小,准备费大;周期长、产量多,贮存费大,准备费小。因贮存不足时造成缺货时,可认为贮存量函数 q(t) 为负值。

         模型假设:

         模型建立:贮存量q(t),t=0时生产Q件,贮存量q(0)=Q,q(t) 以需求速率r递减,直到 q(T)=0,显然 

         从图中我们可看出, 𝑇1 到 T 这段时间缺货时段内需求率 r 不变,q(t)按原斜率继续下降,由于缺货需补足,所以在t = T时数量为 R 的产品立即到达,使下周期初的贮存量恢复到 Q。与建立不允许缺货时类似,一个周期内的贮存费是 𝑐2 乘以三角形 A 的面积,缺货损失费则是 𝑐3 乘以三角形 B 的面积.计算这两块的面积,并加上准备费 𝑐1 ,得到一个周期的总费用为,每天的平均费用为

        模型求解:

                                               

        结果解释: T’ > T ,Q’ < Q , R > Q,即允许缺货时周期以及供货量应增加,周期初贮存量应减少,缺货损失费 𝑐3 越大(相对于贮存费 𝑐2 ), λ 越小, T’ 越接近 T , Q’ , R 越接近 Q .当 𝑐3 → ∞时 λ → 1,于是 𝑇′ → T, 𝑄′ → Q,R → Q 

        matlab 代码:

        其中,设生产准备费为5000元,贮存费为1元/天/件,日需求量为100件。 

clc;
clear;

c1 = 5000;
c2 = 1;
r = 100;

% 假设 T 是一个变量,可以取某个范围内的整数值
T = 1:100;  % 你可以根据需要调整范围

Q = r * T;
C = c1 + c2 * Q .* T / 2;

% 找到最大值及其对应的 T
[maxC, idx] = max(C);
optimalT = T(idx);

% 输出结果
fprintf('最大成本 C = %.2f 对应的 T = %d\n', maxC, optimalT);

         运行结果:

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值