Автор: Пользователь скрыл имя, 04 Марта 2013 в 13:18, курсовая работа
В курсовой работе рассматривается управление запасами: в первой главе рассмотрена классическая модель экономического размера заказа. Во второй главе – типы моделей управления запасами и однопродуктовая статическая модель, приведены графики изменения уровня запаса во времени и формулы описывающие модель. В третьей главе рассмотрен вероятностный спрос, в случае, скоропортящихся запасов, приведены формулы для управления запасами, динамики уровня скоропортящегося запаса, рассмотрено приближение ожидаемого уровня запасов и страховой запас.
Введение…………………………………………………………………………..3
1. Классическая модель экономического размера зака-за……………………..6
2. Типы моделей управления запаса-ми………………………………………...8
2.1 Однопродуктовая статическая мо-дель………………………………...…... 8
3. Скоропортящиеся запа-сы……………………………………………..11
3.1 Управление скоропортящимися запаса-ми……………………………...…11
3.2 Приближение уровня устаревших това-ров…….………………………….12
3.3 Страховой запас………………………………….………………………….17
Заключе-ние……………………………………………………………………...21
Приложение 1……………………………………………………………...……22
Приложение 2……………………………………………………………...……24
Список использованной литерату-ры…………………………………………..29
Если годовая потребность в изделиях равна D и требуемый нами уровень обслуживания равен P , то в течение года дефицит составит (1 – P)D изделий. А если экономичный размер заказа равен Qо , то количество заказов в год составит D / Qо . Поскольку ожидаемый дефицит приходящийся на каждый заказ равен M(k) σQ , то за год ожидаемый дефицит составит M(k) σQ D / Qо . Приравнивая последнее выражение к (1 – P)D получим основное уравнение M(k) = (1 – P) Qо / σQ для определения числа (k) средних квадратических отклонений σQ . Искомая величина страхового запаса составит k σQ . Отметим, что при M(k) > 0,3989 величина страхового запаса получается отрицательной, так как при данной величине экономичного заказа и требуемом уровне обслуживания, создания страхового запаса не требуется, а точка размещения повторного заказа снижается на величину k σQ.
Пример. Пусть оптимальный размер заказа Qо = 100 изделий, требуемый уровень обслуживания P = 0,97. Числовые характеристики периода выполнения заказа L и ежедневного потребления q равны mL = 8 дней, σL = 2 дня, mq = 5 шт., σq = 2,5 шт. соответственно. Определим страховой запас используя оба подхода.
Решение. Среднее квадратическое отклонение потребления запаса в течение периода выполнения заказа равно шт.
Вероятностный подход. Для вероятности бесперебойной выдачи изделий из имеющегося запаса P = 0,97 находим по таблице функции Лапласа значение k = 1,88. Величина страхового запаса составит k σQ = 1,88∙12 ≈ 23 шт.
Подход на основе «уровня обслуживания». Вычисляем функцию M(k) = (1 – P) Qо / σQ = (1 – 0,97)∙100/12 = 0,25. По таблице значений функции M(k) находим k = 0,34 и страховой запас составит k σQ = 0,34∙12 ≈ 4 шт. Таким образом, при уровне обслуживания P = 0,97 ожидаемая нехватка изделий составит 4 шт.
Выводы. Сравнение величины страхового запаса (23 шт. и 4 шт.), вычисленное при обоих подходах показывает, что во втором подходе страховой запас почти в 6 раз меньше, чем при вероятностном подходе. Это явно заниженное значение и оно не может служить достоверной рекомендацией для создания страхового запаса.
Несостоятельность второго подхода обусловлена тем, что количество изделий, которых будет не доставать, и которые составляют страховой запас, представляет собой случайную величину, для характеристики которой требуется не только математическое ожидание, но и дисперсия. Поэтому использование при вычислении страхового запаса одного только математического ожидания и приводит к сильно заниженному его значению. При введении дисперсии страхового запаса, число (k) средних квадратических отклонений σQ будет равно уже 1,25, так что страховой запас составит k σQ = 1,25∙12 ≈ 15 шт.
Таким образом, подход на основе «уровня обслуживания», не позволяет находить адекватное значение страхового запаса, в отличие от вероятностного подхода. Поэтому его и следует применять при расчете величины страхового запаса.
Заключение
В любой задаче управления запасами решается вопросы выбора размеров и сроков размещения заказов на запасаемую продукцию. К сожалению, общее решение этой задачи нельзя получить на основе одной модели. Поэтому разработаны самые разнообразные модели, описывающие различные частные случаи. Одним из решающих факторов при разработке модели управления запасами является характер спроса. В наиболее простых моделях предполагается, что спрос является статическим детерминированным.
В большинстве моделей управление запасами осуществляется оптимизацией функции затрат, включающей затраты на оформление заказов, закупку и хранение продукции, а также потери от дефицита. Потери от дефицита обычно наиболее сложно оценить т.к. они могут быть обусловлены такими нематериальными факторами, как, например, ухудшение репутации. С другой стороны, хотя оценку затрат на оформление заказа получить нетрудно, включение в модель этой статьи расходов существенно усложняет математическое описание задачи.
Известные модели управления запасами редко точно описывают реальную систему. Поэтому решение, получаемое на основе моделей этого класса, следует рассматривать скорее как принципиальные выводы, а не конкретные рекомендации. В ряде сложных случаев приходится прибегать к методам имитационного моделирования системы, чтобы получить достаточно надежное решение.
Приложение 1.
1.Краткое описание программного продукта
С++ представляет собой
объектно-ориентированный
2.Документация
а)описание входных данных
с1 – сумма постоянных транспортно-заготовительных расходов;
Q – потребность в
материале на планируемый
с2 – сумма издержек хранения и потерь от иммобилизации;
k - затраты на оформление заказа;
h-затраты на хранение единицы заказа в единицу времени;
β-ежедневный спрос на товар;
mq – МО поребления изделий;
σL – СКО выполнения заказа;
σQ – СКО потребления изделий;
mL – МО выполнения заказа.
б)описание выходных данных
q – оптимальная партия поставки;
C – суммарные затраты в едеиницу времени;
t0 – оптимальная продолжительность цикла;
σQ – суммарное потребление;
z –страховой запас.
в)описание преобразований системы
г)описание эффективности
3.Совместимость
4.Установка
Не требует установки, только наличие CD-ROMa.
Приложение2.
Листинг.
#include <iostream> // podkluchaem funkcii dlya vvoda-vyvoda
#include <cmath> // podkluchaem matematicheskie funkcii (dlya sqrt - kvadratnyj koren')
using namespace std; // vkluchaem vse standartnye funkcii
// tablica Laplasa
double table[101][2] = {
{ 0, 0 }, { 0.05, 0.039877612 }, { 0.1, 0.079655675 }, { 0.15, 0.119235385 }, { 0.2, 0.158519419 }, { 0.25, 0.197412651 }, { 0.3, 0.235822844 }, { 0.35, 0.273661302 }, { 0.4, 0.310843483 }, { 0.45, 0.347289559 }, { 0.5, 0.382924923 }, { 0.55, 0.417680626 }, { 0.6, 0.451493764 }, { 0.65, 0.484307778 }, { 0.7, 0.516072696 }, { 0.75, 0.546745295 }, { 0.8, 0.576289203 }, { 0.85, 0.604674914 }, { 0.9, 0.631879749 }, { 0.95, 0.657887747 },
{ 1, 0.682689492 }, { 1.05, 0.706281887 }, { 1.1, 0.728667878 }, { 1.15, 0.749856129 }, { 1.2, 0.76986066 }, { 1.25, 0.788700453 }, { 1.3, 0.806399031 }, { 1.35, 0.822984017 }, { 1.4, 0.838486682 }, { 1.45, 0.852941481 }, { 1.5, 0.866385597 }, { 1.55, 0.878858484 }, { 1.6, 0.890401417 }, { 1.65, 0.901057064 }, { 1.7, 0.910869074 }, { 1.75, 0.919881686 }, { 1.8, 0.928139362 }, { 1.85, 0.93568645 }, { 1.9, 0.94256688 }, { 1.95, 0.948823881 },
{ 2, 0.954499736 }, { 2.05, 0.959635569 }, { 2.1, 0.964271159 }, { 2.15, 0.968444785 }, { 2.2, 0.972193105 }, { 2.25, 0.975551055 }, { 2.3, 0.97855178 }, { 2.35, 0.981226589 }, { 2.4, 0.983604928 }, { 2.45, 0.985714379 }, { 2.5, 0.987580669 }, { 2.55, 0.989227708 }, { 2.6, 0.990677624 }, { 2.65, 0.991950823 }, { 2.7, 0.993066052 }, { 2.75, 0.994040474 }, { 2.8, 0.994889739 }, { 2.85, 0.995628077 }, { 2.9, 0.996268373 }, { 2.95, 0.996822261 },
{ 3, 0.997300204 }, { 3.05, 0.997711586 }, { 3.1, 0.998064794 }, { 3.15, 0.998367295 }, { 3.2, 0.998625724 }, { 3.25, 0.99884595 }, { 3.3, 0.999033152 }, { 3.35, 0.999191884 }, { 3.4, 0.999326141 }, { 3.45, 0.999439413 }, { 3.5, 0.999534742 }, { 3.55, 0.999614769 }, { 3.6, 0.999681783 }, { 3.65, 0.99973776 },
{ 3.7, 0.999784401 }, { 3.75, 0.999823165 }, { 3.8, 0.999855304 }, { 3.85, 0.999881882 }, { 3.9, 0.999903807 }, { 3.95, 0.999921849 },
{ 4, 0.999936658 }, { 4.05, 0.999948782 }, { 4.1, 0.999958685 }, { 4.15, 0.999966752 }, { 4.2, 0.999973309 }, { 4.25, 0.999978623 }, { 4.3, 0.99998292 }, { 4.35, 0.999986386 }, { 4.4, 0.999989175 }, { 4.45, 0.999991413 }, { 4.5, 0.999993205 }, { 4.55, 0.999994635 }, { 4.6, 0.999995775 }, { 4.65, 0.999996681 }, { 4.7, 0.999997398 }, { 4.75, 0.999997966 }, { 4.8, 0.999998413 }, { 4.85, 0.999998765 }, { 4.9, 0.999999042 }, { 4.95, 0.999999258 },
{ 5, 0.999999427 }
};
// osnovnaya funkciya programmy
int main() {
// vhodnye dannye
double C1, C2, Q,
k, h, beta,
m_q, Sigma_L, m_L, sigma_q,
P;
// schityvaem
// dlya formuly I
cout << "Vvedite C1 (summa transportno-zagotovitel'nyh rashodov): ";
cin >> C1;
cout << "Vvedite Q (potrebnost' v materiale): ";
cin >> Q;
cout << "Vvedite C2 (summa izderzhek hraneniya i poter' ot immobilizacii): ";
cin >> C2;
// dlya formul II, III, IV
cout << "Vvedite k (zatraty na oformlenie zakaza): ";
cin >> k;
cout << "Vvedite h (zatraty na hranenie edinicy zakaza v edinicu vremeni): ";
cin >> h;
cout << "Vvedite beta (ezhednevnyj spros na edinicu tovara): ";
cin >> beta;
// dlya formul V
cout << "Vvedite m_q (MO potrebleniya izdelij): ";
cin >> m_q;
cout << "Vvedite Sigma_L (SKO vypolneniya zakaza): ";
cin >> Sigma_L;
cout << "Vvedite m_L (MO vypolneniya zakaza): ";
cin >> m_L;
// dlya formuly VI
cout << "Vvedite sigma_q (SKO potrebleniya izdelij): ";
cin >> sigma_q;
cout << "Vvedite P (znachenie funkcii Laplasa): ";
cin >> P;
// ischem P po tablice Laplasa
double kappa;
for (int i=0; i<100; ++i)
if (table[i][1] >= P) {
kappa = table[i-1][0] + (table[i][0] - table[i-1][0]) * (P - table[i-1][1]) / (table[i][1] - table[i-1][1]);
break;
}
// vychislyaem formuly
double q = sqrt (2 / C2 * C1 * Q), // formula I
y = sqrt (2 * k * beta / h), // formula III
C = k * beta / y + h * y / 2, // formula II
t0 = y / beta, // formula IV
Sigma_Q = sqrt (m_q * m_q + Sigma_L * Sigma_L + m_L * sigma_q * sigma_q), // formula V
zapas = kappa * Sigma_Q; // formula VI
// vyvodim
cout << endl;
cout << "q (optimal'naya partiya postavki) = " << q << endl;
cout << "C (summarnye zatraty v edinicu vremeni) = " << C << endl;
cout << "y (optimal'noe vyrazhenie zakaza) = " << y << endl;
cout << "t0 (optimal'naya prodolzhitel'nost' cikla) = " << t0 << endl;
cout << "Sigma_Q (summarnoe potreblenie) = " << Sigma_Q << endl;
cout << "kappa (po tablice Laplasa) = " << kappa << endl;
cout << "zapas (strahovoj zapas pri veroyatnostnom podhode) = " << zapas << endl;
// zhdem nazhatiya ljuboj klavishi
cout << endl << "Nazhmite ljubuyu klavishu..." << endl;
getchar();
getchar();
}
Демонстрация результатов
Список использованной литературы.
Информация о работе Система управления скоропортящимися запасами