Материал: 5

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Гришова П., МП-40

Лабораторная работа 5. Задание 1.

Жидкие продукты разливается в пакеты на линии упаковки. Затраты на подвоз 700 у.е. Совокупная потребность в этих продуктах составляет 140 000 литров в месяц. Стоимость хранения 1 литра в течение месяца составляет 4 у.е. Определить оптимальные параметры пополнения склада цеха разлива и сравнить с действующей системой разлива одного продукта в течение трех дней. Хватит ли сэкономленных денег на достойную оплату «прикладного математика»? Проиллюстрировать графически состояние «запаса (склада)» в обоих случаях.

Решение.

В математической модели данной задачи используются следующие параметры:

- спрос на товар в единицу времени.

- затраты на организацию поставки.

- затраты на хранение единицы продукции в течение единицы времени.

- размер заказа сырья.

Решим задачу, рассматривая следующие усложнения базовой модели.

Усложнение 1.

Пусть имеется некоторая конечная интенсивность пополнения склада , причем , то есть работа идет без дефицита.

Тогда диаграмма состояния склада будет выглядеть следующим образом:

Так как во время пополнения склада производство товара не прекращается, то для времени имеем уравнение:

Для времени аналогично можно получить:

.

Длина цикла определяется следующим образом:

Во время пополнения склада затраты на содержание сырья будут следующими:

Затраты на хранение товара за период времени составят:

Тогда издержки за один цикл составят:

Разделим на и получим издержки в единицу времени:

Найдем оптимальные значения параметров, для этого продифференцируем по :

Воспользуемся данными, заданными в задаче:

.

Пусть

Тогда:

Теперь увеличим скорость подвоза товара в пять раз:

Тогда:

При дальнейшем увеличении скорости подвоза товара, получим значение и . То есть получим решение исходной задачи.

При этом было замечено следующая особенность решения: издержки за один цикл не меняются независимо от того, какова скорость подвоза товара. Меняется только соотношение между издержками за время подвоза товара и издержками за время производства.

Усложнение 2.

Учет неудовлетворенных потребностей.

Состояние склада будет выглядеть следующим образом:

Необходимо ввести новый параметр - убытки, связанные с дефицитом единицы продукции в единицу времени.

Тогда промежутки времени и определяются следующим образом:

.

Затраты на хранение сырья и поставку товара в условиях дефициты будут определяться следующим образом:

Тогда расходы на один цикл:

Разделим данное выражение на , чтобы получить издержки в единицу времени

.

Для того чтобы определить оптимальные значения и , необходимо взять две производные и приравнять их к нулю, а затем решить полученную систему уравнений.

Подставляем значение в уравнение , получаем:

Получаем следующие значения параметров:

Видим, что оптимальное значение около 7000

Найдем аналитически:

Получили 7000, этого хватит для зарплаты прикладного математика если конечно условные единицы не рубли.

Задание 2.

Модифицировать условие задачи 1, учитывая протяженное во времени поступление жидкого продукта (по трубопроводу) на линию упаковки. Параметры задать самостоятельно.

Решение.

Сделаем следующее обобщение стандартной модели Уилсона: учтем скорость пополнения склада . Пусть (литров в день). Значения остальных параметров модели оставим без изменений.

В этом случае оптимальный размер заказа:

.

Оптимальное время продажи всей партии:

,

,

.

Суммарные расходы на хранение и организацию поставки в единицу времени:

,

.

Matlab.

clc; clear all;

% основные параметры обобщенной модели Уилсона

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);

Qm = q_opt*(1 - v/l) + v*t_opt1;

% функция суммарных расходов (расходы на хранение и организацию поставки) в единицу времени

q = 0:1000:140000;

C = (S*q/2)*(1 - v/l) + k*v./q;

figure;

plot(q, C, 'b');

ylabel('С (в условных денежных единицах за день)');

xlabel('q (в литрах)');

grid on;

times = 0:0.01:(t_opt1 + t_opt2);

Q = zeros(1, length(times));

for i = 1:length(times)

if (times(i) >= 0 && times(i) < t_opt1)

Q(i) = (l - v)*times(i);

elseif (times(i) >= t_opt1 && times(i) <= (t_opt1 + t_opt2))

Q(i) = Qm - v*times(i);

end

end

Q = repmat(Q, 1, 6);

times = 0:0.01:(length(Q)*0.01-0.01);

figure;

plot(times, Q, 'b');

axis([0 10 0 6000]);

legend('Оптимальная система разлива');

ylabel('Q (в литрах)');

xlabel('t (в днях)');

grid on;

S = 30*sqrt(2*k*S*v)*sqrt(1 - v/l);

fprintf('Суммарные расходы в месяц: %.0f\n', S);

fprintf('Размер заказа: %.0f литров\n', q_opt);

fprintf('Время продажи всей партии: %.2f дня\n', t_opt1 + t_opt2);

Результат.

Суммарные расходы в месяц: 22862

Размер заказа: 8573 литров

Время продажи всей партии: 1.84 дня

График зависимости

Состояние «запаса склада»

Задание 3.

Годовая потребность машиностроительного завода в мелкосортовой стали (пруток диаметром 12 мм) составляет 300 т. В соответствии с техническими требованиями в случае необходимости пруток диаметром 12 мм может быть заменен прутком диаметром 14 мм, цена которого за тонну на 20 у.е. больше. Условно-постоянные транспортно-заготовительные расходы на один заказ равны 21 у.е., издержки по содержанию 1 т. 14 у.е. Определить оптимальный размер партии.

Решение.

Будем использовать модель с учетом неудовлетворенных требований.

Имеем следующие данные:

  • (условных денежных единиц)

  • (условных денежных единиц)

  • (тонн в год)

  • (условных денежных единиц) — убытки, связанные с дефицитом единицы продукции в единицу времени

Рассчитаем оптимальные параметры аналитически:

(тонн),

(тонн).

Данные параметры являются результатом минимизации функции суммарных расходов: .

Matlab.

% основные параметры модели

S = 14;

k = 21;

v = 300;

d = 20;

q_opt = 39.12;

y_opt = 16.11;

[q y] = meshgrid(0:300);

C = k*v./q + S*((q - y).^2)./(2*q) + d*(y.^2)./(2*q);

figure;

mesh(q, y, C);

title('Суммарные расходы в единицу времени');

xlabel('q');

ylabel('y');

zlabel('C(q, y)');

F = @(x) k*v./x(1) + S*(x(1) - x(2)).^2./(2*x(1)) + d*(x(2).^2)./(2*x(1));

X = fminsearch(F, [50 50]);

fprintf('Численно найденные значения:\n');

fprintf('q: %.2f тонн\n', X(1));

fprintf('y: %.2f тонн\n', X(2));

times = 0:0.001:(q_opt/v);

Q = zeros(1, length(times));

for i = 1:length(times)

Q(i) = q_opt - y_opt - v*times(i);

end

Q = repmat(Q, 1, 8);

times = 0:0.001:length(Q)*0.001-0.001;

figure;

plot(times, Q, 'b');

axis([0 1 -20 25]);

legend('Оптимальная система разлива');

ylabel('Q (в тоннах)');

xlabel('t (в годах)');

grid on;

Источник: https://studfile.net/preview/16492600/