Реферат Курсовая Конспект
Постановка задачи - раздел Экономика, Конспект лекций ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ Компании, Продающей Один Вид Продукции, Необходимо Определить...
|
Компании, продающей один вид продукции, необходимо определить, какое количество товара она должна иметь в запасе на каждый из последующих n мес. (n — заданный входной параметр). Промежутки времени между возникновением спроса на товар являются независимыми и представлены случайными величинами, имеющими одинаковое распределение, со средним значением 0,1 мес. Объемы спроса D также являются независимыми (они не зависят от того, когда возникает спрос) и одинаково распределенными случайными величинами:
В начале каждого месяца компания пересматривает уровень запасов и решает, какое количество товара заказать у поставщика. В случае, когда компания заказывает Z единиц товара, она будет нести затраты, равные К + iZ, где К — покупная стоимость, К = 32 доллара; i — дополнительные затраты на единицу заказанного товара, i = 3 доллара. (Если Z= 0, какие-либо затраты отсутствуют.) При оформлении заказа время, необходимое для его доставки (именуемое временем доставки или временем получения заказа), является случайной величиной, равномерно распределенной между 0,5 и 1 мес.
Компания использует постоянную стратегию управления запасами (s, S), чтобы определить, какое количество товаров заказывать, то есть
где I, S, s — это соответственно уровень запасов в начале месяца, после поступления заказа и критический.
При возникновении спроса на товар он немедленно удовлетворяется, если уровень запасов, по меньшей мере, равен спросу на товар. Если спрос превышает уровень запасов, поставка той части товара, которая превышает спрос над предложением, откладывается и выполняется при будущих поставках. (В этом случае новый уровень запасов равен старому уровню запасов минус объем спроса, что приводит к появлению отрицательного уровня запасов.) При поступлении заказа товар в первую очередь используется для максимально возможного выполнения отложенных поставок (если таковые имеются); остаток заказа (если таковой имеется) добавляется в запасы.
Один тип расходов, возникающий в системе запасов, — это затраты на приобретение заказа. Однако большинство реальных систем управления запасами сталкиваются еще с двумя дополнительными типами расходов — затратами на хранение, а также издержками, связанными с нехваткой товара, к которым мы вернемся, введя некоторые дополнительные обозначения. Пусть I(t) — уровень запасов в момент времени t (обратите внимание, величина I(t) может быть положительной, отрицательной или равняться нулю); I+(t) = mах{I(t), 0} — количество товара, имеющегося в наличии в системе запасов на момент времени t (заметьте, что I+(t) > 0); а I-(t) = mах{I(t), 0} — количество товара, поставка которого была отложена на момент времени t (I-(t) > 0.) Возможное изменение соотношения I(t), I+(t) и I-(t) показано на рис. 1.13. Моменты времени, когда I(t) уменьшается, соответствуют моментам возникновения спроса.
В нашей модели предполагается, что затраты h на хранение в месяц составляют 1 доллар на единицу товара, имеющегося в (положительных) запасах. Затраты на хранение включают арендную плату за склад, страховки, расходы на обслуживание и налоги, а также скрытые издержки, возникающие, если капитал, вложенный в запасы, мог бы инвестироваться куда-нибудь еще. До сих пор в своих формулировках мы не учитывали тот факт, что некоторые затраты на хранение возникают даже тогда, когда I+(t) = 0, поскольку наша задача — сравнить стратегии осуществления заказов без учета этого фактора, который, по сути, не зависит от используемой стратегии и не повлияет на нашу оценку. Итак, если I+(t) представляет количество товара в запасах на момент времени t, то среднее по времени количество товара, находящегося в запасах в течение n мес., составляет
что подобно определению среднего числа требований, находящихся в очереди в каждый момент времени. Следовательно, средние затраты на хранение в месяц составляют .
Допустим, что издержки π, связанные с отложенными поставками, равны 5 долларам на единицу товара в отложенной поставке за месяц. При этом учитываются издержки на ведение дополнительного учета при невыполнении заказа и урон, наносимый престижу компании. Среднее по времени количество товара в отложенных поставках
Следовательно, средние издержки, образовавшиеся в связи с отложенными поставками, в месяц будут составлять π.
Предположим, что исходный уровень запасов I(0) = 60 и у компании нет неприобретенных заказов. Будем моделировать работу системы в течение n = 120 мес. и воспользуемся показателями средних общих расходов в месяц (которые включают в себя сумму средних затрат на приобретение заказа в месяц, средних затрат на хранение в месяц и средних издержек, связанных с нехваткой товара, в месяц), чтобы сравнить следующие девять стратегий осуществления заказов (s — точка заказа):
s 20 20 20 20 40 40 40 60 60
S 40 60 80 100 60 80 100 80 100
Обратите внимание, что переменными состояния имитационной модели этой системы управления запасами являются уровень запасов I(t), количество товара в невыполненном заказе, направленном от компании к поставщику, и время последнего события, которое необходимо для вычисления площади под функциями I+ (t) и I- (t) .
6.2 Организация и логика программы
В рассматриваемой модели системы управления запасами используются следующие типы событий.
Событие | Тип события |
Поступление заказа от поставщика в компанию Возникновение спроса на товар со стороны покупателя Завершение моделирования через п мес. Оценка запасов (и возможный заказ товаров) в начале месяца | 1 2 3 4 |
Завершение моделирования сделаем событие типа 3, а не 4, поскольку на момент времени 120 будут запланированы как событие завершения моделирования, так и событие оценки запасов, а задача состоит в том, чтобы в это время первым было выполнено именно событие завершения моделирования. (В связи с тем, что моделирование закончится в момент времени 120, нет смысла оценивать запасы и возможные объемы заказов, соответственно нести издержки, относящиеся к заказу, который никогда не прибудет.) Событие типа 3 всегда будет наступать прежде, чем событие типа 4, так как в случае планирования двух типов событий на одно время синхронизирующие процедуры (в обоих языках) отдают преимущество типу события с меньшим номером. Имитационная модель, по сути, должна быть разработана так, чтобы события обрабатывались в соответствующем порядке при возникновении временных связей.
Для моделирования этой системы нужны три типа случайных величин. Промежутки между возникновениями спроса распределены экспоненциально. Случайная величина спроса D должна быть дискретной (как уже описывалось раньше), и может быть генерирована следующим образом. Вначале необходимо поделить единичный интервал на смежные подынтервалы С1 = [0,1/6), С2= [1/6,1/2), С3 = [1/2,5/6) и С4 = [5/6,1) и от генератора случайных чисел получить случайную величину U с U(0,1). Если U попадает в интервал С1 возвращаем D = 1; если U попадает в интервал C2 возвращаем D = 2 и т. д. Так как ширина C1 равна 1/6 - 0 = = 1/6, а U равномерно распределена между интервалом [0,1], вероятность попадания U в интервал C1 (и получения результата D = 1) составляет 1/6; это согласуется с искомой вероятностью для D = 1. Аналогичным образом мы возвращаем D =2: если U попадает в интервал С2, вероятность такого попадания равна ширине С2, то есть 1/2 - 1/6 = 1/3, как и требовалось. То же самое касается и других интервалов. Все подпрограммы, применяемые для генерирования величин спроса, используют этот принцип и в качестве входных величин принимают разделяющие точки, определяющие подыинтервалы, которые являются интегральными вероятностями распределения D.
Время доставки равномерно распределено, но не в единичном интервале [0,1]. По сути, мы можем генерировать случайную величину, равномерно распределенную в любом интервале [а, b], сгенерировав случайное число U с U(0, 1), а затем возвратив а + U(b - а).
Из четырех событий в действительности только три вызывают изменения состояния системы (исключением является событие завершения моделирования). Поскольку их логика не зависит от языка программирования, используемого для моделирования, опишем ее в этом разделе.
Событие поступления заказа должно вносить изменения, возникающие при доставке (ранее оформленного) заказа от поставщика. Уровень запасов увеличивается на число товаров в заказе, а событие поступления заказа должно быть исключено из рассмотрения. При событии возникновения спроса обрабатываются изменения, необходимые для его представления.
При этом генерируется величина спроса, а уровень запасов уменьшается на полученную величину. И в конечном итоге в списке событий планируется время следующего возникновения спроса. Обратите внимание, в этом месте уровень запасов может стать отрицательным. Блок-схема события оценки запасов, происходящего в начале каждого месяца, приведена на рис.
Если уровень запасов I(t) на время оценки составляет, по меньшей мере, s, заказ не размещается, и происходит лишь планирование следующего события оценки запасов в списке событий. Однако, если I(t) < s, потребуется поместить заказ на [S - I(t)] товаров. Для этого количество заказанного товара [S - I(t)] сохраняется до тех пор, пока не прибудет заказ и не будет запланировано время поступления заказа. В этом случае мы планируем следующим событием оценку запасов.
Как и в модели системы массового обслуживания, так и в модели системы управления запасами удобнее отдельно выделить программу для обновления накопителей статистики непрерывного времени, хотя в данной модели это сделать труднее. Блок-схема такой программы приведена на рис. Основной вопрос в данном случае заключается в следующем: нужно ли нам обновлять площадь подфункциями I+(t) и I-(t). Если в результате последнего события уровень запасов стал отрицательным, значит, в системе есть отложенные поставки, следовательно,
должна быть обновлена только площадь под функцией I-(t). Если уровень запасов положительный, нужно обновить только площадь под функцией I+(t). Если же уровень запасов равен 0 (что возможно), обновление не требуется. В коде этой программы на обоих языках значение переменной времени последнего события также меняется на текущее время. Указанная программа будет вызываться из основной программы сразу после того, как синхронизирующая программа возвратит управление, независимо от типа события, а также от того, действительно ли уровень запасов изменился на данный момент. Таким образом, обеспечивается простой (хотя и не самый эффективный в плане вычислений) способ обновления интегралов статистики непрерывного времени.
– Конец работы –
Эта тема принадлежит разделу:
ГОУ ВПО КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ... УНИВЕРСИСТЕТ Кафедра вычислительной техники и АСУ...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Постановка задачи
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов