С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 10.04.2021
Сообщений: 75

Моделирование многоканальных СМО методом последовательной проводки заявок

19.11.2022, 16:38. Показов 616. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание:
Тип СМО - 2 канала
Выбор заявок из очереди - в порядке поступления
Выбор канала - Мин.время освобождения
Интервал поступления - равномерный закон распределения с мат.ожиданием = 5мин и сигмой=0.5
Время ожидания - бесконечно
Время обслуживания - нормальный закон распределения с мат.ожиданием = 10мин и сигмой=2

Посчитать Среднее время ожидания и среднее время простоя канала.



Задание нетяжелое, но я при реализации запуталась и никак не могу распутаться...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include "stdafx.h" 
#include "conio.h"
#include "locale.h"
#include "stdlib.h"
#include "time.h"
#include "math.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0,"RUSSIAN");
    srand(time(NULL));
 
    const int N=12;
    int n, i,j,k, m=2, nk; 
    float Mn=5,sigma=0.5, Mn1=10,sigma1=0.5, a,b,a1,b1, fi, min, Sum_og, Sum_pr, x[N],
        Tsv[2]; //время освобождения канала
 
    printf("Количество заявок = ");
    scanf("%d", &n);
    float *t=new float  [n];    //момент прихода очередной заявки
    float *T_n=new float[n];    //момента начала обслуживания заявки
    float *tau=new float[n];    //время через которое приходит заявка
    float *T_obs=new float[n];  //время обслуживания заявки
    float *T_pr=new float[n];    //время простоя первого канала
    //float *T_pr2=new float[n];    //время простоя второго канала
    float *T_og=new float [n];      //время ожидания заявки
    
    //Высчитываем границы (время через которое прийдет след. заявка)
    a=(Mn/N - sqrtf(3)*sigma/N);
    b=(Mn/N + sqrtf(3)*sigma/N);
    printf("Границы прихода след.заявки: [%.2f, %.2f]\n", a, b);
 
    //Высчитываем границы (время сколько она будет обслуживаться)
    a1=(Mn1/N - sqrtf(3)*sigma1/N);
    b1=(Mn1/N + sqrtf(3)*sigma1/N);
    printf("Границы обслуживания: [%.2f, %.2f]\n\n", a1, b1);
    
    Tsv[0]=0; Tsv[1]=0; min=10000; Sum_og=0, Sum_pr=0;
    for(i=0; i<n; i++){ //цикл по заявкам
        fi=0+(float)rand()*(1-0)/RAND_MAX;
        tau[i]=a+(b-a)*fi;//время через которое приходит заявка
        if(i==0) t[i]=0;    //момент прихода первой заявки
        else t[i]=t[i-1]+tau[i];
        
        for(j=0; j<m; j++){ //цикл по каналам
            if(Tsv[j]<min){ //определяем какой из каналов освободился раньше
                min=Tsv[j];
                nk=j;
            }
        }
        printf("%d\n", nk);
        
        //проверяем имеются ли свободные каналы
        if(t[i]<min){//все каналы заняты (момент начала обслуживания равен минимальному моменту освобождения)
            T_pr[i]=0;
            T_og[i]=t[i]-Tsv[i]; //время ожидания заявки
            Sum_og+=T_og[i];
            T_n[i]=min;
        } 
        else { //если есть свободные каналы
            T_og[i]=0;
            T_pr[i]=t[i]-Tsv[i];
            Sum_pr+=T_pr[i];
            T_n[i]=t[i];//(момент начала равен моменту прихода заявки)
        }   
        T_obs[i]=0;
        for(k=0; k<N; k++){
            fi=0+(float)rand()*(1-0)/RAND_MAX;
            x[k]=(a1+(b1-a1)*fi);
            T_obs[i]+=x[k];  //нормальный закон распределения
            
        }
        Tsv[nk]=T_n[i]+T_obs[i];
        //printf("%f  %f\n", Tsv[0], Tsv[1]);
    }
    
    delete []t, delete []tau, delete []T_obs, delete []T_n, delete []T_og, delete []T_pr; //delete []T_pr2;
    getch();
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2022, 16:38
Ответы с готовыми решениями:

Моделирование многоканальных систем
Исследовать характеристики (время ожидания, средняя и максимальная длина очереди) модели Задания 2 при разном числе 2. Задание 2 SYST ...

Работа СМО с экспоненциальным законом поступления заявок
Помогите, пожалуйста, разобраться с кодом. Все понятно, кроме вот этих значений: 0,2/1,5, 0,3/1,6 и т.д. Условие задачи: ...

Ограничение на количество поступающих заявок. Замкнутая СМО
Подскажите пожалуйста как смоделировать замкнутую систему с ограничением кол-ва заявок (10) и использованием двух блоков GENERATE.

2
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
19.11.2022, 19:55
структуры изучи, наконец!
0
Заблокирован
19.11.2022, 20:10

Не по теме:

Цитата Сообщение от ne_master Посмотреть сообщение
int _tmain
Пусть сначала точку входа в программу изучит.



Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от ne_master Посмотреть сообщение
delete []t, delete []tau, delete []T_obs, delete []T_n, delete []T_og, delete []T_pr; //delete []T_pr2;
Я под столом . :D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.11.2022, 20:10
Помогаю со студенческими работами здесь

Генератор заявок Пуассона в системе массвого обслуживания (СМО)
Здравствуйте. Столкнулся с проблемой написания алгоритма генератора заявок на основе пуассоновского потока. В исходных данных указано:...

Одноканальная СМО с обслуживанием заявок в случайном порядке с равной вероятностью
Одноканальная СМО с обслуживанием заявок в случайном порядке с равной вероятностью. Почему то значения в отчете TAB2 все по нулям p.s...

Найти вероятность того, что за время t [мин] в СМО поступит более k заявок
В систему массового обслуживания (СМО) поступает в среднем λ заявок . Найти вероятность того, что за время t в СМО поступит более k...

Найти вероятность того, что за время t [мин] в СМО поступит ровно k заявок
В систему массового обслуживания (СМО) поступает в среднем λ заявок . найти вероятность того, что за время t в СМО поступит: а) ровно k...

Система Массового Обслуживания. Сколько заявок выполняется одновременно в СМО с бесконечной очередью? (Одноканальная)
(Как подсказали, будет меньше единицы, подсказал сам тот, кто дал задачу. Это больше на мат. статистику задача. ) Значения, которые я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru