Численно найденные значения:
q: 39.12 тонн
y: 16.11 тонн
График зависимости
.
Состояние «запаса склада».
В задачах 1-3 ввести еще одну характеристику системы — время обработки заказа (время от заявки до начала пополнения склада). Найти и указать «точки заказа» на временной диаграмме состояния склада.
Matlab.
% основные параметры стандартной модели Уилсона
S = 4/30;
k = 700;
v = 140000/30;
% оптимальные значения q_opt (размера заказа)
% и t_opt (времени продажи всей партии q)
q_opt = sqrt(2*k*v/S);
t_opt = sqrt(2*k/(v*S));
% время обработки заказа (в днях)
t_proc = 1;
Q_x_frame = [0 t_proc linspace(t_proc, t_opt + t_proc, 300)];
Q_x = [Q_x_frame (Q_x_frame + (t_opt + t_proc)) (Q_x_frame + 2*(t_opt + t_proc))];
Q_y_frame = [0 0 linspace(q_opt, 0, 300)];
Q_y = [Q_y_frame Q_y_frame Q_y_frame];
figure; hold on;
plot(Q_x, Q_y, 'b');
plot([0 (t_opt + t_proc) 2*(t_opt + t_proc)], [0 0 0], 'r*');
legend('Оптимальная система разлива');
ylabel('Q (в литрах)');
xlabel('t (в днях)');
grid on;
hold off;
График состояния склада (красными точками отмечено время заявки).
В данном случае время обработки заказа составляет один день.
В связи с тем, что заявка подается в момент окончания товара на складе, а товар доставляется мгновенно, то расходы не увеличиваются (на складе во время обработки заказа ничего не хранится).
Matlab.
% основные параметры обобщенной модели Уилсона
S = 4/30;
k = 700;
v = 140000/30;
l = 140000/10;
q_opt = sqrt(2*k*v/S)/sqrt(1 - v/l);
t_opt1 = q_opt/l;
t_opt2 = sqrt(2*k/(S*v))*sqrt(1 - v/l);
t_opt = t_opt1 + t_opt2;
Qm = q_opt*(1 - v/l) + v*t_opt1;
% время обработки заказа (в днях)
t_proc = 1;
Q_x_frame = [0 t_proc linspace(t_proc, t_opt1 + t_proc, 300) linspace(t_opt1 + t_proc, t_opt + t_proc, 300)];
Q_x = [Q_x_frame (Q_x_frame + t_opt + t_proc) (Q_x_frame + 2*(t_opt + t_proc)) (Q_x_frame + 3*(t_opt + t_proc))];
Q_y_frame = [0 0 linspace(0, t_opt1, 300)*(l - v) (q_opt - v*linspace(t_opt1, t_opt, 300))];
Q_y = [Q_y_frame Q_y_frame Q_y_frame Q_y_frame];
figure; hold on;
plot(Q_x, Q_y, 'b');
plot([0 (t_opt + t_proc) 2*(t_opt + t_proc) 3*(t_opt + t_proc)], [0 0 0 0], 'r*');
legend('Оптимальная система разлива');
ylabel('Q (в литрах)');
xlabel('t (в днях)');
grid on;
График состояния склада (красными точками отмечено время заявки).
Так же, как и в предыдущем случае никаких дополнительных расходов не возникает, время обработки заказа — один день.
Matlab.
% основные параметры модели
S = 14;
k = 21;
v = 300;
d = 20;
q_opt = 39.12;
y_opt = 16.11;
t_opt1 = (q_opt - y_opt)/v;
t_opt2 = y_opt/v;
t_opt = t_opt1 + t_opt2;
% время обработки заказа (полмесяца)
t_proc = 1/24;
Q_x_frame = [0 t_proc linspace(t_proc, t_opt + t_proc, 300)];
Q_x = [Q_x_frame (Q_x_frame + (t_opt + t_proc)) (Q_x_frame + 2*(t_opt + t_proc)) (Q_x_frame + 3*(t_opt + t_proc))];
Q_y_frame_first = [0 0 linspace(q_opt - y_opt, -y_opt, 300)];
Q_y_frame_latter = [-y_opt -y_opt linspace(q_opt - y_opt, -y_opt, 300)];
Q_y = [Q_y_frame_first Q_y_frame_latter Q_y_frame_latter Q_y_frame_latter];
figure; hold on;
plot(Q_x, Q_y, 'b');
plot([0 (t_opt + t_proc) 2*(t_opt + t_proc) 3*(t_opt + t_proc)], [0 -y_opt -y_opt -y_opt], 'r*');
legend('Оптимальная система разлива');
ylabel('Q (в тоннах)');
xlabel('t (в годах)');
grid on;
hold off;
График состояния склада (красными точками отмечено время заявки).
В данном случае время обработки заказа составляет полмесяца.
На момент подачи заявки склад находится в состоянии дефицита, поэтому возникают дополнительные расходы, связанные с тем, что заказ обрабатывается не мгновенно, а за некоторое время (полмесяца).
Дополнительные расходы за один цикл:
,
где
— время обработки заказа.