简单的优化模型,可以归结为微积分中的函数极值问题,可以直接用微分法求解。首先,我们需要确定优化目标是什么,决策是什么,决策受哪些条件的限制,然后用数学工具(变量、函数、常数)表示他们,最后,用微分法求出最优决策后,要对结果进行定性、定量的分析和必要检验。
下面,将介绍8个教材上的模型。本文将进行存贮模型的讲解。
存贮模型
背景:工厂定期订购原料,存入仓库供生产之用,这些情况下都有一个贮存量多大才合适的问题。贮存量过大,费用高;贮存量太小,会导致一次性订购费用增加,或不能及时满足需求。下面将讨论两种模型:不允许缺货模型和允许缺货模型。
1. 不允许缺货模型
问:多少天生产一次(生产周期),每次产量多少,可使平均每天总费用最小
问题分析:生产周期短、产量少,贮存费小,准备费大;周期长、产量多,贮存费大,准备费小。
模型假设:
模型建立:贮存量q(t),t=0时生产Q件,贮存量q(0)=Q,q(t) 以需求速率r递减,直到 q(T)=0,显然 Q=rT.
从图中,我们可以知道生产一次,即一个周期内的贮存费为,生产准备费为
,得到一个周期的总费用为
(目标函数).
模型求解:使得目标函数C最小,得到
,带入目标函数可以得到
.
结果解释:生产准备费增加时,生产周期和产量都在变大;贮存费增加时,生产周期和产量都变小,当需求量增加时,生产周期变小而产量变大。经过定性分析,这些结果均符合常识。
敏感性分析:讨论 ,
,
有微小变化时对生产周期T的影响。用相对该变量衡量结果对参数的敏感程度
,作类似定义可以得到,
,
.
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);
运行结果: