Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi] Моделирование систем управления 
:(
    Опции темы
Formula
Дата 30.12.2007, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.12.2007

Репутация: нет
Всего: нет



Задание следующее. Кто возьмётся?




Задание 

Разработать программу на языке Delphi, моделирующую (с учетом времени и случайных чисел) систему управления запасами радиоприемников в магазине. 

Описание системы

Время между поступлениями заказов на приемники распределено экспоненциально* с математическим ожиданием 0,2 недели.

Если покупателю нужен приемник, когда его нет в запасе, он в 80% случаев отправляется в другое место (несостоявшаяся продажа). В 20% случаев делается повторный заказ (покупатель ждет следующей партии груза). 

Каждые 4 недели запас приемников просматривается. Текущее состояние запаса: наличный запас + заказанные ранее приемники -   неудовлетворенный спрос. Если текущее состояние запасов <= 18 приемников, осуществляется размещение заказа, доводящего запас до 72 приемников.

Время доставки (между размещением и получением заказа) 3 недели.

Начальные условия: состояние запаса – 72 приемника, неудовлетворенного спроса нет.

Цель работы

Промоделировать систему в течение 6 лет (312 недель), определить:
1.    Среднее число приемников в запасе.
2.    Число проданных приемников.
3.    Число несостоявшихся продаж.
4.    Количество заказов.
5.    Количество покупателей.

*Экспоненциальное распределение с математическим ожиданием m
x = -m*ln®, где  r равномерно** распределено в интервале [0,1].

**Конгруэнтный метод генерации равномерно распределенных псевдослучайных чисел интервале [0,1]
Конгруэнтный метод использует следующее рекурсивное уравнение: 
zi = (a*zi-1+b)(mod c), i = 1, 2, 3, …,
ri = zi/(c-1),
где z0 – базовое число, ri - i-ое псевдослучайное число, b – простое число относительно c, a = 4*k+1, где k – целое (z0 = 3, k = 5, b = 7, c = 65536)

_________________________________________________________

Пример 

Описание системы  работы аэропорта

      Грузы прибывают для отправки в аэропорт в контейнерах со скоростью 2 контейнера в 1 мин. В грузовом  аэропорту нет фиксированного расписания, самолеты отправляются по мере их загрузки. Есть два типа самолетов: 3 с грузоподъемностью 80 контейнеров, 2 с грузоподъемностью 140 контейнеров. Время полета каждого самолета туда и обратно распределено нормально * с математическим ожиданием 3 ч. и среднеквадратичным отклонением 1 ч.: min = 2 ч., max = 4 ч. Чаще стараются использовать самолеты меньшей грузоподъемности. Самолеты большей грузоподъемности используются, когда других нет в наличии. 
      Промоделировать систему для получения оценок времени ожидания контейнеров с грузами и загрузки самолетов обоих типов в течение 100 ч. (временем погрузки пренебречь).

*Нормальное распределение с математическим ожиданием m , дисперсией s

Нормальные выборки генерируются парами. Пусть a = 2*r1-1 и b = 2*r2-1, где r1  и r2 – независимые псевдослучайные числа, равномерно** распределенные в интервале [0,1].
Пусть w =  a*a+b*b. Если w>1.0, повторить процедуру, если w<=1.0, тогда x1 = (a*sqrt(-0.2*ln(w)/w))*m+s, x2 = (b*sqrt(-0.2*ln(w)/w))*m+s.

Алгоритм 

1.    Пока модельное время < 6000 мин., перейти к п.2, иначе к п.16.
2.    Сгенерировать 2 контейнера, увеличить модельное время на 1 мин. Прилетевшие самолеты, если такие есть, поставить в очередь на обслуживание. 
3.    Пока очередь на обслуживание не пуста, перейти к п.4, иначе к п.1.
4.    Взять самолет из очереди с заданным приоритетом.
5.    Пока  самолет не загружен, перейти к п.6, иначе к п.12.
6.    Если контейнеров нет на складе, перейти к п.7, иначе к п.9.
7.    Сгенерировать 2 контейнера, увеличить модельное время на 1 мин. Прилетевшие самолеты, если такие есть, поставить в очередь на обслуживание. 
8.    Если модельное время > 6000 мин., перейти к п.16, иначе к п.13.
9.    Взять контейнер со склада.
10.    Погрузить контейнер на обслуживаемый самолет.
11.    Перейти к п.5.
12.    Если модельное время > 6000 мин., перейти к п.16, иначе к п.13.
13.     Приравнять время полета самолета к нормальному случайному числу с заданными параметрами.
14.    Рассчитать время прилета и простоя, увеличить количество вылетов на 1.
15.    Перейти к п.3.
16.    Конец алгоритма.

Текст программы

Программа математического моделирования работы аэропорта написана на языке Borland C++ 3.1.





примеры могу выложить дополнительно,если они понадобятся.



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0687 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.