ахунок цього заявок, ожи-дають в черзі, порядковий номер задоволеною заявки у вихідному по-струмі можна розрахувати за формулою:
c = entered-rejected-satisfied-q_length * q_extra + l
Величина 1/с потім використовується в якості усредняющего множника для роз-рахунку середнього часу перебування заявки в системі.
5. Реалізація програми
Для моделювання системи управління запасами (з неудолетворенним запитом) була вибрана мова програмування C + + і написана програма на цій мові, що дозволяє повною мірою відобразити функціонування системи. p align="justify"> Лістинг програми файл 1.h. Опис протоколів класів
# include
# include
# include
# include namespace std;
# include "random.h"
# include "List.h" * sojourn;// файл для збору статистики про час очікування
// товару * que;// файл для збору статистики про довжину черги;
// поповнюється один раз на неделюint entered = 0L;// лічильник загального числа заявок на товарint rejected = 0L;// лічильник числа заявок, відразу покинули сістемуint satisfied = 0L;// лічильник числа заявок, негайно удовлетвореннихnum_orders = 0;// лічильник числа зроблених заказовsoj_ave = 0;// змінна для підрахунку середнього часу ожіданіяque_ave = 0;// змінна для підрахунку середньої довжини очередіint total;// лічильник тактів модельного часу (кількість
// годин)
// Протокол класу Client Client
{int id;// унікальний ідентифікатор кліентаhours;// час, проведений клієнтом у системі: class SuperMarket; ()// метод-конструктор
{
// Обчислюємо, яка це за рахунком заявка, поставлена ​​в чергу,
// від моменту початку моделювання, і призначаємо їй ідентифікатор = entered-rejected-satisfied +1; = 0;
} Print (); int getId (); getTime ();
};
// Висновок вмісту об'ектаClient :: Print ()
{
// 168 - кількість годин у тижні ("id =% ld n чекає виконання замовлення% d тижнів n", id, hours/168);
}
// Читання ідентифікатора заявкіint Client :: getId ()
{(id);
}
// Читання проведеного в системі временіClient :: getTime ()
{(hours);
}
// Протокол класу СупермаркетSuperMarket
{to_arrival;// час до прибуття наступного заявкіto_order;// час до виконання заказаorder;// обсяг очікуваного з...