Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Лабораторная работа по "Имитационному моделированию"

Автор:   •  Апрель 7, 2022  •  Лабораторная работа  •  1,096 Слов (5 Страниц)  •  206 Просмотры

Страница 1 из 5

ПИСАХВОЧИ АЮ

БИЛЕТ 13

ВАРИАНТ 10

ЗАДАЧА 2

КОД:

clc

clear all

% НАЧАЛЬНЫЕ ДАННЫЕ

zapas = 80

zakaz = 5

spros_vsego = [0 1 2]

srok_vsego = [1 2]

chastota1 = [0 40 100 60]

chastota2 = [0 180 120]

% ПЕРЕВОД ЧАСТОТ В ВЕРОЯТНОСТИ

veroyatnost1 = cumsum(chastota1/sum(chastota1))

veroyatnost2 = cumsum(chastota2/sum(chastota2))

% ПЕРЕМЕННЫЕ ДЛЯ ВЫПОЛНЕНИЯ

vremya_prihoda_zakaza = 0 % С ПОМОЩЬЮ ЭТОЙ ПЕРЕМЕННОЙ БУДЕМ КОНТРАЛИРОВАТЬ

% В КАКОЙ ДЕНЬ БУДЕТ ПРИХОДИТЬ ЗАПАС

vipolneniye_zakaza = 0 % С ПОМОЩЬЮ ЭТОЙ ПЕРЕМЕННОЙ БУДЕМ КОНТРАЛИРОВАТЬ

% ВЫПОЛНЕНИЕ ЗАКАЗКА. ЕСЛИ ЗАКАЗ ЕЩЕ "ИДЁТ" = 1, ЕСЛИ ЗАКАЗА В ПУТИ НЕТ

% = 0

zapas_day = []

kol_vo_zakazov = 0

dni_zakaza = []

dni_prihoda_zakaza = []

%НАЧАЛО 20ДНЕВНОГО ЦИКЛА

for day = 1:20

    r1 = rand()% СЛУЧАЙНОЕ ЧИСЛО

    spros = spros_vsego(max(find(veroyatnost1<r1)))% ПРОВЕРЯЕМ В КАКОЙ

    %ПРОМЕЖУТОК ВЕРОЯТНОСТЕЙ ПОПАЛО СЛУЧАЙНОЕ ЧИСЛО

    zapas = zapas - spros

    %ВЫЧИТАЕМ СПРОС ИЗ ЗАПАСА

   

    % БЛОК ДОБАВЛЕНИЯ ПРИШЕДШЕГО ЗАКАЗА К ЗАПАСУ

    if vremya_prihoda_zakaza == day % ЕСЛИ НАШ ДЕНЬ СОВПАДАЕТ

        % С ВРЕМЕНЕМ ПРИХОДА ЗАКАЗА ЗНАЧИТ ЗАКАЗ ПРИШЕЛ.

        %ДОЬАВЛЯМ РАЗМЕР ЗАКАЗА К ЗАПАСУ

        zapas = zapas + zakaz

        vipolneniye_zakaza = 0 % ОБНУЛЯЕМ СЧЕТЧИК ВЫПОЛНЕНИЯ ЗАКАЗА

        dni_prihoda_zakaza(end+1) = day;

    end

   

    % БЛОК ВЫПОЛНЕНИЯ ЗАКАЗА

    if zapas <= 75 & vipolneniye_zakaza ~= 1 % ЕСЛИ ЗАПАС < ТОЧКИ ЗАКАЗА

    %(75) И НЕТ ЗАКАЗА КОТОРЫЙ ЕЩЕ В ПУТИ, ТО ФОРМИРУЕМ НОВЫЙ ЗАКАЗ

        r2 = rand()

        %НАХОДИМ СРОК ВЫПОЛНЕНИЯ ЗАКАЗА ПОДСТАВЛЯЕМ СЛУЧАЙНОЕ ЧИСЛО В

        % КУММУЛЯТУ С ВЕРОЯТНОСТЯМИ

        srok_vipolneniya = srok_vsego(max(find(veroyatnost2<r2)))

        % НАХОДИМ КОГДА ЭТОТ ЗАКАЗ ПРИДЕТ. К СЕГОДНЯШНЕМУ ДНЮ

        %ДОБВЛЯЕМ СРОК ВЫПОЛНЕНИЯ

        vremya_prihoda_zakaza = day + srok_vipolneniya

        % УКАЗЫВАЕМ ЧТО ЗАКАЗА ВЫПОЛНЯЕТСЯ

        vipolneniye_zakaza = 1

        %ПЕРЕМЕННЫЕ ДЛЯ ПОДСТЧЕА

        kol_vo_zakazov = kol_vo_zakazov + 1;

        dni_zakaza(end+1) = day;

    end

    % ДОБАВЛЯЕМ ДНЕМВНОЙ ЗАПАС В МАССИВ ВСЕХ ЗАПАСОВ

    zapas_day(day) = zapas;

end

zapas_day

kol_vo_zakazov

dni_zakaza

dni_prihoda_zakaza

x = 1:20

plot(x,zapas_day)

ВЫВОД

zapas_day =

  Columns 1 through 12

    79    78    78    78    77    77    76    75    74    78    78    78

  Columns 13 through 20

    77    76    75    78    76    74    78    78

kol_vo_zakazov =

     3

dni_zakaza =

     8    15    18

dni_prihoda_zakaza =

    10    16    19

ГРАФИК ЗАПАСОВ

[pic 1]

% ВАРИАНТ 8

%ЗАДАЧА 6

% СМЫСЛ КОДА: ЕСЛИ ВЫБИРАЕТСЯ КАКАЯ РАБОТА ЭТИМ СТАНКОМ, СТОЛБЕЦ ИЗ МАТРИЦЫ УДАЛЯЕТСЯ И СЛЕДУЮЩИЙ СТАНОК НЕ МОЖЕТ ВЫБРАТЬ ЭТУ РАБОТУ

...

Скачать:   txt (5.7 Kb)   pdf (128.4 Kb)   docx (50.9 Kb)  
Продолжить читать еще 4 страниц(ы) »
Доступно только на Essays.club